解説
レイトムーブ・リダクションはLMRと略され、手の順序を利用する。はヒューリスティクス、つまり実用的な規則と蓄積された探索統計を使い、有望に見える選択を先に調べる。
基本的な手順
- エンジンは順序付けの良い手を先に探索し、暫定的な基準を作る。
- リストのかなり後ろにある静かな手、通常は捕獲もチェックもしない手を、最初は縮小した深度で試す。
- その試験が予想外に強い結果を返し、探索で使うスコア境界を超えた場合、より深い深度で枝を再探索する。
リダクションは削除を意味しない。本当に強い手が誤って後ろに並べられた可能性があるため、より深い検証が重要である。縮小量は、残り深度、リスト内の順位、チェックか捕獲か、主変化、つまり現時点で最善と見なされるラインに属するか、似た手の記録済み履歴などに左右される。
現代の実装は、これら多数の条件を調整する。過度に積極的なリダクションは時間を節約する一方、強い静かな手を見逃したり、に関係する誤りを悪化させたりする可能性がある。
用法と背景
LMRは選択的探索であり、すべての枝へ全く同じ深度を適用せず、探索労力を不均等に配分する。
よくある混同
リダクションと枝刈り
LMRは枝を浅い深度で探索し、再探索することもある。枝刈りは条件が満たされたとき、枝全体を省く。
後順位手と対局終盤の手
後順位とは一つのノードでの探索順を指し、対局の終わり近くに指される手という意味ではない。
出典
- 1.Late Move Reductions, Chess Programming Wiki
- 2.search.cpp, Stockfish
