第5章 搜索求解策略

合集下载

第五章 搜索策略

第五章 搜索策略
16
• 基本思想: 从初始节点S0开始,逐层地对节点进行 扩展并考察它是否为目标节点。在第n 层的节点没有全部扩展并考察之前,不 对第n+1层的节点进行扩展。 • OPEN表中节点总是按进入的先后顺序 排列,先进入的节点排在前面,后进入 的排在后面。
17
1. 把初始节点S0放入OPEN表。 2. 如果OPEN表为空,则问题无解,退出。 3. 把OPEN表的第一个节点(记为节点n)取出 放入CLOSE表。 4. 考察节点n是否为目标节点。若是,则求得了 问题的解,退出。 5. 若节点n不可扩展,则转第2步。 6. 扩展节点n,将其子节点放入OPEN表的尾部, 并为每一个子节点都配置指向父节点的指针, 然后转第2步。
t
解树
10
(1,1,1)=>(3,3,3)
(1,1,1)=>(1,2,2)
(1,2,2)=>(3,2,2)
(3,2,2)=>(3,3,3)
(1,1,1)=>(1,1,3)
(1,1,3)=>(1,2,3)
(1,2,3)=>(1,2,2) (3,2,2)=>(3,2,1)
(3,2,1)=>(3,3,1)
23
• 在深度优先搜索中,搜索一旦进入某个分支,就 将沿着该分支一直向下搜索。如果目标节点恰好 在此分支上,则可较快地得到解。但是,如果目 标节点不在此分支上,而该分支又是一个无穷分 支,则就不可能得到解。所以深度优先搜索是不 完备的,即使问题有解,它也不一定能求得解。 • 用深度优先求得的解,不一定是路径最短的解。
22
S0
2 8 3 1 4 7 6 5
1 2
2 8 3 1 4 7 6 5
2 3 1 8 4 7 6 5

第5章 搜索策略gy

第5章 搜索策略gy

第5章搜索策略搜索是人工智能中的一个基本问题,(计算机的50%工作)并与推理密切相关,一个智能系统搜索策略的优劣,将直接影响到该系统的性能与推理效率。

(NP-(nondeterministic polynomial)旅行商问题:费用、落地时间、旅途与休息时间、路线安排、约束条件等)5.1搜索的基本概念5.1.1搜索的含义人工智能所研究的对象大多是属于结构不良(指所需信息不完整)或非结构化(指没有现成的算法可依)的问题。

对于这些问题,一般很难获得其全部信息,更没有现成的算法可供求解使用。

因此,只能依靠经验,利用已有知识逐步摸索求解(仁者见仁,智者见智)。

像这种根据问题的实际情况,不断寻找可利用知识,从而构造一条代价最小的推理路线,使问题得以解决的过程称为搜索。

另一方面,对那些结构性能较好,理论上有算法可依的问题,如果问题或算法的复杂性较高(如按指数形式增长),由于受计算机在时间和空间上的限制,也无3(所需法付诸实用。

这就是人们常说的组合爆炸问题。

例如,64阶梵塔问题有642,要的存储空间为3,433,683,820,292,512,484,657,849,089,281 。

另一个例子64几百年)状态,仅从空间上来看,这是一个任何计算机都无法存储的问题。

可见,理论上有算法的问题实际上不一定可解。

像这类问题,也需要采用搜索的方法来进行求解。

170对于搜索的类型,可根据搜索过程是否使用启发式信息分为盲目搜索和启发式搜索,也可根据问题的表示方式分为状态空间搜索和与/或树搜索。

盲目搜索是按预定的控制策略进行搜索,在搜索过程中获得的中间信息并不改变控制策略。

由于搜索总是按预先规定的路线进行,没有考虑到问题本身的特性,因此这种搜索具有盲目性,效率不高,不便于复杂问题的求解。

启发式搜索是在搜索中加入了与问题有关的启发性信息,用于指导搜索朝着最有希望的方向前进,加速问题的求解过程并找到最优解。

状态空间搜索是指用状态空间法来求解问题所进行的搜索。

第五章 状态空间搜

