ちょっと修正
確定勝利優先アルゴリズムの実装をちょっと修正しました。
昨日の実装では、指し手選択の時、「負けフラグが立っている手は選ばない」ようにしていました。
指しても必ず負けと分かっているので、調べる意味がないからですが、
よく考えたら、勝ちフラグが立っている手も調べなくていいことに気が付きました。。
当たり前の処理ですが、これを入れたら5手詰めも見つけてくれました。
具体的にはこんな問題です。
後手の持駒:飛 角 金二 桂 歩四 9 8 7 6 5 4 3 2 1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- +
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
v香 ・ ・ ・ ・ ・ ・v桂v香 | 一 |
・ ・ ・ 銀 ・ 銀 ・v角 ・ | 二 |
・ ・ 全 ・ ・v歩 ・v歩v歩 | 三 |
・ ・ ・ ・ 桂v玉v歩 ・ ・ | 四 |
v歩 ・ ・ ・v飛 ・ ・ 歩 ・ | 五 |
・ ・v歩 ・v歩 ・ 歩 ・ 歩 | 六 |
歩 歩 ・ 玉 ・ 歩 ・ ・ ・ | 七 |
・ 銀 ・ ・ ・ ・ ・ ・ ・ | 八 |
香 桂 ・ ・ ・ ・ ・ ・ 香 | 九 |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- +
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
「将棋タウン」の「やさしい実戦の詰み」第27問です。
約15,000playoutで詰みを見つけたのですが、これが多いのか少ないのかはよく分かりません。
ちなみにこの局面での先手の合法手は110手あり、勝率は最高でも4割くらいでした。