sakurapyon’s blog

sakurapyon’s blog

Killer Moves も奥が深い

いっせ式futility pruning - 毎日がEveryDay!」のコメントに「なんでkiller Moveは2個まで登録するの?」とあったり、「killer move - gamidereの日記」には「なんでkiller moveは取らない手から選ぶのだろう」とあって、私も疑問に思っていた。

chessprogramming - Killer Heuristicには「some programs use killers from two plies ago」なんてことも書かれている。これも気になったので少し実験してみた。たぶんプログラムの作りや局面によって違ってくると思うけど、sakurapyonでの傾向を見ると、こんな感じ。

  • Killer有りと無しはだいぶ違う
  • 1個あるとかなり探索量が減る
  • 2個あっても探索量は減るとは限らないけど、最善手が早く見つかるかもしれない(なぜだろう?)
  • 過去や未来は有効じゃないし、探索量増えた
  • Hash, SEE>=0, Killer の順が良さそう。 Hash, Killer, SEE>=0 はダメっぽい。
    • このへんはもうちょっとがんばると面白いかもだけど、そこまでするなら学習したほうがいいんだろうな(^_^;
  • Killer 2個目はもっと後ろでもいいかもしれない
    • 無しでは困るけど、優先しすぎても困るようだ

以前、CounterやKillerでのβカット率を調べたときの感触とだいたい同じだ。オーダリング面白いけど、難しい…

メモ: