为什么可以通过 alpha-beta 修剪来消除这个分支?

人工智能 搜索 极小极大 α-β-修剪
2021-10-22 13:15:49

有人可以向我解释为什么可以消除此图像中的其余中间分支以进行 alpha-beta 修剪吗?我很困惑,因为您知道的唯一信息似乎是 Helen 会在顶部至少选择 2(考虑到如果我们在 DFS 中从左到右迭代),而 Stavros 绝对不会选择高于 7 的任何东西。这剩下 5 个可能分支的其余部分可能会采用海伦最终可能会选择的数字,但不能因为我们已经通过修剪消除了这些可能性。

在此处输入图像描述

1个回答

如果我们使用 alpha-beta 修剪在树中从左到右搜索,则无法修剪被划掉的节点。要进行此分析,我们可以假设树的右分支不存在。(从根开始的分支 C。)

在根海伦的左分支 (A) 中将获得 2 个或更多。

在从根部向左走后的中间分支 (B) 中,Stavros 将得到 7 或更少。

现在,我们可以问如果我们为划​​掉的分支设置不同的值会发生什么。如果放置不同的值不会改变根的值,那么修剪是正确的。

假设在第二级分支 A 上的 7 之后,我们将分支 B 的值设为 -10。在这种情况下,第二个分支的值为 -10,Helen 将更喜欢根处的第一个分支。

假设在第二级分支 A 上的 7 之后,我们将分支 B 的值设为 100。在这种情况下,第二个分支的值将是 7,Helen 会更喜欢这个分支。

因此,被划掉的节点的价值很重要,它们不能被修剪。

您可能会发现此工具对于探索二叉树上的 alpha-beta 很有用:

https://movingai.com/ab/