实验二 盲目搜索.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验二 盲目搜索

实验二 搜索问题形式化和无信息搜索 (2学时) 一 实验目的 熟悉和掌握搜索问题形式化方法与步骤,使用Python语言实现搜索问题形式化;掌握基本无信息搜索算法,实现算法并验证。 二 实验原理 搜索问题形式化即把要解决的问题描述为搜索问题,主要包括确定状态空间,初始状态,后继函数,目标测试及耗散等5方面内容;对于搜索问题可以应用通用的搜索算法求解,主要包括无信息(盲目)搜索和有信息搜索两大类,基本的无信息搜索有广度优先搜索和深度优先搜索。 三 实验条件 1 Python解释器,及IDLE等程序开发调试环境。 2 本实验所提供的几个Python文件,包括: mazeworld.py 用于构造、编辑、显示迷宫问题,以及对迷宫进行简单搜索; search.py 编写搜索算法代码。实验要求的所有搜索Agent将通过改写本文件中类SearchAgent的solve方法来实现; util.py 实现搜索算法可能使用到的一些数据结构; eightpuzzle.py 用于构造、编辑、显示8数码问题; maze1.txt maze2.txt maze3.txt 迷宫文本文件。 四 实验内容 1 搜索问题形式化 2 广度优先搜索 3 深度优先搜索 五 实验步骤 1 建立文件夹,将实验提供的4个Python文件和3个文本文件拷到文件夹中,注意整个文件夹路径不能有中文字符 2 构造、编辑、显示迷宫问题 运行Python IDLE,在提示符下输入 import mazeworld 此时会出现错误提示,分析为什么出错 #之所以会出现错误,是因为在sys的导入路径(path)中没有mazeworld.py文件的路径,这是用户自定 #义的的路径,需要手工导入,即使用下面的方法 import sys sys.path [D:\\Python27\\Lib\\idlelib, C:\\WINDOWS\\SYSTEM32\\python27.zip, D:\\Python27\\DLLs, D:\\Python27\\lib, D:\\Python27\\lib\\plat-win, D:\\Python27\\lib\\lib-tk,D:\\Python27,D:\\Python27\\lib\\site-packages] #这里是你sys初始导入路径 sys.path.append(D:\QQPCmgr\Desktop\BlindSearchProject) #这里是你sys新增的导入路径 sys.path [D:\\Python27\\Lib\\idlelib, C:\\WINDOWS\\SYSTEM32\\python27.zip, D:\\Python27\\DLLs, D:\\Python27\\lib, D:\\Python27\\lib\\plat-win, D:\\Python27\\lib\\lib-tk, D:\\Python27,D:\\Python27\\lib\\site-packages, D:\\QQPCmgr\\Desktop\\BlindSearchProject] #新增导入路径后确认路径导入成功 import mazeworld此时,不再有出错提示,成功,分析成功原因 #由于此时系统具有了mazeworld.py文件所在文件夹的路径,故当使用import命令时,系统会自动来到 #这个文件夹进查找,当然就可找到而不会出错了 #同时还有可能是因为版本问题出现报错,因为python2和python3要求的输出语言的代码不同 #python2系列可以支持 print “xxxx” ,python系列需要使用print(xxx) simpleMaze = mazeworld.Maze([[#, , , ], [~, S, , E]]) print simpleMaze 理解迷宫的表现形式 #输出的迷宫为 - - - - |# | |~ S E| - - - - #迷宫最典型的表现形式便是矩阵,而此处的迷宫也同样如此。整个迷宫是一个列表,而迷宫的每一行也 #是一个列表,而行列表里的元素才是真正的迷宫格 #迷宫的输出是由maze类的方法__getAsciiString实现的 #从Maze类中,我们可以得到各种迷宫格对应值的含义: # #: 表示障碍单元(无法通过) # ~: 表示“水”单元(可以通过,但是代价高) # : 空单元(可以通过) # S: 起点 # E: 出口 3 实现最简单的搜索Agent(只是简单的往右走,如果碰巧迷宫的起点和终点在同一行,且没有障碍物阻挡,终点又是在起点的左边,那么这个最简单的Agent能够完成任务): simpleMazeAgent = mazeworld.Sim

文档评论(0)

kfcel5460 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档