五子棋博弈毕业设计论文.docVIP

  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文档。上传文档
查看更多
五子棋博弈毕业设计论文

1 引言 随着近几十年来人工智能的飞速发展,越来越多的具有智能的机器进入了人类的生活,人工智能的重要性如今显而易见。人工智能属于计算机科学的领域,它以计算机技术为基础,近几十年来,它的理论和技术已经日益成熟,应用领域也正在不断扩大,显示出强大的生命力。人工智能大致可以分成几个学科,它们每一个都是独特的,但是它们常常又互相结合起来完成设计任务,这时,这些学科之间的差别就变的很模糊。人工智能在专家系统,自然语言理解,自动定理证明,自动程序设计,人工智能在机器人学、模式识别、物景分析、数据库的智能检索、机器下棋(实质上是博弈论问题)和家用电器智能化等领域都有广泛的应用。而这个课题就是和人工智能中的博弈论领域紧密相关的。 广义上来讲,博弈是指在一定的环境条件和一定的规则约束下,依靠自己所能够掌握的信息,从各自选择的行为或是策略进行选择并加以实施,并从各自取得相应结果或收益的过程。冯.诺伊曼(John von Neumann,1903-1957)和摩根斯坦恩(Oskar Margenstern, 1902-1977)在1944年出版了《博弈论与经济行为》(Theory of Games and Economic Behavior)一书中,最早地提出了关于博弈论的概念。但是,对于非合作、纯竞争型博弈,诺伊曼所解决的只有二人零和博弈。在这里所抽象化后的博弈问题是,已知参与者集合(两方),策略集合(所有棋着),和盈利集合(赢子输子),最终是想去找到一个理论上的解或平衡,也就是对参与双方来说都最合理、最优的具体策略。而在这里狭义的讲,博弈论主要是研究棋手们落子中理性化、逻辑化的部分,并将其系统化为一门科学。换言之,博弈就是研究个体如何在错综复杂的相互影响中得出最合理的策略,博弈论正是衍生于古老的游戏或曰博弈如象棋、扑克等。数学家们将具体的问题抽象化,通过建立自完备的逻辑框架、体系研究其规律及变化。 应用传统决定论中的“最小最大” 准则,即博弈的每一方都假设对方的所有功略的根本目的是使自己最大程度地失利,并据此最优化自己的对策,冯.诺伊曼从数学上证明,通过一定的线性运算,对於每一个二人零和博弈,都是能够找到一个“最小最大解”的 ,而这个简单的博弈思想,也即是人机博弈中最基础的组成部分,通过假设对手必定选取他所能选择的最优解来实现。可以这么说,从狭义的“博弈”来讲,人机博弈是各个领域博弈理论的起源与基础,在人工智能方面更是一个重要的研究方向。因此,在这里,学习掌握博弈论,无疑对实现人机博弈程序是有帮助的。 并且人工智能中的博弈部分,由于采用了大量的搜索算法,其中很多被利用到各方面。它的概念、方法和技术,正在各行各业广泛渗透。智能已经成为当今各种新产品、新装备的发展方向。所以,趁着这个机会,对人工智能中比较容易实现的人机博弈进行了解研究学习,也是很实用且很有必要的。而其中的博弈问题为搜索策略,机器学习等问题的研究课题提供了很好的实际背景,而且博弈问题自身也不断提出了一些新的研究课题,从而推动了人工智能的研究和发展。 2 初步设计方案 在中国象棋,围棋,国际象棋,黑白棋等各种棋类对弈程序中,其中中国象棋规则比较复杂,但是每一层节点数相对较少;围棋需要十分繁深的估值系统的支持;国际象棋同中国象棋比较类似,它们的各种棋子的走法规则各不相同,都比较繁多,但是每一层搜索的节点数相对较少,它们的估值也较多地需要考虑到全局。而五子棋由于每一层搜索节点数量比较庞大,规则简单,估值函数可以做到比较细致,因此通过实现一个五子棋对弈程序来完成这个课题 在程序的实现上,首先完成界面的设计,在界面的设计上,使用了二维数组的棋盘格式,主要是因为考虑到五子棋的落子后,是不会像象棋那样再次移动的,因此没有选择位棋盘的棋盘模式。 随后通过在完成的简单的界面上实现输赢的判断从而实现了人人对弈的功能。在这个基础上,随后实现了简单的棋盘上的位置的估值,通过每个合法位置上的估值数值,可以让电脑确定最终的落子位置,而这些实现是在当前棋盘上的搜索决定的,而并没有深入的通过推算对手的落子位置从而决定自己的落子位置这种通过的搜索而实现。 在计算了这些之后,为了进一步地提高程序的智能,因此,为程序设计了深入搜索的模块。通过这种深入搜索,让电脑在推测对手的可能落子的位置之后,随后再来决定自己的落子位置,从而提高了电脑棋手的棋力水平。在完成了程序的深入搜索之后,随后添加了不少辅助的算法,来达到完善深入搜索算法的目的。 在程序的结构设计上,主要有三个模块,一个是界面模块,一个是估值模块,一个是深入搜索模块。在具体设计中,估值方面通过比较细致的划分类型来完成此模块功能,通过不同情况下的鼓励值的不同,来使其能够评估出一个相对比较合理切合棋局局势的估

文档评论(0)

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

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

1亿VIP精品文档

相关文档