图搜索与问题求解
合集下载
图搜索问题求解(二)

1
0
1
1
1
1
0
0
1
1
1
0
0
0
1
0
1
1
1
0
0
0
0
0
0
[实现提示]
可使用回溯方法,即从入口出发,顺着某一个方向进行探索,若能走通,则继续往前进;
否则沿着原路退回,换一个方向继续探索,直至出口位置,求得一条通路。假如所有可能的
通路都探索到而未能到达出口,则所设定的迷宫没有通路。
二实验过程记录:
1、打开Eclipse,新建一个public Position文件,输入如下函数代码:
pos =stack.pop();
newPos.push(pos);
}
}
/*
*图形化输出路径
* */
String resault[][]=newString[row+1][col+1];
for(intk=0;k<row;++k){
for(intt=0;t<col;++t){
resault[k][t]=(maze[k][t])+"";
p[i - 1][j] =true;
stack.push(newPosition(i - 1, j));
i--;
}else{
stack.pop();
if(stack.empty()){
break;
}
i =stack.peek().row;
j =stack.peek().col;
}
}
Stack<Position> newPos =newStack<Position>();
0
1
1
1
1
0
0
1
1
1
0
0
0
1
0
1
1
1
0
0
0
0
0
0
[实现提示]
可使用回溯方法,即从入口出发,顺着某一个方向进行探索,若能走通,则继续往前进;
否则沿着原路退回,换一个方向继续探索,直至出口位置,求得一条通路。假如所有可能的
通路都探索到而未能到达出口,则所设定的迷宫没有通路。
二实验过程记录:
1、打开Eclipse,新建一个public Position文件,输入如下函数代码:
pos =stack.pop();
newPos.push(pos);
}
}
/*
*图形化输出路径
* */
String resault[][]=newString[row+1][col+1];
for(intk=0;k<row;++k){
for(intt=0;t<col;++t){
resault[k][t]=(maze[k][t])+"";
p[i - 1][j] =true;
stack.push(newPosition(i - 1, j));
i--;
}else{
stack.pop();
if(stack.empty()){
break;
}
i =stack.peek().row;
j =stack.peek().col;
}
}
Stack<Position> newPos =newStack<Position>();
《人工智能导论》第3章 图搜索与问题求解

(4)对其余子节点配上指向N的返回指针后放入OPEN表中 某处, 或对OPEN表进行重新排序, 转步2。
第 3 章 图搜索与问题求解 图 3-5 修改返回指针示例
第 3 章 图搜索与问题求解
说明:
(1) 这里的返回指针也就是父节点在CLOSED表中的编 号。
(2) 步6中修改返回指针的原因是, 因为这些节点又被第 二次生成, 所以它们返回初始节点的路径已有两条, 但这两 条路径的“长度”可能不同。 那么, 当新路短时自然要走 新路。
第 3 章 图搜索与问题求解
3.1.5 加权状态图搜索
1.加权状态图与代价树
例3.6 图3-9(a)是一个交通图,设A城是出发地,E城 是目的地, 边上的数字代表两城之间的交通费。试求 从A到E最小费用的旅行路线。
第 3 章 图搜索与问题求解 图 3-9 交通图及其代价树
第 3 章 图搜索与问题求解
第 3 章 图搜索与问题求解
3. 状态图表示
一个问题的状态图是一个三元组 (S, F, G)
其中S是问题的初始状态集合, F是问题的状态转换 规则集合, G是问题的目标状态集合。
一个问题的全体状态及其关系就构成一个空间, 称为状态空间。所以,状态图也称为状态空间图。
第 3 章 图搜索与问题求解
例 3.7 迷宫问题的状态图表示。
的返回指针和f(x)值, 修改原则是“抄f(x)
”。
(2)对其余子节点配上指向N的返回指针后放入OPEN表中, 并对OPEN表按f(x)值以升序排序, 转步2。
第 3 章 图搜索与问题求解
算法中节点x的估价函数f(x)的计算方法是 f(xj)=g(xj)+h(xj) =g(xi)+c(xi, xj)+h(xj) (xj是xi的子节点)
第 3 章 图搜索与问题求解 图 3-5 修改返回指针示例
第 3 章 图搜索与问题求解
说明:
(1) 这里的返回指针也就是父节点在CLOSED表中的编 号。
(2) 步6中修改返回指针的原因是, 因为这些节点又被第 二次生成, 所以它们返回初始节点的路径已有两条, 但这两 条路径的“长度”可能不同。 那么, 当新路短时自然要走 新路。
第 3 章 图搜索与问题求解
3.1.5 加权状态图搜索
1.加权状态图与代价树
例3.6 图3-9(a)是一个交通图,设A城是出发地,E城 是目的地, 边上的数字代表两城之间的交通费。试求 从A到E最小费用的旅行路线。
第 3 章 图搜索与问题求解 图 3-9 交通图及其代价树
第 3 章 图搜索与问题求解
第 3 章 图搜索与问题求解
3. 状态图表示
一个问题的状态图是一个三元组 (S, F, G)
其中S是问题的初始状态集合, F是问题的状态转换 规则集合, G是问题的目标状态集合。
一个问题的全体状态及其关系就构成一个空间, 称为状态空间。所以,状态图也称为状态空间图。
第 3 章 图搜索与问题求解
例 3.7 迷宫问题的状态图表示。
的返回指针和f(x)值, 修改原则是“抄f(x)
”。
(2)对其余子节点配上指向N的返回指针后放入OPEN表中, 并对OPEN表按f(x)值以升序排序, 转步2。
第 3 章 图搜索与问题求解
算法中节点x的估价函数f(x)的计算方法是 f(xj)=g(xj)+h(xj) =g(xi)+c(xi, xj)+h(xj) (xj是xi的子节点)
第3章 图搜索与问题求解