第五章 状态空间搜
父节点
状态节点
表 5.1 OPEN表结构 编号 状态节点 父节点
表 5.2 CLOSED表结构
5
第五章 状态空间搜索策略
5.2.1 状态空间图的搜索策略
状态空间的搜索算法如下: 算法5.1 状态空间图的一般搜索算法 (1)建立一个只有初始节点的搜索图G,把放入到OPEN表中。 (2)建立CLOSED表,且置为空表。 (3)判断OPEN表是否为空表,若为空,则问题无解,退出。 (4)若OPEN表非空,选择OPEN表中的第一个节点, 把它从OPEN表移出, 并放入CLOSED表中,将此节点记为n。 (5)考察节点n是否为目标节点,若是,则问题有解,并成功退出。问题的 解即可从图G中沿着指针从n到的这条路径得到。 (6)扩展节点n生成一组不是n的祖先的后继节点,并将它们记为集合M,将 M中的这些节点作为n的后继节点加入图G中。 (7)对那些未曾在G中出现过的(即未曾在OPEN表上或CLOSED表上出现 过的)M中的节点,设置一个指向父节点(即节点n)的指针,并把这些节点加入 OPEN表中;对于已在G中出现过的M中的那些节点,确定是否需要修改指向父节 点(n节点)的指针;对于那些先前已在G中出现并且已在CLOSED表中的那些M 中的节点,确定是否需要修改通向它们的后继节点的指针。 (8)按某一任意方式或按某种策略安排OPEN表中节点的顺序。 (9)转第(3)步 6 这一搜索过程的流程图如图5.1所示。
15
第五章 状态空间搜索策略
5.2.3 深度优先搜索
算法5.3 状态空间图的深度优先搜索算法 (1)把初始节点放入OPEN表 (2)如果OPEN表为空,则问题无解,退出; (3)从OPEN表中将第一个节点(节点n)移出,放入已扩展节点表 CLOSED中; (4)考察节点n是否为目标节点,若是,则找到问题的解,用回溯法求解的 路径,退出; (5)若节点n不可扩展,则转第(2)步; (6)扩展节点n,将其后继节点放到OPEN表的前端,并为其设置指向节点n 的指针,然后转第(2)步。 深度优先搜索与宽度优先搜索的区别在于:在对节点n进行扩展时,其后继 节点在OPEN表中的存放位置。宽度优先搜索是将后继节点放入OPEN表的末端, 而深度优先搜索则是将后继节点放入OPEN表的前端。 图5.7是深度优先搜索算法的流程图。

第5章 回溯法

第5章 回溯法
14
(1)如果X=(x1, x2, …, xi+1)是问题的最终解,则输出这个解。 如果问题只希望得到一个解,则结束搜索,否则继续搜索其 他解; (2)如果X=(x1, x2, …, xi+1)是问题的部分解,则继续构造解 向量的下一个分量; (3)如果X=(x1, x2, …, xi+1)既不是问题的部分解也不是问题 的最终解,则存在下面两种情况: ① 如果xi+1= ai+1k不是集合Si+1的最后一个元素,则令xi+1= ai+ 1k+1,即选择Si+1的下一个元素作为解向量X的第i+1个分量; ② 如果xi+1= ai+1k是集合Si+1的最后一个元素,就回溯到X=(x1, x2, …, xi),选择Si的下一个元素作为解向量X的第i个分量,假 设xi= aik,如果aik不是集合Si的最后一个元素,则令xi= aik+1; 否则,就继续回溯到X=(x1, x2, …, xi-1); 15
2 3
4
3
4
1
3ห้องสมุดไป่ตู้
1
4
2
4
1
2
1
2
3
3
1
2
1
10 12 15 17 21 23 26 28 31 33 37 39 42 44 47 49 52 54 57 59 62 64 n=4的TSP问题的解空间树
8
解空间树的动态搜索(1)
回溯法从根结点出发,按照深度优先策略遍历 解空间树,搜索满足约束条件的解。 在搜索至树中任一结点时,先判断该结点对应 的部分解是否满足约束条件,或者是否超出目标函 数的界,也就是判断该结点是否包含问题的(最优) 解,如果肯定不包含,则跳过对以该结点为根的子 树的搜索,即所谓剪枝( Pruning );否则,进入 以该结点为根的子树,继续按照深度优先策略搜索。

