(完整版)五子棋人工智能课题毕业论文

合集下载

(最新版)五子棋游戏的发展与现状毕业论文

(最新版)五子棋游戏的发展与现状毕业论文

目录第一章:绪论 (1)1.1 开发背景 (1)1.2课题意义 (1)1.3五子棋游戏的发展与现状............................................................... 错误!未定义书签。

1.4论文的组织结构 (3)第二章: 系统使用工具介绍 (4)2.1 编程语言 (4)2.1.1 java语言介绍 (4)2.1.2 java语言的优点 (4)2.2 Eclipse集成平台介绍 (6)2.2.1 Eclipse概述 (6)2.2.2 Eclipse的安装、设置与启动 6 第三章: 五子棋程序的介绍与规划 (8)3.1软件的基本功能 (8)3.2软件的实现目的 (9)第四章: 系统功能分析与算法分析 (9)4.1 系统功能 (9)4.2 算法分析 (9)第五章: 系统设计 (10)5.1 详细功能分析 (10)5.2 设计思路 (12)第六章: 系统的具体实现 .......................................................................... 1错误!未定义书签。

6.1准备工作........................................................................................ 1错误!未定义书签。

6.2建立游戏窗口界面........................................................................ 1错误!未定义书签。

6.3完成下棋的功能 (17)6.4完成判断胜负的功能 (17)6.5完成一些按钮的功能 (17)第七章: 五子棋功能的演示 (20)7.1软件的调试以及改错 (20)结语 (21)参考文献 (22)致谢 (23)第一章绪论1.1开发背景游戏软件是当今世界发展最迅速,最有影响力,最有潜力与活力的领域之一。游戏软件深受广大青年人喜爱,而且在发达国家中老年人也有大部分喜欢游戏的,因此游戏软件在很大程度上给予绝大部分人精神上的娱乐。第二次世界大战以后,电子计算机技术得到了突飞猛进的发展。先是由晶体管代替了笨重的真空管,后来出现了集成电路和大规模集成电路,使电子子计算机一代一代实现更新,同时软件技术也发展迅速。在美国,集中了许多计算机软件的设计人才,他们工作之余,时常喜爱编一种能与人斗智的“游戏”,以此来锻炼编程的能力。这种“游戏”花样繁多,但其特点都是利用计算机软件事先设计好的“分析”、“判断”能力反过来与人较量。由于不断修改更新,使计算机的“智力”水平与人难分高低。到了90年代,游戏软件已经为世界各国的人使用,BLACKISLAND和Blizzard.这两个强大的游戏制作组起到了巨大的带动作用,还有中国的洛河工作室在国内也起到了巨大作用,他们让很多很多人喜欢上了游戏软件,打开了这个市场。

人工智能五子棋论文

人工智能五子棋论文

人工智能五子棋论文本文将这些技术用于五子棋中。

设计了一个智能五子棋系统,实现人和计算机两方进行博弈。

以下是店铺整理分享的关于人工智能五子棋论文的相关文章,欢迎阅读!人工智能五子棋论文篇一智能五子棋博弈算法研究摘要:人工智能是一门正在迅速发展的新兴的综合性很强的边缘科学。

博弈是人工智能的主要研究领域之一,他涉及人工智能中的推理技术、搜索方法和决策规划。

本文将这些技术用于五子棋中。

设计了一个智能五子棋系统,实现人和计算机两方进行博弈。

关键词:五子棋人工智能搜索人工智能是一门综合性很强的边缘科学,它研究如何使计算机去做那些过去只能靠人的智力才能做的工作。

而博弈是人工智能研究的一个重要分支,它不仅存在于游戏、下棋之中,也存在于政治、经济、军事和生物竞争中。

五子棋是起源于中国古代的传统黑白棋种之一。

现代五子棋日文称之为“连珠”,英译为“Ren-ju”,英文称之为“Gobang”或“FIR”(Five in a Row的缩写),亦有“连五子”、“五子连”、“串珠”、“五目”、“五目碰”、“五格”等多种称谓。

与其他棋类相比,五子棋每一层搜索节点数量庞大,因此盘面预测的计算量是非常大的,比如对于五子棋的中盘走法中,如果要预测四步的局面数的话可以达到一百万。