( 4 )对其余子节点配上指向 N 的返回指针后放入 OPEN 表 中某处,或对OPEN表进行重新排序,转步2。
3.1.2 状态图搜索
树式算法的几点说明
返回指针指的是父节点在CLOSED表中的编号。 步6中修改指针的原因是返回初始节点的路径有两 条,要选择“短”的那条路径。 这里路径长短以节点数来衡量,在后面将会看到以 代价来衡量。按代价衡量修改返回指针的同时还要 修改相应的代价值。
3.1.2 状态图搜索
1 搜索方式
树式搜索 在搜索过程中记录所经过的所有节点和边。树式搜 索所记录的轨迹始终是一棵树,这棵树也就是搜索过 程中所产生的搜索树。 线式搜索 在搜索过程中只记录那些当前认为在所找路径上的 节点和边。
不回溯线式搜索 可回溯线式搜索
3.1.2 状态图搜索
2 搜索策略
3.1.2 状态图搜索
搜索:从初始节点出发,沿着与之相连的边试探 地前进,寻找目标节点的过程。 搜索过程中经过的节点和边,按原图的连接关系, 便会构成一个树型的有向图,这种树型有向图称 为搜索树。 搜索进行中,搜索树会不断增长,直到当搜索树 中出现目标节点,搜索便停止。这时从搜索树中 就可很容易地找出从初始节点到目标节点的路径 (解)来。
八数码深度优先搜索
…
3.1.4 启发式搜索
• 启发式搜索的目的 利用知识来引导搜索,达到减少搜索范围,降低问题复 杂度。 • 启发性信息的强弱 强:降低搜索的工作量,但可能导致找不到最优解。 弱:一般导致工作量加大,极限情况下变为盲目搜索, 但可能可以找到最优解。
3.1.4 启发式搜索
启发函数
步5 扩展N,选取其一个未在CLOSED表中出现过的
第3章 图搜索与问题求解