人工智能教程习题及答案第5章习题参考解答

人工智能教程习题及答案第5章习题参考解答

第五章搜索策略习题参考解答5.1 练习题5.1 什么是搜索?有哪两大类不同的搜索方法?两者的区别是什么?5.2 用状态空间法表示问题时,什么是问题的解?求解过程的本质是什么?什么是最优解?最优解唯一吗?5.3 请写出状态空间图的一般搜索过程。

在搜索过程中OPEN表和CLOSE表的作用分别是什么?有何区别?5.4 什么是盲目搜索?主要有几种盲目搜索策略?5.5 宽度优先搜索与深度优先搜索有何不同?在何种情况下,宽度优先搜索优于深度优先搜索?在何种情况下,深度优先搜索优于宽度优先搜索?5.6 用深度优先搜索和宽度优先搜索分别求图5.10所示的迷宫出路。

图5.10 习题5.6的图5.7 修道士和野人问题。

设有3个修道士和3个野人来到河边,打算用一条船从河的左岸渡到河的右岸去。

但该船每次只能装载两个人,在任何岸边野人的数目都不得超过修道士的人数,否则修道士就会被野人吃掉。

假设野人服从任何一种过河安排,请使用状态空间搜索法,规划一使全部6人安全过河的方案。

(提示:应用状态空间表示和搜索方法时,可用(N m,N c)来表示状态描述,其中N m和N c分别为传教士和野人的人数。

初始状态为(3,3),而可能的中间状态为(0,1),(0,2),(0,3), (1,1),(2,1),(2,2),(3,0),(3,1),(3,2)等。

)5.8 用状态空间搜索法求解农夫、狐狸、鸡、小米问题。

农夫、狐狸、鸡、小米都在一条河的左岸,现在要把它们全部送到右岸去。

农夫有一条船,过河时,除农夫外,船上至多能载狐狸、鸡和小米中的一样。

狐狸要吃鸡,鸡要吃小米,除非农夫在那里。

试规划出一个确保全部安全的过河计划。

(提示:a.用四元组(农夫,狐狸,鸡,米)表示状态,其中每个元素都可为0或1,0表示在左岸,1表示在右岸;b.把每次过河的一种安排作为一个算符,每次过河都必须有农夫,因为只有他可以划船。

)5.9 设有三个大小不等的圆盘A 、B 、C 套在一根轴上,每个圆盘上都标有数字1、2、3、4,并且每个圆盘都可以独立地绕轴做逆时针转动,每次转动90°,初始状态S 0和目标状态S g 如图5.11所示,用宽度优先搜索法和深度优先搜索法求从S 0到S g 的路径。

搜索求解策略课件

搜索求解策略课件

分阶段使用策略
02
在搜索的不同阶段,采用合适的搜索策略,以平衡探索与利用
的矛盾。
自适应混合策略
03
根据搜索进程中的信息,自适应地选择和调整所使用的搜索策
略。
搜索策略的自适应机制
学习与进化机制
引入机器学习和进化算法思想,使搜索策略具备自适应能力。
环境感知与响应
根据问题环境的变化,动态调整搜索策略以适应新的情况。
传算法等。
解的评估与比较
利用目标函数对搜索过程中产生的 解进行评估和比较,选择最优或次 优解。
剪枝与优化
通过剪枝策略和优化方法提高搜索 效率,如α-β剪枝、分支限界法等。
03
搜索策略的设计与实 现
盲目搜索策略
宽度优先搜索
按层次遍历搜索空间,先访问离 起始节点近的节点。
深度优先搜索
沿着搜索树深度方向进行搜索, 直到达到目标节点或无法继续深
掘其潜在价值。
03
强化策略自适应能力
研究如何让搜索求解策略具备更强的自适应能力,以应对不同问题和场
景的变化。
THANK YOU
入。
迭代加深搜索
结合宽度优先搜索和深度优先搜 索,通过设置深度限制来避免盲
目深度搜索。
启发式搜索策略
最佳优先搜索
根据启发式函数评估节点优先级,优先选择最有 希望的节点进行扩展。
贪婪最佳优先搜索
仅考虑当前状态下最有利的节点,忽视其他可能 路径。
A*算法
结合启发式函数和实际代价函数进行搜索,具有 较高的效率和准确性。
搜索求解策略的研究现状
研究热点
目前,搜索求解策略的研 究热点包括启发式搜索、 元启发式搜索、多目标搜 索等。
研究方法

