3.3-盲目搜索(2)解析
- 格式:ppt
- 大小:384.00 KB
- 文档页数:18
实验二搜索问题形式化和无信息搜索(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 syssys.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|- - - -#迷宫最典型的表现形式便是矩阵,而此处的迷宫也同样如此。
实验一:盲目搜索算法一、实验目的掌握盲目搜索算法之一的宽度优先搜索求解算法的基本思想。
对于宽度优先搜索算法基本过程,算法分析有一个清晰的思路,了解宽度优先搜索算法在实际生活中的应用。
二、实验环境PC机一台,VC++6.0三、实验原理宽度优先搜索算法(又称广度优先搜索)是最简便的图的搜索算法之一,这一算法也是很多重要的图的算法的原型。
Dijkstra单源最短路径算法和Prim最小生成树算法都采用了和宽度优先搜索类似的思想。
其别名又叫BFS,属于一种盲目搜寻法,目的是系统地展开并检查图中的所有节点,以找寻结果。
同时,宽度优先搜索算法是连通图的一种遍历策略。
因为它的思想是从一个顶点V0开始,辐射状地优先遍历其周围较广的区域,故得名。
其基本思想是:(1) 把起始节点放到OPEN表中(如果该起始节点为一目标节点,则求得一个解答)。
(2) 如果OPEN是个空表,则没有解,失败退出;否则继续。
(3) 把第一个节点(节点n)从OPEN表移出,并把它放入CLOSED扩展节点表中。
(4) 扩展节点n。
如果没有后继节点,则转向上述第(2)步。
(5) 把n的所有后继节点放到OPEN表的末端,并提供从这些后继节点回到n的指针。
(6) 如果n的任一个后继节点是个目标节点,则找到一个解答,成功退出;否则转向第(2)步。
宽度优先搜索示意图和宽度优先算法流程图如下图1和图2所示:图1、宽度优先搜索示意图图2、宽度优先算法流程图四、实验数据及步骤这部分内容是通过一个实例来对宽度优先算法进行一个演示,分析其思想。
问题描述了《迷宫问题》的出路求解办法。
定义一个二维数组:int maze[5][5] = {0, 1, 0, 0, 0,0, 1, 0, 1, 0,0, 0, 0, 0, 0,0, 1, 1, 1, 0,0, 0, 0, 1, 0,};它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的最短路线。
⼈⼯智能课程习题与部分解答《⼈⼯智能》课程习题与部分解答第1章绪论1.1 什么是⼈⼯智能? 它的研究⽬标是什么?1.2 什么是图灵测试?简述图灵测试的基本过程及其重要特征.1.3 在⼈⼯智能的发展过程中,有哪些思想和思潮起了重要作⽤? 1.5 在⼈⼯智能的发展过程中,有哪些思想和思潮起了重要作⽤?1.7 ⼈⼯智能的主要研究和应⽤领域是什么?其中,哪些是新的研究热点?第2章知识表⽰⽅法2.1 什么是知识?分类情况如何?2.2 什么是知识表⽰?不同的知识表⽰⽅法各有什么优缺点? 2.4 ⼈⼯智能对知识表⽰有什么要求? 2.5 ⽤谓词公式表⽰下列规则性知识:⾃然数都是⼤于零的整数。
任何⼈都会死的。
[解] 定义谓词如下:N(x): “x 是⾃然数”, I(x): “x 是整数”, L(x): “x ⼤于0”, D(x): “x 会死的”, M(x): “x 是⼈”,则上述知识可⽤谓词分别表⽰为: )]()()()[(x I x L x N x ∨→? )]()()[(x D x M x →?2.6 ⽤谓词公式表⽰下列事实性知识:⼩明是计算机系的学⽣,但他不喜欢编程。
李晓新⽐他⽗亲长得⾼。
2.8 产⽣式系统由哪⼏个部分组成? 它们各⾃的作⽤是什么?2.9 可以从哪些⾓度对产⽣式系统进⾏分类? 阐述各类产⽣式系统的特点。
2.10简述产⽣式系统的优缺点。
2.11 简述框架表⽰的基本构成,并给出框架的⼀般结构 2.12框架表⽰法有什么特点?2.13试构造⼀个描述你的卧室的框架系统。
2.14 试描述⼀个具体的⼤学教师的框架系统。
[解] ⼀个具体⼤学教师的框架系统为:框架名:<教师-1> 类属:<⼤学教师>姓名:张宇性别:男年龄:32职业:<教师>职称:副教授部门:计算机系研究⽅向:计算机软件与理论⼯作:参加时间:2000年7⽉⼯龄:当前年份-2000⼯资:<⼯资单>2.16把下列命题⽤⼀个语义⽹络表⽰出来(1)树和草都是植物;(2)树和草都是有根有叶的;(3)⽔草是草,且⽣长在⽔中;(4)果树是树,且会结果;(5)苹果树是果树的⼀种,它结苹果。