第 3 章 图搜索与问题求解
S:So F : { (So, S4), (S4, So), (S4, S1), (S1, S4), (S1,S2), (S2, S1), (S2, S3), (S3, S2), (S4, S7), (S7, S4), (S4, S5), (S5, S4), (S5, S6), (S6, S5), (S5, S8), (S8, S5), (S8, S9), (S9, S8), (S9, Sg)}
(4)对其余子节点配上指向N的返回指针后放入OPEN表中某 处, 或对OPEN表进行重新排序, 转步2。
第 3 章 图搜索与问题求解 图 3-5 修改返回指针示例
第 3 章 图搜索与问题求解
(1) 这里的返回指针也就是父节点在CLOSED表中的编号。 (2) 步6中修改返回指针的原因是, 因为这些节点又被第 二次生成, 所以它们返回初始节点的路径已有两条, 但这两 条路径的“长度”可能不同。 那么, 当新路短时自然要走新 路。 (3) 这里对路径的长短是按路径上的节点数来衡量的, 后面我们将会看到路径的长短也可以其“代价”(如距离、费 用、时间等)衡量。若按其代价衡量, 则在需修改返回指针的 同时还要修改相应的代价值, 或者不修改返回指针也要修改 代价值(为了实现代价小者优先扩展)。
第 3 章 图搜索与问题求解 图 3-8 八数码问题的全局择优搜索
第 3 章 图搜索与问题求解
例 3.5 用全局择优搜索法解八数码难题。初始棋 局和目标棋局同例3。
解 设启发函数h(x)为节点x的格局与目标格局相 比数码不同的位置个数。以这个函数制导的搜索树如图 3-8所示。此八数问题的解为:So, S1, S2, S3, Sg。
(1)考察是否有已在OPEN表或CLOSED表中存在的节点;若有
人工智能中图搜索算法(PDF 159页)

图4—5 八数码问题的广度优先搜索
第9页
第4章 图搜索技术
以上两个问题都是在某个有向图中寻找目标或路径问 题,这种问题图搜索问题。把描述问题的有向图称为状态 空间图,简称状态图。图中的节点代表问题中的一种格局, 一般称为问题的一个状态,边表示两个状态之间的联系。 在状态图中,从初始节点到目标节点的一条路径或者所找 到的目标节点,就是问题的解(路径解)。
谓搜索,顾名思义,就是从初始节点出发,沿着与之相连 的边试探地前进,寻找目标节点的过程(也可以反向进行)。 搜索过程中经过的节点和边,按原图的连接关系,形成树 型的有向图,称为搜索树。搜索过程应当随时记录搜索痕 迹。
1.搜索方式 用计算机来实现状态图的搜索,有两种最基本的方式: 树式搜索和线式搜索。 所谓树式搜索,形象地讲就是以“画树”的方式进行 搜索。 即从树根(初始节点)出发一笔一笔地描出来的。
状态图实际上是一类问题的抽象表示。事实上,有许
多智力问题(如梵塔问题、旅行商问题、八皇后问题、农
夫过河问题等)和实际问题(如路径规划、定理证明、演
绎推理、机器人行动规划等)都可以归结为在某一状态图
中寻找目标或路径的问题。因此,研究状态图搜索具有普
遍意义。
第10页
第4章 图搜索技术
4.1.2 状态图搜索 在状态图中寻找目标或路径的基本方法就是搜索。所
第4章 图搜索技术
3. 搜索算法 由于搜索的目的是为了寻找初始节点到目标节点 的路径,所以在搜索过程中就得随时记录搜索轨迹。 为此,我们用一个称为CLOSED表的动态数据结构来 专门记录考查过的节点。显然,对于树式搜索来说, CLOSED表中存储的正是一棵不断成长的搜索树;而 对于线式搜索来说,CLOSED表中存储的是一条不断 伸长的折线,它可能本身就是所求的路径(如果能找到 目标节点的话)。
第4章+图搜索技术_2(启发式)

g=0
h=3 f=3
A
优先队:FBH
设g 为已搜索的路程代价 h 为将付出的估计代价
F g=1 h=2 f=3 G h=1
B g=1 h=3 f=4
H g=1 h=4 f=5
F
h=3 A
h= 2
h=3
B
h=4
C
初始结点
h=2 h=3
D
h=1 h=2
E
h=0
目标结点
H
I
J
第4章 图搜索技术
(d)
A
算出f值对OPEN表重排序
(3)用于删除节点的选择,即用于决定应删除哪些
无用节点,以免造成进一步的时空浪费。
第4章 图搜索技术
一般来说启发信息过弱,产生式系统在找到一条 路径之前将扩展过多的节点,即求得解路径所需搜索 的耗散值(搜索花费的工作量)较大;相反引入强的 启发信息,有可能大大降低搜索工作量,但不能保证 找到最小耗散值的解路径(最佳路径),因此实际应
模式,需要具体问题具体分析。通常可以参考的思路 有:一个节点到目标节点的某种距离或差异的度量; 一个节点处在最佳路径上的概率;或者根据经验的主 观打分等等。例如,对于八数码难题,用h(x)就可表 示节点x的数码格局同目标节点相比,数码不同的位 置个数。
第4章 图搜索技术
4.启发式搜索算法
启发式搜索要用启发函数来导航,其搜索算法就 要在状态图一般搜索算法基础上再增加启发函数值的 计算与传播过程,并且由启发函数值来确定节点的扩 展顺序。为简单起见,下面我们仅给出树型图的树式 搜索的两种策略。
第4章 图搜索技术
4.1.5 加权状态图搜索
1. 加权状态图与代价树 例4.6 图4—8(a)是一个交通图,设A城是出发地,E 城是目的地,边上的数字代表两城之间的交通费。试 求从A到E最小费用的旅行路线。
人工智能课件 第二章 问题求解的基本方法