第五章 搜索策略.


• 扩展节点1,只生成 有向边旁的箭头是指向父节点的 单一后继节点2,节 指针,每边代价为1
点2已有父节点3,
即节点2在先前扩展
节点3时已被生成,
现又作为节点1的后 继节点被再次生成。
从S0-3-2的代价为4,
从S0-1-2的代价为2,
后者代价小,修改 节点2指向父节点的
指针,让它指向节
点1。
S0
节点6为父节点,而需改
为以节点2为父节点。
S0
1
6
2
3
4
5
2 广度优先搜索—宽度优先搜索
(1扩)基展本并思考想察:它从是初否始为节目点标S节0开点始,,在逐第层n地层对的节节点点进没行有 全部扩展并考察之前,不对第n+1层的节点进行扩展。 OPEN表中的节点总是按进入的先后顺序排列,先进 入的节点排在前面,后进入的排在后面。
(4)缺点:搜索的盲目性较大,当目标节点距离 初始节点较远时,搜索效率低。
2
283 14
765
283
s0 1
4
1
765
3
2
3
184
765
4 283 14 765
5
283
164
7
5
6
83 214 765
14
8
3
214
765
22 83 214 765
7 283 714
65
15
283
714
6
5
23
813
2
4
765
8 23
184 765
16
123 84
765
24
283
7

第5章 回溯法

30 A 5 6 B
4
C 20 D
10
求赋权图G 的具有最小 权 的 Hamilton圈
B
C D B
C
D B
D
C
D
C
D
B
C
B
A
5
5.1回溯法的算法框架—基本思想
例2.定和子集问题:
已知一个正实数的集合 A={w1,w2,……wn},和正实数M.试求A的所有子集S,使得S中 的数之和等于M。 这个问题的解可以表示成0/1数组{x1,x2,……xn},依据w1是 否属于S,x1分别取值1或0。故解空间中共有2n个元素。它的树 1 结构是一棵完全二叉树。
7
5.1回溯法的算法框架—基本思想
从例3来看,解空间的确定与我们对问题的描述有关。 如何组织解空间的结构会直接影响对问题的求解效率。这是 因为回溯方法的基本思想是通过搜索解空间来找到问题的可 行解以至最优解。 当所给的问题是从n个元素的集合S中找出满足某种性质 的子集时,相应的解空间树称为子集合树。此时,解空间有 2n 个元素,遍历子集树的任何算法均需Ω(2n)的计算时间。 如例2。 当所给的问题是确定n个元素的满足某种性质的排列时, 相应的解空间树称为排列树,此时,解空间有n!个元素。遍 历排列树的任何算法均需Ω(n!)计算时间,如例1和例3。本 章只讨论具有上两类解空间树的求解问题。
11
5.1回溯法的算法框架—递归回溯
回溯法对解空间作深度优先搜索,因此,在一般情况下 用递归方法实现回溯法。 void backtrack (int t) { if (t>n) output(x); else for (int i=f(n,t); i<=g(n,t);i++) { x[t]=h(i); if (constraint(t) && bound(t)) backtrack(t+1); } } f(n,t)和g(n,t)分别表示在当前扩展结点处未搜索过子 树的起始编号与终止编号,h(i)表示当前扩展结点处x[t]的 第i个可选值。

人工智能第五章

