基于博弈树的五子棋算法研究‘’.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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)

docindoc + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档