本文是对五子棋算法的设计原理和实现方法进行探讨和研究,主要包括数据结构、搜索算法和优劣评价函数组成,主要的特点包括快速的数据结构设计实现、以及高效率的搜索算法和尽可能的模拟人类的智能。

1、棋局的数据结构表示我们知道五子棋的走法中有优先和禁手,如连四肯定是没有三四优先,而如果是黑方出现三三(包括“四、三、三”)、四四(包括“四、四、三”),而黑方只能以四三取胜,如果黑方走出禁手则是输;五连与禁手同时形成,先五为胜,等等的规矩。

但是电脑毕竟不是人类,可以类人但是却不可以自己思考,那么就需要给电脑一个它可以明白的评判标准。

下面,我列出基本的棋型优先顺序:造一个二<&hellip;&hellip;<造四个二<冲三<&hellip;&hellip;<冲两个二和一个三<冲双三<冲四<冲四三。

Java五子棋毕业设计论文

Java五子棋毕业设计论文

文档从互联网中收集,已重新修正排版,word格式支持编辑,如有帮助欢迎下载支持。

摘要人工智能是一门正在迅速发展的新兴的,综合性很强的交叉科学。

它与生物工程、空间技术一起被并列为二十一世界三大尖端技术。

它的中心任务是研究如何使计算机去做那些过去只能靠人的智力才能做的工作。

目前各发达国家都把人工智能作为重点项目,列入本国的高科技发展计划当中,投入巨大的人力和物力。

计算机人机对弈也是其中之一。

作为人智能研究的一个重要分支,计算机博弈是检验人工水平的一个重要方面。

它的研究为人工智能带来了很多重要的方法和理论,产生了广泛的社会影响和学术影响。

五子棋人机对弈是计算机博弈中的一种。

研究其计算机算法,可以让我们看到人工智能的稚形,也有助于我们人脑的开发。

五子棋是我国发明的,研究它可以让更多的外国人了解五子棋,这有助于我国优秀文化的推广。

关键词:人工智能,计算人机对弈,五子棋,算法AbstractArtificial intelligence is a rapidly developing new, integrated a strong Frontier Science. It is with bio-engineering, space technology has been listed as 21 in the world along with the three cutting-edge technology. Its central task is to study how to make the computer do that in the past to rely on human intelligence to do. AI is currently regarded as the focus of the developed countries included in this car'shigh-tech development projects invested tremendous human and material resources.Man-machine chess computer is one of them. As a human study of an important branch of intelligence, the computer game to test the level of an important aspect of the manual. Its research in artificial intelligence has resulted in many important methods and theories to produce a wide range of social impact and academic impact.Man-machine chess game Renju in one of the computer. To study the computer algorithm, we can see the beginning of artificial intelligence shadow, but also help us to human brain development. Backgammon invented in China, and the research it can allow more foreigners to understand and help to promote China's traditional culture.Key words: Artificial Intelligence, Man-machine Cchess Computer,Man-machine Chess, Algorithm目录摘要 (Ⅰ)Abstract (Ⅱ)目录 (Ⅲ)第一章绪论 (1)第二章需求分析 (2)2.1 业务需求 (2)2.2 性能需求 (2)2.3 系统平台需求 (2)第三章五子棋相关基础 (4)3.1 五子棋解释 (4)3.2 五子棋的基本规则 (4)3.3 五子棋的常用术语 (5)第四章开发工具、环境及其技术 (7)4.1 Java简介 (7)4.2 Java编程环境 (9)第五章程序设计思路与实现 (10)5.1 程序设计思路 (10)5.2 程序设计 (13)结论 (33)参考文献.................................................................................................................... 致谢............................................................................................................................ 附录............................................................................................................................第一章:绪论1.1 前言电脑已经深入到日常工作和生活的方方面面,比如文字处理、信息管理、辅助设计、图形图像处理、教育培训以及游戏娱乐等。

毕业设计(论文)-基于Java的五子棋游戏的设计

毕业设计(论文)-基于Java的五子棋游戏的设计

基于Java的五子棋游戏的设计摘要五子棋作为一个棋类竞技运动,在民间十分流行,为了熟悉五子棋规则及技巧,以及研究简单的人工智能,决定用Java开发五子棋游戏。

主要完成了人机对战和玩家之间联网对战2个功能。

