忍者ブログ
コンピュータ将棋など…。
[12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

ハッシュのクリアはするプログラムとしないプログラムとあるようです。
謎電さんのところでYSSが毎回律儀にハッシュをクリアしていることに対して、クリアしないハッシュのことが書いてありました。
「最近の実装は変わっているのかも?」と思い山下さんに聞いてみると今でも毎回クリアしているそうです。
実際、対局中の画面の出力を見ると407msとかかけてクリアしていました。

あと、公開されている木偶の坊のソースから判断したある工夫を確認したら、推測に間違いはないようですw

ちなみになのははクリアするほう・・・あれっ?
意図としてはクリアするんだけど、処理がきちっと入っていないか・・・?

えーと、
 1.詰ハッシュの確認
    ここで「詰みが入っている&&手がNull」の場合に詰ハッシュをクリアして再詰探索。
 2.詰みなら指し手を返す
 3.(意図としてはここで詰ハッシュと普通のハッシュをクリア)
 4.思考ルーチン(詰み+木探索)
となっていてクリアしていないっぽい…。orz
PR
結局、朝まで寝てしまいました。
とりあえず、今日の大会用に x64 でビルドしたら、MFCのメッセージマップで ON_WM_TIMERでエラーとなり焦りました。
とりあえず、OnTimer(UINT nIDEvent) を OnTimer(UINT_PTR nIDEvent)に変更してビルド成功。

将棋所(LessarKai)と通信テストしたところ SLB を打ったし、これで対戦自体はいけるかな?
一致率を算出するようにしてみました。
純粋に対象棋譜との一致するかしないかを見た場合(純~)と対象棋譜の手と違っていても定跡データにあればOKとみなす場合(許容~)の両方で出してみました。

棋譜の数 手の総数 純一致率 純一致数 許容一致率 許容一致数
1,000 112,466 22.9% 25,793 43.3% 48,747
約42,600 4,954,138 23.4% 1,158,759 41.9% 2,076,884

並列化が出来ていないのでシングルスレッドですが、1000局あたり70秒弱の時間がかかっていて全棋譜では47分弱だったので、せめて別アプリとして4つ平行に走らせるべきでした…。

本来であれば、ここでBonaメソの登場なんでしょうが、そこまで手が出ません…。

あと、この数値から行くと、皆さんが注目している一致率はここでの純一致率ってことですね。orz
せめてもう少し上げていかないと。

れさぴょんの手の選択基準の頻度の高い手から勝率の高い手を選択するように変更してみました。

すると初手▲8六歩 orz

定跡データを見ると確かに1局だけあって、しかも先手が勝っていた(=勝率100%)から間違いじゃないんだけど、いくらなんでもこれは…。
とりあえず、頻度が最頻出手の10分の1以下の手は選択しないように変更しました。

小谷先生の「コンピュータ将棋の頭脳」にもいろいろ考えることがあるという話があったけど、複雑に考えても精度が上がらなさそうなので今回はこの程度の基準で選択するということで。

詰めルーチンを思考ルーチンに組み込む際に課題がありそうで実装をどうしようかと思っています。
課題は「内部ノードから詰めルーチンを呼ぶと判断を間違うことがある」(未確認)ということ。
ルートが先手のときに1手先の局面(後手番)から詰めルーチンを呼ぶと後手番からみた結果をハッシュに登録してしまう(あるいは先手番からみた結果を参照してしまう)。
普通は問題なさそうなんだけど、逆王手がかかる局面では間違えそう・・・。

ということで、今はルートからしか詰めルーチンを呼んでいません。
進歩本2の「6.4.2 ハッシュ表」にYSSでは先手の詰と後手の詰を分けていることが載っていました。
なのはではハッシュを分けるかなぁ~。


忍者ブログ [PR]
カレンダー
01 2025/02 03
S M T W T F S
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
フリーエリア
なのはの応援をしていただき、かつ協力いただける方は、アマゾンでの買い物は下のリンクからお願いします
最新CM
[04/27 とおりすがり]
[10/21 おてだま]
[10/20 おてだま]
[01/24 なのはminiふぁん]
[01/08 sakura]
最新TB
プロフィール
HN:
かず
性別:
非公開
バーコード
ブログ内検索
最古記事
カウンター
アクセス解析