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

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

MTD(f)で苦労して気付いた事

 MTD(f)自体がnull window searchの繰り返しなんで、それぞれの探索は「厳密に同じ条件で」実行する必要があるみたいです。

 例えば、次の二つはどちらもNGでした。

  • 現在の探索は残り深さ2で、ハッシュに残り深さ4の評価値があったので、ハッシュの値を流用する
  • 静止探索の初期値(パスしてからStand-Patで探索した値)によって手生成のルーチンを変える

 これをやっちゃうと、ルートノードで評価値の下界が上界より大きくなるっていう、異常な動作をしました。

 …私には扱いきれないっスねぇ、MTD(f)は。上手く使えれば速そうなのに。