人工智能实验报告

上传人:沈*** 文档编号:155475444 上传时间:2022-09-23 格式:DOC 页数:16 大小:1.59MB
收藏 版权申诉 举报 下载
人工智能实验报告_第1页
第1页 / 共16页
人工智能实验报告_第2页
第2页 / 共16页
人工智能实验报告_第3页
第3页 / 共16页
资源描述:

《人工智能实验报告》由会员分享,可在线阅读,更多相关《人工智能实验报告(16页珍藏版)》请在装配图网上搜索。

1、.?人工智能?课外实践报告项 目 名 称: 剪枝法五子棋 所 在 班 级: 2013级软件工程一班 小 组 成 员:晓宁、白明辉、小晶、袁成飞、程小兰、喜林指 导 教 师: 薛笑荣 起 止 时 间: 2016-5-102016-6-18 项目基本信息项目名称五子棋项目简介 智力小游戏作为人们日常休闲娱乐的工具已经深入人们的生活,五子棋更成为了智力游戏的经典,它是基于AI的剪枝法和极小极大值算法实现的人工智能游戏,让人们能和计算机进行对弈。 这个项目我们实现了当人点击“开始按钮时,开始下棋,当人的棋子落时,计算机会根据算法进行最正确路径计算,然后落子下棋。任何一方赢了都会弹出哪方赢了。然后单击重

2、新开始。任务分工晓宁 130904021 白明辉 130904001:负责界面实现和估值函数设计 文档整理小晶 130904032 袁成飞 130904051:负责极小极大值算法的设计与实现 喜林 130904019 程小兰 130904004:负责剪枝法的设计与实现一、 系统分析1.1背景1.1.1 设计背景智力小游戏作为人们日常休闲娱乐的工具已经深入人们的生活,五子棋更成为了智力游戏的经典,它是基于AI的剪枝法和极小极大值算法实现的人工智能游戏,让人们能和计算机进行对弈。 能使人们在与电脑进行对弈的过程中学习五子棋,冶情操。并且推进人们对AI的关注和兴趣。1.1.2可行性分析通过研究,本游

3、戏的可行性有以下三方面作保障1技术可行性本游戏采用Windows xp等等系统作为操作平台,使用人工智能进行算法设计,利用剪枝法进行编写,大大减少了存容量,而且不用使用数据库,便可操作,方便可行,因此在技术上是可行的。2经济可行性开发软件:SublimText3操作可行性该游戏运行所需配置低、用户操作界面友好,具有较强的操作可行性。1.2数据需求五子棋需要设计如下的数据字段和数据表:1. 2.1 估值函数: 估值函数通常是为了评价棋型的状态,根据实现定义的一个棋局估值表,对双方的棋局形态进行计算,根据得到的估值来判断应该采用的走法。棋局估值表是根据当前的棋局形势,定义一个分值来反映其优势程度,

4、来对整个棋局形势进行评价。本程序采用的估值如下: 状态眠二假活三眠三活二冲四假活三活三活四连五 分值 2 4 5 8 12 15 40 90 200一般来说,我们采用的是1515的棋盘,棋盘的每一条线称为一路,包括行、列和斜线,4个方向,其中行列有30路,两条对角线共有58路,整个棋盘的路数为88路。考虑到五子棋必须要五子相连才可以获胜,这样对于斜线,可以减少8路,即有效的棋盘路数为72路。对于每一路来说,第i路的估分为E(i)=Ec(i)-Ep(i),其中Ec(i)为计算机的i路估分,Ep(i)为玩家的i路估分。棋局整个形势的估值情况通过对各路估分的累加进行判断,即估值函数: 72 Fn=

5、E(i) i=11.2.2 极小极大值算法:极大极小搜索算法就是在博弈树在寻找最优解的一个过程,这主要是一个对各个子结点进行比较取舍的过程,定义一个估值函数F(n)来分别计算各个终结点的分值,通过双方的分值来对棋局形势进行分析判断。以甲乙两人下棋为例,甲为max,乙为min。当甲走棋时,自然在博弈树中寻找最大点的走法,轮到乙时,那么寻找最小点的走法,如此反复,这就是一个极大极小搜索过程,以此来寻找对机器的最正确走法。1.2.3. 剪枝法:剪枝算法简单来说,就是在搜索过程中减少一定的冗余现象,如已经找到极大值,执行该走法就可以获胜,那么无须再往下进行搜索比较,此过程即为剪枝。对于极大的MAX结点

