【发布时间】:2014-05-01 23:41:50
【问题描述】:
在任何情况下我们都可以说 Alpha-Beta 修剪效率低下。换句话说,假设我们有一场比赛,你必须达到 27 才能获胜,而你和你的对手每次加起来可能只能使用 1,2,5。那么Alpha-Beta修剪在这里有效吗?以这种方式评估它是不是有点令人困惑,尤其是在我们的案例开始时,有很多我们并不真正关心的可能性?
我觉得我可以解释这一点,但我不能!帮助。
【问题讨论】:
在任何情况下我们都可以说 Alpha-Beta 修剪效率低下。换句话说,假设我们有一场比赛,你必须达到 27 才能获胜,而你和你的对手每次加起来可能只能使用 1,2,5。那么Alpha-Beta修剪在这里有效吗?以这种方式评估它是不是有点令人困惑,尤其是在我们的案例开始时,有很多我们并不真正关心的可能性?
我觉得我可以解释这一点,但我不能!帮助。
【问题讨论】:
对于这个游戏,可能会发生将其简化为一些数学公式的情况,而树搜索和 alpha-beta 修剪将是多余的。
但是假设这是不可能的。您的游戏有两个或三个结果:LOSS(-1)、WIN(1) 和可能的 DRAW(0),并且没有对中间位置进行有意义的评估。然后你需要搜索到每个变体的末尾,例如迭代深化是没有意义的。
但是,alpha-beta 修剪可能非常有效:如果 beta=-1(意味着对手已经获胜),您可以立即返回 -1,甚至无需搜索 PV。如果 beta=0,您需要搜索所有子节点的唯一时间是所有(可能除了最后一个)移动都失败时。
alpha-beta 足够有效的条件当然是完整的树足够小,可以在合理的时间内遍历。
编辑:对于您的特定示例,我忘了提及,在遍历的节点数(从 2688332 到 77)方面,记住评估比 alpha-beta 剪枝效果要大得多。
【讨论】: