futility_cutとnull_move_pruningを導入してみたのだが、うまくいかない。
今は消された某コンピュータ将棋系サイトにあったものを、殆どそのままコピーしたのだが・・・。前向き枝刈りしているのがまずいのか?
いや、バグではないか?
5手読みをさせてみたところ、2,3秒でちゃんと指すようになった。
バグ発見!
上図の時、将(師)が左右に動かない。
処理はしているはずだが、複雑過ぎて解析が難しい。
キラー手を導入。
5手で勝つ。
12手(日本将棋でいう23手)で勝利。
左側の車・馬がなかなか動かないのが気になる。
象棋の方は順調に強くなっている。
王手には100点、相手の将・師の8近傍に利きがあるときには10点を加算することにして、-100点以下の手は読まない『前向き枝刈り』を追加してみたところ、短手数で圧勝した。