• 状态: 用三元组(m,c,b)表示左岸的传教士、野人和船数。 m={0,1,2,3},c={0,1,2,3},b={0,1} 共4×4×2=32种状态 其中有16种可行,14种不可行(危险),2种达不到。 初始状态:S=(3,3,1) 或 S331 目标状态:G=(0,0,0) 或 S000
• 操作符(规则) Pij(左右),qij (右左) 左右:p01,p10,p11,p02,p20 条件:船在左岸 右左:q01,q10,q11,q02,q20 条件:船在右岸
❖ 特点: 一种高代价搜索,但若有解存在, 则必能找到它。
16
• 例子 八数码难题(8-puzzle problem)
28 3
1
4
76 5
12 3
8
4
76 5
(初始状态)
(目标状态)
规定:将牌移入空格的顺序为:从空格左边开始
顺时针旋转。不许斜向移动,也不返回先辈节点。
从图可见,要扩展26个节点,共生成46个节点
• 问题的形式化表示:
三元组(I,j,k) I ---C所在钢针号 j ----B所在钢针号 k---A所在钢针号
• 问题: (1,1,1)(3,3,3)
3
9
三阶梵塔问题的与/或树
(111)(333)
(111)(122) (122)(322)
(322)(333)
(111)(113) (113)(123) (123)(122) (322)(321) (321)(331) (331)(333)
A
A
B
C
D
与图
B
C
或图
2、变换:大问题变成若干个易解子问题,只要有一个 子问题解决了,大问题也就解决了。

人工智能期末复习资料

-构成推理的两个要素为:已知事实(证据)和知识。

第四章不确定性推理方法-不确定性分为:知识不确定性和证据不确定性。

-可信度是根据经验对一个事物或现象为真的相信程度。

-可信度带有较大的主观性和经验性,其准确性难以把握。

-由于相应证据的出现增加结论H为真的可信度,则CF(H,E)>0,证据的出现越支持H为真,就使CF(H,E)的值越大;反之,CF(H,E)<0,证据的出现越是支持H为假,CF(H,E)的值就越小。

若证据的出现与否与H无关,则CF(H,E)=0。

-静态强度CF(H,E):知识的强度,即当E所对应的证据为真时对H的影响程度;动态强度CF(E):证据E当前的不确定性程度。

-概率分配函数与概率不同。

-模糊性:客观事实在性态与类属方面的不分明性。

-模糊集合完全由其隶属函数确定,即一个模糊集合与其隶属函数是等价的。

-模糊推理控制系统的功能结构:(输入)->模糊化->模糊规则库->推理方法->去模糊化(输出)-模糊控制系统的核心是:模糊控制器。

