154.A五子棋游戏的单机版及网络版的实现 毕业论文.doc
《154.A五子棋游戏的单机版及网络版的实现 毕业论文.doc》由会员分享,可在线阅读,更多相关《154.A五子棋游戏的单机版及网络版的实现 毕业论文.doc(44页珍藏版)》请在三一文库上搜索。
1、- - 本本 科科 生生 毕毕 业业 论论 文文 题 目:五子棋游戏的单机版及网络版的实现 院 系:信息科学与技术学院 计算机科学系 专 业: 网络工程 学生姓名: xxx 学 号: xxx 指导教师: xxx 源代码联系本人 二九 年 三 月 - i - 摘摘 要要 随着 IT 技术的发展,很多日常生活中的游戏都被搬到了计算机里供大众娱乐,尤其是博弈 类的棋类游戏,如中国象棋,围棋,五子棋等,近年来人们对人工智能技术的研究成果更使得 计算机在这些博弈游戏中能战胜很多玩家。 本文结合五子棋这个游戏的特点,将阐述单机版五子棋的算法设计,突出人工智能在博弈 方面的应用,旨在试验人工智能里的一些搜索
2、算法,最终确定人工智能在未来各学科里的重要 应用性;最后还涉及网络版五子棋的设计实现,同时介绍一般网络游戏的架构。 第一章简要介绍五子棋相关的状况。第二章概述了人工智能与五子棋相关的各种算法。第 三章详细描述本设计所使用的人工智能算法。第四章讲述一般网络游戏的架构以及本设计中网 络版五子棋的实现细则。第五章总结本次设计过程中的各种收获。 关键词:关键词:五子棋; 人工智能; 博弈; 网络游戏 - ii - Abstract With the development of IT technology, a lot Games in daily life have been moved to th
3、e computer for public entertainment, especially the game of chess-type games, such as Chinese chess, the game of Go , gobang , etc., in recent years , artificial intelligence research makes the results that computer can overcome a lot of players in these Games. In this paper, with the characteristic
4、s of Gobang ,I will describe algorithm design on stand-alone version of Gobang ,to highlight the application of artificial intelligence in the game , and test some search algorithms of artificial intelligence , and ultimately determine the important application of artificial intelligence in the vari
5、ous disciplines ; Finally the paper also involves the design of implementation Gobang online version , at the same time introduces the general architecture of online Games. Chapter I briefly introduce the relevant situation of Gobang. Chapter II provides an overview of Artificial Intelligence and Go
6、bang related algorithms. Chapter III detailed description of the design of algorithms used in artificial intelligence. Chapter IV on the general network architecture of the Games as well as the online version of the design in the implementation details.Chapter V summarized the harvest of the designi
7、ng. Keywords: Gobang;Artificial Intelligence;Game;Online Game - iii - 目目 录录 第一章第一章前言前言1 1.1 五子棋的棋盘.1 1.2 五子棋的基本规则.2 第二章第二章 人工智能的应用人工智能的应用.5 2.1 人工智能的发展历史.5 2.2 人工智能研究的特点.7 2.3 人工智能的应用.7 2.4 博弈算法极大极小搜索算法.9 第三章第三章 五子棋单机部分详细设计五子棋单机部分详细设计.12 第四章第四章 五子棋联机部分详细设计五子棋联机部分详细设计.19 4.1 联机网络游戏概述19 4.2 联机五子棋的设计20
8、 第五章第五章 结论结论.24 参考文献参考文献.29 致谢致谢.30 - 0 - 第一章第一章前言前言 五子棋是我国古代的、传统的黑白棋种之一,大约在南北朝时期随围棋一起 先后传入朝鲜、日本等地。五子棋在日本叫“连珠棋” ,英文称之为“Gobang” 或者 FIR(Five in a row 的缩写) , 亦有“连五子” , “五子连” , “串珠”., “五目” , “五目碰”等多种称谓1。 通过一系列的规则变化使连珠五子棋这一简单的游戏复杂化、规范化,而最终成为今天的职业 连珠五子棋,同时也成为一种国际比赛棋。 1988 年 8 月 8 日,国际连珠联盟( RI F )由日 本、 俄罗斯
9、、瑞典、亚美尼亚等九个成员 国在瑞典宣告成立。五子棋在国内外发展速度相当快,预计在几年后,五子棋能在很多国家形 成热门运动。 我国也不例外, 在很多热衷于五子棋事业的棋手的共同努力下,有望在不久的 将来成为五子棋运动的中心。 随着我国经济社会的快速发展,人们生活水平不断提高,人们的生活观念发生改变,高质 量的生活、现代化的生活方式成为人们追求的目标,休闲、 娱乐性体育活动作为时尚生活的一 部分, 被越来越多的人所追捧。 棋类项目作为一种智力性体育项目, 可以修身养性、 益智 健心, 也可以满足人们对于休闲和娱乐的需求. 一些项目如五子棋等由于项目自身的特点和生 命力, 也一直被人们所喜爱, 因
10、此得以生存和发展, 成为许多人喜爱的休闲娱乐性棋类项目。 随着时代的发展、社会的进步和人民生活水平的提高, 人们对业余体育文化生活方面的需求会 不断增加, 这些“ 趣味性”棋类项目 将会越来越受到关注和重视。 1.1 五子棋的棋盘五子棋的棋盘 五子棋的棋盘如图 1 所示,正中一点为“天元” 。棋盘两端的横线称端线。棋盘左右最外 边的两条纵线称边线。从两条端线和两条边线向正中发展而纵横交叉在第四条线形成的四个点 称为“星” 。天元和星应在棋盘上用直径约为 0.5 厘米的实心小圆点标出。 - 1 - 图 1 五子棋棋盘示意图 以持黑方为准,棋盘上的纵轴线从左到右用英文字母 AO 标记。横行线从近到
11、远用数字 115 标记。纵横轴上的横纵线交叉点分别用横纵线标记的名称合写成。如“天元”H8,四个 “星”分别为 D4,D12,L12,L4。 1.2 五子棋的基本规则五子棋的基本规则 黑白双方依次落子, 任一方先在棋盘上形成横向,竖向,斜向的连续的相同颜 色的五个( 含五个以上) 棋子的一方为胜。2 1)连 在棋阳线和阴线的任意一条线上形成的有 5 个或 5 个以上的同色棋子不间 隔地紧紧相连。五连:在棋盘上形成的 5 个同色棋子的“ 连” 。长连:在棋盘上形成的 6 个或 6 个以上同色棋子的“ 连” 。 - 2 - 2) “四”包括“活四”和“冲四” 。 活四:如图 2 所示,在棋盘某一条
12、阳线或阴线上有同色 4 子不间隔地紧紧相连,且在此 4 子两端延长线上各有一个无子的交叉点与此 4 子紧密相连。 图 2 活四 冲四:除“ 活四” 外的,再下一着棋便可形成五连,并且存在五连的可能性的局面。白棋 再下一着可形成长连的局面也视为“四” ,如图 3 所示。 图 3 黑棋各种不同的冲四 3) “三”指活三,包括“连三”和“跳三” 。 连三:在棋盘某一条阳线或阴线上有同色三子相连,且在此三子两端延长线 上有一端至少有一个,另一端至少有两个无子的交叉点与此三子紧密相连。 跳三:中间仅间隔一个无子交叉点的连三, 但两端延长线均至少有一个无子 的交叉点与此三子相连。 4)禁手:对局中禁止使用
13、的着法。 黑棋禁手包括“三三” , “ 四四” 和“ 长连” , 禁手只对黑棋而言。 三三:由于黑方走一着在无子交叉点上同时形成二个或二个以上黑方“ 活” 的局面,如图 4 所示。 - 3 - 图 4 三三禁手 四四:由于黑方走一着在无子交叉点上同时形成二个或二个以上黑方“ 四” 的局面。 5 )先手 对方必须应答的着法,其中“ 冲四“ 称为绝对先手。 6 )四三 指某一方同时具备两个先手,其中一个是“ 四” ,一个是“ 活三”. 7 )三手可交换 是指黑棋下盘面第 3 着棋后,白方在应白之前,如感觉黑方棋形不利于己方,可提出交 换,即执白棋一方变为执黑棋一方,而黑方不可以不换。 8 )五手两
14、打 是指黑棋在下盘面上关键的第五手棋时, 必须下两步棋,让白 棋在这两步棋中任选一步, 然后再继续对弈。一般说来,白棋肯定拿掉对白方不利的一点, 而 保留对黑方较为不利的那点让黑方行棋。 - 4 - 第二章第二章 人工智能的应用人工智能的应用 2.1 人工智能的发展历史人工智能的发展历史 1.1. 萌芽时期(萌芽时期(19561956 年以前)年以前) 17 世纪,法国物理学家 B.PascalB.Pascal 制成的机械加法器机械加法器; 在其基础上,德国数学家 LeibnizLeibniz 制成了四则运算的计算器计算器。 1936 年 英国数学家 TurningTurning 提出了图灵机
15、模型; 1938 年 德国工程师 ZuseZuse 研制成了第一台累计数字计算机数字计算机; 1946 年 美国诞生了第一台电子数字计算机电子数字计算机 ENIACENIAC; 1945 年,奥地利学者系统论的创立 1948 年,美国数学家 N.Wiener 控制论的创立; 1948 年,美国数学家 C.E.Shannon 信息论的创立; 2.2. 形成时期(形成时期(1956-19611956-1961 年)年) 1956 年,在美国 Dartmouth 大学的一次历史性聚会是人 工智能学科正式诞生的标志。有三个较有影响的研究团队: 心理学小组心理学小组:A.NewellA.Newell、J
16、.ShawJ.Shaw 和和 H.SimonH.Simon 等人于等人于 1957 年编制出逻辑理论机 LT,证 明了数学原理中第 2 章的 38 条定理,1963 年的新版 LT 证明了该章全部共 52 条定 理。1960 年,通用问题求解器 GPS 能求解 10 种不同类课题的问题 IBMIBM 研究小组研究小组:A.SamuelA.Samuel 研究的具有自学习、自组织和自适应能力的西洋跳棋程序, 1959 年,该程序战胜了设计者,1962 年,战胜了美国的一个州冠军。 MITMIT 研究小组:研究小组:1959 年,MCCarthy 发明了人工智能主要的语言 LISP。1958 年开发
17、了行 动计划咨询系统。1960 年 Minsky 的论文:走向人工智能的步骤。 其他:其他:1956 年 N.Chomsky 的文法体系、1958 年 Shelffridge 的模式识别系统等,都对 人工智能研究产生了有益的影响。 3.3. 发展时期(发展时期(19611961 年以后)年以后) 符号主义学派方面: - 5 - 1965 年,J.A.Robinson 的归结原理,推动了定理机器证明技术的发展: 1965 年,E.A.Feigenbaum 研制的基于领域知识和专家知识的 DENDRAL 程序,能根据质 谱仪的数据并利用相关知识,推断出有机化合物的分子结构,达到甚至超过了化学家的
18、水平。后来又有医学专家系统 MYCIN 系统、地质矿产勘探专家系统 PROSPECTOR、计算机 配置专家系统 R1 等等。 1969 年,C.Green 提出了基于一阶谓词演算方法。 1973 年,R.F.Simmon 提出语义网结构。 1972 年,M.Minsky 提出框架结构。 1972 年,法国马赛大学 A.Colmerauer 等提出了逻辑程序设计语言 Prolog。 1977 年,E.A.Feigenbaum 提出了“知识工程”的概念,人工智能的研究从以推理为中 心转向以知识为中心,进入了所谓的知识期。 进入 20 世纪 80 年代后,专家系统和知识工程在理论、技术和应用方面都有
19、长足的进步 和发展。 o专家系统的建造进入了应用高级开发工具阶段。 o出现了多专家系统、大型专家系统、微专家系统等。 o专家系统和知识工程技术已应用到各种计算机应用系统中,出现了智能管理信息系统、 智能决策支持系统、智能控制系统、智能 CAD 系统、智能 CAI 系统、智能数据库系统和 智能多媒体系统等等。 o知识表示、不确定性推理等方面都取得了重大的进展。 连接主义学派方面 1943 年,Mcculloch 和 Pitts 第 1 次提出模拟神经元 。 1957 年,P.RosenblatP.Rosenblat 开发了所谓感知机(perception)的单层神经网络。 1962 年,B.Wi
20、ndrow.Windrow 提出了自适应线性元件(asaline),并应用于天气预报、电子线路 板分析、人工视觉等许多问题。 1969 年,M.L.MinskyM.L.Minsky 应用数学理论深入分析了单层神经网络,证明它不能实现异或门 的功能,使神经网络系统研究热潮迅速降温。 1982 年,J.Hopfield.Hopfield 提出了一种全互联的神经元网络,并于 19851985 年成功地求解了 TSPTSP 问题(几秒内求解(几秒内求解有 3131 个城市的 TSPTSP 问题) 。 1985 年,Rumelhart 提出了反向传播(BP)算法,解决了多层人工神经网络的学习问题, -
21、6 - 使冷落了 20 多年的神经网络研究又东山再起。 此后神经网络在智能控制、语言识别、图形文字识别、最优化问题求解和智能计算机 等领域进行了实践并取得了一系列的成果。3 2.2 人工智能研究的特点人工智能研究的特点 人工智能是一门知识的科学。以知识为对象,研究知识的获取、表示和使用。 人工智能的系统过程是,数据处理-知识处理,数据-符号。符号表示的是知识而不是数值、 数据。 问题求解过程有启发,有推导。 人工智能是引起争论最多的科学之一。 问题焦点:当前人工智能的研究应该以人类的普遍思维规律为主,还是以特定知识的处理 和运用为主?智能的本质是什么?机器能达到人的水平吗?总而言之,人工智能研
22、究是非常困 难的。 万能的逻辑推理体系至今没有创造出来,并不是因为人工智能专家的本事不够,而是因为 这种万能的体系从根本上就是不可能有的。他最大的弱点就是缺乏知识,缺乏人类在几千年的 文明史上积累起来的知识,在实际生活中,人是根据知识行事的,而不是根据在抽象原则上的 推理行事的。 即使就推理体系来说,它的主要技术是状态空间搜索,而在执行中遇到的主要困难就是“ 组合爆炸“ ,事实表明,单靠一些思维原则是解决不了组合爆炸问题的,要摆脱困境,只有大 量使用理性的知识。 2.3 人工智能的应用人工智能的应用 1、问题求解。 人工智能的第一大成就是下棋程序,在下棋程度中应用的某些技术,如向前看几步,把
23、困难的问题分解成一些较容易的子问题,发展成为搜索和问题归纳这样的人工智能基本技术。 今天的计算机程序已能够达到下各种方盘棋和国际象棋的锦标赛水平。但是,尚未解决包括人 类棋手具有的但尚不能明确表达的能力。如国际象棋大师们洞察棋局的能力。另一个问题是涉 及问题的原概念,在人工智能中叫问题表示的选择,人们常能找到某种思考问题的方法,从而 使求解变易而解决该问题。到目前为止,人工智能程序已能知道如何考虑它们要解决的问题, 即搜索解答空间,寻找较优解答。 - 7 - 2、 自然语言处理。 自然语言的处理是人工智能技术应用于实际领域的典型范例,经过多年艰苦努力,这一 领域已获得了大量令人注目的成果。目前
24、该领域的主要课题是:计算机系统如何以主题和对话 情境为基础,注重大量的常识世界知识和期望作用,生成和理解自然语言。这是一个极其 复杂的编码和解码问题。 3、逻辑推理与定理证明。 逻辑推理是人工智能研究中最持久的领域之一,其中特别重要的是要找到一些方法,只 把注意力集中在一个大型的数据库中的有关事实上,留意可信的证明,并在出现新信息时适时 修正这些证明。对数学中臆测的题。定理寻找一个证明或反证,不仅需要有根据假设进行演绎 的能力,而且许多非形式的工作,包括医疗诊断和信息检索都可以和定理证明问题一样加以形 式化,因此,在人工智能方法的研究中定理证明是一个极其重要的论题。 4、专家系统。 专家系统是
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 154.A五子棋游戏的单机版及网络版的实现 毕业论文 154. 五子棋 游戏 单机 网络版 实现
链接地址:https://www.31doc.com/p-3899733.html