欢迎来到天天文库
浏览记录
ID:26005163
大小:154.00 KB
页数:10页
时间:2018-11-24
《昆明理工大学 人工智能 实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、昆明理工大学信息工程与自动化学院学生实验报告(2015——2016学年第一学期)课程名称:人工智能导论开课实验室:信自楼432室2015年10月26日年级、专业、班学号姓名成绩实验项目名称状态空间搜索实验—八数码问题求解指导教师胡蓉教师评语该同学是否了解实验原理:A.了解□B.基本了解□C.不了解□该同学的实验能力:A.强□B.中等□C.差□该同学的实验是否达到要求:A.达到□B.基本达到□C.未达到□实验报告是否规范:A.规范□B.基本规范□C.不规范□实验过程是否详细记录:A.详细□B.一般□C.没有□教师签名:年月日9《人工智能导论》自动化133钟伦赋目录一、实验问题3二、实验目的3三、
2、实验原理3四、程序框图4五、实验结果及分析51、随机检验52、该问题广度优先搜索算法的搜索树;63、该问题的Open表和Closed表:7六、结论7七、源程序及注释89《人工智能导论》自动化133钟伦赋一、实验问题八数码问题的求解,及程序设计。具体要求如下在3*3的方格中的棋盘中任意摆放1到8个自然数和一个空格,其初始状态如下:9《人工智能导论》自动化133钟伦赋123704685a初始状态123804765b目标状态9《人工智能导论》自动化133钟伦赋请选择一种盲目搜索的算法或选择一种启发式搜索的算法编程求解八数码问题,初始状态任选,并对使用进行合理分析做出合理结果。二、实验目的1、熟悉人工
3、智能系统中的问题求解过程;2、熟悉状态空间的满目搜索和启发式搜索算法的运用;3、熟悉对八码数问题的建模、求解及编程语言的运用;三、实验原理经过分析,8数码问题中可采用的搜速策略共有:1.广度优先搜索2.深度优先搜索2.有界深度优先搜索4.最好优先搜索5.局部择优搜索一共五种。其中,广度优先搜索法是可采纳的,有界深度优先搜索法是不完备的,最好优先和局部择优搜索法是启发式搜索法。在实验时,我采用了广度优先算法广度优先算法搜索原理:广度优先搜索就是始终先在同一级节点中考查,只有当同一级节点考察完之后,才考查下一级的节点。(1)把起始节点放到OPEN表中;(2)如果OPEN是个空表,则没有解,失败退出
4、;否则继续;(3)把第一个节点从OPEN表中移除,并把它放入CLOSED的扩展节点表中;(4)扩展节点n。如果没有后继节点,则转向(2);(5)把n的所有后继结点放到OPEN表末端,并提供从这些后继结点回到n的指针;(6)如果n的任意一个后继结点是目标节点,则找到一个解答,成功退出,否则转(2)9《人工智能导论》自动化133钟伦赋四、程序框图是否是否有后继节点为目标节点?扩展节点n,把其后裔放入open表的前头否把open表中的第一个节点n移入close表是是否open表为空表?成功把s放入open表起始失败9《人工智能导论》自动化133钟伦赋五、实验结果及分析1、随机检验初始状态为:1237
5、04685的运行结果为:运行结果如图所示;目标状态为:1238047659《人工智能导论》自动化133钟伦赋2、该问题广度优先搜索算法的搜索树;S123704685103724685123740685123074685123784605DCBALKJIHGFE130724685013724685120743685123745680023174685123674085123784650123784065TSRQPONM134720685713024685102743685123745608203174685123674805123780654123084765Sg123804765解路径:SAE
6、MSg9《人工智能导论》自动化133钟伦赋3、该问题的Open表和Closed表:OPENCLOSEDSoABCDSoBCDEFSoACDEFGHSoABDEFGHIJSoABCEFGHIJKLSoABCDFGHIJKLMSoABCDEGHIJKLMNSoABCDEFHIJKLMNOSoABCDEFGIJKLMNOPSoABCDEFGHJKLMNOPQSoABCDEFGHIKLMNOPQRSoABCDEFGHIJLMNOPQRSSoABCDEFGHIJKMNOPQRSTSoABCDEFGHIJKLNOPQRSTSgSoABCDEFGHIJKLM9《人工智能导论》自动化133钟伦赋六、结论通过实
7、验问题的求解过程就是搜索的过程,让我明白了采用适合的搜索算法是关键的,因为一个合适的算法对求解过程的效率有很大的影响,包括各种规则、过程和算法等推理技术。八数码问题中,将牌的移动来描述规则,是一种相对较简单的方法。虽然我使用的广度优先算法实现八数码问题,但是我不得不说广度优先算法其实是一种比较费劲的方式;然而深度优先将是一个相对好的方法,利用深度优先不但减少了程序实现的时间,是一种不错的方式。但最
此文档下载收益归作者所有