Algorithm α-β修剪特例?

Algorithm α-β修剪特例?,algorithm,tree,minimax,alpha-beta-pruning,Algorithm,Tree,Minimax,Alpha Beta Pruning,我试图理解alpha-beta剪枝算法,但有一个具体的例子我不明白 给定 , 应该是解决办法。 我不明白的是为什么用红色标记的节点的值应该是19。显然,这是一个“特殊情况”,下红色节点中的值为19,因为3

我试图理解alpha-beta剪枝算法,但有一个具体的例子我不明白

给定 , 应该是解决办法。 我不明白的是为什么用红色标记的节点的值应该是19。显然,这是一个“特殊情况”,下红色节点中的值为19,因为3<9<10<19(这是alpha的当前值)。这将导致上面的节点也具有值19


这对我来说毫无意义,因为这意味着在最右边的子树中有一个值为19的叶子。这完全是错误的,两个节点都应该有值10吗?

这个节点是得到值19(alpha的值)还是10(子节点中最大的值),这取决于不同alpha-beta算法中存在的变量。当最大值小于alpha时,一些算法将分配alpha值,而其他算法将分配较小的值(因此位于alpha-beta窗口之外)。贝塔也发生了类似的事情

无论使用哪种方法,都不会影响最佳移动的选择。alpha-beta窗口的存在表明,任何从下方冒出的、位于alpha-beta窗口之外的值都不重要。现在已经有一种更好的变体了


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

此节点是否获得值19(alpha的值)或10(子节点中最大的值)取决于不同alpha-beta算法中存在的变体。当最大值小于alpha时,一些算法将分配alpha值,而其他算法将分配较小的值(因此位于alpha-beta窗口之外)。贝塔也发生了类似的事情

无论使用哪种方法,都不会影响最佳移动的选择。alpha-beta窗口的存在表明,任何从下方冒出的、位于alpha-beta窗口之外的值都不重要。现在已经有一种更好的变体了


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

我尝试直接插入图像,但显然我至少需要10个?因为这个案子似乎是个打字错误,还有一件事我不太确定。我发现了似乎给出正确的解决方案,但我不明白为什么在最右边的子树的beta值是19,不应该是10?我试着直接插入图像,但是显然我需要至少10的声誉。因为这个案子似乎是个打字错误,还有一件事我不太确定。我发现了似乎给出正确的解决方案,但我不明白为什么在最右边的子树的beta值是19,它不应该是10吗?但对我来说,这似乎有点违反直觉,因为当将19分配给节点时,树本身似乎不再有意义,因为该节点没有保存值19的子节点。我想这也意味着,如果最小节点的beta值为10,子节点包含值15和20,那么beta值10将被分配给节点本身,因为它是beta值与其子节点值之间的最小可用值?事实上,beta就是这样。这很有意义,谢谢。但对我来说,这似乎有点违反直觉,因为当将19分配给节点时,树本身似乎不再有意义,因为该节点没有保存值19的子节点。我想这也意味着,如果最小节点的beta值为10,子节点包含值15和20,那么beta值10将被分配给节点本身,因为它是beta值与其子节点的值之间的最小可用值?事实上,beta就是这样。