思考時間制御のこと
思考時間制御、真面目にやると本当に難しいですね。しかし、うまくすれば2,3割持ち時間が長いのと同じ効果があるので探索部を改良するよりよほど即効性があります。
Bonanzaの思考時間制御はCrafty風になっているようです。以下の金子さんのメモが参考になります。
Bonanzaの探索時間の制御方法のメモ
http://www.sgtpepper.net/kaneko/diary/20090213.html#p01
ちなみに上の記事の2-4.の「easy_min > last_value - easy_value」は符号が逆で、正しくは「easy_min < last_value - easy_value」です。
ざっと見たところルートノードでそれぞれの指し手の静止探索の値を求めて、1番目の評価値と2番目の評価値との差によって、局面が安定ノードかどうかを判断するという考え方のようです。
・1番目と2番目の評価値の差が小さい = 安定ノード ≒ 序盤
ってことなのでしょうか。よくわかりません。
ルートノードでのそれぞれの指し手の静止探索の値の分布の仕方で判定するだとか、静止探索ではなく2手か3手の読みのあとに判定するだとか何かもう少し改善のしようはありそうです…が、真面目にやりだすとこれはキリがなさそうだということだけわかりました。
簡単で効果がある方法があればコメント欄で教えてください。