盲目搜索启发式搜索.ppt

合集下载

盲目启发搜索PPT教案学习

盲目启发搜索PPT教案学习
与宽度优先搜索算法根本不同 在于:将扩展的后继节点放在 OPEN表的前端(LIFO)。
B1,77 C2,87 C1,96 F1,32
A,47 B3,52 B2,65
D1,77 E1,57 E2,92 G1,27 H1,51
第26页/共55页
深度优先搜索示意图
CLOSE表 编号 节点 父节点
1 A NULL 2 B1 A 3 C2 B1 4 F1 C2 5 C1 B1 6 B3 A 7 D1 B3 8 B2 A
3 84 5
7
61 2 15
3 4
5 87
61 2 23
3 8 4 76 5
1 32
3 85 74 6
18 2
3 85 6
711642
3 85 6 74
6
9
12 85 3 74
16 17
2 85 3 74 6
14
3
82
5
74
1103 6
82 5 74
61183
5 82 74 6
1 11
3 82 5 74
F1,32
G1,27 H1,51
第2页/共55页
第三章 搜索技术
搜索分类
1、盲目式摸索:无信息搜索,搜索时按规定顺 序逐个考察节点,直到找到目标。通用性强,但 效率低;适用于简单树状结构问题。
包括:宽度优先、深度优先、等代价搜索 2、启发式搜索:用到自身的某些信息,指导搜 索朝着最有希望的方向进行,搜索效率高。
1. 两种数据结构
(1)OPEN表 存放已生成但还没考察的节点,即待考察 节点。
(2)CLOSED表存放考察过的节点,以及节点之间的关 系,如每个节点指向父节点的编号(返回指针)。 CLOSED表中存放的就是一定搜索策略下的搜索树。

《搜索技术》PPT课件

《搜索技术》PPT课件
注:1)这里,搜索的对象(常称状态)往往是边 搜索边生成,因此在考虑这种搜索的复杂性时, 必须将搜索对象的生成和评估的代价计算在内。
8
第三章 搜索技术
第二节 启发式搜索
一、启发式搜索
注:2)根据启发性信息(特定领域的知识信息), 在生成搜索树时可考虑种种可能的选择:
a)下一步展开哪个节点? b)是部分展开还是全部展开? c)使用哪个规则(算子)? d)怎样决定舍弃还是保留新生成的节点? e)怎样决定舍弃还是保留一棵子树? f)怎样决定停止或继续搜索? g)如何定义启发函数(估值函数)? h)如何决定搜索方向?
22
第三章 搜索技术
第二节 启发式搜索 五、H*算法 注:5)若估计值函数h(n)满足单调条件:
h(ni)-h(nj) k*(ni,nj)(其中k*(ni,nj)是从ni到nj的 最小代价,nj是ni的后续节点), 则H*算法是循着从初始状态通向该节点的最优路 径到达该节点的。
6)在H*算法中,每次只生成一个后续节点。
5
第三章 搜索技术
第一节 引言 二、研究和选用搜索算法的原则 10、有对手搜索还是无对手搜索?
若有两个控制源均能改变同一状态空间,并且 任何一方向目标前进时,另一方均试图将它从目 标拉开,则称为有对手搜索,通常称为博弈搜索。 注:博弈搜索算法可以看成是一种特殊的问题空 间搜索。
6
第三章 搜索技术
八、A*算法 注: 3)A*算它的效率,则 当启发式函数h的值单调上升时,它的效率只会 上升,不会下降,且有较合理的渐近性质
5)若不是考虑被展开的节点个数,而是考虑 各节点被展开的次数,则A*算法在最坏情况下表 示出很高的复杂性
第二节 启发式搜索 六、完全展开的有序搜索算法 6)若在SS或SB中原有一个状态与当前某个新状态 共一个状态,则删去原有状态 7)若SS的第一项是一个新状态,则转11) 8)若某种状态极限已达到,则搜索失败,算法运 行结束,无解

第4章 搜索技术-图盲目搜索 2012AI课件 人工智能教学课件

