【问题标题】:How to differentiate Left to right and right to left alpha-beta pruning?如何区分从左到右和从右到左的 alpha-beta 修剪?
【发布时间】:2021-09-02 12:31:49
【问题描述】:
我试图理解从左到右和从右到左 alpha-beta 修剪示例之间的概念。根据我的理解,根据下图,由于 alpha>=beta,节点 K 是否会被修剪以进行从左到右的 alpha-beta 修剪?此外,对于从右到左的 alpha-beta 修剪,是否只修剪节点 H、M、O,因为 beta 小于 alpha?请向我强调这一点,因为我是 alpha-beta 修剪概念的新手。
谢谢!
Alpha Beta pruning Diagram
【问题讨论】:
标签:
artificial-intelligence
computer-science
【解决方案1】:
在 left-to-right alpha-beta 中,K 确实会被修剪,因为:在计算 J(值为 9)之后,我们知道 E 的值至少为 9(alpha = 9)这已经与 B 无关(在计算 D 之后,它的值必须小于 6 : beta = 6)。因此计算K是没有用的。
在从右到左中,当您开始时,您的树根本没有任何价值。将计算的第一个值是 O(因为您从右侧开始)。您不能修剪此节点,因为您必须计算它。
N 没有被修剪。
因此 G 等于 10。
因此 C 小于 10 (beta = 10):让我们检查他的另一个孩子 F。
当你来到 F 时,你知道 beta = 10。你首先检查 M,它不会触发任何修剪,然后是 L。现在你知道 C=1。因此,A 大于或等于 1(alpha = 1 且 beta = INFINITY)。
您必须检查 B,从右到左扫描。通过检查节点,在这个版本的 alpha-beta 中根本没有修剪。