- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
人工智能课程大作业
PAGE 23
作业题目
摘要:机器博弈是人工智能的一个重要研究分支,本文通过设计一个五子棋智能博奕程序,采用传统的博弈树算法,利用剪枝和极大极小树搜索最佳位置,从而实现人机智能博弈。并对现有算法存在的问题进行探究改进,最后给出展示,结果表明效果比较理想。
关键词:人工智能;五子棋;博弈
本组成员:
本人分工:α-β剪枝实现
1 引言
人工智能[1]是一门综合新型的新兴边缘科学,与生物工程、空间技术并列为三大尖端技术,而机器博弈却是其一个重要的研究分支。它研究如何利用计算机去实现那些过去只能靠人的智力去完成的工作,博弈为人工智能提供了一个很好的应用场所。
博弈过程可以采用与或树进行知识表达,这种表达形式称为博弈树。α—β剪枝技术是博弈树搜索中最常采用的策略。
2 算法原理与系统设计
根据五子棋游戏规则,此次五子棋游戏我们采用基于极大极小值分析法的α—β剪枝算法来实现计算机走棋。α—β剪枝技术是博弈树搜索中最常采用的策略,α—β剪枝搜索由极大极小值分析法演变而来[2]。
极大极小分析法其基本思想或算法是:
(1) 设博弈的双方中一方为MAX,另一方为MIN。然后为其中的一方(例如MAX)寻找一个最优行动方案。
(2) 为了找到当前的最优行动方案,需要对各个可能的方案所产生的后果进行比较,具体地说,就是要考虑每一方案实施后对方可能采取的所有行动,并计算可能的得分。
(3) 为计算得分,需要根据问题的特性信息定义一个估价函数,用来估算当前博弈树端节点的得分。此时估算出来的得分称为静态估值。
(4) 当端节点的估值计算出来后,再推算出父节点的得分,推算的方法是:对“或”节点,选其子节点中一个最大的得分作为父节点的得分,这是为了使自己在可供选择的方案中选一个对自己最有利的方案;对“与”节点,选其子节点中一个最小的得分作为父节点的得分,这是为了立足于最坏的情况。这样计算出的父节点的得分称为倒推值。
(5) 如果一个行动方案能获得较大的倒推值,则它就是当前最好的行动方案。
上述的极小极大分析法,实际是先生成一棵博弈树,然后再计算其倒推值,至使极小极大分析法效率较低。于是在极小极大分析法的基础上提出了α-β剪枝技术。α-β剪枝技术的基本思想或算法是,边生成博弈树边计算评估各节点的倒推值,并且根据评估出的倒推值范围,及时停止扩展那些已无必要再扩展的子节点,即相当于剪去了博弈树上的一些分枝,从而节约了机器开销,提高了搜索效率。
具体的剪枝方法如下:
(1) 对于一个与节点MIN,若能估计出其倒推值的上确界β,并且这个β值不大于 MIN的父节点(一定是或节点)的估计倒推值的下确界α,即α≥β,则就不必再扩展该 MIN节点的其余子节点了(因为这些节点的估值对MIN父节点的倒推值已无任何影响了)。这一过程称为α剪枝。
(2) 对于一个或节点MAX,若能估计出其倒推值的下确界α,并且这个α值不小于 MAX的父节点(一定是与节点)的估计倒推值的上确界β,即α≥β,则就不必再扩展该MAX节点的其余子节点了(因为这些节点的估值对MAX父节点的倒推值已无任何影响了)。这一过程称为β剪枝。
图2.1 系统流程图
图2.2 系统结构图
3 系统实现
首先构造棋型估分,对五子棋当前局势的分析,对每步进行估分;然后应用博弈树,提高AI智能,考虑层数,提高AI智能,接下来应用α-β剪枝,提高AI速度,经过α-β剪枝,可以极大的减少搜索的数量,从而提高了的AI速度,极大的减少了搜索层数对AI速度的影响。
4 实验或测试结果
实验方案及结果:
1.检测双三或三活三
2.判断剩余空间是否能成五子
3.剪枝
5 结论
通过对AI的学习,了解了极大极小值分析法的原理,以及这种博弈树的不足,当搜索层数过多时,计算量太大,严重影响了计算机下棋的速度,我们采用α-β剪枝技术来解决这一问题,,减掉不必要的枝,从而极大地减少了搜索层数对计算时间的影响。虽然对极大极小分析法做了时间方面的改进,但仍有不足。由于AI是有一定的失误率存在,所以,要想提高计算机走棋的精准度,增加搜索层数是很有必要的,而搜索层数对计算速度的影响又是不可避免的,并且影响很大,仅仅依靠对博弈树进行剪枝是不够的,还需进一步优化。希望能在后续的课程学习中能进一步优化五子棋,提升AI的精准度,在增加搜索层数的同时,极大的减少对计算时间的影响。
参考文献
[1] 王万良.人工智能及其应用[M].北京.高等教育出版社,2008
[2] 王建雄.博弈树启发搜索算法在五子棋游戏中的研究应用[M].科技开发情报与经济,2011,21(29)
1. 用谓词逻辑知识表示方法表示如下知识:
(1) 有人喜欢梅花,有人喜欢菊花,有人既喜欢梅花又喜欢菊花。
(2) 不是每个计算机系的学生都喜欢在计算机上编
原创力文档


文档评论(0)