1
1 7 6
0 2 8
3 4 5
起始 节点
2
0 7 6
1 2 8
3 4 5
10
1 7 6
2 0 8
3 4 5
1 7 6
3 2 8
0 4 5
3
11
7 0 6 1 2 8 3 4 5 1 0 6 2 7 8 3 4 5
16
1
7 6
2
8 0
3
4 5
1 7 6
2 4 8
3 0 5
1 7 6
3 2 8
4 0 5
(0,0,0)
(1,0,0)
(2,0,0)
(3,0,0)
(0,0,1)
(0,1,0)
(1,0,1)
(1,1,0)
(2,0,1)
(2,1,0)
(3,0,1)
(3,1,0)
(0,1,1)
(0,2,0) (0,2,1) (0,3,0) (0,3,1)
(1,1,1)
(1,2,0) (1,2,1) (1,3,0) (1,3,1)
例2、八数码难题 (8 puzzle problem)
1
7 6 2 8
3
4 5
1
2
3
8
7 6
4
5
(a) 初始
(b) 目标
状态空间图 搜索图
搜索时直接涉及到的节点和弧线构成的图。
解答路径
例3、猴子和香蕉问题
在一个房间内有一只猴子,一个箱子和 一串香蕉。香蕉挂在天花板下方,但猴 子的高度不足以碰到它。那么这只猴子 怎么样才能摘到香蕉呢?
2.1.1 问题状态描述
第3章 图搜索与问题求解