网络连接部分为Socket编程应用,客户端和服务器端的交互用Class Message定义,有很好的可扩展性,客户端负责界面维护和收集用户输入的信息,及错误处理。

服务器维护在线用户的基本信息和任意两个对战用户的棋盘信息,动态维护用户列表。

在人机对弈中通过深度搜索和估值模块,来提高电脑棋手的智能。

分析估值模块中的影响精准性的几个要素,以及提出若干提高精准性的办法,以及对它们搜索的节点数进行比较,在这些算法的基础上分析一些提高电脑AI方案,如递归算法、电脑学习等。

算法的研究有助于理解程序结构,增强逻辑思维能力,在其他人工智能方面也有很大的参考作用。

关键词:深度搜索;估值;电脑AI;五子棋;算法Gobang Java-based games designAbstractAs a sport, gobang is very popular in civil, 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 gobang games and complete the two functions including man-machine war and man-man war. Network Connection is Socket Programming for some applications, client and server interaction is definited by Class Message, which is a very good scalability, Client interface is responsible for the collection and maintenance of user input information, and error handling. Server users maintain online basic information and arbitrary two-time users of the chessboard of information, dynamic maintenance user list. 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 a number of increased precision, and compares their search for nodes, which raises some computer AI programs on the basis of analysis, such as recursive algorithm, computer learning. Algorithm of procedures contribute to the understanding of the structure, logical thinking ability, In other areas of artificial intelligence has great references..Key words:Search depth; Valuation; Computer AI; Gobang ; Algorithm目录论文总页数:23页1 引言 (1)1.1课题背景 (1)1.2本课题研究的意义 (1)1.3本课题的研究方法 (2)2 课题相关基础 (2)2.1五子棋 (2)2.1.1棋盘和棋子 (2)2.1.2规则及解释 (3)2.1.3五子棋常用术语 (4)2.1.4五子棋攻防 (7)3 JA V A (8)3.1J AVA简介 (8)3.2J AVA开发环境 (9)4 课题详细研究方法 (10)4.1程序结构说明 (10)4.2棋盘及棋子的类 (11)4.2.1棋盘 (11)4.2.2棋子 (13)4.3胜负判断条件 (13)4.4网络对战 (15)4.5电脑AI (17)结论 (21)参考文献............................................................................................................错误!未定义书签。

五子棋论文

五子棋论文

摘要博弈是人工智能的主要研究领域之一,它涉及人工智能中的推理技术、搜索方法和决策规划。

本文将这些技术用于五子棋开发设计中,设计了一个人机智能五子棋系统,实现人和计算机两方进行博弈。

五子棋亦称“串珠”、“连五子”,国际上正式称“连珠”,是我国古老的传统棋种之一,现成为国际棋类竞技项目。

五子棋具有“短、平、快”的现代游戏特征,简单易学而又富有趣味,为大众喜闻乐见。

然而,五子棋又包含深奥的哲理和弈战技巧,尤其是随着国际职业连珠运动的发展和竞赛规则的逐步完善,弈棋技法和战术有了很大发展,因此已不再是简单的游戏。

五子棋与围棋棋子相似,棋盘略有不同,为十五路(15×15),但下法完全不同。

围棋像军团作战,博大精深;五子棋则像短兵相接,凶险复杂。

其国际规则主要包括:1、黑先、白后,从天元开始相互顺序落子;2、最先在棋盘横向、竖向、斜向形成连续同色五个棋子的一方为胜;3、黑棋禁手判负、白棋无禁手。

黑棋禁手包括“三、三”、“四、四”、“长连”。

黑方只能“四、三胜.前言1国内外游戏的发展近年来,随着网络的发展,游戏成为许多人关注的焦点。

与传统的影音产业一样,游戏产业也是娱乐行业的一个重要组成部分,基于数字化的网络游戏更让人们找到了前所未有的感受,并已经成为全球互联产业的热点。

2问题背景计算机运算速度一直遵循着摩尔定律在飞速的发展,随着这些技术的快速发展,使得大规模的运算得以在很短的时间内实现。

正是基于这些技术,近年来各式各样的棋类游戏软件也纷纷出现在了电脑荧屏上,使得那些喜爱下棋,又常常苦于没有对手的棋迷们能随时过足棋瘾。