第4章 搜索技术-图盲目搜索 2012AI课件 人工智能教学课件
删除端(队头)
插入端(队尾)
2020/10/3
CLOSED表的存储形式:也可以用队列 特殊的队列:只进不出的队列,只允许在表的 一端进行插入
父符
插入端(队尾)
2020/10/3
某一个节点的父节点标志: 记录CLOSED表中的父节点的序号
起始节点的父节点标志和操作符: 不作记录或记录为负
2020/10/3
11283014765
12203184765
13283164705
14283140765 父符
2020/10/3
⑥ 后继节点中无目标节点,转到② ② OPEN表不为空,继续
2020/10/3
③ 将第一个节点 n 从 OPEN 表中移出,并放到 CLOSED 表中
OPEN表
12203184765
13283164705
2020/10/3
图的搜索策略:图搜索过程的一般步骤(基本
思路、框架) 其中:盲目搜索技术、启发式搜索技术是图搜索 策略的细化(具体化)
2020/10/3
一些基本概念
• 节点深度: 根节点深度=0 其它节点深度=父节点深度+1
0 1
2
3
2020/10/3
一些基本概念(续1)
• 路径 设节到致n一 点 搜k的n节 索i-路1点 过具径序 程有。列进一通为入个常死(后n0要循,继n求环1节,…路。点,径nnki是,),无则对环该于的序i=,列1,否…称则,为k,会从若导n0
2020/10/3
例:八数码问题
初始状态 2 1 7
目标状态 8 123
8
4
6 765
2
操作符:
1

4
2020/10/3

人工智能搜索技术(PPT 79张)

人工智能搜索技术(PPT 79张)

7 283 714 65 15 2 8 3 714 6 5 24 2 8 3 7 4 615
16 1 2 3 84 765 26 25 2 8 3 1 2 3 1 2 3 714 8 4 784 65 765 65
234 234 28 248 1 8 185 143 1 3 765 76 765 765
3.1 盲目搜索
3.1.2 宽度优先搜索
定义3.1 如果搜索是以接近起始节点的程度依次扩展节点的, 那么这种搜索就叫做宽度优先搜索(breadth-first search)
3.1 盲目搜索
3.1.2 宽度优先搜索
宽度优先搜索算法 (1) 把起始节点放到OPEN表中(如果该起始节点为一目标节点, 则求得一个解答)。 (2) 如果OPEN是个空表,则没有解,失败退出;否则继续。 (3) 把第一个节点(节点n)从OPEN表移出,并把它放入 CLOSED的扩展节点表中。 (4) 扩展节点n。如果没有后继节点,则转向上述第(2)步。 (5) 把n的所有后继节点放到OPEN表的末端,并提供从这些后 继节点回到n的指针。 (6) 如果n的任一个后继节点是个目标节点,则找到一个解答, 成功退出;否则转向第(2)步。
9
2 5 1 4 6 7 3 8 2 5 1 4 6 7 3 8 2 4 5 1 6 7 3 8 2 4 5 1 6 7 3 8 2 4 5 1 3 6 7 8 2 4 5 1 6 7 3 8 2 4 5 1 3 6 7 8 2 4 5 1 3 6 72 8 3 1 6 4 7 5 2 8 3 1 4 7 6 5 2 3
4.图搜索方法分析:
图搜索过程的第8步对OPEN表上的节点进行排序,以便能够 从中选出一个“最好”的节点作为第4步扩展用。这种排序可 以是任意的即盲目的(属于盲目搜索),也可以用以后要讨论的 各种启发思想或其它准则为依据(属于启发式搜索)。每当被选 作扩展的节点为目标节点时,这一过程就宣告成功结束。这时, 能够重现从起始节点到目标节点的这条成功路径,其办法是从 目标节点按指针向S返回追溯。当搜索树不再剩有未被扩展的 端节点时,过程就以失败告终(某些节点最终可能没有后继节 点,所以OPEN表可能最后变成空表)。在失败终止的情况下, 从起始节点出发,一定达不到目标节点。

6第六讲 第三章(盲目、启发搜索)

6第六讲  第三章(盲目、启发搜索)