-不确定性及其类型?1.不确定性;2.不确切性;3.不完全性;4.不一致性;-在确定一种度量方法及其范围时,应当注意到哪几点?1.度量要能充分表达相应知识及证据的不确定性程度;2.度量范围的指定要便于领域专家及用户对不确定性的估计;3.度量要便于对不确定性的传递进行计算,而且对结论算出的不确定性度量不能超出度量规定的范围;4.度量的确定应当是直观的,同时要有相应的理论依据-经典概率方法与逆概率方法的比较经典概率方法的缺点:用于简单的不确定推理,只考虑了证据的“真”“假”情况;逆概率方法优点:较强的理论背景和良好的数学特征,当证据和结论都彼此独立时计算的复杂度较低;缺点:要求给出结论Hi的先验概率和证据的条件概率;-主观Bayes方法的优缺点优点:1.具有较坚强的理论基础;2.知识的静态强度LS与LN是由领域专家根据实践经验得出的,推出的结论有较准确的确定性;3.主观Bayes方法是一种比较实用且灵活的不确定性推理方法;缺点:1.要求领域专家给出知识时同时给出H的先验概率;2.Bayes定理中关于事件独立性的要求使此方法的应用受到了限制。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
7
5.1.2 搜索策略
1. 搜索方向:
(1) 数据驱动:从初始状态出发的正向搜索。
正向搜索——从问题给出的条件(一个用于状态转换 的操作算子集合)出发。
(2) 目的驱动:从目的状态出发的逆向搜索。
逆向搜索:先从想达到的目的入手,看哪些操作算子 能产生该目的以及应用这些操作算子产生目的时需要 哪些条件。
Artificial Intelligence Principles and Applications
第 5 章 搜索求解策略
教材:
王万良《人工智能及其应用》(第2版) 高等教育出版社,2008. 6
第5章 搜索求解策略
5.1 搜索的概念
5.2 状态空间的搜索策略
5.3 盲目的图搜索策略 5.4 启发式图搜索策略
D
275 C 400 E 475
A A A A 路径 : 路径 : 路径 : 路径 : ABCDEA ABCEDA ABDCE AB DECA 费用 : 费用 : 费用 : 费用 : 375 425 475 525
旅行推销员状态空间图(部分)
20
第5章 搜索求解策略
5.1 搜索的概念 5.2 状态空间知识表示方法
37
5.3.3 深度优先搜索策略
深度优先搜索过程:
Procedure depth_first_search begin open:=[start];closed:=[ ];d:=深度限制值 while open[ ] do begin 从open表中删除第一个状态,称之为n; open表:堆栈结构,即先进后出(FILO)的 将n放入closed表中; 数据结构。 if n=目的状态 then return (success); open表:所有已生成但未作扩展的状态 if n的深度>d then continue; 生成n的所有子状态; closed表记录了已扩展过的状态 从n的子状态中删除已在open或closed表中出现的状态; 将n的其余子状态,按生成的次序加入到open 表的前端。 end end。
29
5.3.1 回溯策略
图搜索算法(深度优先、宽度优先、最好优先搜索等) 的回溯思想:
(1)用未处理状态表(NPS)使算法能返回(回溯)到其 中任一状态。
(2)用一张“死胡同”状态表(NSS)来避免算法重新搜索
无解的路径。 (3)在PS 表中记录当前搜索路径的状态,当满足目的时可 以将它作为结果返回。 (4)为避免陷入死循环必须对新生成的子状态进行检查, 看它是否在该三张表中 。
操作算子可运用的先决条件:
(1)被搬动积木的顶部必须为空。
(2)如果 Y 是积木,则积木 Y 的顶部也必须为空。
(3)同一状态下,运用操作算子的次数不得多于一次。
34
5.3.2 宽度优先搜索策略
S
0
A
B C MOVE(C,A) C MOVE(A,C) A
S
没有后裔, 失败退出
3
MOVE(A,TABLE)
12 KK
13
3
4
6
8
9
深度优先搜索法中状态的搜索次序
36
5.3.3 深度优先搜索策略
在深度优先搜索中,当搜索到某一个状态时,它 所有的子状态以及子状态的后裔状态都必须先于 该状态的兄弟状态被搜索。 为了保证找到解,应选择合适的深度限制值,或 采取不断加大深度限制值的办法,反复搜索,直 到找到解。
27
5.3.1 回溯策略
end; 将CS加入PS; end else begin 将CS子状态(不包括PS、NPS和NSS中已有的)加入NPS; CS:= NPS中第一个元素; 将CS加入到PS; end end; return FAIL; end.
28
5.3.1 回溯策略
回溯搜索示意图的回溯轨迹: 初值:PS=[A]; NPS=[A]; NSS=[ ]; CS=A。
S1
A
B
C
MOVE(C,B)
S
2
A B
B
C
MOVE(B,A) MOVE(B,C)
S
MOVE(C,A)
S
6
B
S
B
4AC来自SB5
C
A
B
C A
S
7
C B
A
8
A C
MOVE(C,B) C
S
9
MOVE(A,B) A
S 10
B
B
A
C
积木问题的宽度优先搜索树
35
5.3.3 深度优先搜索策略
S0 1 10
2
5
7
11
13
5.2.1 状态空间表示法
状态空间:利用状态变量和操作符号,表示系统或 问题的有关知识的符号体系,状态空间是一个四元 组:
( S , O, S 0 , G)
S :状态集合。
O :操作算子的集合。
S 0 :包含问题的初始状态是 S 的非空子集。
G :若干具体状态或满足某些性质的路径信息描述。
14
26
5.3.1 回溯策略
Function backtrack: begin PS:= [Start]; NPS:= [Start]; NSS:= [ ]; CS:= Start; *初始化 while NPS[ ] do begin if CS=目的状态 then return(PS); *成功,返回解题路径 if CS没有子状态(不包括PS,NPS和NSS中已有的状态) then begin while((PS非空) and (CS=PS中的第一个元素))do begin 将CS加入NSS *标明此状态不可解 从PS中删除第一个元素CS *回溯 从NPS中删除第一个元素CS; CS:= NPS中的第一个元素;
(2)启发式搜索:考虑特定问题领域可应用的知识, 动态地确定调用操作算子的步骤,优先选择较适 合的操作算子,尽量减少不必要的搜索,以求尽 快地到达结束状态。
10
第5章 搜索求解策略
5.1 搜索的概念
5.2
状态空间知识表示方法
5.3 盲目的图搜索策略 5.4 启发式图搜索策略
5.5 与/或图搜索策略
5.3
盲目的图搜索策略
5.4 启发式图搜索策略
5.5 与/或图搜索策略
21
5.3 盲目的图搜索策略
5.3.1 回溯策略
5.3.2 宽度优先搜索策略
5.3.3 深度优先搜索策略
22
5.3.1 回溯策略
带回溯策略的搜索:
从初始状态出发,不停地、试探性地寻找路径, 直到它到达目的或“不可解结点”,即“死胡同” 为止。若它遇到不可解结点就回溯到路径中最近的 父结点上,查看该结点是否还有其他的子结点未被 扩展。若有,则沿这些子结点继续搜索;如果找到 目标,就成功退出搜索,返回解题路径。
8
5.1.2 搜索策略
1. 搜索方向:
(3) 双向搜索
双向搜索:从开始状态出发作正向搜索,同时又从 目的状态出发作逆向搜索,直到两条路径在中间的 某处汇合为止。
9
5.1.2 搜索策略
2. 盲目搜索与启发式搜索: (1)盲目搜索:在不具有对特定问题的任何有关信 息的条件下,按固定的步骤(依次或随机调用操 作算子)进行的搜索。
5.3.1 回溯策略
1 A
B 2 8 C 11 D E 3 6 F J 5 9 G 7 K 10 H
回溯搜索示意图
25
5.3.1 回溯策略
回溯搜索的算法
(1) PS(path states)表:保存当前搜索路径上的状态。如 果找到了目的,PS就是解路径上的状态有序集。 (2) NPS(new path states)表:新的路径状态表。它包含 了等待搜索的状态,其后裔状态还未被搜索到,即未被 生成扩展 。 (3) NSS(no solvable states)表:不可解状态集,列出了 找不到解题路径的状态。如果在搜索中扩展出的状态是 它的元素,则可立即将之排除,不必沿该状态继续搜索。
11
5.2 状态空间知识表示方法
5.2.1 状态空间表示法
5.2.2 状态空间的图描述
12
5.2.1 状态空间表示法
状态:表示系统状态、事实等叙述型知识的一组变 量或数组:
Q [q1 , q2 ,, qn ]
T
操作:表示引起状态变化的过程型知识的一组关
系或函数:
F { f1 , f 2 ,, f m }
4
5.1 搜索的概念
5.1.1 搜索的基本问题与主要过程
5.1.2 搜索策略
5
5.1.1 搜索的基本问题与主要过程
搜索中需要解决的基本问题:
(1)是否一定能找到一个解。
(2)是否终止运行或是否会陷入一个死循环。
(3)找到的解是否是最佳解。
(4)时间与空间复杂性如何。
6
5.1.1 搜索的基本问题与主要过程
5.5 与/或图搜索策略
2
第5章 搜索求解策略
5.1
搜索的概念
5.2 状态空间知识表示方法
5.3 盲目的图搜索策略 5.4 启发式图搜索策略
5.5 与/或图搜索策略
3
5.1 搜索的概念
问题求解:
问题的表示。
选择一种相对合适的求解方法。 问题求解的基本方法:搜索法、归约法、归结法、推 理法及产生式等。
30
5.3.2 宽度优先搜索策略
S0
1 5
2
open表(NPS表): 已经生成出来但其 子状态未被搜索的 状态。 8 closed表( PS表和 NSS表的合并): 记录了已被生成扩 展过的状态。
3
4
6
7
9
10
宽度优先搜索法中状态的搜索次序
31
相关文档
最新文档