解释
主变例搜索简称PVS,从一个预期出发:若着法排序良好,第一个候选着很可能就是最佳着。第一步会接受完整搜索,后面的着法则先用成本较低的测试,判断它们能否超过已经找到的结果。
成本较低的测试使用窄窗口。窗口是搜索需要区分的数值范围。PVS最初不会精确计算一步好多少或差多少,而只问一个更简单的问题:它是否超过当前参考值?若没有超过,就可以不经完整搜索而排除。
若后续候选着似乎超过参考值,窄窗口测试不足以确定其准确数值。引擎,也就是分析局面的程序,会用完整窗口重新搜索。第二次过程称为re-search,它保留了方法的正确性,却会消耗时间。因此,当成功、最佳选择最先出现时,PVS获得的收益最大。
PVS是在框架内高效组织阿尔法-贝塔搜索的一种方法,后者会放弃已被证明无法改进决定的分支。它不应与主变例本身混淆,主变例只是引擎当前认为最佳的着法序列。它也不是:MultiPV要求显示多条初始路线,PVS描述的则是一种内部搜索方法。
用法与背景
到达战术上不稳定的局面时,PVS通常会依赖,然后才接受静态评估,也就是不继续走棋所得的估计。
常见混淆
PVS与主变例
主变例是一条输出路线,PVS则是为减少工作量而寻找它的算法。
来源
- 1.Principal Variation Search, Chess Programming Wiki