二、有序搜索
用估价函数 f 来排列OPEN表上的节点。
应用某个算法选择OPEN表上具有最小f 值的节点作为
二、宽度优先搜索
例3.2 八数码问题 操作规定: 允许空格四周上、下、左、右的数码 块移入空格中,不许斜方向移动,不许返回先辈 结点。
1 2 3 8 5 7 4 6
1
4
1 3 8 2 5 7 4 6
2
1 2 3 8 4 5 7 6
3
1 2 3 8 5 7 4 6
5
1 2 3 8 5 7 4 6
深度优先搜索的特点
OPEN表为堆栈,操作是后进先出(LIFO) 深度优先又称纵向搜索。 一般不容易保证找到最优解(如下图所示) 防止搜索过程沿着无益的路径扩展下去,往往 给出一个节点扩展的最大深度——深度界限。
2、有界深度优先搜索
引入搜索深度限制值d,使深度优先搜索具有完备性 。 (1)深度界限的选择很重要 d若太小,则达不到解的深度,得不到解;若太大,既 浪费了计算机的存储空间与时间,降低了搜索效率。由于 解的路径长度事先难以预料,要恰当地给出d的值是比较 困难的。 (2)即使能求出解,它也不一定是最优解。 例3.3:设定搜索深度限制d=5的八数码问题。
4. 搜索过程框图
S0放入OPEN表 是 OPEN表空? 否 将OPEN表中第一个节点(n) 移至CLOSE表 否 n是目标节点? 扩展节点n,把n的后继节点放入 OPEN表末端,提供指向 节点n的指针 修改指针方针,重排OPEN表
失败

成功
一、图搜索策略(Graph Search) 5.图搜索方法分析:
3.2 启发式搜索
盲目搜索的不足:效率低,耗费空间与时间。 启发式搜索:利用问题本身特性信息(启发信息) 指导搜索过程。是有序搜索。 一、启发式搜索策略 启发式信息主要用途:

34启发式搜索策略PPT课件

34启发式搜索策略PPT课件

• 例1 :用局部择优搜索策略求解八数码问题。
Understand what f(n), g(n) and h(n) mean
估价函数定义为 f(n) = g(n) + h(n) 其中, g(n)=d(n) 表示搜索depth, or 等代价时, g(n)对
局部择优搜索没有影响.
g(n) is same when searching among the children.
5
e.g.-3 part of searching graph…fnn Nhomakorabea…
hn
33
11
gn
定义一个评价函数 f 11 is start, 33 is goal n is current node or searching n, now A rout From11 to 33 Which is g? Which is h?
权重 2. 耗散值为代价数值,即g(n)
3.4 启发式搜索策略
➢ 启发信息和估价函数 ➢ 局部择优搜索 ➢ 全局择优搜索 ➢ A*算法
Background & Questions: e.g.-1
1. 宽度优先、深度优先搜 索属于盲目搜索(按规 定的路线搜索)。盲目 搜索效率低,耗费过多 的计算空间与时间。
请补充搜索树的其余 部分。
S 283 4
164 17 5
283 21 4
3
765
283 3
3
14
765
83 3 4 214
765
8 33 5 214
765
2
3
18 4
76 5
83
813 3
214 4 6 2 4
765

盲目搜索启发式搜索

盲目搜索启发式搜索

2015-3-22
39
有序状态空间搜索算法
(6) 扩展节点i生成其全部后继节点。对于i的每一个后继节点j: – (a) 计算f(j)。 – (b) 如果j既不在OPEN表中,又不在CLOSED表中,则用估 价函数 f 把它添入 OPEN 表。从 j 加一指向其父辈节点 i 的指 针,以便一旦找到目标节点时记住一个解答路径。 – (c) 如果 j 已在 OPEN 表上或 CLOSED 表上,则比较刚刚对 j 计算过的f值和前面计算过的该节点在表中的 f值。如果新 的f值较小,则 (i) 以此新值取代旧值。 (ii) 从j指向i,而不是指向它的父辈节点。 (iii) 如果节点j在CLOSED表中,则把它移回OPEN表 (7) 转向(2),即GO TO(2)。
2015-3-22
24
3.1.3 深度优先搜索
2015-3-22
25
有界深度优先搜索
定义节点的深度如下: (1) 起始节点(即根节点)的深度为0。 (2) 任何其它节点的深度等于其父辈节点深度加上1。 • 对于许多问题,其状态空间搜索树的深度可能为无限深, 或者可能至少要比某个可接受的解答序列的已知深度上限 还要深。为了避免考虑太长的路径(防止搜索过程沿着无 益的路径扩展下去 ) ,往往给出一个节点扩展的最大深 度——深度界限。任何节点如果达到了深度界限,那么都 将把它们作为没有后继节点处理。值得说明的是,即使应 用了深度界限的规定,所求得的解答路径并不一定就是最 短的路径。

