Alpha-Beta修剪特例?

时间:2017-08-19 19:52:15

标签: algorithm tree minimax alpha-beta-pruning

我试图了解alpha-beta-pruning算法,但有一个我不理解的具体案例。

鉴于 this treethis应该是解决方案。 我不知道的是为什么标记为红色的节点应该具有值19.显然这是一个"特殊情况"并且下部红色节点中的值是19,因为3< 9< 10< 19(这是alpha的当前值)。然后,这导致上面的节点也具有值19。

这对我没有意义,因为这表明在最右边的子树中有一个值为19的叶子。这是完全错误的,两个节点都应该具有值10?

1 个答案:

答案 0 :(得分:4)

此节点是获得值19(alpha值)还是10(子项中最大值)是不同alpha-beta算法中存在的变体问题。当最大化值小于alpha时,某些算法将分配alpha值,而其他算法将分配较小值(因此位于alpha-beta窗口之外)。测试版也会发生类似的情况。

无论使用哪种方法,它都不会影响最佳移动的选择。 alpha-beta窗口用于指示从alpha-beta窗口之外的下方冒泡的任何值都不重要。已经有一个更好的变种。

在这种情况下,最佳变体通过根的中间子节点运行。最大化玩家可以确定至少可以达到19个。通过为第三个选项分配10或19得出相同的结论:这不是一个比我们已经拥有的更好的举动。