連珠プログラムの四追い Shioi080 は
YSRさんが創ったプログラム
禁手の判断などがしっかりしているので
ベースとして使ってみた。
使用してみると 露骨な四三狙いに対して
無関心な様子なので
そこを改善してみることにした。
対策として
追手探索の後に
敵の四三を防ぐルーチンを追加
追手探索の前に四三を防ぐルーチンを入れたところ
敵の三を止めずに四三のポイントに石を打つバグがでたので
優先順位を下げて追手探索の後にしてみたら
なんだかうまくいきそう
棋譜を上げてみる
まずは単純な四三狙いを打ってみた
白16で単純な四三を防いだ
次は黒37で見せ手 = 四三を狙う手を打ってみた
これは 次で示すように 2つの四三を狙う手に
なっていたため 結果的に両方を防ぐことはできなかったが
一つは正しく防いでいる
この図で黒37の左隣に黒石を打つと一つの四三ができ
黒37の右上に黒石を打つと別の四三ができる
見せ手としては理想的な手だった
プログラムは白38と右上の方の四三を防いだが
左下の方の四三を黒39で作られてしまった
最後は五連ができてプログラムの負けになったが
一応 四三狙いに対しては正しく防ぐように成った。
これ以外の場合で問題が起きる可能性もあるので
引き続きデバッグをしてみる
まずはちょっと前進