CLOSED表变化过程
编号 0 ቤተ መጻሕፍቲ ባይዱ 2 节点号 S0 A B 父节点号 空 S0 S0
图搜索的一般过程
(1) 建立一个只含有起始节点S的搜索图G,把S放到一 个叫做OPEN表的未扩展节点表中。 (2)建立一个叫做CLOSED的已扩展节点表,其初始为 空表。 (3)LOOP:若OPEN表是空表,则失败退出。 (4) 选择OPEN表上的第一个节点,把它从OPEN表移出 并放进CLOSED表中。称此节点为节点n。 (5) 若n为一目标节点,则有解并成功退出,此解是追 踪图G中沿着指针从n到S这条路径而得到的(指针将 在第7步中设置)。

盲目搜索启发式搜索[行业分析]

盲目搜索启发式搜索[行业分析]

(6) 扩展节点n,同时生成不是n的祖先的那些后继节点 的集合M。把M的这些成员作为n的后继节点添入图 G中。
(7) 对那些未曾在G中出现过的(既未曾在OPEN表上或 CLOSED表上出现过的)M成员设置一个通向n的指针。 把 M 的 这 些 成 员 加 进 OPEN 表 。 对 已 经 在 OPEN 或 CLOSED表上的每一个M成员,确定是否需要更改通 到n的指针方向。对已在CLOSED表上的每个M成员, 确定是否需要更改图G中通向它的每个后裔节点的 指针方向。
搜索原理
什么是搜索? 根据问题的实际情况不断寻找可利用的知识,从而构造 一条代价较少的推理路线,使问题得到圆满解决的过程。
• 盲目搜索 按预定的控制策略进行搜索,在搜索过程中获得的中间 信息不用来改进控制策略。效率低、主要用于简单问 题求解。
• 启发式搜索 在搜索中加入了与问题有关的启发性信息,用以指导搜 索朝着最有希望的方向前进,加速问题的求解过程并 找到最优解。
(3)LOOP:若OPEN表是空表,则失败退出。 (4) 选择OPEN表上的第一个节点,把它从OPEN表移出
并放进CLOSED表中。称此节点为节点n。 (5) 若n为一目标节点,则有解并成功退出,此解是追
踪图G中沿着指针从n到S这条路径而得到的(指针将 在第7步中设置)。
峰谷书屋
10
图搜索的一般过程
峰谷书屋
7
OPEN表变化过程
节点号 父节点号
S0

A
S0
B
S0
C
S0
D
S0
E
A
F
A
峰谷书屋
8
CLOSED表变化过程
编号
0 1 2
节点号

盲目搜索PPT课件

盲目搜索PPT课件
GO
术语
•树 • 图、有向图、无向图 • 状态(state)、初始状态 • 动作、算子(operator,也称后继函数) • 目标函数(goal) 、目标状态 • 状态空间图 • 搜索结点(search node)
问题实例——八数码问题
• 状态:8个棋子在3×3 的棋盘上的任意一个 摆放
• 初始状态:右上图
南 昌
赣 州
上 move(C,A) 海 move(A,C)
move(B,C) move(A,C)
B
move(B,C)
C
C
A
B
C
mmoovvee(C(C,B,A) )
A
B C
move(x,y):将x放到y上
AB
A
A
move(A,C)
C
B
状态空间图
问题求解模式
问题 问题求解过程
问题的解 思考
状态空间图
• ABFCDEGI
A
B
F
CDE G I H
演示
广度优先搜索
• ABFCEGHI
A
B GF
EC D H I
A
B
F
E C GHI
D
演示
广度优先搜索算法
1. 初始化open表、closed表为空,定义S为初始状 态结点
2. 将S放入到open表中 3. 如果open表为空,则搜索失败,否则从open表
2 14
76 5
6
7
8 3 28 3
21 4 71 4
76 5
65
14
15
8 3 28 3 21 4 71 4
76 5
65
23
3 18 4

