手の順序付け

役に立たない枝を早く排除できるよう、どの手から先に探索するかを決める技術。

解説

手の順序付けは、局面を分析するプログラムであるチェスエンジンが合法手を調べる順番を変える。事前に弱そうだという理由だけで手を除去するのではない。強そうな候補、素早い反証を生む候補、有用な情報を与える候補を先に置こうとする。

順序が重要なのは、多くの探索がアルファベータ枝刈りを使うためである。これは、ある枝が現在の判断を改善できないと証明された時点で、その枝の分析を止める手法である。優れた手が早く現れれば厳しい基準ができ、多くの劣る応手を少ない作業で排除できる。同じ手が最後に現れれば、後で無関係と分かる枝へすでに時間を使っている可能性がある。

よく使われる順序付けの手掛かり

  • 前の探索で得た最善ライン。特に中に役立つ。
  • 同じ局面を以前に探索したとエンジンが認識したときに見つかる、保存済みの手。
  • 有利そうな捕獲。マテリアル交換の高速な推定で選別することもある。
  • 即時の捕獲もチェックもない静かな手のうち、内部の過去記録によれば似た局面で以前にカットオフを起こした手。

固定深度の完全探索では、順序が違っても最終結果は同じになるはずである。大きく変わり得るのは、そこへ到達するために必要な作業量である。のような技術は、良い候補を早く見つけることにさらに強く依存する。

よくある混同

順序付けは完全な評価ではない

手の順序付けは高速な手掛かりで優先順位を決める。その手が本当に成立するかは、後の探索で検証する必要がある。

出典

  1. 1.Move Ordering, Chess Programming Wiki

関連用語

© 2026 MindZug