所以如果能设计一款兼有人工智能的五子棋软件则对五子棋棋迷们来说无疑是个“福音”。

在人机智能方面其中战胜过国际象棋世界冠军-卡斯帕罗夫的“深蓝”便是最具说服力的代表;其它像围棋的“手淡”、象棋的“将族”等也以其优秀的人工智能深受棋迷喜爱;本系统将重点放在人工智能方面,将人工智能运用到五子棋的开发中去。

毕业设计(论文)-五子棋人机对弈程序设计[管理资料]

毕业设计(论文)-五子棋人机对弈程序设计[管理资料]

五子棋人机对弈程序摘要:五子棋程序由两个主要部分组成:一个估值函数和一个树状搜索算法。

而程序依靠估值函数来判断对于一方来说什么局面是好而什么局面是坏,后者是用来搜索几乎全部可能的棋步次序,目的是为了找出对于程序来说是最佳的一条路线。

人工智能电脑下棋模拟的是人类的智能,它的启发式搜索是边走边试探,即极大极小法。

关键词:五子棋人工智能估值函数树状搜索算法极大极小法The program for Renju in man vs computerAbstract:The program for Renju is composed of two parts: a evaluation function and a hashtable tree-searching algorithm. The evaluation function is used to judge the advantage or disadvantage situation for each part, the hashtabletree-searching algorithm is used to search almost all the possible steps and find out the best pathway for the program. The computer of Artificial Intelligence (AI) imitate the intelligence of human, its inspiring search way is Go and Explore, namely, Minimax.Key words:Renju Artificial Intelligence (AI)evaluation function hashtable tree-searching algorithmMinimax五子棋人机对弈程序目录中文摘要英文摘要第一章引言 (5) (5)、内容及作者的任务 (5)第二章研究现状及设计目标 (7) (7) (7) (8)第三章要解决的几个关键问题 (9) (9) (9) (9) (13) (13) (13) (14)第四章系统结构与模型 (16) (16) (16) (16)(Minimax Algorithm) (18)Alpha-Beta剪枝(Alpha-Beta Purning) (19) (21) (21) (22)第五章系统实现技术 (25) (25) (25) (28) (29) (31) (31) (33) (37)第六章性能测试与分析 (41)、硬件环境 (41) (41) (41) (42) (42)第七章结束语 (47)参考文献 (48)附录:程序清单(附光盘)第一章引言五子棋是起源于中国古代的传统黑白棋种之一。

(完整版)五子棋人工智能课题毕业论文设计

(完整版)五子棋人工智能课题毕业论文设计

人工智能专家系统论文题目五子棋AI算法和网络通信的研究学生姓名陈维梅学号系别商务学院年级2009专业计算机科学与技术指导教师职称讲师完成日期五子棋AI算法和网络通信的研究摘要:本系统将利用五子棋游戏作为研究对象,通过设计出一个能够实现两种不同对战模式的五子棋游戏。

并对所涉及到的相关技术进行初步的探讨,将重点放在人机对奕中AI算法研究方面。

游戏中提供两种选择模式:人机对战和人人对战。

在人机对战中玩家通过选择不同的AI等级和电脑一决高下。

在人人对战中双方可以进行下棋,悔棋但要通过对方的同意。

同时还可以实现在线聊天。

AI的不同等级是以不同的搜索深度确定的。

本系统以深度为2,3,4分别为初级,中级,高级。

网络对战中则使用Socket实现点对点通信。

