JavaShuo
栏目
标签
极大极小算法简介
时间 2019-11-17
标签
极大
极小
算法
简介
繁體版
原文
原文链接
概念
Minimax算法 又名极小化极大算法,是一种找出失败的最大可能性中的最小值的算法(即最小化对手的最大得益)。一般以递归形式来实现。
Minimax算法经常使用于棋类等由两方较量的游戏和程序。该算法是一个零总和算法,即一方要在可选的选项中选择将其优点最大化的选择,另外一方则选择令对手优点最小化的一个,其输赢的总和为0(有点像能量守恒,就像自己两个玩家都有1点,最后输家要将他的1点给赢家,但总体上仍是总共有2点)。不少棋类游戏能够采起此算法,例如tic-tac-toe。
主要应用场景
零和游戏(Zero-sum Game):意思就是你死我活,一方的胜利表明另外一方的失败,好比,象棋,五子棋等。
彻底信息(Perfect Information):玩家知道以前全部的步骤。象棋就是彻底信息,由于玩家是交替着落子,且以前的步骤都能在棋盘上体现,可是石头剪子布就不是。这样的游戏一般能够把他们看做一个树状图,把每一种可能性列出来。
例子
井字棋游戏,Max表明你本身,Min表明你的对手。
这个时候咱们须要给每一种结果一个分数,就是这里的Utility。这个分数是站在我本身(也就是Max)的角度评估的,好比上图中我赢了就是+1,输了是-1,平局时0。因此,我但愿最大化这个分数,而个人对手但愿最小化这个分数。(在游戏中,这个分数被称为static value。)
过程:
首先,因为双方都采用最优策略行棋,即知道从当前开始到结束的全部棋局状态,再从中选择最有利于本身的棋局,
故双方都知道最终的全部棋局状态,所以有下图:
从结果看起,也就是第4步。图中标注第四步是个人对手下的,因此他要作的是最小化这个分数,因而对手根据结果能够反推出以下选择
从后往前看到第3步,当咱们知道了对手的选择之后,咱们能够根据对手的结果反推出本身的选择,咱们要作的是最大化这个分数,如图
咱们最终能够发现第一步的最优选择,如图
笔记
该算法从结果入手,分别选择最有利于自身的策略。
经过设置最大值最小值来实现有利于自身的策略。
经过轮流取大取小来模拟两人博弈。
优化 (Alpha-Beta剪枝)
首先将游戏简化如图所示:
可是,最后一步的分数其实也须要计算机来算(static evaluation),因此咱们并不会一开始就有全部的数据,其实咱们一开始是这样的
而后,计算机给出了第一个分数
当给出了这个分数的时候,咱们站在步骤1看,不管另外一分支的数字是多少,步骤1左边方框的数字不会超过2。由于第2步是个人对手下的,他但愿分数尽量的小,也就是这样的
这个时候,电脑再计算另外一分支的分数,也就是7。知道另外一分数是7之后,也就知道步骤1的左边方框分数为2。这时,咱们往前看一步(步骤0)。步骤0的分数是大于等于2,由于我要最大化分数。如图
如今,再来计算右边分支的分数,获得了1。同理,咱们站在步骤1来看,右边方框中的数不会超过1,如图
在这个状况下,即便我不算最后一个数字,我也能知道在步骤0的结果为2,由于已知步骤1中的右边方框,数值不会超过1。因此咱们就能直接知道结果,也就是
们能够看到,加上剪枝算法,咱们不只获得了相同的结果,并且减小了计算量。在实际应用中,加上剪枝算法,计算机大约须要算2*n^(x/2)个结果,若是n为分支数,x为步数。相比于以前仅用极小极大算法的n^x,效率提升了不少。
相关文章
1.
极大极小算法转
2.
极小化极大算法
3.
极大极小算法原理
4.
极大极小搜索算法 minimax search
5.
极大极小值算法、α-β剪枝算法的理解
6.
隔三岔五聊算法之极小极大算法
7.
极大极小算法和AlphaBeta剪枝算法学习总结
8.
极简算法史
9.
《极简算法史》
10.
博弈树 极小极大分析法
更多相关文章...
•
Scala 简介
-
Scala教程
•
AJAX 简介
-
PHP教程
•
Git可视化极简易教程 — Git GUI使用方法
•
算法总结-广度优先算法
相关标签/搜索
极简
终极算法
极小
极大
极简版
极简单
极大值
简介
Docker命令大全
PHP 7 新特性
Hibernate教程
算法
计算
0
分享到微博
分享到微信
分享到QQ
每日一句
每一个你不满意的现在,都有一个你没有努力的曾经。
最新文章
1.
shell编译问题
2.
mipsel 编译问题
3.
添加xml
4.
直方图均衡化
5.
FL Studio钢琴卷轴之画笔工具
6.
中小企业为什么要用CRM系统
7.
Github | MelGAN 超快音频合成源码开源
8.
VUE生产环境打包build
9.
RVAS(rare variant association study)知识
10.
不看后悔系列!DTS 控制台入门一本通(附网盘链接)
本站公众号
欢迎关注本站公众号,获取更多信息
相关文章
1.
极大极小算法转
2.
极小化极大算法
3.
极大极小算法原理
4.
极大极小搜索算法 minimax search
5.
极大极小值算法、α-β剪枝算法的理解
6.
隔三岔五聊算法之极小极大算法
7.
极大极小算法和AlphaBeta剪枝算法学习总结
8.
极简算法史
9.
《极简算法史》
10.
博弈树 极小极大分析法
>>更多相关文章<<