我应该使用 minimax 还是 alpha-beta 修剪?

人工智能 比较 极小极大 α-β-修剪
2021-10-21 02:40:23

我应该使用 minimax 还是 alpha-beta 修剪(或两者)?显然,alpha-beta 修剪会修剪搜索树的某些部分。

2个回答

两种算法都应该给出相同的答案。然而,它们的主要区别在于 alpha-beta 并不像 minimax 那样探索所有路径,而是修剪那些保证不是当前玩家的最佳状态的路径,即 max 或 min。因此,alpha-beta 是 minimax 的更好实现。

这是两种算法的时间复杂度

  • 极小极大:O(bd),
  • Alpha-beta(最佳情况):O(bd/2)=O(bd)

在哪里b是平均分支因子,搜索深度为d层。

Minimax 是基本算法,而 alpha beta pruning 是一种优化,您可以将其应用于 minimax 以使其更高效。