- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于计算机博弈的五子棋AI设计
摘要:介绍计算机博弈基础算法及部分优化算法,根据五子棋的规则,提出了针对五子棋的数据结构和算法设计,尝试将计算机博弈算法应用于五子棋,设计并实现了一个五子棋AI,并在国际赛事中取得良好成绩;实验证实使用置换表与PVS(Principal Variation Search)算法后搜索效率显著提高。
关键词:五子棋;人工智能;博弈树算法
中图分类号:TP181 文献标识码:A 文章编号:1009-3044(2016)33-0080-02
Abstract: This paper introduces the basic algorithm of machine game and some optimization algorithms. According to the rules of gomoku, the paper presents the data structure and algorithm for Gomoku. It tries to apply game tree algorithm to Gomoku, designs and implements a Gomoku AI, and achieves good results in international competitions. ; The experiment proves that the search efficiency is significantly improved by using the substitution table and PVS (Principal Variation Search) algorithm.
Key words: Gomoku; artificial intelligence; game tree algorithm
1 概述
人工智能是一门正在迅速发展的新兴的综合性很强的学科。它与生物工程、空间技术一起被并列为当今三大尖端技术。人工智能的中心任务是研究如何使计算机去做那些过去只能靠人的智力才能做的工作。人工智能有诸多领域,博弈就是其中一种。
博弈的参加者可以是个人、集体、一类生物或机器。他们都力图用自己的智力去击败对手, 博弈为人工智能提供了一个很好的试验场所。人工智能中许多概念和方法都是从博弈程序中提炼出来,并在新的技术中获得应用。许多研究成果已用于军事指挥和经济决策系统之中。
博弈问题中,最经典的就是棋类博弈。
在此以五子棋为研究样例,基于针对五子棋设计的数据结构与算法,实现了经典的计算机博弈算法。旨在证实计算机博弈算法的普适性,证明针对五子棋设计数据结构与算法的高效。
2 关键技术分析
2.1博弈树搜索算法
任何棋类游戏都要定义一棵由博弈状态为节点的树(即“博弈树”),一个结点就代表棋类的一个局面,子结点就是这个局面进行一次状态转移可以到达的局面。根节点由决策方开始进行状态转移。博弈树的叶子节点为终结状态,即平局或者一方获胜。许多博弈问题可以使用博弈树搜索算法解决。处于树底层的结点称为叶结点(leaf node),叶结点的祖先称为内部结点(interior node)。
一个问题空间(problem space)是一个状态(state)和实现状态之间映射的操作(state)的集合。在博弈问题中,博弈树上的一个内部结点或叶结点就是一个状态,一般称为位置(position)。状态转移(move)是将一个位置转化为其子位置(successor position)的操作。如果一个位置是博弈树的叶结点,可以用估值函数(evaluator)来对其优劣进行评分(evaluate)。根据估值函数,博弈树中的每个叶结点都有一对应值(value)。博弈树搜索的目的就是找出博弈树的值(game tree value)。博弈树的值(下面简称博弈值)指的是博弈树中一个子结点的值,该值对于博弈双方都是最优的。博弈树的子树在该子树搜索完成之后也会返回一个博弈值,该值是子树的局部最优值。
计算一棵博弈树的博弈值,可以使用基本的极大极小树搜索(Min-Max Tree Search)。为了减少搜索的节点数,可以使用Alpha-Beta算法进行剪枝。在Alpha-Beta算法的基础上,各种改进方法被先后提出来,例如置换表,PVS算法以及并行Alpha-Beta算法。在博弈树搜索算法方面,前人做了许多丰富而充满意义的研究工作。
2.1针对Alpha-Beta算法的改进
在Alpha-Beta算法被广泛运用后,对该算法的很多改进算法也相继被提出.这些改进算法主要在以下几个方面对Alpha-Beta算法进行改
您可能关注的文档
最近下载
- 学堂在线 海上求生与救生 章节测试答案.docx VIP
- 智能无人船在水下地形测量中的应用.pptx VIP
- 超星尔雅2018《形象管理》章节测试答案满分答案.pdf VIP
- 学堂在线 生活英语读写 期末考试复习题答案.docx VIP
- 某沿海城市低空产业赋能城市管理可行性研究报告-简版v1.0.pdf
- 中国石油大学远程教育,压裂井返排优化设计研究.doc VIP
- 学堂在线 战场侦察监视技术与装备 章节测试答案.docx VIP
- 学堂在线 工程伦理2.0 章节测试答案.docx VIP
- 2024年四川省雅安市中考数学试卷(含答案).doc VIP
- 微电子本科毕业论文题目(热门选题100个)最新.pdf VIP
文档评论(0)