您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > AI人工智能 > 人工智能井子棋报告28
1目录第一章系统需求分析与总体设计1.1概述…………………………………………………………………………………………(3)1.1.1五子棋背景介绍……………………………………………………………………(3)1.1.2相关术语……………………………………………………………………………(4)1.1.2.1对局相关术语…………………………………………………………………(4)1.1.2.2行棋相关术语…………………………………………………………………(4)1.2需求分析……………………………………………………………………………………(6)1.2.1选题与题目要求…………………………………………………………………(6)1.2.2总体分析…………………………………………………………………………(6)1.2.3系统目标…………………………………………………………………………(6)1.2.4需求定义…………………………………………………………………………(6)1.2.5系统功能结构图…………………………………………………………………(7)1.2.6性能要求与系统开发的重点与难点……………………………………………(7)1.3可行性分析…………………………………………………………………………………(8)1.3.1技术可行性…………………………………………………………………………(8)1.3.2经济可行性…………………………………………………………………………(8)1.3.3操作可行性…………………………………………………………………………(8)1.3.4法律可行性…………………………………………………………………………(8)21.3.5社会可行性…………………………………………………………………………(9)1.3.6结论………………………………………………………………………………(9)第二章详细设计与系统实现2.1游戏主要功能模块…………………………………………………………………(10)2.1.1主功能界面模块………………………………………………………………(10)2.1.2五子棋游戏类模块……………………………………………………………(11)2.1.2.1博弈算法简介……………………………………………………………(15)2.1.2.2极大极小值算法…………………………………………………………(16)2.1.2.3alpha-beta值算法……………………………………………………(17)2.1.3游戏模式设置模块……………………………………………………………(19)2.1.4游戏语言设置模块……………………………………………………………(19)2.1.5链表使用功能模块……………………………………………………………(20)2.1.6游戏记录模块…………………………………………………………………(20)2.1.7获得游戏者姓名模块…………………………………………………………(21)2.1.8关闭对话框方式及托盘功能模块……………………………………………(21)2.1.9圆形按钮模块…………………………………………………………………(21)2.1.10配置文件的读取和保存………………………………………………………(22)2.2模块功能调用关系及其示意图……………………………………………………(22)第三章系统测试3.1程序运行结果截图……………………………………………………………………(24)第四章系统总结4.1系统存在的问题………………………………………………………………………(27)4.2将要做的工作…………………………………………………………………………(27)4.3总结和体会……………………………………………………………………………(27)4.4参考文献………………………………………………………………………………(28)第一章系统需求分析与总体设计1.1概述五子棋是一种大众喜爱的游戏,其规则简单,变化多端,非常富有趣味性和消遣性,它不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。五子棋既有现代休闲的明显特征短、平、快,又有古典哲学的高深学问阴阳易理;它既有简单易学的特性,为人民群众所喜闻乐见,又有深奥的技巧和高水平的国际性比赛;它的棋文化源渊流长,具有东方的神秘和西方的直观;既有场的概念,亦有点的连接。它是中西文化的交流点,是古今哲理的结晶。近来随着计算机的快速发展,各种棋类游戏被纷纷请进了电脑,使得那些喜爱下棋,又常常苦于没有对手的棋迷们能随时过足棋瘾。而且这类软件个个水平颇高,大有与人脑分庭抗礼之势。其中战胜过国际象棋世界冠军-卡斯帕罗夫的“深蓝”便是最具说服力的代表;其它像围棋的“手淡”、象棋的“将族”等也以其优秀的人工智能深受棋迷喜爱;而我也做了一个“无比”简单的五子棋程序。3总的来说(我们假定您熟悉五子棋的基本规则),要让电脑知道人下子之后该在哪一点下子,就要根据盘面的形势,为每一可能落子的点计算其重要程度,也就是当这子落下后会形成什么棋型(如:“冲四”、“活三”等),然后总览全盘选出最重要的一点,这便是最基本的算法的思想。1.1.1五子棋背景介绍五子棋是一种两人对弈的纯策略型棋类游戏,是起源于中国古代的传统黑白棋种之一。发展于日本,流行于欧美。五子棋,日文亦有“连五子、五子连、串珠、五目、五目碰、五格、五石、五法、五联、京棋”等多种称谓,英文则称之为“FIR(FiveInARow的缩写)、Gomoku(日语“五目”的罗马拼音)、Gobang、connect5、mo-rphion”。捷克语piskvorky,韩语omok……五子棋相传起源于四千多年前的尧帝时期,比围棋的历史还要悠久,可能早在“尧造围棋”之前,民间就已有五子棋游戏。有关早期五子棋的文史资料与围棋有相似之处,因为古代五子棋的棋具与围棋是完全相同的。在上古的神话传说中有“女娲造人,伏羲做棋”一说,《增山海经》中记载:“休舆之山有石焉,名曰帝台之棋,五色而文状鹑卵。”李善注引三国魏邯郸淳《艺经》中曰:“棋局,纵横各十七道,合二百八十九道,白黑棋子,各一百五十枚”。可见,五子棋颇有渊源。亦有传说,五子棋最初流行于少数民族地区,以后渐渐演变成围棋并在炎黄子孙后代中遍及开来。在古代,五子棋棋具虽然与围棋相类同,但是下法却是完全不同的。正如《辞海》中所言,五子棋是“棋类游戏,棋具与围棋相同,两人对局,轮流下子,先将五子连成一行者为胜。”。古代五子棋棋盘与围棋棋盘是通用的,汉魏时为十七路(17×17)棋盘,至南北朝时即已流行十九路(19×19)棋盘,直至1931年,才出现所谓五子棋专用棋盘,如图所示,为十五路(15×15)棋盘,形状近于正方形,平面上画横竖各15条平行线,线路为黑色,构成225个交叉点,邻近两个交点的距离纵线约为2.5厘米,横线约为2.4厘米。棋盘正中一点为“天元”。棋盘两端的横线称端线,棋盘左右最外边的两条纵线称边线。从两条端线和两条边线向正中发展而纵横交叉在第四条线形成的四个点称为“星”。天元和星应在棋盘上用直径约为0.5厘米的实心小圆点标出。4五子棋棋子亦称“棋石”,分黑、白两色,形状为扁圆形,有一面凸起或两面凸起等形状,厚度不超过0.8厘米,直径为2.0~2.3厘米;一副棋子总数为225枚,其中黑子113枚,白子112枚。按质地的不同,可分为玻璃、陶瓷、塑料、智石、磁铁、蛤贝、烧料、水晶、玛瑙、玉石等棋子。1.1.2相关术语1.1.2.1对局相关术语〖黑方〗执黑棋一方的简称。〖白方〗执白棋一方的简称。〖胜局〗有一方获胜的对局。〖和局〗分不出胜负的对局。〖终局〗对局结束。〖复盘〗对局双方将本盘对局全过程的再现。1.1.2.2行棋相关术语〖阳线〗即:直线,棋盘上可见的横纵直线。〖交叉点〗阳线垂直相交的点,简称“点”。〖阴线〗即:斜线,由交叉点构成的与阳线成45°夹角的隐形斜线。〖落子〗棋子直接落于棋盘的空白交叉点上。〖轮走方〗即“行棋方”,有权利落子的黑方或白方。〖着〗在对局过程中,行棋方把棋子落在棋盘无子的点上,不论落子的手是否脱离棋子,均被视为一着。〖回合〗双方各走一着,称为一个回合。〖开局〗在对局开始阶段形成的布局。〖连〗同色棋子在一条阳线或阴线上相邻成一排。〖长连〗五枚以上同色棋子在一条阳线或阴线上相邻成一排。〖五连〗只有五枚同色棋子在一条阳线或阴线上相邻成一排。〖成五〗含有五枚同色棋子所形成的连,包括五连和长连。〖四〗在一条阳线或阴线上连续相邻的5个点上只有四枚同色棋子的棋型。5〖活四〗有两个点可以成五的四。〖冲四〗只有一个点可以成五的四。〖死四〗不能成五的四。〖三〗在一条阳线或阴线上连续相邻的5个点上只有三枚同色棋子的棋型。〖活三〗再走一着可以形成活四的三。〖连活三〗即连的活三(同色棋子在阳线或阴线上相邻成一排的活三)简称“连三”。〖跳活三〗中间隔有一个空点的活三。简称“跳三”。〖眠三〗再走一着可以形成冲四的三。〖死三〗不能成五的三。〖二〗在一条阳线或阴线上连续相邻的5个点上只有两枚同色棋子的棋型。〖活二〗再走一着可以形成活三的二。〖连活二〗即连的活二(同色棋子在阳线或阴线上相邻成一排的活二),简称“连二”。〖跳活二〗中间隔有一个空点的活二。简称“跳二”。〖大跳活二〗中间隔有两个空点的活二。简称“大跳二”。〖眠二〗再走一着可以形成眠三的二。〖死二〗不能成五的二。〖先手〗对方必须应答的着法,相对于先手而言,冲四称为“绝对先手”。〖三三〗一子落下同时形成两个活三。也称“双三”。〖四四〗一子落下同时形成两个冲四。也称“双四”。〖四三〗一子落下同时形成一个冲四和一个活三。1.2需求分析1.2.1选题与题目要求实习题目:五子棋人机博弈游戏。内容要求:实现五子棋游戏的人机博弈。要求:友好的人机图形化界面、方便的操作方式;自动判断输、赢或平;可选择黑白;可悔棋;可以基于人工智能方面的知识进行设计,如:启发式搜索、搜索函数的设置、α_β算法、知识的表示及知识库,推理机等。1.2.2系统总体分析6程序主要涉及的是界面的制作,五子棋的核心算法以及其他方便使用的功能。程序采用VC6.0软件环境实现。运行环境为WindowsXP及其他系统。使用对话框的软件模式。主要提供的功能是游戏的开始,结束,悔棋操作;程序的提示信息的中英文;软件的配置信息,主要包括游戏的模式,分为人机对战和双人对转;AI智能的高低,分为简单,中级,高级三种。AI智能使用的算法,主要有极大极小值算法,alpha-beta算法等。以及程序的托盘功能和托盘菜单等。1.2.3系统目标五子棋游戏系统开发主要包括界面的生成和显示刷新以及AI智能的生成和运行两个方面。对于前者要求友好的人机图形化界面、方便的操作方式;自动判断输、赢或平;可选择黑白;可悔棋。而对于后者则要求基于人工智能方面的知识进行设计,如:启发式搜索、搜索函数的设置、α_β算法、知识的表示及知识库,推理机等,使AI能够自动根据当前的棋盘局势自动下子。系统开发的总体任务是实现各操作和界面的便捷化,规范化,自动化以及AI智能的智能化,快速化,准确化。1.2.4需求定义作为一个可视化的方便快捷的五子棋游戏软件,此软件要求的功能有:1.整洁,友好的操作界面:采用圆形按钮美化,采用位图背景,清晰明了,棋子分黑白红,其中红色用于显示赢棋是显示赢方的棋路。2.方便快捷的用户操作的响应:准确性应鼠标和键盘的消息,准确完成下子及棋盘的显示和更新,游戏某一方赢棋时消息框提示并棋子红色显示。3.详细准确的提示信息:当前操作不可行时候用消息框给用户足够准确的提示信息。4.方便齐全的功能:包括五子棋的各种应有的悔棋,判输赢等功能。5.纠错功能:用户操作错误能够进行纠正。6.用户设置的保存和读取功能:ini文件保存游戏配置,语言设置。游戏开始时候从ini文件读取这些保存点信息。7.使用语言的选择功能:用户可以选择中文或者英文。8.AI响应的功能:AI能准确无误的给出当前局势的响应。79.游戏设置功能,用户可以根据自己喜好选择是否先手,游戏方式,AI等级选择
本文标题:人工智能井子棋报告28
链接地址:https://www.777doc.com/doc-28041 .html