毕业设计(论文)开题报告 题目 五子棋人机对弈的实现 专 业 名 称 电子信息工程 班 级 学 号 08041132 学 生 姓 名 方 笑 指 导 教 师 余 磊 填 表 日 期 2012 年 3 月 10 日 一、选题的依据及意义
五子棋是一种两人对弈的纯策略型棋类游戏,是起源于中国古代的传统黑白棋种之一。发展于日本,流行于欧美。容易上手,老少皆宜,而且趣味横生,引人入胜;五子棋不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。五子棋既有现代休闲的明显特征“短、平、快”,又有古典哲学的高深学问“阴阳易理”;它既有简单易学的特性,为人民群众所喜闻乐见,又有深奥的技巧和高水平的国际性比赛;它的棋文化源渊流长,具有东方的神秘和西方的直观;既有“场”的概念,亦有“点”的连接。它是中西文化的交流点,是古今哲理的结晶。
人们在生活工作之余总会有很多零碎时间需要打发,玩游戏是一种普遍选择的消遣方式。而五子棋这款极益智游戏就一很好的选择。现在是数码时代,人们数码产品随声携带,借助数码产品这个平台,人们便可以随时随地玩这游戏,不会在因为找不到伴而烦恼,也不会因要制作棋盘棋子而觉得麻烦。人们可以随时通过这游戏来放松自己,锻炼自己的思维,体验其中深奥哲学。
本款五子棋AI算法成熟完善,游戏规则符合国际标准,通过这款游戏,人们可以不断的提高自己的弈棋水平。本款游戏在Visual StudioT平台下开发。程序由C#语言编写,简洁紧凑、灵活方便。游戏在windows Form 窗体上实现,其功能表现为选择谁先下,悔棋,重新开始等。为喜爱五子棋的人学习和提高提供了一个很好的平台。为了让玩家感受到电脑的厉害,是游戏更具挑战性,通过深度搜索和估值模块来提高电脑棋手的智能。
二、国内外研究概况及发展趋势(含文献综述)
人工智能是计算机科学的一个分支,它企图了解智能的实质,并产生出一种新的并且能以人类智能相似的方式作出反应的智能机器。该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能的发展历史是和计算机科学与技术的发展史联系在一起的。研究者们发展了众多理论和原理,人工智能的概念也随之扩展。
目前能够用来研究人工智能的主要物质手段以及能够实现人工智能技术的机器就是计算机。人工智能目前在计算机领域内,得到了愈加广泛的重视。并在机器人、经济政治决策、控制系统、仿真系统中得到应用,是一门正在迅速发展的新兴的综合性很强的边缘科学,它与生物工程、空间技术一起被并列为当今三大尖端技术,它的中心任务是研究如何使计算机去做那些过去只能靠人的智力才能做的工作。
机器博弈是人工智能的一个重要研究分支,也是计算机模拟人的思维能力的一个非常具有说服力的例证。人工智能的一大成就就是下棋程序,在下棋中运用的某些技术,今天的计算机程序已经能够达到各种方盘棋和国际象棋的竞标赛的水平。但是尚未解决包括人类棋手具有但尚不能明确表达的能力,如国际象棋大师们洞察棋局的能力。另一个问题是涉及问题的原概念,在人工智能中叫问题表示的选择。人们常能找到某种思考问题的方法,从而使求解变易而解决该问题。到目前为止,人工智能程序已能知道如何考虑它们要解决的问题,即搜索解答空间,寻找较优解答。
目前人工智能发展中所面临的难题
人工智能AI学科自1956年诞生至今已走过50多个年头,就研究和模拟人类智能、智能行为以及其规律这一总目标来说,已经迈出了可喜的一步,某些领域已经取得了相当的发展,但是从整个发展过程来看,人工智能发展曲折,而且还面临不少难题,主要有机器翻译所面临的问题、自动定理的证明、GPS的局限、模式识别的困难,机器对弈的困难。
博弈是自然界的一种普遍现象,他表现在对自然界事物的对策或智力竞争上。博弈不仅仅存在于下棋之中,而且存在于政治、经济、军事和生物的斗智和竞争之中。尽管西洋跳棋和国际象棋的计算机程序已经达到了相当高的水平,然而计算机博弈依然面临着巨大的困难。这主要表现在以下两个方面的问题:其一
是组合爆炸问题,状态空间法是人工智能中基本的形式方法。若用博弈树来表示状态空间,对于其常见的棋类,其状态空间都大的惊人。例如,西洋跳棋为10的40次方,国际象棋为10的120次方,围棋则是10的700次方。如此巨大的状态空间,现有的计算机是很难忍受的。其二是现在的博弈程序往往是针对二人对弈。棋局公开、有确定走步的类棋进行研制的。而对于多人对弈、随机性的博弈这类问题,至少目前计算机还是难以模拟实现的。
三、研究内容及实验方案
1、研究内容:
(1) visual studio 环境的下的C#编程 (2) 五子棋棋盘的设计 (3) 五子棋棋子的设计 (4) 黑白交替落子的实现 (5) 胜负的判定 (6)人工智能算法分析 2、实验方案
(1) 游戏界面的设计
为了使用起来的方便和快捷,需要对游戏界面进行良好的设计,以使得用户在一拿到这游戏无需看说明便能迅速开始游戏。
(2)用 for 循环。画出15*15的点的棋盘,通过方法PutAGobang(int gobangColor, int x, int y)实现在棋盘落子,并用用MouseEventArgs e 的e.X和e.Y来控制棋子必须落在横竖两线的焦点上。
(3)通过pictureBox 控件的BackGroundImage属性导入做好的棋子图片。
(4)五子棋的胜负,在于判断棋盘上是否有一个点,从这个点开始的右、下、右下、左下四个方向是否有连续的五个同色棋子出现,如图1:
图1 判断胜负方向 这个算法通过Win方法实现。从设计的思想上,需要它接受一个棋子颜色的参数,然后返回一个布尔值,这个值来指示是否胜利。 (5)电脑AI决定了这个题目完成的深度,所以大部分时间花在AI算法和改进上面,对于算法我掌握的不多,研究了一些国内五子棋的算法,参考了一些游戏设计算法,详细比较各种算法的优缺点,而且参考了现代五子棋的比赛规则和技巧,尽量联系实际,努力提高电脑AI。本游戏的AI采用求权值的方法实现的。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库五子棋开题报告在线全文阅读。
相关推荐: