GA将?開発日記~王理のその先へ~

ネタ勢最強を目指して絶賛開発中。

静止探索を少し修正

 静止探索1段目の初期値は「パスした後にStand-Patで*1探索した値」を使っています*2

 んで、初期値が“勝ち”や“負け”の値であれば、そのノードでは全幅で読んでいます(どっちになったにしろ、手を絞った結果評価値がおかしくなると困るので)。

 そうすると、そのノードのα値・β値が初期値に影響し、その結果手生成ルーチンが切り替わるので、fail-highやfail-lowした結果が信用出来なくなってました(真の値がウィンドウに収まっているのにfail-highしたりとか)。

 という訳で、初期値計算時の探索はウィンドウを(−∞,+∞)に修正。これで変な動作はなくなるはずです。

 探索ノードは1割強増えますが、それはこの先の修正で取り返せるレベルでしょうし。

 とりあえずこれで、ルートノードで枝刈りしても誤動作しない様になったはずです。

*1:そのノードの評価値を初期値として

*2:初期値計算の探索には、そのノードに渡されたα・βを渡しています。