Alpha Beta修剪假设

时间:2014-12-12 06:15:36

标签: algorithm chess alpha-beta-pruning

我正在学习游戏树(国际象棋),并且想知道alpha beta修剪是否基于假设两个玩家都是完美的玩家'。如果一个不完美的人扮演并做出不好的举动,会发生什么?当对手并不总是选择最佳动作时,alpha beta修剪如何工作。

1 个答案:

答案 0 :(得分:4)

每次有位置时,都可以将其视为分析树的根。 Alpha-beta修剪的理念是假设对手扮演完美的国际象棋,因为如果对手犯错,那么自然情况下,对于计算机来说情况会更好。因此,经典的alpha-beta修剪假设对手是完美的,并且每当出现意外事件时,如

  • 对手犯了错误
  • 发现被认为最好的那条线并不是最好的

算法重新考虑位置。经典的alpha-beta修剪会在每次移动时反复计算位置,但自然会有明显的改进:

  1. 你可以将下降的有吸引力的动作列表移到下一步,如果对手做出预期的动作,你首先要计算最有吸引力的变化,注意,国际象棋比赛是按照每个玩家的时间进行的。我们应该避免时间麻烦。

  2. 虽然对手认为你可以在第二,第三等最有吸引力的变体中建立你最好的场景

  3. 国际象棋实际上是一个非常复杂的游戏。 Alpha-beta修剪只给你假设,它无法确定最佳动作。作为一台计算机,您可以通过计算变体中的战术野性(叉子,扦子等的数量)来调整攻击性,并使用权重,您可以通过调整攻击来添加“个性”。此外,你可以调整技巧,也就是说,计算机选择稍微更糟糕的动作使事情变得复杂并使对手更难的概率。

  4. 您可以调整时间和深度策略。

  5. 以及更多的事情,但我不会在这里描述它们,因为我不想因为分享太多细节和无聊的人而迅速获得许多低票:)