- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机科学2004Vo1.31N2.10(增刊)
基于博弈树的五子棋算法研究 ’‘
ResearchofGobangAlgorithmBasedonGameTree
罗 景,3‘叶俊民,2‘,3赵 良,,3 陈 利,3‘涂新辉 ‘
(华中师范大学计算机系 武汉430079) (哈尔滨工程大学计算机学院 哈尔滨150001)2
(武汉大学计算机软件工程国家重点实验室 武汉430072)3
AbstractInthispaper,agobangalgorithmbasedongametreeisdiscussed.Intheimplementationofthegobang
program,a-3(pruningmethodandmax-mintreetheoryareusedtofindthebestgameplace.However,duetothe
timecomplexityledbybreadthsearch,theperformanceofthegobangalgorithmisaffectedgreatlywiththein-
creaseofthesearchlayers.Themultithreadinganddistributedtechnologyisproposedtobeemployedinthealgo-
rithmtoimprovetheefficiency.
Keywords Gametree,Gobang,a-3(pruning,Max-mintree
并保证能够取胜。因此对应于棋手走的节点是一个
1 引言
或节点。图1所示的是一棵典型的博弈树。
在人工智能领域内,博弈是很重要的一个研究
分支。通过对博弈的研究,可以解决很多实际问题,
使电脑智能向人类智能迈进一大步。1997年,世界头
号国际象棋大师卡斯帕罗夫与IBM 的超级计算机
“深蓝”较量后不得不俯首称臣,让人脑第一次尝到
了在电脑面前失败的滋味。博弈理论在这场人机大
战中起了关键性的作用。
博弈理论已被用于很多棋类游戏的设计中。本
文以五子棋问题为例,讨论了一个基于博弈树的五 图1 博弈树
子棋算法及其具体实现,在实现中应用了a-3(剪枝 所谓棋局,就是所有那些必须记录下来的信息。
法和最大最小树原理进行搜索发现最好的下子位 根据这些信息,比赛在按计划暂停以后能够得以继
置。针对广度搜索层数的增加所带来的五子棋算法 续进行下去。显然,这些信息包括了此时棋子在棋盘
的低效性,进而提出了基于多线程搜索策略和分布 上的位置以及指出下一步是轮到棋手走,还是对手
式搜索策略的改进方法。 走。
2 博弈树 对于一场经过深思熟虑的棋局来说,其博弈树
是非常庞大的(国际象棋来说有10120个节点),以
任何一种博弈竞赛都可以构成一个博弈树。它 至于不可能把这样大的博弈树装入计算机,也不可
类似于状态图和问题求解搜索中使用的搜索树。博 能在任何合理的、有限的时间内进行详细的搜索。所
弈树的结点对应于某一个棋局,其分支表示走一步 以,要深入地考察完整的博弈树,然后对博弈树以某
棋;根部对应于开始位置,其叶节点表示对弈到此结 种规则进行恰当的剪枝,以便把搜索树控制在一个
束。在叶节点对应的棋局中,竞赛的结果可以是赢、 合理的范围。
输或者和局。
博弈树是一棵与/或树,不同于在状态搜索中使 3算法的实现
用的纯粹的或树。其原因是:当轮到棋手走时,他可 在Windows操作系统下,我们用VC十+实现了
以决定选择哪一步棋走。如果起码有一步可以担保 这个人机对战的五子棋算法。和国内许多只是采用
棋手能够到达赢的棋局,那么棋手就会选择这一步
文档评论(0)