全幅で、詰探索を入れた場合と入れない場合の必至問題(訂正)


「詰めと必至ハンドブック」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を先に試す場合は、キラー手には取る手は登録してはダメだった!それ試してみよう。