6、,称为剪枝;反之为剪枝。具体规那么可以简单描述如下:剪枝:对于极大值层结点的值如果不小于它的任一祖先极小值层结点的值,即(后续层)(祖先层),那么可中止该极大值层中这个MAX节点以下的搜索过程,这个MAX节点最终的倒推值就确定为这个值。剪枝:对于极小值结点层的值如果不大于它任一祖先极大值层结点的值,即(祖先层)(后续层),那么可中止对该极小值层中这个MIN节点以下结点的搜索,这个MIN节点最终的倒推值就确定为这个值。2剪枝可以进一步进行改进,在走棋过程中,在中心先下的一方往往有一定的优势,双方的搏斗纠缠都是在争夺最正确位置,可以考虑从中心往外螺旋进行扩展搜索;另外由于防守的需要,落子的位置通常

7、也是在彼此下子的附近,因此可以优先考虑在这些位置进行搜索,也就是对落子位置进行排序预先搜索,更进一步的缩减冗余现象,进而提高搜索效率和行棋质量。1.3事务需求此游戏主要应用于人类与计算机的对弈功能。具体功能如下所述:1. 人:点击开始 找位置 下棋2. 计算机:算法设计 最正确位置搜索 下棋 3.规那么:五子成珠,先者为胜。1.4完整性及安全性要求系统的安全性对系统是否正常使用具有重要意义,为了实现游戏的安全性,在程序设计方面主要采用两个步骤:一是操作平台的兼容性,二是代码实现的安全性。操作平台的兼容性:为了防止有的浏览器因为不兼容而产生错误和系统安全,我们做了浏览器的兼容性检测。代码实现的安

8、全性:为了防止一些代码执行存在的风险,我们应用最安全,最原生态的JS来实现界面和算法的实现。二、游戏实现2.1 开发环境2.1.1硬件环境开发过程中,所使用的硬件环境:计算机一台2.1.2 软件环境 在以上硬件的基础上,开发系统必须所具备的软件系统,应该包括以下几个方面:操作平台:Microsoft Windows xp开发语言:HTML5 CSS3 javascript2.2系统流程图根据系统模块,得出总系统流程图如下:总体流程图:2.3用JSP实现的界面1、 主界面2、 开始电脑下棋3、一轮之后4、 人胜利5、电脑胜利6、人悔棋7、人认输三、问题及解决方法1.在编写代码时发现代码明明没有错

9、误,可就是运行不出来,结果就不得不重新敲一次,最后才发现标点符号不是在英文状态下。2.在使用插件和JS的框架时出现兼容问题,在讨论和搜索方法之后,好不容易搞定了。 总的来说,本游戏整体性能不够完整,安全系数一般,并不是那么完整,但是根据我们的努力,还是解决了一部分的问题。四、课外实践总结这一学期刚开始,老师就布置下此次课外实践的任务,但当时我们并不在意,想着还早,再加上刚接触这门学科,根本不知从何入手,直到最后,再过几天就要交作品了,我们才真正慌起来,对于五子棋我们是熟悉的,但没想到运用AI的剪枝法做起来是那么难,因为算法的设计如果不完全就会导致出现粗物,还有存溢出问题,刚开始我们组的同学就像无头苍蝇一样乱撞,总是找不到重心,通过大家一致的研究算法本身和集体讨论估值函数的设计,然后上网查资料,我们设计了算法,然后不断的优化修改,终于达到理想效果,然后开始实现代码。勤奋对于团队是至关重要的,需要大家的共同的努力,不断修改,从中发现缺点与不足,不断改进才能完成任务。所以小组中的每个成员的能力与协作能力也是很重要的。最后呢,在实习中发现自己的确定和不足,并努力学习加以改正,在开发一个项目时一定要先做好规划,按照系统的开发过程,详细地写好每一个必要的文档。-

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!