第5章搜索求解策略

第5章搜索求解策略

PPT文档演模板
第5章搜索求解策略
5.2.1 状态空间表示法
• 状态空间:利用状态变量和操作符号,表示系统或 问题的有关知识的符号体系,状态空间是一个四元 组:
:状态集合。 :操作算子的集合。 :包含问题的初始状态是 的非空子集。 :若干具体状态或满足某些性质的路径信息描述。
PPT文档演模板
•D•
•E•
•250• •275•
•D•
•E•
•275• •225•
•C•
•E•
•300• •E•
•325• •D•
•400• •E•
•400• •C•
•375• •425•
•475• •525•
•A•
•A•
•A•
•A•
•路径••: •路径••: •路径••: •路径••:
•A•费BC•用D••:EA•
从初始状态出发,不停地、试探性地寻找路径, 直到它到达目的或“不可解结点”,即“死胡同” 为止。若它遇到不可解结点就回溯到路径中最近的 父结点上,查看该结点是否还有其他的子结点未被 扩展。若有,则沿这些子结点继续搜索;如果找到 目标,就成功退出搜索,返回解题路径。
PPT文档演模板
第5章搜索求解策略
•5.3.1 回溯策略
(2)启发式搜索:考虑特定问题领域可应用的知识, 动态地确定调用操作算子的步骤,优先选择较适 合的操作算子,尽量减少不必要的搜索,以求尽 快地到达结束状态。
PPT文档演模板
第5章搜索求解策略
第5章 搜索求解策略
• 5.1 搜索的概念
✓ 5.2 状态空间知识表示方法
• 5.3 盲目的图搜索策略 • 5.4 启发式图搜索策略 • 5.5 与/或图搜索策略

第三章状态空间搜索策略

第三章状态空间搜索策略

第三章 状态空间搜索策略
3.2 盲目搜索策略
3.2.1 状态空间图的搜索策略
状态空间表示法:是一种用状态和算符表示问题的方法。
当把一个待求解的问题表示为状态空间以后,就可以通过对 状态空间的搜索,实现对问题的求解。
状态空间图:状态空间的图示表示问题形式。状态空间图是 一个有向图,节点表示状态,有向边(弧)表示算符。
第三章 状态空间搜索策略
算法3.1 状态空间图的一般搜索算法
(1)建立一个只含有初始节点S0的搜索图G, 把S0放人OPEN表中。
(2)建立CLOSED表,且置为空表。
(7)对那些未曾在G中出现过的M中的 节点,设置一个指向父节点(即节 点n)的指针,并把这些节点加入
(3)判断OPEN表是否为空表,若为空,则问 题无解,退出。
第三章 状态空间搜索策略
3.1.2 搜索的种类
搜索分为盲目搜索和启发式搜索两种。
盲目搜索:又称无信息搜索。即在搜索过程中,只按预先规 定的搜索控制策略进行搜索。问题本身的特性对搜索控制策 略没有任何影响,搜索带有盲目性,效率不高,只用于解决 比较简单的问题。
启发式搜索:又称有信息搜索。指在搜索求解过程中,根据 问题本身的特性来不断地改变或调整搜索的方向,使搜索朝 着最有希望的方向前进,加速问题的求解,并找到最优解。 搜索求解的效率高,易于求解复杂的问题,但抽取出问题的 相关特性和信息难。
否则继续第(7)步。
(7)扩展节点n,将其后继节点放入OPEN表的前端,并为其 设置指向节点的指针,转第(2)步。
第三章 状态空间搜索策略
第三章 状态空间搜索策略
例3.3 设八数码难题的初始状态及目标状态分别如下图(a) 和图(b)所示,试用有界深度优先搜索策略求解问题。深度 界限dm=5。

3-4启发式搜索策略PPT课件

3-4启发式搜索策略PPT课件
4
fn
n

hn

