欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    五子棋游戏人机对奕中AI算法研究论文.docx

    • 资源ID:10976934       资源大小:867.94KB        全文页数:46页
    • 资源格式: DOCX        下载积分:10金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    五子棋游戏人机对奕中AI算法研究论文.docx

    1、五子棋游戏人机对奕中AI算法研究论文摘要本系统将利用五子棋游戏作为研究对象,通过设计出一个能够实现两种不同对战模式的五子棋游戏。并对所涉与到的相关技术进展初步的探讨,将重点放在人机对奕中AI算法研究方面。 游戏中提供两种选择模式:人机对战和人人对战。在人机对战中玩家通过选择不同的AI等级和电脑一决高低。在人人对战中双方可以进展下棋,并通过禁手算法实现禁手规如此关键词五子棋 、博奕AI算法、iosAbstractThis system will use Renju as research objects, passing to design a Renju game that can provi

    2、de two kinds of dissimilarities to the play mode. to involve to of the related technique carry on the study of the first step, play more attention in the AI calculate way research aspect. It provide two kinds of choice modes in the game:Persons machine to the war and the everyone to war.The player p

    3、asses to choose the different AI grade and puter in persons machine the rightness the war a definitely superiority.Both parties can carry on play chess in the everyone the rightness the war。KeywordsRenju ,AI,IOS不要删除行尾的分节符,此行不会被打印2.4.1 系统主要功能模块2.4.2 系统主要流程2.5.1 欢迎界面2.5.2 游戏主界面3.1.1 开发环境3.1.2 运行环境3.1.

    4、3 IOS简介3.1.4 Objective-C简介3.6.1 知识准备3.6.2 算法的主要设计思路千万不要删除行尾的分节符,此行不会被打印。在目录上点右键“更新域,然后“更新整个目录。打印前,不要忘记把上面“Abstract这一行后加一空行第1章 绪论1.1 课题背景 计算机运算速度一直遵循着摩尔定律在飞速的开展,随着这些技术的快速开展,使得大规模的运算得以在很短的时间内实现。正是基于这些技术,近年来各式各样的棋类游戏软件也纷纷出现在了电脑荧屏上,使得那些喜爱下棋,又常常苦于没有对手的棋迷们能随时过足棋瘾。所以如果能设计一款兼有人工智能和网络联机的五子棋软件如此对五子棋棋迷们来说无疑是个“

    5、福音。在人机智能方面其中战胜过国际象棋世界冠军-卡斯帕罗夫的“深蓝便是最具说服力的代表;其它像围棋的“手淡、象棋的“将族等也以其优秀的人工智能深受棋迷喜爱;本系统将重点放在人工智能方面,采用不同的策略将人工中的智能分为不同的等级。选择五子棋游戏作为本设计的课题,是因为该游戏的规如此简单,所涉与的方向比拟少。这样才能将问题的重点放在人工智能解决上,而非规如此的解决,有更多的精力放在高效算法和通信过程的优化。希望能通过本次系统的设计,整合所学的知识,实现从理论到实践上的升华。1.2 课题来源、目的和意义苹果的IOS平台已经占据了全球智能手机系统市场份额的30%,在美国的市场占有率为43%。为IOS

    6、编程是我们大学生未来充满机遇的开展方向之一,所以了解IOS开发流程,学会使用XCODE编程工具,掌握IOS开发语言Objective-C,学习IOS应用功能实现以与硬件功能的调用,是学生选用IOS平台开发五子棋的重要原因。五子棋是最受欢迎的休闲游戏之一,其不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。五子棋既有现代休闲的明显特征“短、平、快,又有古典哲学的高深学问“阴阳易理;它既有简单易学的特性,为人民群众所喜闻乐见,又有高深的技巧和高水平的国际性比赛;它的文化源远流长,具有东方的神秘和西方的直观;既有“场的概念,亦有“点的连接。它是中西文化的交流电,是古今哲理的结晶。 通过此次

    7、在IOS平台开发五子棋,除了完成人机对战和在无线局域网间对弈外,尽可能多的实现IOS平台提供的功能,从而加深对IOS平台的了解,为个人开展打下根底。在人机对弈中通过深度搜索和估值模块,来提高电脑棋手的智能。分析估值模块中的影响精准性的几个要素,以与提出假如干提高精准性的方法,以与对他们搜索的节点数进展比拟,在这些算法的根底上分析一些提高电脑AI方案,如递归算法,电脑学习等。算法的研究有助于理解程序结构,增强逻辑思维能力,在其他人工智能方面也有很大的参考作用。1.3 国内外研究现状现在iPhone的众多游戏都是来自中国的游戏开发者,苹果ios游戏开发已经悄然在中国形成一个产值过亿的庞大产业。在过

    8、去两年中,苹果向全球的ios游戏开发者累计分成达到10亿美元,根据中国开发者提供的下载量、收入情况等数据测算,其中1亿美元被中国开发者获得。有预测称,这一收入份额还可能在未来三年内占到全球的15%-20%。此外,数据还显示,苹果ios游戏开发年收入额排名全球前100的开发公司中,中国公司有4家,而年收入500万美元以上的中国团队,也至少有5-7支。苹果应用软件的开发在中国的增速极为迅猛,这一产业在2008年苹果进入中国后达到了3亿美元的市场规模,2009年超过10亿美元,有预测称,今年将可能突破40亿美元。而ios游戏开发作为苹果应用软件中最受欢迎的一局部,将会分到近70%的利润。“从中国市场

    9、的开展来看,目前ios游戏开发者中个人开发者占到45%,3人以下小团队占到56%,10人规模以下的工作室或个人共占80%。随着竞争的激烈,拥有更多资源和人才的公司将更占优势。目前在其开发的ios游戏中,单机小游戏占据最大的份额,达到90%,剩下的10%如此是社交类游戏和一些大型高端游戏产品。像疯狂的小鸟这种单机游戏容易制作、投入相对较少,因此一旦成功无疑是一本万利;而大的制作如此需要消耗巨大的人力、物力、财力,产出较低。苹果ios游戏开发为中国市场带来巨大的机遇显而易见。虽然现在其他平台也开始参与竞争,但苹果这一平台至少会在5年内保持世界上的领先地位。苹果ios游戏开发必然会吸引更多的创业者参

    10、加,使得整个产业的开展更为迅速。1.4 主要研究内容1、制定合法规如此,能够判断出非法操作,以使博弈公正地进展并分出胜负; 2、支持人机对弈、能够让计算机按照游戏规如此通过人工智能自行选择最优走法;3、支持人人对弈; 4、设计算法,实现三三禁手。 5、具有精美的操作界面,能播放音乐,方便用户操作和使用;1.5 本文结构本文主要内容如下:第1章:绪论局部,首先介绍了课题背景、来源、目的和意义,接着给出了本论文的主要研究内容和论文的结构。第2章:需求分析,按照软件工程的理论给出了系统开发的根本思想和方法。在对系统的需求进展详细分析后,给出了系统所要完成的根本功能。并介绍了系统的软硬件开发环境与开发

    11、工具。第3章:系统设计,对系统的各种结构和功能结构的设计做了描述。第4章:系统的实现与测试,介绍个功能模块的详细实现以与系统测试的方法和过程。双击上一行的“1“2试试, (本行不会被打印,请自行删除)第2章 IRC协议根底与相关技术和理论2.1 IRC协议2.1.1IRC协议的历史IRC的全称是Internet Relay Chat,缩写为IRC,中文名称一般为互联网中继聊天,它是由芬兰人JarkkoOikarinen于1988年首创的一种网络聊天协议7。1988年,芬兰OULU大学的JarkkoOikarinen开始一个新的尝试,他制作了一个多用户版的UNIX TALK 工具:INTERNE

    12、T RELAY CHAT。UNIX的TALK工具是一种允许两个用户通过键盘进展实时笔谈交流的程序, 现在仍然广泛地存在于许多运行LINUX 系统的计算机中,你的谈话出现在计算机屏幕的上半部,而另一个人的信息如此显示在屏幕的下半部。Oikarinen创造出了我们今天所熟悉的IRC环境。起初,许多用户登录到位于 Oulu的一个单独的服务器,而后三个芬兰的服务器互联在一起成为世界上第一个IRC网络,到1988年年底,IRC网络已经延伸到Internet世界的各个角落。经过数年的开展,目前世界上有超过60个国家提供了IRC的服务。2.1.2IRC消息传递原理IRC的中文名称为互联网中继聊天,“中继是I

    13、RC网络聊天的核心。所谓“中继即“中转。我们来做一个比拟说明. 假设,A 与 B 要交谈. 如果不采用中转,那么 A 直接建立一条到达 B 的通信隧道,二者通过这条通信隧道进展信息交流,信息流的方向为: A-B 和 B-A;如果采用中转,如此需要有一个第三方来担任中转角色,设为 C,A 建立一条到达 C 的通信隧道,B 也建立一条到达C 的通信隧道,然后 A 与 B 通过 C 来间接进展通信,信息流的方向为:A-C-B和B-C-A。C 就起着 A 与 B 间的中转站的作用。中转有什么优点呢?中转的最大优点是使群聊能够方便地进展。恰当地说,中转模式为信息广播提供了方便。我们来举例子,假设 A,B

    14、和D 三者要一起聊天. 如果没有 C 的中转,那么 A 要将所说的每句话分别发给 B 和D;如果有C做中转,那么 A 将所说的话发给 C,然后 C 将 A 的话分别发给 B和D。可见,当没有中转时,每个参与聊天的计算机都要执行信息广播的任务,当存在中转时,信息广播的任务全由中转者来执行。中转站 C 的存在使得信息交流过程中的工作任务发生别离,可以把网络环境好、机器配置高的计算机作为中转站来提供服务功能。这就形成了IRC 的客户端/服务器模型,聊天者作为客户端,连接到中转站服务器上8。图2-1 IRC网络简单示例在上图中,A、B、C、D和E为服务器,1、2、3、和4为客户端,(1)客户端1和2之

    15、间的通信是通过服务器A传递的,A接收到1的信息直接传递给2。(2)客户端1和3之间的信息通过服务器A和B进展传递,对于其他的客户端和服务器是不可见的。(3)客户端2和4之间的信息,只对服务器A、B、C和D可见9。2.1.3IRC结构一个典型的IRC网络,如图2-2所示。客户端客户端服务器客户端客户端服务器客户端服务器图2-2 IRC网络结构图2.1.3.1IRC服务器IRC是一个分布式的客户端/服务器结构。通过连接到一个IRC服务器,我们可以访问这个服务器以与他所连接的其他服务器上的频道。概括地说,聊天网络上的每个服务器都是一个中转站,当它从一个服务器或客户收到一条消息时,就将该消息转发给其它

    16、服务器,同时也根据具体情况,决定是否将消息转发给连接到自己的用户。要使用IRC网络聊天,必须先登陆到一个IRC服务器上,最常见的为。2.1.3.2IRC频道频道存在于一个IRC服务器上。频道的本质是广播组。用户可以进入一个频道,也可以离开一个频道。当一个用户朝频道说话时,频道里的其他用户都能收到他的话由服务器中转。当第一个用户进入频道时,频道被创建,当最后一个用户离开频道时,频道被取消。因此,从用户的角度看,频道就是聊天室。频道名称必须以#符号开始,例如#irchelp。2.1.3.3IRC客户端客户端通常是一个连接到服务器的客户端程序。每个客户端都由一个唯一的昵称进展区分,昵称最大长度为9个

    17、ASCII字符。用户通过客户顿登陆IRC服务器10。常见的IRC客户端如下:(1)mIRC被认为是Windows操作系统下最受欢迎,应用最广泛的IRC客户端软件。(2)XChat是跨平台的IRC客户端软件。(3)HydraIRC是GPL授权对应Windows系统的IRC客户端软件。(4)KVIrc是一款注重图形的GPL授权IRC客户端软件,基于Qt。(5)Irssi是类UNIX系统下console界面的IRC客户端,常常与Screen一起搭配使用。(6)Colloquy是Mac OS X下的免费IRC客户端,界面设计友好,还有Console可以监控背后针对每个频道执行所有IRC命令11。2.1

    18、.4IRC命令根据统计数据IRC命令是用情况如表2-1所示。IRC命令使用情况PRIVMSG25.31%PONG12.37%PINGJOIN9.87%QUIT8.37%MODE7.75%NOTICE5.79%LIST5.15%WHOIS3.68%PART2.87%WHO2.00%LINK1.05%CTCP0.92%DCC0.40%表2-1 IRC命名使用情况统计表由上表可以看出IRC最主要的命令式PRIVMSG、PING和PONG,因为PRIVMSG是私人消息命令,是IRC协议本身最根本的功能。而PING和PONG如此是用来判断客户端在空闲状态下,服务器是否连接的122.2 网络数据包捕获技术

    19、2.2.1网络数据的捕获原理通常在同一个网段的所有网络接口都有访问在物理介质上传输的所有数据的能力,每个网络接口还应该有一个硬件地址,该硬件地址是唯一的,不同于网络中存在的任何其他网络接口的硬件地址,同时,每个网络还至少需要一个广播地址13。当有一个站点发送数据时,网络中的其他站点总处于侦听状态,数据帧可被任何站点收到,否如此丢弃。网卡的接收模式一般有四种:(1)广播模式:该模式下的网卡能够接收网络中的广播信息。(2)组播模式:该模式下的网卡能够接收组播数据。(3)直接模式:该模式下只有目的网卡才能接收数据。(4)混杂模式:该模式下的网卡能够接收一切通过它的数据。 一般网卡只承受两种数据帧:发

    20、给自己的帧、网络中的广播帧,所以通过将网卡设置为混杂模式可接收到所有流经网卡的数据帧,然后将其传给上层的网络层,而不管地址是否与自己匹配14。2.2.2Libpcap数据捕获开发包简介Libpcap是英文Packet Capture library的缩写,即数据包捕获函数库。该库提供的C函数接口可用于需要捕获经过网络接口(只要经过该接口,目标地址不一定为本机)数据包的系统开发上。由Berkeley大学Lawrence Berkeley National Laboratory研究院的Van Jacobson、Craig Leres和Steven McCanne编写。该函数库支持Linux、Sol

    21、aris和BSD体统平台。Libpcap是一个平台独立的网络数据包捕获技术。由于Libpcap与操作系统的类型无关,可以独立的访问网络链路层,并读取连路程数据,所以Libpcap有着非常广泛的应用,几乎涉与到网络数据包的捕获功能,都可以使用Libpcap开发包。Libpcap的过滤机制是BPF,支持DLPI和SOCK PACKET,基于内核的过滤模块。它可以捕获自己感兴趣的数据包,而过滤掉不需要的数据包。Libpcap还可以将捕获到的数据包保存到文件中,也可以随时从文件中读取数据包的信息,且读出数据的结果和从网络上捕获的数据包数据完全一致15。2.3 Qt开发框架简介Qt是一个跨平台的C+应用

    22、程序开发框架。广泛应用于GUI程序开发,这种情况下又被称为部件工具箱。也可用于开发非GUI程序,比如控制台工具和服务器。它目前是诺基亚的Qt Development Frameworks部门的产品。Qt使用标准的C+。通过语言绑定,其他的编程语言也可以使用Qt。Qt是自由且开放源代码的软件,在GNU较宽松公开许可证条款下发布。所有版本都支持广泛的编译器,包括GCC的C+编译器和Visual Studio。2.3.1Qt简史Haavard Nord 和Eirik Chambe-Eng于1991年开始开发“Qt,1994年3月创立公司,最早名为Quasar Technologies,然后更名为Tr

    23、oll Tech,然后再更名为Trolltech,中文名是“奇趣科技,2008年6月被NOKIA公司收购,以增强该公司在跨平台软件研发方向的实力,更名为Qt Software。该工具包名为Qt是因为字母Q在Haavard的Emacs字体特别漂亮,而“t代表“toolkit,灵感来自Xt,X toolkit。2009年5月,诺基亚Qt Software宣布Qt源代码管理系统面向公众开放,Qt开发人员可通过Qt以与与Qt相关的项目贡献代码、翻译、示例以与其他内容,协助引导和塑造Qt未来的开展。为了便于这些内容的管理,Qt Software 启用了给予Git和Gitorious开源项目的Web源代码

    24、管理系统。在推出开放式Qt代码库的同时,Qt Software在其发布了其产品规划。其中概述了研发项目中的新功能,展现了现阶段对Qt未来开展方向的观点,以期鼓励社区提供反响和贡献代码,共同引导和塑造Qt的未来。2.3.2Qt支持平台使用Qt开发的软件,一样的程序代码可以在任何支持的平台上编译与执行,而不需要修改源代码。会自动依平台的不同,表现平台特有的图形界面风格。Linux/X11:用于X Window System如Solaris、ATX、Linux、HP-UX、Linux、BSD。支持KDevelop和Eclipse IDE集成。Mac:用于Apple Mac OS X。基于Cocoa框

    25、架。支持Universal Binary。支持以Xcode编辑、编译和测试。Windows:用于Microsoft Windows。支援Visual Studio集成。Embedded Linux:用于嵌入式Linux。可以透过编译移除不常使用的组件与功能。透过自己的视窗系统QWS,不需依赖X Window System,直接写入Linux帧缓冲。可以减少内存消耗。并提供虚拟帧缓冲QVFb,方便在桌面系统上进展嵌入式测试。Windows CE/Mobile:用于Windows CE。Symbian:用于Symbian platform。Maemo/MeeGo:用于Maemo。Wayland:用

    26、于Wayland显示服务器,Qt应用程序可以在运行时切换图形后端,如 X 与 Wayland。2.3.3授权模式Qt开放源代码,并且提供自由软件的用户协议。使得它可以被广泛地应用在各平台上的开放源代码软件开发中。Qt提供三种授权方式。三种授权方式的功能、性能都没有区别,仅在于授权协议的不同。LGPL和GPL是免费发布,商业版如此需收取授权费。Qt商业版:Qt商业授权适用于开发专属和商业软件。此版本适用于不希望与他人共享源代码,或者遵循GNU宽通用公共许可证LGPL2.1版或GNU GPL 3.0版条款的开发人员。提供了技术支持服务。可以任意的修改Qt的源代码,而不需要公开。GNU LGPLv.

    27、2.1:与以后的版本开始遵循GNU LGPL。LGPL允许链结到它的软件使用任意的许可证,可以被专属软件作为类库引用、发布和销售。可以购置支援服务。GNU GPL v.3.0:如果您希望将Qt应用程序与受GNU通用公共许可证GPL3.0版本条款限制的软件一同使用,或者您希望Qt应用程序遵循该GNU许可证版本的条款,如此此版本Qt适用于开发此类Qt应用程序。可以购置支援服务。2.4 MySQL数据库简介MySQL是一个开放源码的关联式数据库管理系统,原开发者为瑞典的MySQL AB公司,该公司于2008年被Sun公司收购。2009年,甲骨文公司Oracle收购Sun公司,MySQL成为Oracl

    28、e旗下产品。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内。这样就增加了速度并提高了灵活性。MySQL的SQL“结构化查询语言。SQL是用于访问数据库的最常用标准化语言。MySQL软件采用了GPLGNU通用公共许可证。由于其体积小、速度快、总体拥有本钱低,尤其是开放源码这一特点,许多中小型为了降低总体拥有本钱而选择了MySQL作为数据库。2.5 QWT简介QWT,全称是Qt Widgets for Technical Applications,是一个基于LGPL协议的开源项目,可生成各种统计图。它为具有技术专业背景的程序提供GUI组件和一

    29、组实用类,其目标是以基于2D方式的窗体部件来显示数据, 数据源以数值,数组或一组浮点数等方式提供,输出方式可以使Curves曲线,Slider滚动条,Dials圆盘,passes仪表盘等等。该工具库基于Qt开发,所以也继承了Qt的跨平台特性。QWT常用基类:(1)QwtAbstractScale:包含刻度尺的所有类的抽象基类;(2)QwtAbstractScaleDraw:绘制刻度尺的抽象基类;(3)QwtAbstractSlider:滑块部件的抽象类;(4)QwtAbstractColorMap:可以改变颜色的alpha值;(5)QwtAnalogClock:时钟模拟类;(6)利用Qwt可以

    30、画出多种统计图,如图2-3、图2-4所示。图2-3 曲线图图2-4 cpu性能图2.6 本章小结本章首先介绍了有关IRC协议的根底知识,包括IRC协议的历史、消息传递原理、IRC网络的结构和IRC命令概括。随后介绍了基于Libpcap的网络捕包技术、Qt程序开发框架和MySQL数据库以与可以做出比拟没关图表的Qwt开发包,为IRC协议命令关键字分析系统的设计和实现奠定了理论根底。第3章 系统设计3.1 开发环境主机:普通PC。操作系统:Ubuntu11.10。开发语言:C语言。开发工具:Libpcap、Qt。数据库:MySQL。3.2 系统功能架构设计在软件设计中,通常采用模块化的设计思想,这

    31、样的设计比拟合理,在开发阶段也比拟容易实施。模块化的过程一般是根据功能来进展的,把系统的主要功能分配成几个关键模块,然后分别加以实现,而且通常需要结合分层设计的思想。即由顶层模块调用它的各个子模块来实现整个的功能,而每个下层模块再调用它的子模块,以此类推。最根底最具体的功能如此由最下层的模块来完成。根据以上原如此,按照功能,IRC协议关键字分析系统可分为捕获和分析模块,系统的总体结构如图3-1所示图3-1 系统功能模块总体结构系统各功能介绍如下:(1)数据包捕获模块:包括网卡的选择和配置,并从选择的网卡进展数据包捕获。(2)数据包过滤模块:设置过滤表达式,过滤掉不符合条件的数据包。(3)数据存储模块:没有经过分析的原始数据以文件的形式存放,经过分析提取的数据包信息,如数据包捕获时间、端口等信息存放到数据库中。(4)数据库操作模块:可以查看数据库中存放的所有捕获到的数据包的信息,并且可以执行删除和导入文件操作。(5)关键字统计模块:当打开某个原始文件时,统计此文件中关键字的名称和相应的数量。(6)前台数据显示模块:根据数据包协议的格式分析出各个数据包捕获时间、长


    注意事项

    本文(五子棋游戏人机对奕中AI算法研究论文.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开