解释
后着缩减简称LMR,利用着法顺序工作。使用启发式方法,也就是实用规则和累积的搜索统计,优先检查看起来有希望的选择。
基本流程
- 引擎先搜索排序较好的着法,并建立一个暂定参考值。
- 列表中靠后很多的一步安静着,通常指既不吃子也不将军的着法,最初以缩减后的深度测试。
- 若这次测试返回意外强的结果,并越过搜索使用的评分界限,该分支会用更大深度重新搜索。
缩减不等于删除。更深的验证很重要,因为真正的强着也可能排序不佳。缩减幅度可能取决于剩余深度、着法在列表中的位置、是否将军或吃子、是否属于主变例,也就是当前被视为最佳的路线,以及类似着法的历史记录。
现代实现会调整许多此类条件。过于激进的缩减可以节省时间,却可能错过强力安静着,或加重与有关的错误。
用法与背景
LMR是一种选择性搜索技术,它不对所有分支应用完全相同的深度,而是不均匀地分配搜索投入。
常见混淆
缩减与剪枝
LMR以较低深度搜索分支,并可能重新搜索;剪枝则在满足条件时完全省略该分支。
后着与对局后期的着法
这里的后是指着法在某个节点搜索顺序中的位置,而不是在对局接近结束时走出。
来源
- 1.Late Move Reductions, Chess Programming Wiki
- 2.search.cpp, Stockfish