11
gn
33
定义一个评价函数 f
3.4.2 局部择优搜索
• 基本思想 : 当一个节点扩展后, 在它的所有子
节点中,选估价函数f(n)最优者作为下一 个考察的节点 。
• 例1 :用局部择优搜索策略求解八数码问题。
估价函数定义为f(n)= g(n)+h(n) 。 其中, g(n)=d(n)表示搜索depth,等代价时, g(n)对局
在OPEN表中保留所有已生成而未扩展的节点,并 用估价函数f(n)对它们全部进行估计,and sort!
❖ 得到的不一定是实际上的最佳解。
Answer: Design proper f(n). otherwise
QuestionS:
① how many h(w) of the states are ?
3.4 启发式搜索策略
➢ 启发信息和估价函数
➢ A*算法
Background
and Questions:
1. 宽度优先、深度优先搜 索属于盲目搜索(按规 定的路线搜索)。盲目 搜索效率低,耗费过多 的计算空间与时间。
2. 2. 若选择最有希望的节
点加以扩展(NOT按规定
的路线盲目搜索) ,则搜
索效率将会大为提高。
28 3
16 4
7
5
c)
W(n)=4 steps=5
2
3
18 4
76 5
b)
W(n)=3 steps=3
1 23 84
76 5
a)
31
W(n)=1 steps=1
Compare global and local
h(n)=W(n)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(8) 按某一任意方式或按某个探试值,重排OPEN表。
(9) GO LOOP。
11
开始
把S放入OPEN表
是 OPEN表为空表?
否 把第一个节点(n)从OPEN表移至CLOSED表
n为目标节点吗?


把n的后继节点放入OPEN表的 末端,提供返回节点n的指针
修改指针方向 重排OPEN表
图搜索一般过程的框图

