全幅で、詰探索を入れた場合と入れない場合の必至問題(訂正)
「詰めと必至ハンドブック」4章のNO3の問題。
詰め探索をいれた場合といれない場合で比較。
あくまでうちでの実装依存の話です( ̄ー ̄)
詰め探索を入れた場合は(4手深さまで、詰みそうな場合のみ詰め探索を呼ぶ)
▼持駒v歩十六v香四v桂三v銀四v金二v角二 9 8 7 6 5 4 3 2 1 987654321 ---------------------------+ ------------------+ ・ ・ ・ ・ ・ ・ ・v金v玉|一 0 0 0 0 0 0 0-1-1|一 ・ ・ ・ ・ ・v歩 ・ ・ ・|二 0 0 0 0 0-1 1-2-1|二 ・ ・ ・ ・ ・v飛 ・ ・v歩|三 -1-1-1-1-1-1 0-1-1|三 ・ ・ ・ ・ ・ ・ 飛 桂 ・|四 1 1 1 1 1 0 0 1-1|四 ・ ・ ・ ・ ・ ・ ・ ・ ・|五 0 0 0 0 0-1 1 0 0|五 ・ ・ ・ ・ ・ ・ ・ ・ ・|六 0 0 0 0 0-1 1 0 0|六 ・ ・ ・ ・ ・ ・ ・ ・ ・|七 0 0 0 0 0-1 1 0 0|七 ・ ・ ・ ・ ・ ・ ・ ・ ・|八 0 0 0 0 0-1 1 0 0|八 ・ ・ ・ ・ ・ ・ ・ ・ ・|九 0 0 0 0 0-1 1 0 0|九 ---------------------------+ ------------------+ △持駒 金 generate: 90moves △12金打(-4927)△31金打(-5029)△32金打(-5072)△32飛成(-5090)△ 32桂成(-5107) #3 0.0s -4859 △12金打▼同金△同桂成▼同王△14金打 #4 0.1s -5103 △12金打▼同金△同桂成▼同王△32飛成▼22銀打△21金打 #4 1.1s +14998 △31飛成▼同金△12金打▼詰み #5 1.1s +14998 △31飛成▼同金△詰み #6 1.8s +14998 △31飛成▼同金△詰み #7 23.1s +14998 △31飛成▼同金△詰み #8 30.0s +0 △31飛成▼同金△詰み BEST:30.00s +14998 △31飛成▼同金△詰み 静止探索=-5107/-5197 王の安全度=-250 静的評価=-5197 NPS:721K(21634K) 探索:3917767 静止:3182200 交換値:14512911 末端:3182202 詰探索:21516 Futility:446854/0/0 NullMove:287565 ProbCut:0 SHEK:0/0/87 終盤度 先手 +0 後手 +8 詰:373(306) 頓死:0(0) 打歩詰:1 詰めろ:0(0) βcut:0/296013/2728379 hashCut:118318 hashUsed:12.82% 詰めHash:417 recap:4607 one reply:111826 王手:299023 最大深さ:18
すみやかに詰めを見つけて(゚Д゚ )ウマー
詰み探索は373回呼び出して、うち306回詰んだという高効率。詰め探索をしたノード数は21516
詰めハッシュも417回ヒットして、詰め探索をしないでもハッシュでFAIL-HIGHで(゚Д゚ )ウマー
詰め探索かなり(゚Д゚ )ウマー
逆に詰め探索をいれない場合
▼持駒v歩十六v香四v桂三v銀四v金二v角二 9 8 7 6 5 4 3 2 1 987654321 ---------------------------+ ------------------+ ・ ・ ・ ・ ・ ・ ・v金v玉|一 0 0 0 0 0 0 0-1-1|一 ・ ・ ・ ・ ・v歩 ・ ・ ・|二 0 0 0 0 0-1 1-2-1|二 ・ ・ ・ ・ ・v飛 ・ ・v歩|三 -1-1-1-1-1-1 0-1-1|三 ・ ・ ・ ・ ・ ・ 飛 桂 ・|四 1 1 1 1 1 0 0 1-1|四 ・ ・ ・ ・ ・ ・ ・ ・ ・|五 0 0 0 0 0-1 1 0 0|五 ・ ・ ・ ・ ・ ・ ・ ・ ・|六 0 0 0 0 0-1 1 0 0|六 ・ ・ ・ ・ ・ ・ ・ ・ ・|七 0 0 0 0 0-1 1 0 0|七 ・ ・ ・ ・ ・ ・ ・ ・ ・|八 0 0 0 0 0-1 1 0 0|八 ・ ・ ・ ・ ・ ・ ・ ・ ・|九 0 0 0 0 0-1 1 0 0|九 ---------------------------+ ------------------+ △持駒 金 generate: 90moves △12金打(-4927)△31金打(-5029)△32金打(-5072)△32飛成(-5090)△ 32桂成(-5107) #3 0.0s -4859 △12金打▼同金△同桂成▼同王△14金打 #4 0.0s -5103 △12金打▼同金△同桂成▼同王△32飛成▼22銀打△21金打 #4 0.6s -5079 △31飛成▼22金打△同龍▼同金△32金打 #5 0.9s -5128 △31飛成▼22金打△同龍▼同金△12金打▼同金△同桂成▼同王△24金打 #5 1.4s -5103 △31金打▼22金打△21金▼同金△32金打▼同金△同桂成 #5 2.1s -5039 △32飛成▼22金打△12金打▼同金△同桂成▼同王△22龍▼同王△34金打 #6 12.5s -5079 △32飛成▼22金打△21龍▼同金△32金打▼22金打△同金▼同金△32金打 #6 13.2s -4954 △12金打▼同金△31飛成▼21歩打△12桂成 #6 25.9s +14998 △31飛成▼同金△12金打▼詰み #7 30.0s +0 △31飛成▼同金△12金打▼詰み BEST:30.00s +14998 △31飛成▼同金△12金打▼詰み ▼持駒v歩十六v香四v桂三v銀四v金二v角二 9 8 7 6 5 4 3 2 1 987654321 ---------------------------+ ------------------+ ・ ・ ・ ・ ・ ・ ・v金v玉|一 0 0 0 0 0 0 0-1-1|一 ・ ・ ・ ・ ・v歩 ・ ・ ・|二 0 0 0 0 0-1 1-2-1|二 ・ ・ ・ ・ ・v飛 ・ ・v歩|三 -1-1-1-1-1-1 0-1-1|三 ・ ・ ・ ・ ・ ・ 飛 桂 ・|四 1 1 1 1 1 0 0 1-1|四 ・ ・ ・ ・ ・ ・ ・ ・ ・|五 0 0 0 0 0-1 1 0 0|五 ・ ・ ・ ・ ・ ・ ・ ・ ・|六 0 0 0 0 0-1 1 0 0|六 ・ ・ ・ ・ ・ ・ ・ ・ ・|七 0 0 0 0 0-1 1 0 0|七 ・ ・ ・ ・ ・ ・ ・ ・ ・|八 0 0 0 0 0-1 1 0 0|八 ・ ・ ・ ・ ・ ・ ・ ・ ・|九 0 0 0 0 0-1 1 0 0|九 ---------------------------+ ------------------+ △持駒 金 generate: 90moves △12金打(-4927)△31金打(-5029)△32金打(-5072)△32飛成(-5090)△ 32桂成(-5107) #3 0.0s -4859 △12金打▼同金△同桂成▼同王△14金打 #4 0.0s -5103 △12金打▼同金△同桂成▼同王△32飛成▼22銀打△21金打 #4 1.5s -5079 △31飛成▼22金打△同龍▼同金△32金打 #5 1.8s -5128 △31飛成▼22金打△同龍▼同金△12金打▼同金△同桂成▼同王△24金打 #5 2.5s -5103 △31金打▼22金打△21金▼同金△32金打▼同金△同桂成 #5 4.0s -5039 △32飛成▼22金打△12金打▼同金△同桂成▼同王△22龍▼同王△34金打 #6 30.0s +0 △32飛成▼22金打△21龍▼同金△32金打▼22金打△同金▼同金△32金打 BEST:30.00s -5039 △32飛成▼22金打△12金打▼同金△同桂成▼同王△22龍▼同王△34 金打
朝からボケてた。再訂正(´・ω・`)ショボーン
詰み探索いれないとやはり時間がかかる。
上は、キラー手をハッシュ手の次に試す。必至が判るのに25秒もかかる。
次は、SEE>=0の手をキラー手より先に試してるんだけど、必至がみつけられないまま時間切れ。
他に試したいことがあるので、とりあえずハッシュ手の次はキラー手を読むことにしとこう。
キラー手を試してβカットが起きれば、手の生成をはしょれるし。
キラー手も、他の別の展開で同じデプスでβカットが起きたってだけですからね。
トンでもない手も試してるでしょうから、すごい無駄になってることも多いと思ったんですが。
あ、そういえば、SEE>=0を先に試す場合は、キラー手には取る手は登録してはダメだった!それ試してみよう。