关键字:五子棋、博奕AI算法、网络通信Research the AIof Renju and the CommunicationSummary:This system will use Renju as research objects, passing to design a Renju game that can provide 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:Person's machine to the war and the everyone to war.The player passes to choose the different AI grade and computer in person's machine the rightness the war a definitely superiority.Both parties can carry on play chess in the everyone the rightness the war, the regrets chess but want to pass the approval of the other party.Can also carry out on-line chat in the meantime.AI different grade with search the depth assurance differently.This system takes depth as 2, 3, 4 is an entry-level respectively, medium class, using the Socket realization to order in the war to.Key word: Renju ,AI,networks目录第一章引言 (4)1.1问题背景 (4)1.2五子棋简介 (5)第二章详细设计过程 (5)2.1.概要介绍 (5)2.1.1 本程序介绍 (5)2.1.2 本程序优点 (5)2.2用软件工程方法学指导开发过程 (5)2.2.1 问题定义 (6)2.2.2 可行性研究 (7)2.2.3 需求分析 (8)2.2.4总体设计 (9)2.2.5 详细设计 (10)2.2.6 编码和单元测试 (10)2.3用户界面 (10)2.4系统解析 (11)2.4.1 界面部分 (11)2.4.1.1CFiveChessView的属性 (11)2.4.1.2CFiveChessView的函数 (12)2.4.2 通信部分 (14)2.4.3 其他部分 (15)2.4.3.1 CMatch---棋盘类 (16)2.4.3.2 CMessg—消息类 (17)2.4.3.3 CComputer—电脑类 (18)2.5.人机对战中的AI算法 (18)2.5.1 极大极小树 (19)2.5.2深度优先搜索(DFS) (19)2.5.3 剪枝方法 (20)2.5.4 静态估值函数 (21)2.5.5AI算法的分析和改进 (21)2.5.5.1算法分析 (22)2.5.5.2 算法改进 (24)第三章运行测试 (25)3.1 网络部分 (25)3.2 人机部分 (25)第四章总结部分 (27)4.1 系统总结 (29)4.2 不足说明 (29)4.3 致谢 (28)参考文献 (29)第一章引言1.1 问题背景计算机运算速度一直遵循着摩尔定律在飞速的发展,随着这些技术的快速发展,使得大规模的运算得以在很短的时间内实现。

五子棋游戏的设计与实现--论文

五子棋游戏的设计与实现--论文

北京信息科技大学毕业设计(论文)题目:五子棋游戏的设计与实现学院:计算机学院专业:计算科学与技术学生姓名:龙涛班级/学号计科0701/0755指导老师/督导老师:李闻起止时间:2011年1月21日至2011年5月30日摘要随着经济的发展,社会竞争的激烈,现在社会进入了竞争的时代。

上班族为了完成公司业务,每天超负荷的工作;学生为了不落后他人每天早起晚睡不断地学习,压力巨大。

所以为了缓解大家的压力,使大家在工作、学习之余娱乐一下,活跃大脑,提高工作、学习效率,我本人设计了一个简易的五子棋游戏。

本系统将利用五子棋游戏作为研究对象,在Windows平台下,运用java语言设计的一个能够实现人机对战的简单游戏。

该系统涉及到人工智能方面的知识,而计算机博弈是人工智能研究的一个重要分支,其中还包括几个重要的搜索算法。

只有通过一定的研究,才能实现五子棋的人机对战功能。

关键词:人工智能;计算机博弈;搜索算法;五子棋;AbstractWith development of economy, social competition is intense, now society has entered into the competition era. Office worker in order to complete the company business, overworked every day; For catching up with others, the student rises early, sleeps late and studies hard. The pressure builds up. So in order to alleviate the pressure, make everyone all over the job, study entertained, active brain, improve work, learning efficiency, I design a simple renju.This system will take the object of study using the renju, designs one to be able to realize the man-machine under the Windows platform with Java language to the simple game which fights.The system involves knowledge of artificial intelligence, and the computer game is one of the important research on artificial intelligence branch, including several important search algorithm. Only through certain research, can realize renju against function Man-machine.Keywords: a rtificial intelligence;computer game;search algorithm;renju;目录摘要 ........................................................... 错误!未定义书签。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

人工智能专家系统论文题目五子棋AI算法和网络通信的研究学生姓名陈维梅学号系别商务学院年级2009专业计算机科学与技术指导教师职称讲师完成日期五子棋AI算法和网络通信的研究摘要:本系统将利用五子棋游戏作为研究对象,通过设计出一个能够实现两种不同对战模式的五子棋游戏。

并对所涉及到的相关技术进行初步的探讨,将重点放在人机对奕中AI算法研究方面。

游戏中提供两种选择模式:人机对战和人人对战。

在人机对战中玩家通过选择不同的AI等级和电脑一决高下。

在人人对战中双方可以进行下棋,悔棋但要通过对方的同意。

同时还可以实现在线聊天。

AI的不同等级是以不同的搜索深度确定的。

本系统以深度为2,3,4分别为初级,中级,高级。

