sakurapyon’s blog

sakurapyon’s blog

王手回避手のオーダリング

昔、王手回避手の順序について書いたんだけど、MiyakoShogiSystemのアピール文書にも王手回避のオーダリングの話が載っている。

MiyakoShogiSystemのアピール文書

 王手を受ける手が3手以上なら次の順番で手を並び替える
  トランスポジションテーブルに登録された手
  駒得の手
  HistoryHeuristicの手
  駒損の手

sakurapyonの今の実装は、こんな順番:

  • 置換表の手(1手)
  • カウンター手(1手)
  • 王手している駒を取る手
  • 玉が逃げる手
  • 合駒

ヒストリー手やキラー手も試してみたけど、効果が感じられなかったのでいまはこの順序。カウンターや置換表も1手が良さそうだ。

大槻将棋アピール文書には、こう書かれている。

・取られない王手を先に、上に逃げる手を先に生成するなど、王手・逃げる手の生成順を工夫している。

(詰め将棋でない)通常探索の王手生成・王手回避の部分には、まだまだ改善できる余地が多いのかもしれない。
高速な詰め将棋があれば、こういうので悩まなくてもいいのだろうか?