人工智能课程设计

人工智能课程设计

ID:14039283

大小:124.50 KB

页数:21页

时间:2018-07-25

人工智能课程设计_第1页
人工智能课程设计_第2页
人工智能课程设计_第3页
人工智能课程设计_第4页
人工智能课程设计_第5页
资源描述:

《人工智能课程设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、人工智能课程设计--------五子棋姓名:徐慧班级:计091(杏)学号:0913023001指导老师:管致锦21一.引言31.1五子棋简介31.2五子棋的AI构想3二.开发工具可行性分析5三.需求分析6四.程序设计64.1程序设计特点64.2.程序总体设计7五.代码分析85.1初始化赋值系统85.2初始化获胜组合95.3重新设定玩家的获胜标志95.4处理鼠标事件105.5获胜检查算法125.6电脑算法(1)145.7电脑算法(2)17六.心得体会20七.参考文献2021一.引言人工智能也就是所谓的AI(Artificial Intelligence),它是一门

2、很抽象的技术,AI程序的编写不需要依据任何既定的思考模式或者规则。尤其是游戏中的AI可以完全依程序设计者本身的思考逻辑制作。我个人认为人工智能的核心应该是使计算机具有自动的处理事件的能力,而我们的所有的研究也应该围绕着这一方向。我们今天讨论的是策略类的人工智能。策略类人工智能可以说是AI中比较复杂的一种,最常见的策略类AI游戏就是棋盘式游戏。在这类游戏中,通常的策略类AI程序都是使计算机判断目前状况下所有可走的棋与可能的获胜状况,并计算当前计算机可走棋步的获胜分数或者玩家可走棋步的获胜分数,然后再决定出一个最佳走法。下面我们先介绍一下五子棋的AI构想。1.1五子

3、棋简介下面就五子棋的背景和规则做一些简单的介绍。五子棋是起源于中国古代的传统黑白棋种之一。现代五子棋日文称之为“连珠”,英译为“Renju”,英文称之为“Gobang”或“FIR”(FiveinaRow的缩写),亦有“连五子”、“五子连”、“串珠”、“五目”、“五目碰”、“五格”等多种称谓。     五子棋不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。五子棋既有现代休闲的明显特征“短、平、快”,又有古典哲学的高深学问“阴阳易理”;它既有简单易学的特性,为人民群众所喜闻乐见,又有深奥的技巧和高水平的国际性比赛;它的棋文化源渊流长,具有东方的神秘和西方

4、的直观;既有“场”的概念,亦有“点”的连接。它是中西文化的交流点,是古今哲理的结晶。五子棋的规则如下:棋盘:采用同围棋盘一样的15路或19路线的棋盘,为了减小问题的规模,本系统将采用15路线的棋盘。下法:两人分别执黑白两色棋子,轮流在棋盘上选择一个无子的交叉点落子。无子的交叉点又被称为空点。输赢判断:黑、白双方有一方的5个棋子在横、竖或斜方向上连接成一线即为该方赢。1.2五子棋的AI构想21在由AI所控制的计算机玩家上是不成立的,因为计算机必须知道有那些获胜方式,并计算出每下一步棋到棋盘上任一格子的获胜几率。一个完整的五子棋的AI构想必须:1、能够知道所有的获胜

5、组合2、建立和使用获胜表3、设定获胜的分数4、使电脑具有攻击和防守的能力(一),求五子棋的获胜组合在一场五子棋的游戏中,计算机必须要知道有那些的获胜组合,因此我们必须求得获胜组合的总数。我们假定当前的棋盘为10*10:1、计算水平方向的获胜组合数,每一列的获胜组合是:6,共10列,所以水平方向的获胜组合数为:6*10=602、计算垂直方向的获胜组合总数,每一行的获胜组合是:6,共10行,则垂直方向的获胜组合数为:6*10=603、计算正对角线方向的获胜组合总数,正对角线上的获胜组合总数为6+(5+4+3+2+1)*2=364、计算反对角线方向的获胜组合总数,反对

6、角线上的获胜组合总数为6+(5+4+3+2+1)*2=36 这样所有的获胜组合数为:60+60+36+36=192(二)、建立和使用获胜表 我们已经计算出了一个10*10的五子棋盘会有192种获胜方式,这样我们可以利用数组建立获胜表,获胜表的主要作用是:1、判断当前的获胜方式是否有效;2、判断当前的获胜方式中到底有多少子落入该获胜组合中。详细的使用您将在后面的程序中可以看出。(三)、分数的设定21在游戏中为了让计算机能够决定下一步最佳的走法,必须先计算出计算机下到棋盘上任一空格的分数,而其中最高分数便是计算机下一步的最佳走法。原理:我们判定当前讨论的空格与当前讨

7、论的点有几种获胜的方式,有几种该空格就加几分。这种原理初听起来似乎是无法入手,没关系,当您了解我们后面的程序后您就会明白这种决策原理了。这种决策有一些缺陷,因为如果只根据这个模型设计,就有可能出现电脑或玩家有三个子连成一线的时候,计算机却判断不出,它认为其他某些空格是当前的获胜的最佳位置而不去攻击或防守。没关系我们完全可以通过一个加强算法来改变当前的分值情况,也就是说当电脑或玩家有三个子或四个子连成一线时,我们通过加强算法将当前与三个子或四个子有关的空格的分值提高,从而可以弥补这一缺憾。(四)、攻击与防守 以上的方式,事实上计算机只是计算出了最佳的攻击位置,为了

8、防守我们还应计算当前玩家

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。