A
S0
Hale Waihona Puke BS0CS0
D
S0
E
A
F
A
8
CLOSED表变化过程
编号
0 1 2
节点号
S0 A B
父节点号
空 S0 S0
9
图搜索的一般过程
(1) 建立一个只含有起始节点S的搜索图G,把S放到一 个叫做OPEN表的未扩展节点表中。
(2)建立一个叫做CLOSED的已扩展节点表,其初始为 空表。
(3)LOOP:若OPEN表是空表,则失败退出。 (4) 选择OPEN表上的第一个节点,把它从OPEN表移出
一个解答,成功退出;否则转向第(2)步。
2020/11/18
16
宽度优先搜索算法框图
17
宽度优先搜索方法分析:
• 宽度优先搜索是图搜索一般过程的特殊情况,将图搜索一 般过程中的第8步具体化为本算法中的第6步,这实际是 将OPEN表作为“先进先出”的队列进行操作。
• 宽度优先搜索方法能够保证在搜索树中找到一条通向目标 节点的最短途径;这棵搜索树提供了所有存在的路径(如 果没有路径存在,那么对有限图来说,就说该法失败退出; 对于无限图来说,则永远不会终止)。
• 路径——在一系列节点n1,n2,,nm中, 从n1开始,ni总有分枝连接ni+1,称从n1 到nm之间的分枝集合是路径。路径中不 包含两个及以上相同的分枝,如果n1和 nm是同一个节点,则称这种路径为闭路。 不构成闭路的称为树。
• 在用状态空间图来表示问题时,对问题 的求解就是求出从初始节点到目标节点 的路径。
18
例如:宽度优先搜索用于八数码难题。这个问题 就是要把初始棋局变为如下目标棋局的问题:
搜索树上的所有节点都标记它们所对应的状态描 述,每个节点旁边的数字表示节点扩展的顺序(按 顺时针方向移动空格)。图中最后一个节点是目标 节点。
19
八数码难题的宽度优先搜索树
26
20
对应动态演示图
21
2、 深度优先搜索
目标节点,则求得一个解答)。 (2) 如果OPEN是个空表,则没有解,失败退出;否
则继续。 (3) 把第一个节点(节点n)从OPEN表移出,并把它放
入CLOSED扩展节点表中。 (4) 扩展节点n。如果没有后继节点,则转向上述第
(2)步。 (5) 把n的所有后继节点放到OPEN表的末端,并提供
从这些后继节点回到n的指针。 (6) 如果n的任一个后继节点是个目标节点,则找到
在深度优先搜索中,首先扩展最新产生的(即最深的)节点 (深度相等的节点可以任意排列)。其结果是搜索沿着状态 空间某条单一的路径从起始节点向下进行下去;只有当搜索 到达一个没有后裔的状态时,它才考虑另一条替代的路径。 替代路径与前面已经试过的路径不同之处仅仅在于改变最后 n步,而且保持n尽可能小。
失败 成功
12
一、盲目搜索
盲目搜索又叫做无信息搜索,一般只适用于求解比较简 单的问题。主要包括宽度优先搜索、等深度优先搜索等。 特点:
1)搜索按规定的路线进行,不使用与问题有关的启发性 信息。
2)适用于其状态空间图是树状结构的一类问题。
13
1、 宽度优先搜索
定义:如果搜索是以接近起始节点的程度依次扩展节点的, 那么这种搜索就叫做宽度优先搜索(breadth-first search)。
基本思想:从初始节点S开始,逐层地对节点进行扩展并考 察它是否为目标节点,在第n层的节点没有全部扩展并考 察之前,不对第n+1层的节点进行扩展。OPEN表中的节 点总是按进入的先后顺序排列,先进入的节点排在前面, 后进入的排在后面。
14
宽 度 优 先 搜 索 示 意 图
15
宽度优先搜索算法: (1) 把起始节点放到OPEN表中(如果该起始节点为一
搜索原理
什么是搜索? 根据问题的实际情况不断寻找可利用的知识,从而构造 一条代价较少的推理路线,使问题得到圆满解决的过程。
• 盲目搜索 按预定的控制策略进行搜索,在搜索过程中获得的中间 信息不用来改进控制策略。效率低、主要用于简单问 题求解。
• 启发式搜索 在搜索中加入了与问题有关的启发性信息,用以指导搜 索朝着最有希望的方向前进,加速问题的求解过程并 找到最优解。
3
图搜索策略
1. 图搜索的定义——一种计算机在状态图 中寻找路径的方法。
4
2.CLOSED表的引入
CLOSED表 (记录扩展过的节点)
编号 节点号 父节点号
5
3. OPEN表的引入
OPEN表 (记录待扩展的节点)
节点号 父节点号
6
举例:八数码魔方例子中
7
OPEN表变化过程
节点号 父节点号
S0
1
与图有关的术语
❖ 状态空间图——由节点(不一定是有限的 节点)及连接节点的分枝的集合构成。
❖ 有限节点图——节点数目有限的图称为 有限节点图。
❖ 有向图——一对节点用分枝线连接起来, 从一个节点指向另一个节点。这种图叫 做有向图。始节点叫父节点或双亲节点, 终节点叫子节点。
2
• 扩展——求解父节点的所有子节点,叫 做扩展。
基本思想:
从初始节点S开始,在其子节点中选择一个节点进行 考察,若不是目标节点,则再在该子节点中选择一个节 点进行考察,一直如此向下搜索。当到达某个子节点, 且该子节点既不是目标节点又不能继续扩展时,才选择 其兄弟节点进行考察。
2020/11/18
22
深度优先搜索示意图
2020/11/18
23
3、深度优先搜索
并放进CLOSED表中。称此节点为节点n。 (5) 若n为一目标节点,则有解并成功退出,此解是追
踪图G中沿着指针从n到S这条路径而得到的(指针将 在第7步中设置)。
10
图搜索的一般过程
(6) 扩展节点n,同时生成不是n的祖先的那些后继节点 的集合M。把M的这些成员作为n的后继节点添入图 G中。
(7) 对那些未曾在G中出现过的(既未曾在OPEN表上或 CLOSED表上出现过的)M成员设置一个通向n的指针。 把 M 的 这 些 成 员 加 进 OPEN 表 。 对 已 经 在 OPEN 或 CLOSED表上的每一个M成员,确定是否需要更改通 到n的指针方向。对已在CLOSED表上的每个M成员, 确定是否需要更改图G中通向它的每个后裔节点的 指针方向。
相关文档
最新文档