2011/02/09
■ 探索延長の制限
探索延長の制限をしないと、終盤の王手が多くかかる局面で、Iterationより10手も15手も深読みをしてしまい(しかもその先には静止探索もある)、Iterationが進まない。Iterationが進まないと探索打ち切り判定ができない...下記の探索時間管理の設計が進まないというジレンマ状態に陥ってしまった。CraftyもFruitもGlaurungも探索延長の制限などしていない。そもそもチェスでは王手応手が狭いのだ。というわけで、
Iterationより6手深いときは延長半分 Iterationより10手深いときは延長なし
を実装して様子をみよう。PVノード、非PVノード、進行度で違いを出すのも面白い。ちなみにbonanza_felizでは、shogi.hの中のLimitExtensionマクロで、
Iterationより2倍深いとき、 Iterationより4倍未満の深さなら、延長減 それより深いなら延長なし
と、なっている。bonanzaは1/8単位で手の延長をやっているので、細かい延長減をやっている。