(1) 把初始节点So放入CLOSED表中。 (2) 令N=So。 (3) 若N是目标节点,则搜索成功,结束。 (4) 若N不可扩展,则搜索失败,退出。 (5) 扩展N,选取其一个未在CLOSED表中出现过的子节 点N1放入CLOSED表中, 令N=N1, 转步(3)。
第 3 章 图搜索与问题求解
第 3 章 图搜索与问题求解
3.1.4 启发式搜索 1. 问题的提出
2. 启发性信息 按其用途划分, 启发性信息可分为以下三类: (1) 用于扩展节点的选择, 即用于决定应先扩展哪一个节 点, 以免盲目扩展。 (2) 用于生成节点的选择,即用于决定应生成哪些后续节点, 以免盲目地生成过多无用节点。 (3) 用于删除节点的选择,即用于决定应删除哪些无用节点, 以免造成进一步的时空浪费。
第 3 章 图搜索与问题求解
代价树的搜索。所谓代价,可以是两点之间的距离、交 通费用或所需时间等等。通常用g(x)表示从初始节点So到 节点x的代价, 用c(xi,xj)表示父节点xi到子节点xj的代价,即边 (xi,xj)的代价。从而有
g(xj)=g(xi)+c(xi, xj)
而 g(So)=0
第 3 章 图搜索与问题求解 2.深度优先搜索
第 3 章 图搜索与问题求解
深度优先搜索算法: (1) 把初始节点So放入OPEN表中。 (2) 若OPEN表为空, 则搜索失败, 退出。 (3) 取OPEN表中前面第一个节点N放入CLOSED表中,并 冠以顺序编号n。 (4) 若目标节点Sg=N, 则搜索成功,结束。 (5) 若N不可扩展, 则转步(2)。 (6) 扩展N, 将其所有子节点配上指向N的返回指针依次放 入OPEN表的首部, 转步(2)。
第 3 章 图搜索与问题求解
3. 最近择优法(瞎子爬山法) 把局部择优法算法中的h(x)换成g(x)就可得最近择优 法的算法。 例:用代价树搜索求解例3-6中给出的问题。 用分支界限法得到的路径为
第 3 章 图搜索与问题求解
第 3 章 图搜索与问题求解
3.1.4 启发式搜索 1. 问题的提出
2. 启发性信息 按其用途划分, 启发性信息可分为以下三类: (1) 用于扩展节点的选择, 即用于决定应先扩展哪一个节 点, 以免盲目扩展。 (2) 用于生成节点的选择,即用于决定应生成哪些后续节点, 以免盲目地生成过多无用节点。 (3) 用于删除节点的选择,即用于决定应删除哪些无用节点, 以免造成进一步的时空浪费。
第 3 章 图搜索与问题求解
代价树的搜索。所谓代价,可以是两点之间的距离、交 通费用或所需时间等等。通常用g(x)表示从初始节点So到 节点x的代价, 用c(xi,xj)表示父节点xi到子节点xj的代价,即边 (xi,xj)的代价。从而有
g(xj)=g(xi)+c(xi, xj)
而 g(So)=0
第 3 章 图搜索与问题求解 2.深度优先搜索
第 3 章 图搜索与问题求解
深度优先搜索算法: (1) 把初始节点So放入OPEN表中。 (2) 若OPEN表为空, 则搜索失败, 退出。 (3) 取OPEN表中前面第一个节点N放入CLOSED表中,并 冠以顺序编号n。 (4) 若目标节点Sg=N, 则搜索成功,结束。 (5) 若N不可扩展, 则转步(2)。 (6) 扩展N, 将其所有子节点配上指向N的返回指针依次放 入OPEN表的首部, 转步(2)。
第 3 章 图搜索与问题求解
3. 最近择优法(瞎子爬山法) 把局部择优法算法中的h(x)换成g(x)就可得最近择优 法的算法。 例:用代价树搜索求解例3-6中给出的问题。 用分支界限法得到的路径为
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第 3 章 图搜索与问题求解 八数码问题
图 3-3 八数码问题示例
第 3 章 图搜索与问题求解
3.2.2 状态图搜索
1. 搜索方式 • 树式搜索 • 线式搜索 2. 搜索策略 • 盲目搜索 • 启发式(heuristic)搜索
第 3 章 图搜索与问题求解 3. 搜索算法
图 3-4 OPEN表与CLOSED表示例
第 3 章 图搜索与问题求解
(1) 删除N的先辈节点(如果有的话)。
(2)对已存在于OPEN表的节点(如果有的话)也删除之; 但删除之前要比较其返回初始节点的新路径与原路径,如果 新路径“短”, 则修改这些节点在OPEN表中的原返回指针, 使其沿新路返回(如图3-5所示 )。
(3)对已存在于CLOSED表的节点(如果有的话), 做与(2)同 样的处理, 并且再将其移出CLOSED表, 放入OPEN表重新扩 展(为了重新计算代价)。
第 3 章 图搜索与问题求解
广度优先搜索算法: 步1 把初始节点So放入OPEN表中。 步2 若OPEN表为空, 则搜索失败,退出。 步3 取OPEN表中前面第一个节点N放在CLOSED表中, 并 冠以顺序编号n。 步4 若目标节点Sg=N,则搜索成功, 结束。 步5 若N不可扩展, 则转步2。
步6 扩展N, 将其所有子节点配上指向N的指针依次放入 OPEN表尾部, 转步2。
(4)对其余子节点配上指向N的返回指针后放入OPEN表中 某处, 或对OPEN表进行重新排序, 转步2。
第 3 章 图搜索与问题求解
第 3 章 图搜索与问题求解
说明:
(1) 这里的返回指针也就是父节点在CLOSED表中的编 号。
(2) 步6中修改返回指针的原因是, 因为这些节点又被第 二次生成, 所以它们返回初始节点的路径已有两条, 但这两 条路径的“长度”可能不同。 那么, 当新路短时自然要走 新路。
第 3 章 图搜索与问题求解
2.深度优先搜索
第 3 章 图搜索与问题求解
深度优先搜索算法: 步1 把初始节点So放入OPEN表中。 步2 若OPEN表为空, 则搜索失败, 退出。 步3 取OPEN表中前面第一个节点N放入CLOSED表中,并冠 以顺序编号n。 步4 若目标节点Sg=N, 则搜索成功,结束。 步5 若N不可扩展, 则转步2。
第 3 章 图搜索与问题求解
树式搜索算法:
步1 把初始节点So放入OPEN表中。 步2 若OPEN表为空, 则搜索失败, 退出。 步3 移出OPEN表中第一个节点N放入CLOSED表中, 并 冠以顺序编号n。 步4 若目标节点Sg=N, 则搜索成功, 结束。 步5 若N不可扩展, 则转步2。 步6 扩展N, 生成一组子节点, 对这组子节点做如下处理:
第 3 章 图搜索与问题求解
• 可回溯的线式搜索 步1 把初始节点So放入CLOSED表中。 步2 令N=So。 步3 若N是目标节点, 则搜索成功, 结束。 步4 若N不可扩展, 则移出CLOSED表的末端节点Ne,若 Ne=So,则搜索失败, 退出。否则, 以CLOSED表新的末端节点 Ne作为N,即令N=Ne, 转步4。 步5 扩展N, 选取其一个未在CLOSED表用出现过的子节 N1放入CLOSED表中, 令N=N1,转步3。
第 3 章 图搜索与问题求解
3.启发函数 启发函数是用来估计搜索树上节点x与目标节点Sg接
近程度的一种函数, 通常记为h(x)。 4.启发式搜索算法
1) 全局择优搜索 2) 局部择优搜索
第 3 章 图搜索与问题求解
全局择优搜索算法:
步1 把初始节点So放入OPEN表中,计算h(So)。 步2 若OPEN表为空,则搜索失败, 退出。 步3 移出OPEN表中第一个节点N放入CLOSED表中, 并冠 以序号n。 步4 若目标节点Sg=N, 则搜索成功, 结束。 步5 若N不可扩展, 则转步2。 步6 扩展N, 计算每个子节点x的函数值h(x), 并将所有子节 点配以指向N的返回指针后放入OPEN表中, 再对OPEN表中的所 有子节点按其函数值大小以升序排序,转步2。
第 3 章 图搜索与问题求解
图搜索与问题求解
3.1 概述 3.2 状态图与状态图搜索 3.3 状态图搜索问题求解
第 3 章 图搜索与问题求解
3.1 概述
第 3 章 图搜索与问题求解
3.2 状态图与状态图搜索
3.2.1 状态图 迷宫问题
图 3-1 迷宫图
第 3 章 图搜索与问题求解 图 3-2 迷宫的有向图表示
步6 扩展N, 将其所有子节点配上指向N的返回指针依次放 入OPEN表的首部, 转步2。
第 3 章 图搜索与问题求解
例 3-2 于八数码问题,应用深度优先搜索策略, 可得如图3-7所示的搜索树。
第 3 章 图搜索与问题求解
3.2.4 启发式搜索 1. 问题的提出 2. 启发性信息
按其用途划分, 启发性信息可分为以下三类: (1) 用于扩展节点的选择, 即用于决定应先扩展哪一个节点, 以免盲目扩展。 (2) 用于生成节点的选择,即用于决定应生成哪些后续节点, 以免盲目地生成过多无用节点。 (3) 用于删除节点的选择,即用于决定应删除哪些无用节点, 以免造成进一步的时空浪费。
第 3 章 图搜索与问题求解 3.2.3 穷举式搜索
1.广度优先搜索
图 3-6 八数码问题的广度优先搜索
第 3 章 图搜索与问题求解
例 3-1 用广度优先搜索策略求解八数码问题。 设初始节点So和目标节点Sg分别如图3-3的初始棋局和 目标棋局所示,我们用广度优先搜索策略,则可得到如 图3-6所示的搜索树。
(3) 这里对路径的长短是按路径上的节点数来衡量的, 后面我们将会看到路径的长短也可以其“代价”(如距离、 费用、时间等)衡量。若按其代价衡量, 则在需修改返回指 针的同时还要修改相应的代价值, 或者不修改返回指针也要 修改代价值(为了实现代价小者优先扩展)。
第 3 章 图搜索与问题求解
线式搜索算法: • 不回溯的线式搜索 步1 把初始节点So放入CLOSED表中。 步2 令N=So。 步3 若N是目标节点,则搜索成功,结束。 步4 若N不可扩展,则搜索失败,退出。 步5 扩展N,选取其一个未在CLOSED表中出现过的子节 点N1放入CLOSED表中, 令N=N1, 转步3。