人工智能课件-3-搜索的基本策略.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《人工智能课件-3-搜索的基本策略.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 人工智能 课件 搜索 基本 策略
- 资源描述:
-
1、第第3章章 搜索的基本策略搜索的基本策略 3.1 盲目的搜索方法盲目的搜索方法l 盲目搜索方法又叫非启发式搜索,是一种无信息搜索,一般只适用于求解比较简单的问题。下面我们要讨论的几个搜索方法,它们均属于盲目搜索方法。3.1.1 宽度优先搜索宽度优先搜索l 如果搜索是以同层邻近节点依次扩展节点的, 那么这种搜索就叫宽度优先搜索,这种搜索是逐层进行的, 在对下一层的任一节点进行搜索之前,必须搜索完本层的所有节点。 3.1.1 宽度优先搜索宽度优先搜索宽度优先搜索宽度优先搜索算法如下: 1. 令N为一个由初始状态构成的表; 2. 若N为空退出,标志失败; 3. 令n为N中第一个点,将n从N中删除;
2、4. 若n是目标,则退出,标态成功; 5. 若n不是目标,将n的后继点加入到N表的尾部,转2。 3.1.1 宽度优先搜索宽度优先搜索l宽度优先搜索的优点是:若问题有解,则可找出最优解;l宽度优先搜索的缺点是:效率低,组合爆炸问题难以解决。 3.1.2 深度优先搜索深度优先搜索在深度优先搜索中,我们首先扩展最新产生的(即最深的)节点。深度相等的节点可以任意排列。 3.1.2 深度优先搜索深度优先搜索深度优先搜索算法如下:1. 令N为一个由初始状态构成的表;2. 若N为空退出,标态失败;3. 令n为N中第一个点,将n从N中删除;4. 若n是目标,则退出,标态成功;5. 若n不是目标,将n的后继加入
3、到N表的首部转2。 3.1.2 深度优先搜索深度优先搜索l 深度优先搜索的优点:节省大量时间和空间;l 深度优先搜索的缺点:不一定能找到解。因为在无限搜索树的情况下,最坏的情况可能是不停机。3.1.3 分枝有界搜索分枝有界搜索(Branch-and-Bound)l 分枝有界搜索也是一种深度优先搜索,但每个分支都规定了一个统一的搜索深度,搜索到这个深度后,如果没有找到目标便自动退回到上一层,继续搜索。3.1.3 分枝有界搜索分枝有界搜索1. 令N为一由初始状态构成的表;2. 若N为空退出,标志失败;3. 令n为N中第一个点,将n从N中删除;4. 若n是目标,则退出,标态成功;5. 若n深度=预先
4、定好的一个界dmax,则转2;6. 若n不是目标,将n的后继加入到N表的首部转2;3.1.4 迭代加深搜索迭代加深搜索(Iterative deepening)l 迭代加深搜索是在分枝有界搜索的基础上,对dmax进行迭代,即逐步加深。这是一种同时兼顾深度和广度的搜索方法。在限定的深度内,保证了对广度节点的搜索,如果没有找到解,再加深深度。3.2 启发式搜索方法启发式搜索方法l 如果能够找到一种方法用于排列待扩展节点的顺序,即选择最有希望的节点加以扩展,那么,搜索效率将会大大提高。启发式搜索就是基于这种想法,它是深度优先的改进。搜索时不是任取一个分枝,而是根据一些启发式信息,选择最佳一个分枝或几
5、个分枝往下搜索。3.2.1 启发式信息的表示启发式信息的表示1启发式搜索的依据启发式搜索的依据(1)人们善于利用一些线索来帮助自己选择搜 索 方 向 , 这 些 线 索 统 称 为 启 发 式(Heuristics)信息。(2)现实问题往往只需一个解,而不要求最优解或全部解。(3)启发式信息可以避免某些领域里的组合爆炸问题。 3.2.1 启发式信息的表示启发式信息的表示启发信息按其形式可分为下列2种:(1)表示为估计函数)表示为估计函数l 确定一个启发式函数f(n), n 为被搜索的节点,它把问题状态的描述映射成问题解决的程度,通常这种程度用数值来表示,就是启发式函数的值。这个值的大小用来决定
6、最佳搜索路径。3.2.1 启发式信息的表示启发式信息的表示(2)表示成规则)表示成规则如程序AM的一条启发式规则为: 如果存在一个有趣的二元函数f(x,y),那么看看两变元相同时会发生什么?l若f表示乘法:导致发现平方;l若f表示集合并运算:导致发现恒等函数;l若f表示思考:导致发现反省;l若f表示谋杀:导致发现自杀。3.2.1 启发式信息的表示启发式信息的表示2启发式函数的表示方法启发式函数的表示方法l启发式函数是一种映射函数,它把对问题状态的描述映射成一种希望的程度。l启发式函数设计得好,对有效引导搜索过程有着重要的作用。非常简单的启发式函数搜索路径能够作出非常令人满意的估计。3.2.1
7、启发式信息的表示启发式信息的表示l如何构造启发式函数?(1)启发式函数能够根据问题的当前状态,确定用于继续求解问题的信息。 这样的启发式函数能够有效地帮助决定那些后继节点应被产生。3.2.1 启发式信息的表示启发式信息的表示 2 8 3 1 6 47 5 例2.7 八数码问题。 1 2 3 8 47 6 5 a11 a12 a13 a21 a22 a23a31 a32 a33 问题空间为: S0 Sg 3.2.1 启发式信息的表示启发式信息的表示各状态间的转换规则为:Pr1: 空格上移 If i,j and i1 then ai-1,j i,j Pr2: 空格下移 If i,j and i3
8、then aI+1,j i,j 3.2.1 启发式信息的表示启发式信息的表示Pr3: 空格左移 If i,j and j1 then ai,j-1 i,j Pr4: 空格右移 If i,j and j3 then ai,j+1 i,j 启发式函数f1= 数字错放位置的个数,f1=0,则达到目标。 2 8 3 1 6 47 52 8 31 6 4 7 52 8 31 47 6 52 8 3 1 47 6 52 31 8 47 6 52 8 3 1 6 47 52 8 31 47 6 52 8 31 6 47 53.2.1 启发式信息的表示启发式信息的表示 当f1值相同时如何决定走步? 现在定义:
9、f2 = 所有数字当前位置以最短路径走到正确位置的步数之和。 在这个定义之下,各状态的启发式函数值为: 数码 1 2 3 4 5 6 7 8 F2(S0)= 1 + 1 +0 +0 + 0 + 1 +0 + 2 =5 F2(S1)= 1 + 1 +0 +0 + 0 + 0 +0 + 2 =43.2.1 启发式信息的表示启发式信息的表示数码 1 2 3 4 5 6 7 8 F2(S2)= 1 + 1 +0 +0 + 0 + 1 +1 + 2 =6 F2(S3)= 1 + 1 +0 +0 + 1 + 1 +0 + 2 =6F2(S4)= 1 + 1 +0 +0 + 0 + 0 +0 + 1 =3F
10、2(S5)= 1 + 1 +0 +0 + 0 + 1 +0 + 2 =5 F2(S6)= 1 + 2 +0 +0 + 0 + 0 +0 + 2 =53.2.1 启发式信息的表示启发式信息的表示 (2) 启发式函数应能够估计出可能加速达到目标的程度 这可以帮助确定当扩展一个节点时,那些节点应从搜索树中删除。 启发式函数对搜索树(图)的每一节点的真正优点估计得愈精确,解题过程就愈少走弯路。3.2.1 启发式信息的表示启发式信息的表示l例 2 . 8 八 皇 后 问 题 ( 8 - Q u e e n s problem) 在8*8棋盘要求放下8个皇后,要求没有一个皇后能够攻击其它皇后,即要使得在任
展开阅读全文