ということで、あやまり将棋の詰め将棋を移植してみることに。
あやまり将棋では、証明数と反証明数に基づく
df-pnという詰め将棋アルゴリズムを使っています。
証明数とは玉方の逃げ手の総数で、
反証明数とは攻め方の王手の総数。
アイディアはシンプルで、手順をツリーと考えて、
ツリー全体でみて証明数あるいは反証明数が
小さいノードを探し、展開しこうというもの。
df-pnというのは、このアイディアを実現する方法の1つです。
詳細はコンピュータ将棋の進歩4などに書いてあります。
理解が難しいという話も聞きますけど。。
さて、以前に書いた詰め将棋のソースをながめてみました。
df-pnの部分はそのまま使えそう。
ただ、ハッシュの実装がいい加減に見えます。
ハッシュがあふれるとヤバいかも。
ハッシュの更新はどうするのが良いのでしょう。
オリジナルdf-pnの方法は、本格的な詰め将棋ならともかく、
普通の将棋で使うにはちょっと大げさに見えます。
決定的な方法はないのでしょうけど。
う〜ん。