极小极大算法 (The Minimax Algorithm)
2014-04-04 11:01
183 查看
极小极大算法 (The Minimax Algorithm)
[说明] 本文基于
<<CS 161 Recitation Notes - The Minimax Algorithm>>, 本文中的图片均来源于此笔记。
极小极大算法常用于二人博弈游戏,目的是寻找最优的方案使得自己能够利益最大化。基本思想就是假设自己(A)足够聪明,总是能选择最有利于自己的方案,而对手(B)同样足够聪明,总会选择最不利A的方案。
下面举个例子进行说明:
设:正方形代表自己(A),圆代表对手(B),节点的每个孩子节点代表一个候选方案。
上图中显示了所有候选方案。让我们如下分析:(注意:图中的所有数字都是A的利益值,越大越有利于A)
假设A选择第一个方案,B有两个候选方案,B为了使得A利益最小化,所有在7和3中选择了3,所以A只能获得3。
假设A选择第二个方案,B只有一个选择,A最终可以获得15。
假设A选择第三个方案,B有4个可选方案,为了使得A利益最小,B选择第一个方案,则A只能获得利益1。
A为了使得自己利益最大,所以A会选择第一个方案,即获得利益15。
从上图可以看出,B总是选择候选方案中的最小值,而A总是选择候选方案中的最大值,极小极大的名字也就源于此。
该算法使用深度优先搜索(Depth First Search)遍历决策树来填充树中间节点的利益值,叶子节点的利益值通常是通过一个利益评估函数算得。
通常决策树的分支呈指数增长,所以基本不可能遍历整棵决策树,所以实际应用中通常会控制决策树深度,从而减少计算量。正因为无法遍历完整的决策树,所以该算法有可能造成误导,即选取的方案可能是局部最优而不是全局最优的。
有时候为了得到较好的效果不得不增加搜索树的深度,这样就增加了大量的计算。为了加快计算速度,减少计算量,可以使用Alpha-Beta剪枝算法(Alpha Beta Pruning)对搜索树进行剪枝。因为搜索树中有很多分支不需要遍历。
[说明] 本文基于
<<CS 161 Recitation Notes - The Minimax Algorithm>>, 本文中的图片均来源于此笔记。
极小极大算法常用于二人博弈游戏,目的是寻找最优的方案使得自己能够利益最大化。基本思想就是假设自己(A)足够聪明,总是能选择最有利于自己的方案,而对手(B)同样足够聪明,总会选择最不利A的方案。
下面举个例子进行说明:
设:正方形代表自己(A),圆代表对手(B),节点的每个孩子节点代表一个候选方案。
上图中显示了所有候选方案。让我们如下分析:(注意:图中的所有数字都是A的利益值,越大越有利于A)
假设A选择第一个方案,B有两个候选方案,B为了使得A利益最小化,所有在7和3中选择了3,所以A只能获得3。
假设A选择第二个方案,B只有一个选择,A最终可以获得15。
假设A选择第三个方案,B有4个可选方案,为了使得A利益最小,B选择第一个方案,则A只能获得利益1。
A为了使得自己利益最大,所以A会选择第一个方案,即获得利益15。
从上图可以看出,B总是选择候选方案中的最小值,而A总是选择候选方案中的最大值,极小极大的名字也就源于此。
该算法使用深度优先搜索(Depth First Search)遍历决策树来填充树中间节点的利益值,叶子节点的利益值通常是通过一个利益评估函数算得。
通常决策树的分支呈指数增长,所以基本不可能遍历整棵决策树,所以实际应用中通常会控制决策树深度,从而减少计算量。正因为无法遍历完整的决策树,所以该算法有可能造成误导,即选取的方案可能是局部最优而不是全局最优的。
有时候为了得到较好的效果不得不增加搜索树的深度,这样就增加了大量的计算。为了加快计算速度,减少计算量,可以使用Alpha-Beta剪枝算法(Alpha Beta Pruning)对搜索树进行剪枝。因为搜索树中有很多分支不需要遍历。
相关文章推荐
- Understanding The Minimax Algorithm-理解极小极大搜索算法
- Understanding The Minimax Algorithm-理解极小极大搜索算法
- POJ 1568 Find the Winning Move(极小极大搜索+alpha-beta剪枝)
- 势力图技术:模型表现、算法和参数(The Mechanics of Influence Mapping: Representation, Algorithm & Parameters)
- 基于极大极小算法和alpha-beta剪枝实现AI井字棋
- 数据挖掘十大经典算法(4) The Apriori algorithm
- 数据挖掘十大经典算法(4) The Apriori algorithm
- 一种最坏情况线性运行时间的选择算法 - The missing worst-case linear-time Select algorithm in CLRS.
- 数据挖掘十大经典算法(4) The Apriori algorithm
- 数据挖掘十大经典算法(四) The Apriori algorithm
- 期望最大化算法(The EM algorithm)
- 出自上帝之手的精妙算法 - Algorithm from THE BOOK (2)
- 极小极大搜索方法、负值最大算法和Alpha-Beta搜索方法
- 内存管理之伙伴系统算法(The Buddy System Algorithm)
- 转:极小极大搜索方法、负值最大算法和Alpha-Beta搜索方法
- QT五子棋项目详解之四:AI人机对战max-min极大极小值博弈算法
- 转载 数据挖掘十大经典算法(4) The Apriori algorithm
- 极大极小算法原理
- 五子棋AI算法第二篇-极大极小值搜索算法
- 一种最坏情况线性运行时间的选择算法 - The missing worst-case linear-time Select algorithm in CLRS.