コンピュータ将棋など…。
× [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
まだ、大元に入れ込んでいないけど、ハッシュだと衝突があるのでハフマン符号化で実装してみました。
局面情報をハフマン符号化で256bitに変換して、それをキーにSTLのmapで実装してみたけど、1手当たり1msもかからず引けるようです。 4万局の棋譜かられさぴょん形式で定跡を作ると約20MBになりますが、1レコードキー32バイト+データ32バイトにしたので、250MB程度になりました。 棋譜の60手以降をデータから除外すると100MB弱。 これくらいなら512MBの XP マシンで動くかな…。 つーか、こんな外堀ばかり埋めていないで本丸を攻めねばっ。 あと2週間切ってるし…。 PR
連続対局ができるようになったので、ちょっと10連戦してみましたが、
・対 LesserKai 7勝3敗 ・対 ssp 10連敗 とかわいそうな強さです。。。 指し手のソート(れさぴょんでいうとKyokumenKomagumi::EvaluateTe()とその子関数)で70%以上の時間を使っているみたいで、指し手の逐次生成に変更してソートしないようにしたほうがいいのかなぁ~。 あるいは仮評価用に軽い評価関数を作るか。 いずれにしてもいまさら大幅変更はできないし、残り時間も限られているので、手っ取り早くできてそこそこ効果のあることをどんどん投入していかないと。
KI2形式の棋譜を読み込むときに、局面をいちいち更新していかないと「右」とか「左」とかついたときの移動元がわからないよなぁ~、ということで移動元が明示的に入っているcsa形式に変換するコンバータを作ってみた。
しかし、csa形式は指手の駒を「移動後の駒名」であらわすので、その手で成ったのか、以前から成っていたのかがやはり局面をいちいち更新していかないとわからない、ということに先ほど気づいた。orz それなら csa 形式である必然性はないなぁ…。 コンバータの処理で一度KI2形式のファイルを読み込むので、コンバートせずにKI2のまま使えばよかった。 まぁ、読み込み処理は使えるけど。 |
カレンダー
フリーエリア
なのはの応援をしていただき、かつ協力いただける方は、アマゾンでの買い物は下のリンクからお願いします
最新CM
[04/27 とおりすがり]
[10/21 おてだま]
[10/20 おてだま]
[01/24 なのはminiふぁん]
[01/08 sakura]
最新記事
(06/12)
(04/17)
(08/13)
(06/08)
(06/06)
最新TB
プロフィール
HN:
かず
性別:
非公開
ブログ内検索
カウンター
アクセス解析
|