Qhapaqアドベント将棋記事12日目(深夜34時にお送りします)
前々回の記事で解説したdf-pnベースの詰め将棋ルーチンですが、やねうら王(tnk)に搭載されているdf-pnベースのルーチンで図巧(江戸時代に作られたクッソ難しい詰将棋集)の1番が解けないことが発覚しました。時折聞かれる「コム将棋の開発ってどうやってやるの」という問への答えとして使えそう課題なので、ここから暫くは図巧の1番の解決を目指したライブデバッギングをネタの水増しとしてやりたいと思います。
図巧第1番とか pic.twitter.com/bWUljBBFDs
— かず (@kazu_nanoha) 2020年7月21日
ご報告いただいた、かずさん(なのはの中の人)にお礼申し上げます。
【まずどの局面で詰まないのかを二分探索する】
図巧の答えを見たい人はこちら。
図巧の1番は69手目という超大作です。詰むはずの局面を詰まないと言われただけで問題が見えるレベルのサイズではありません。というわけで、まずは2分探索をして、何手目から読ませたら詰まなくなるのかを確かめます。
30手目から...詰む
16手目から...詰む
8手目から...詰まない
12手目から...詰まない
14手目から...詰む
ということで、どうやら13手目に対して不詰の変化がある(模範解答は14手目が正確ではない)と主張していることが解りました。
となると、13手目の15飛車打に対して、tnkの詰め将棋ルーチンはどんな手で詰まないと主張しているかを知るのが良さそうなことが解ります。打ち歩詰めや合法手生成が間違っているのか、はたまた本当に不詰なのか......
今日はここまで。次回は詰め将棋ルーチンを改造して不詰の変化を出力できるようにする....できるといいなあ。
【細かい補足】
ハッシュテーブルが品切れになって盤面の評価が不適切になっている可能性も調査当初はありましたが、ハッシュサイズを変えながら二分探索をすることで、その可能性は低いことも示せました。問題の分割、大事です。