网络对战中则使用Socket实现点对点通信。

关键字:五子棋、博奕AI算法、网络通信Research the AIof Renju and the CommunicationSummary:This system will use Renju as research objects, passing to design a Renju game that can provide 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:Person's machineto the war and the everyone to war.The player passes to choose the different AI grade and computer in person's machine the rightness the wara definitely superiority.Both parties can carry on play chess in the everyone the rightness the war, the regrets chess but want to pass the approval of the other party.Can also carry out on-line chat in the meantime.AI different grade with search the depth assurance differently.This system takes depth as 2, 3, 4 is an entry-level respectively, medium class, using the Socket realization to order in the war to.Key word: Renju ,AI,networks目录第一章引言 (4)1.1问题背景 (4)1.2五子棋简介 (5)第二章详细设计过程 (5)2.1.概要介绍 (5)2.1.1 本程序介绍 (5)2.1.2 本程序优点 (5)2.2用软件工程方法学指导开发过程 (5)2.2.1 问题定义 (6)2.2.2 可行性研究 (7)2.2.3 需求分析 (8)2.2.4总体设计 (9)2.2.5 详细设计 (10)2.2.6 编码和单元测试 (10)2.3用户界面 (10)2.4系统解析 (11)2.4.1 界面部分 (11)2.4.1.1CFiveChessView的属性 (11)2.4.1.2CFiveChessView的函数 (12)2.4.2 通信部分 (14)2.4.3 其他部分 (15)2.4.3.1 CMatch---棋盘类 (16)2.4.3.2 CMessg—消息类 (17)2.4.3.3 CComputer—电脑类 (18)2.5.人机对战中的AI算法 (18)2.5.1 极大极小树 (19)2.5.2深度优先搜索(DFS) (19)2.5.3 剪枝方法 (20)2.5.4 静态估值函数 (21)2.5.5AI算法的分析和改进 (21)2.5.5.1算法分析 (22)2.5.5.2 算法改进 (24)第三章运行测试 (25)3.1 网络部分 (25)3.2 人机部分 (25)第四章总结部分 (27)4.1 系统总结 (29)4.2 不足说明 (29)4.3 致谢 (28)参考文献 (29)第一章引言1.1 问题背景计算机运算速度一直遵循着摩尔定律在飞速的发展,随着这些技术的快速发展,使得大规模的运算得以在很短的时间内实现。

正是基于这些技术,近年来各式各样的棋类游戏软件也纷纷出现在了电脑荧屏上,使得那些喜爱下棋,又常常苦于没有对手的棋迷们能随时过足棋瘾。

所以如果能设计一款兼有人工智能和网络联机的五子棋软件则对五子棋棋迷们来说无疑是个“福音”。

在人机智能方面其中战胜过国际象棋世界冠军-卡斯帕罗夫的“深蓝”便是最具说服力的代表;其它像围棋的“手淡”、象棋的“将族”等也以其优秀的人工智能深受棋迷喜爱;本系统将重点放在人工智能方面,采用不同的策略将人工中的智能分为不同的等级。

选择五子棋游戏作为本设计的课题,是因为该游戏的规则简单,所涉及的方向比较少。

这样才能将问题的重点放在人工智能解决上,而非规则的解决,有更多的精力放在高效算法和通信过程的优化。

希望能通过本次系统的设计,整合所学的知识,实现从理论到实践上的升华。

1.2 五子棋简介下面就五子棋的背景和规则做一些简单的介绍。

五子棋是起源于中国古代的传统黑白棋种之一。

现代五子棋日文称之为“连珠”,英译为“Renju”,英文称之为“Gobang”或“FIR”(Five in a Row的缩写),亦有“连五子”、“五子连”、“串珠”、“五目”、“五目碰”、“五格”等多种称谓。

五子棋不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。

五子棋既有现代休闲的明显特征“短、平、快”,又有古典哲学的高深学问“阴阳易理”;它既有简单易学的特性,为人民群众所喜闻乐见,又有深奥的技巧和高水平的国际性比赛;它的棋文化源渊流长,具有东方的神秘和西方的直观;既有“场”的概念,亦有“点”的连接。

它是中西文化的交流点,是古今哲理的结晶。

