摘要
随着IT技术的发展,很多日常生活中的游戏都被搬到了计算机里供大家娱乐,尤其是博弈类的棋类游戏,如中国的象棋,围棋,五子棋等,今年来人们对人工智能技术的研究成果使得斯算计在这些博弈游戏中能战胜很多玩家。其次,五子棋作为一个棋类竞技运动,在民间十分流行,为了熟悉五子棋规则及技巧,以及研究简单的人工智能,决定用Java开发五子棋游戏。主要完成人机对战的功能。在人机对弈中通过深度搜索和估值模块来提高电脑旗手的智能。分析估值模块中的影响精准性的几个要素,以及提出一些提高精准性的办法,以及对它们搜索的节点数进行比较,在这些算法的基础山分析一些提高电脑AI方案,如递归算法、电脑学习等。算法的研究有助于理解程序结构,增强逻辑思维能力,在其他人工智能方面也有很大的参考作用。
本文结合五子棋这个游戏的特点,将阐述单机版五子棋算法设计,突出人工智能在博弈方面的应用,旨在试验人工智能里的一些搜索算法,最终确定人工智能在未来各学科里的重要应用性,人工智能是一门正在速度发展的新兴的综合性很强的边缘科学,它的中心任务是如何使计算机去做那些过去只能靠人的智力才能做的工作,而选五子棋游戏的开发则是利用计算机来实现它的人工智能,从而培养我们从事软件开发方面的能力.
关键词:五子棋 人能智能 电脑AI
ABSTRACT
With the development of IT technology,a lot Games in daily life have been moved to the computer for public entertainment,especially the game of chess-type games,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。and then,as a sport,gobang is very popular,in order to become familiar with gobang rules and techniques,and the study of simple artificial intelligence,I decide to use the Java to develope gabang games and complete the functions including man-machine war。During the man-machine players,it improves intelligence of the computer players through depth search and valuation module.Analyzes Module Valuation of the precise elements,as well as number of increased precision,and compares their search for nodeswhich raises some computer learning.Algorithm of procedures contribute to the understanding of the structure,logical thinking ability,In other areas of artificial intelligence has great references.
In this Paper,with the characteristics 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 various disciplines.AI is a new development is the speed highly integrated edge science, its central task is how to account .Computer to do that in the past to rely on human intelligence to do the job, and choose backgammon game development is the use of computers to achieve it .Artificial intelligence, in order to cultivate our ability to engage in software development.
Keywords:Gobang;Artificial Intelligence;Computer AI
目录
第一章 引言 1
1.1 课题背景 1
1.2 本课题研究的意义 1
1.3 本课题的研究方法 2
第二章 课题相关基础 3
2.1 五子棋棋盘和棋子 3
2.2规则及解释 3
2.3五子棋常用术语 4
2.4 五子棋攻防 7
第三章 人工智能的应用 9
3.1人工智能研究的特点 9
3.2人工智能的应用 9
3.2.1 问题要求 9
3.2.2自然语言处理 10
3.2.3 智能信息检索技术 10
第四章 五子棋人工对战部分总体设计方案 11
4.1 本系统的功能图 11
4.2 Java源文件及其功能图 12
4.3 类ChessFrame 12
4.4类MainPanel 13
第五章 结论 15
参考文献 16
附 录 17
致 谢 24
第一章 引言
1.1 课题背景
五子棋是起源于中国古代的传统黑白棋种之一。现代五子棋日文称之为连珠,英译为Renju,英文称只为Gobang或FIR(Five in a Row 的缩写),亦有连五子、五子连、串珠、五幕、五目碰等多种称谓。
五子棋起源于古代中国,发展在日本,风靡于欧洲。对于它于围棋的关系有两种说法,一说早于围棋,早在“尧造围棋”之前,民间就已有五子棋游戏;一说源于围棋,是围棋发展的一个分支。在中国的文化里,倍受人们的青睐。人世纪初五子棋传入欧洲并速度风靡全球。通过一系列的变化,使五子棋这一简单的游戏复杂化、规模化,而最终成为今天的职业连珠五子棋,同时也成为一种国际比赛棋。
Java语言是当今最为流行的程序设计语言之一,作为一门非常优秀和极为健壮的编程语言,它同时具有的面向对象,与平台无关,分布式应用,安全,稳定和多线程等优良的特征,使用Java语言不仅可以开发出功能强大的大型应用程序,而且Java语言本身突出的跨平台的特性也使得它特别适合于Internet上的应用开发,可以这样说,Java的出现使得所开发的应用程序“一次编写,处处可用”的实现成为了可能。
1.2 本课题研究的意义
近来随着计算机的快速发展,各种各样的电脑游戏层出不穷,使得我们能有更多的娱乐项目,而棋类游戏能起到锻炼人的思维和修身养性的作用,而且棋类游戏水平颇高,大有与人脑分庭抗礼之势。
越来越多的具有智能的机器进入了人类的生活,人工智能的重要性如今显而易见。自己对人工智能比较感兴趣,而五子棋游戏程序的开发实现了这个课题,正好提供给我这样一个研究的机会,通过对人工智能中博弈方面的研究(人机对弈),让我在简单的人机对弈全局设计,以及具体到相关算法上有了深入的了解。人工智能大致可以分成几个任务,这时,这些学科之间的差别就变的很模糊。人工智能在机器人学、模式识别、物景分析、数据库的智能检索、机器下棋(实际上是博弈论问题)和家用电气智能化等领域都有广泛的应用。而这个课题就是和人工智能中博弈论领域紧密相关的。
这个题目核心是人工智能和Java编程。并且人工智能中的博弈部分,由于采用了搜索算法,其中很多被利用到各方面。它的概念、方法和技术,正在各行各业广泛参透。智能已经成为当今各种新产品、新装备的发展方向。所以,趁着这个机会,对人工智能中比较容易实现的人机博弈进行了解研究学习,也是很实用很有必要的。
1.3 本课题的研究方法
在进行游戏设计之前,首先决定的第一个问题,使用什么开发环境来编写环境》自己虽然熟悉Java语言,但是实际开发项目实验很少,所以决定用Myeclipse,然后启动相应的工具,
其次确定整个程序的结构框架。决定用Java应用程序开发,整个程序的功能实现流程是这样的:实现基本的棋盘和棋子的类,添加判断胜负条件,这部分是基础,也是很重要的,电脑AI也是在这些基础上添加上来的。这个题目的2个功能包括重要算法,电脑AI和胜负条件,胜负条件算量不大,有固定的模式难点是人工智能,可以这样说,人工智能的好坏决定了这个题目的完成深度。所以,大部分时间花在AI算法的研究和改进上,对于算法我掌握的不多,研究了一些国内的五子棋算法,参考了一些游戏设计算法,详细比较各种算法的优缺点,而且参考了现代五子棋比赛的各种规则和技巧,尽量联系实际。
第二章 课题相关基础
五子棋游戏的开发(一)相关范文