- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Minimax算法及实例分析发表于2015/5/11 15:20:32 ?2419人阅读分类:?AI算法? ?计算机科学中最有趣的事情之一就是编写一个人机博弈的程序。有大量的例子,最出名的是编写一个国际象棋的博弈机器。但不管是什么游戏,程序趋向于遵循一个被称为Minimax算法,伴随着各种各样的子算法在一块。? ?Minimax算法又名极小化极大算法,是一种找出失败的最大可能性中的最小值的算法。Minimax算法常用于棋类等由两方较量的游戏和程序,这类程序由两个游戏者轮流,每次执行一个步骤。我们众所周知的五子棋、象棋等都属于这类程序,所以说Minimax算法是基于搜索的博弈算法的基础。该算法是一种零总和算法,即一方要在可选的选项中选择将其优势最大化的选择,而另一方则选择令对手优势最小化的方法。Minimax是一种悲观算法,即假设对手每一步都会将我方引入从当前看理论上价值最小的格局方向,即对手具有完美决策能力。因此我方的策略应该是选择那些对方所能达到的让我方最差情况中最好的,也就是让对方在完美决策下所对我造成的损失最小。Minimax不找理论最优解,因为理论最优解往往依赖于对手是否足够愚蠢,Minimax中我方完全掌握主动,如果对方每一步决策都是完美的,则我方可以达到预计的最小损失格局,如果对方没有走出完美决策,则我方可能达到比预计的最悲观情况更好的结局。总之我方就是要在最坏情况中选择最好的。实例分析:? ?现在考虑这样一个游戏:有三个盘子A、B和C,每个盘子分别放有三张纸币。A放的是1、20、50;B放的是5、10、100;C放的是1、5、20。单位均为“元”。有甲、乙两人,两人均对三个盘子和上面放置的纸币有可以任意查看。游戏分三步:甲从三个盘子中选取一个。乙从甲选取的盘子中拿出两张纸币交给甲。甲从乙所给的两张纸币中选取一张,拿走。? ?其中甲的目标是最后拿到的纸币面值尽量大,乙的目标是让甲最后拿到的纸币面值尽量小。基本思路? ?一般解决博弈类问题的自然想法是将格局组织成一棵树,树的每一个节点表示一种格局,而父子关系表示由父格局经过一步可以到达子格局。Minimax也不例外,它通过对以当前格局为根的格局树搜索来确定下一步的选择。而一切格局树搜索算法的核心都是对每个格局价值的评价。解题? ?下图是上述示例问题的格局树:? ?注意,由于示例问题格局数非常少,我们可以给出完整的格局树。这种情况下我可以找到Minimax算法的全局最优解。而真实情况中,格局树非常庞大,即使是计算机也不可能给出完整的树,因此我们往往只搜索一定深度,这时只能找到局部最优解。? ?我们从甲的角度考虑。其中正方形节点表示轮到我方(甲),而三角形表示轮到对方(乙)。经过三轮对弈后(我方-对方-我方),将进入终局。黄色叶结点表示所有可能的结局。从甲方看,由于最终的收益可以通过纸币的面值评价,我们自然可以用结局中甲方拿到的纸币面值表示终格局的价值。? ?下面考虑倒数第二层节点,在这些节点上,轮到我方选择,所以我们应该引入可选择的最大价值格局,因此每个节点的价值为其子节点的最大值:? ?这些轮到我方的节点叫做max节点,max节点的值是其子节点最大值。? ?倒数第三层轮到对方选择,假设对方会尽力将局势引入让我方价值最小的格局,因此这些节点的价值取决于子节点的最小值。 ?这些轮到对方的节点叫做min节点。? ?最后,根节点是max节点,因此价值取决于叶子节点的最大值。最终完整赋值的格局树如下:总结一下Minimax算法的步骤:首先确定最大搜索深度D,D可能达到终局,也可能是一个中间格局。在最大深度为D的格局树叶子节点上,使用预定义的价值评价函数对叶子节点价值进行评价。自底向上为非叶子节点赋值。其中max节点取子节点最大值,min节点取子节点最小值。每次轮到我方时(此时必处在格局树的某个max节点),选择价值等于此max节点价值的那个子节点路径。在上面的例子中,根节点的价值为20,表示如果对方每一步都完美决策,则我方按照上述算法可最终拿到20元,这是我方在Minimax算法下最好的决策。格局转换路径如下图红色路径所示:强调几点:真实问题一般无法构造出完整的格局树,所以需要确定一个最大深度D,每次最多从当前格局向下计算D层。因为上述原因,Minimax一般是寻找一个局部最优解而不是全局最优解,搜索深度越大越可能找到更好的解,但计算耗时会呈指数级膨胀。也是因为无法一次构造出完整的格局树,所以真实问题中Minimax一般是边对弈边计算局部格局树,而不是只计算一次,但已计算的中间结果可以缓存。
您可能关注的文档
- [7-8]-实验报告六:串口通信实验.doc
- (人教版)七年级下册:5.3.1《平行线性质(2)》教学课件.ppt
- “节约用水-保护水资源”社会实践活动.doc
- 《“精彩极了”与“糟糕透了”》讲课.ppt
- 《6.3细胞衰老、凋亡、癌变》课程教学设计.docx
- 《100以内数顺序和比较大小》教学课件.ppt
- 《100以内退位减法》说课讲稿.doc
- 《白鹅》课程教学设计(品读感悟).doc
- 《表内除法一整理和复习》教学设计.docx
- 《采茶舞曲》音乐教案课程教学设计.doc
- 高中历史教育中的批判性思维培养研究教学研究课题报告.docx
- 初中历史课堂中的案例分析教学有效性教学研究课题报告.docx
- 小学阶段家庭作业的有效指导方法教学研究课题报告.docx
- 初中英语听说教学的评价方法与策略教学研究课题报告.docx
- 学校志愿活动对学生责任感的培养教学研究课题报告.docx
- 初中生涯规划教育教师培训现状分析教学研究课题报告.docx
- 高中道德与法治教育的社会实践探讨教学研究课题报告.docx
- 高中化学学习中探究式教学的实践教学研究课题报告.docx
- 学生个性化学习方案的制定研究教学研究课题报告.docx
- 2024-2025学年小学英语三年级下册人教版(PEP)(2024)教学设计合集.docx
文档评论(0)