五子棋的规则如下:棋盘:采用同围棋盘一样的15 路或19 路线的棋盘,为了减小问题的规模,本系统将采用15 路线的棋盘。

下法:两人分别执黑白两色棋子,轮流在棋盘上选择一个无子的交叉点落子。

无子的交叉点又被称为空点。

输赢判断:黑、白双方有一方的5个棋子在横、竖或斜方向上连接成一线即为该方赢。

第二章详细设计过程2.1概要介绍2.1.1本程序介绍游戏中提供两种选择模式:人机对战和人人对战。

在人机对战中玩家通过选择不同的等级和电脑一决高下,可以向后悔棋。

在人人对战中双方通过选择一方作为服务器,通过弹出对话框设置本地应用程序监听端口,而另外一方则作为客户端,通过连接服务器选项,在弹出的对话框中设置要连接的服务器的IP地址和端口号。

当双方都提示连接成功后,两方才可以进行下棋。

如要悔棋则需要通过对方的同意。

同时还可以实现在线聊天。

AI的不同等级是以不同的搜索深度确定的。

本系统以深度为2,3,4分别为初级,中级,高级。

网络对战中则使用Socket实现点对点通信。

2.1.2本程序特点五子棋游戏程序由于规则简单操作简便等特点,自然就成为程序员对人工智能研究的首选对象。

所以网络上关于这类的程序很多,但是由于主要都是采用搜索穷举技术作为解决方案,这将使得问题的规模变的很庞大如当搜索深度为3时,每走一步电脑在将最坏的情况下需要搜索的点将达到225*225*225=个。

即使采用的剪枝技术,其某些点的响应的时间也是让人无法忍受的,如开局时,因为这个时候每个点都是空的,没有可以剪枝的点,必须遍历真个盘面,所以很耗时间,大约需要30多秒的时间,这个显然是不可接受的。

为了程序设计和玩家的忍受时间的需要。

不得不减小深度,所以绝大部分都采用深度为2的检索,很明显深度越低系统的智力也相对的降低,需要代价的。

本程序的一个主要特点是,采用了高效的优化方法,使得在相同的搜索规模中所花费的计算时间大幅度的减小。

响应时间明显得到提高。

即使搜索深度达到4的时候,其响应时间在绝大部分的情况下还是可以接受的。

2.2用软件工程方法学指导开发过程在小规模的程序开发中,很多人都不太注意用软件工程的方法学设计系统,包括我本人,在开发一些小功能程序时总是随心所欲的添加需求:有时为了类与类之间的通信需要,往类中添加不相关的变量,直接修改变量的属性或者声明一大堆的全局变量。

虽然最后系统都能够”笨重”的运行起来,但这是明显违背程序设计方法学。

可维护行,易修改性严重降低。

后期如果需要添加某些功能的时候将变得十分的繁琐。

可以想象在多个团队一起开发的大型系统中这种粗陋的开发方法根本是行不通的。

所以要养成用正确的方法指导开发过程的习惯,虽然有时候看起来有点大题小做,但我觉的这是作为一名合格的软件开发工程师所必须掌握的技能。

通过长期不断的积累才能增加我们参与大型项目开发的能力。

下面对软件工程作下简单的介绍:软件工程一直以来都缺乏一个统一的定义,很多学者、组织机构都分别给出了自己的定义:Boehm:运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必需的相关文件资料。

IEEE:软件工程是开发、运行、维护和修复软件的系统方法。

Fritz Bauer:建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法。

目前比较认可的一种定义认为:软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。

我个人对软件工程理解是,它一种工程上的方法学,用一种有步骤,有计划的正确有效方法指导开发过程。

软件工程的精髓可以用著名的软件工程专家B.Boehm的七条基本原理来概括。

(1)用分阶段的生存周期计划进行严格的管理。

(2)坚持进行阶段评审。

(3)实行严格的产品控制。

(4)采用现代程序设计技术。

(5)软件工程结果应能清楚地审查。

(6)开发小组的人员应该少而精。

(7)承认不断改进软件工程实践的必要性。

目前绝大部分的软件方法都可以从这七条基本推倒出来。

B.Boehm 指出,遵循前六条基本原理,能够实现软件的工程化生产;按照第七条原理,不仅要积极主动地采纳新的软件技术,而且要注意不断总结经验。

相关文档
最新文档