- 1、本文档共53页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机五子棋游戏对弈系统设计
目 录
1 绪论 1
1.1 选题背景 1
1.2 计算机博弈介绍 1
1.3 五子棋基本知识介绍 3
1.4 开发及运行环境 3
1.4.1 开发环境 3
1.4.2 运行环境 3
1.5 本文结构 3
2 系统总体设计 5
2.1 系统架构 5
2.2 系统功能划分 5
2.3 系统总体逻辑流程 5
2.4 关键技术点 5
2.4.1 AI算法 6
2.4.2 界面生成 6
2.4.3 网络连接 6
2.4.4 系统交互性 6
3 人机对弈中AI的实现 7
3.1 数据结构 7
3.2 走法产生 7
3.3 搜索算法及增强 8
3.3.1 传统Alpha-Beta算法介绍 8
3.3.2 NegaScout算法及Minimal Window 10
3.3.3 置换表(Transposition Table) 11
3.3.4 历史启发(History Heuristic) 12
3.4 估值函数 15
4 界面的设计与实现 17
4.1 设计思想 17
4.2 主要类及其关系 17
4.2.1 用户界面设计的6个核心类 17
4.2.2 消息消息传递图 18
4.3 主体界面 19
5 联机功能的实现 23
5.1 消息机制的架构 23
5.2 各种消息说明 23
6 总结和展望 28
6.1 总结 28
6.2 未来展望 28
参考文献 29
翻译部分 31
英文原文 31
中文译文 41
致谢 49
1 绪论
1.1 选题背景
人工智能是一门正在迅速发展的新兴的综合性很强的边缘科学。它与生物工程、空间技术一起被并列为二十一世纪三大尖端技术。它的中心任务是研究如何使计算机去做那些过去只能靠人的智力才能做的工作。目前,各发达国家都把人工智能任务重点列入本国的高科技发展计划当中,投入巨大的人力和物力。作为一门边缘学科,它有诸多的研究领域:专家系统、决策支持系统、机器学习、机器视觉、自然语言理解等等,计算机博弈也是其中之一,博弈就是对策,这是自然界中的普遍现象,它不仅存在于游戏、下棋之中,而且存在于政治、经济、军事和生物竞争中,博弈的参加者可以是个人、集体、一类生物和机器,他们都力图用自己的智力去击败对手。
作为人工智能研究的一个重要分支,计算机博弈是检验人工智能发展水平的一个重要方面。它的研究为人工智能带来了很多重要的方法和理论,产生了广泛的社会影响和学术影响[14]。
本文以计算机五子棋博弈系统作为研究课题。主要是考虑到当前网络上流传的五子棋游戏功能并不尽善尽美,其中最主要的问题就是人机对战和网络对战没有结合在一起实现;同时还存在游戏界面简单、计算机智能水平不足、也没有诸如保存棋谱和背景音乐等极有用的附加功能,所以不能吸引玩家兴趣。现在每一款成功的商业软件都越来越向功能多元化和界面简单友好化方向发展,所以我决定开发一个能够进行人机、网络对战,同时又具备许多附加功能的五子棋系统。
1.2 计算机博弈介绍
计算机五子棋对弈是一种完备信息博弈[15](Games of Perfect Information),意思是指参与双方在任何时候都完全清楚每一个棋子是否存在,位于何处。只要看看棋盘,就一清二楚。象棋、围棋等都属于完全知识博弈。要想实现人和计算机双方对弈,不妨假设人是甲方,计算机是乙方,人和计算机对弈的过程可以如下表达:假设首先由甲方走棋,他面对的是一个开始局面1,从这个局面可以有M种走法分别形成了局面2,3,……,M+1。如图1.1所示。假设甲选择了形成局面2的走法,轮到乙下棋。乙面对局面2,又可以有N种可能的走法,形成N种新的局面K+1,K+2,……K+N,如图1.2所示。
如果甲选择形成局面3,4,……,N+1走法,乙方都对应有若干种走法。这样甲乙双方轮流下棋,棋盘局面发展变化就形成如图1.3所示的一棵树状,通常称为博弈树。
博弈树最终的叶结点有甲赢乙输,甲输乙赢,甲乙平手三种。下棋者总是从当前局面出发选择最有利于自己的走法下一子,如甲在局面1,他将从乙2、乙3等局面中选择最有利于自己的走法;同样,乙在局面2时也从甲4、甲5等局面中选择最有利自己的走法。为了从很多的局面中选出最有利的,就需要一个搜索算法和一个对局面形势进行判断的函数。搜索算法通常使用极大极小算法、Alpha-Beta剪枝技术,对形势的好坏,用估值函数进行判断,这些将在论文中介绍。
1.3 五子棋基本知识介绍
五子棋是起源于中国古代的传统黑白棋种之一。现代五子棋日文称之为“連珠”,英译为“Renju”,英文称之为“Gobang”或“FIR”(Five in a Row的缩写),亦有“连五子”、“五子连”、“串
文档评论(0)