第4章 与或图搜索

合集下载

与或图搜索问题

与或图搜索问题

与或图搜索问题的特点
组合优化问题
与或图搜索问题是一个典型的组 合优化问题,因为解决方案空间 通常非常大,需要采用高效的搜 索策略来找到最优解。
逻辑约束
与或图中的节点之间存在逻辑约 束,即某些节点必须同时满足与 (AND)或(OR)关系。
决策变量
与或图中的节点代表决策变量, 需要确定它们的取值以最大化目 标函数或满足特定条件。
03
与或图搜索问题的求解算法
深度优先搜索算法
深度优先搜索是一种用于遍历或搜索树 或图的算法。该算法会尽可能深地搜索 树的分支,当节点v的所在边都己被探 寻过,搜索将回溯到发现节点v的那条
边的起始节点。
深度优先搜索算法适合求解与或图中的 AND-OR图问题,可以找到所有解或
最优解。
算法步骤:选择一个起始节点,标记为 已访问,然后递归地搜索与该节点关联 的所有未被访问的节点,直到所有节点
与或图搜索问题的求解目标
找到最优解
与或图搜索问题的求解目标是找到满足所有 逻辑约束的节点组合,以最大化目标函数或 满足特定条件。
高效求解
由于与或图搜索问题通常具有较大的解决方案空间 ,因此需要采用高效的搜索策略和启发式算法来快 速找到最优解。
实际应用
与或图搜索问题在许多实际应用中具有广泛 的应用,如电路设计、计划调度、物流优化 等。
路径规划
在路径规划问题中,与或图搜索问题可以用于寻找满足特定条件的路径, 如最短路径、最少花费路径等,使得路径能够连接起点和终点。
02
与或图搜索问题概述
与或图搜索问题的定义
与或图搜索问题是一种组合优化问题,旨在寻找满足一系列与 (AND)或(OR)逻辑关系的节点组合。
它通常由一个有向图表示,其中节点表示决策变量,边表示 逻辑关系。

第4章 图搜索策略

第4章  图搜索策略

4.1.1 通用或图搜索算法
或图通用搜索算法:
设S0 :初始状态, Sg:目标状态 1. 产生一仅由S0组成的open表,即open=(S0); 2. 产生一个空的closed表; 3. 如果open为空,则失败退出; 4. 在 open 表上按某一原则选出第一个优先结点, 称为n,将n放到closed表中,并从open表中去掉 n;
4.1.2 A算法与A*算法
由定义有 f(n’ ) =g(n’ ) +h(n’ ) =g*(n’ ) +h(n’ ) (因为n’在最优路径上) ≤ g*(n’ ) +h*(n’ ) =f*(n’ ) =f*(S0 ) (由于A*的定义h(n) ≤h*(n)) 所以f(n’)≤f*(S0)成立。
4.1.2 A算法与A*算法
推论1 若问题有解,A*算法一定终止。
(2-1)
因为若A*算法不终止,则命题2的
f(n)≥g(n)≥g*(n)≥d*(n)· e
与命题3的
f(n’)≤f*(S0) (2-2)
同时成立,则产生矛盾。
4.1.2 A算法与A*算法
命题 4 若问题有解, A* 算法终止时一定 找到最优解, 即A*算法是可采纳的。
4.1.1 通用或图搜索算法
注1 : 若生成的后继节点放于:
( 1 ) Open 表的尾部 —— 相当于 Breadth-firstsearch;
( 2 ) Open 表 的 首 部 —— 相 当 于 Depth-firstsearch; (3)根据启发式函数f的估计值确定最佳者,放 于Open 表的首部——相当于Best-first-search 最佳优先搜索。
证:A*终止只有两种情况。 (1) 在第3步, 因open为空而失败退出 但由命题 3 可知: A* 终止前, open 表上必 存在一点n’,满足 f(n’)≤f*(S0) 即open表不会空,所以,不会终止于第3步。

与或图

与或图
与或图的搜索 及应用
北京信息科技大学 孙骏 2014.05.13
与或图的搜索策略
1 与或图的一般搜索过程 2 与或图的广度优先搜索
3 与或图的深度优先搜索
4 与或图的有序搜索 5 博弈树的启发式搜索
1 与或图的一般搜索过程

与图: 把一个原问题分解为若干个子问题,P1,P2, P3,…可用“与图”表示;P1,P2,P3,…对应的子问
S0 2
A 6 t1 5 t2 E C 1 t3 2 F 3 1 2 B 2
D 1 G 1
t4 2 t5
解:左边解树, 按和代价:h(A)=11 h(S0)=13; 按最大代价:h(A)=6 h(S0)=8; 右边解树, 按和代价:h(G)=3, h(D)=4, h(B)=6, h(S0)=8; 按最大代价:h(G)=2, h(D)=3, h(B)=5, h(S0)=7
P
E
F
2
G
0 0 2 2 0 0
H
3
2
h(N)=2, h(P)=7, h(C)=3, h(A)=8 左子树h(S0)=9
3
2
2
2
三阶梵塔问题
1 2 3 1 2 3
A
A
B C
B C
初始配置
目标配置

问题描述: 采用三元组表示状态: S=(i,j,k) 其中,i, j, k分别表示金片C,B,A所在的钢针号。 初始状态(1,1,1),目标状态(3,3,3)
a
4-5=-1 b
5-4=1
5-5=0
5-5=0
6-6=0
程可用一个“与或图”来表示
P P1 P11 P12 P2 P31 P3 P32 P33

(搜索推理技术-与或树搜索)

(搜索推理技术-与或树搜索)

7、无判断起始节点1可解
8、从OPEN中删除含有可解先辈节点的节点
删除
OPEN= { B, C, t1, 10, 11, 12, A, t2, t3 }
CLOSED= { 1, 2, 3, 4, 5, 6, 7, 8, 9 } OPEN= {t1, 10, 11, 12, t2, t3}
CLOSED= {1, 2, 3, 4, 5, 6, 7, 8, 9} 说明:对于OPEN表中的叶节点直接移到 CLOSED表,不作任何处理
OPEN= {9, B, C, t1, 10, 11, 12, A} CLOSED= {1, 2, 3, 4, 5, 6, 7, 8}
第九大循环(3、4、5、6、7、8步): 3、从OPEN表中取出节点9,并送到CLOSED表 4、扩展节点9,生成后继节点 t2、t3,并送到 OPEN表的末端 5、有叶节点 6、实现可解标志过程(可以判断节点9、4、2可解)
即OPEN是堆栈
注意
由于深度限制,深度优先搜索算法有可能找不 到解
例:
深度界限为4

2
1


6

3
Ⅹ A √ √
7 √
C

4
5
8
t

Ⅹ B
t
t
t
t




注:后生成的节点画在左边
课堂练习:用宽度和深度优先搜索算法找出解树
提示:对于宽度优先搜索,先生成的节点画在左;
对于深度优先搜索,后生成的节点画在左
CLOSED= { 1, 2, 3, 4, 5, 6, 7, 8, 9, t1, 10 }
搜索过程演示

与或图搜索问题

与或图搜索问题

f
0
0 1
d b
0 3
m h
1
1
n e
k i
-3 1
6
a
0
c
-3
3
g
5 4
6
j
0
5
-3
3 3
-3
0
2
2
-3
0
-2
3 5 4
1
-3
0 6
8 9
-3
α-β剪枝
极大节点的下界为α。 极小节点的上界为β。 剪枝的条件:
后辈节点的β值≤祖先节点的α值时, α剪枝 后辈节点的α 值≥祖先节点的β值时, β剪枝
α-β剪枝的其他应用
故障诊断
A 风险投资
B
C
D
1
极大
1
b
0
极小
6
a
0
3
1
0
-3
3
-3
-3
-2
1
-3
6
-3
0
5
-3
3 3
-3
0
2
2
-3
0
-2
3 5 4
1
-3
0 6
8 9
-3
5 α-β剪枝
设某博弈问题如下图所示,应用极小极大方法进行搜索。假设搜索的 顺序为从下到上,从左到右。当计算完a的值为0后,由于b是极大节 点,马上就可以知道b的值大于等于0。接下来求c的值。由于c是极小 节点,由d的值为-3,知道c的值小于等于-3。而a和c都是b的子节点, 所以即便不扩展节点e,也可以知道b的值一定为0了。所以在这种情 况下,没有生成节点e的必要。同样,在知道b的值为0后,由于k是极 小节点,所以立即知道k的值要小于等于0。而通过节点f、g,知道h 的值至少为3。这样即便不扩展A所包围的那些节点,也能知道k的值 一定为0。所以A包围的那些节点也没有生成的必要,不管这些节点取 值如何,都不影响k的值。如果在搜索的过程中,充分利用这些信息, 不就可以少生成很多节点,从而提高搜索的空间利用率吗?α-β过程 正是这样一种搜索方法。

人工智能中图搜索算法(PDF 159页)

人工智能中图搜索算法(PDF 159页)

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

人工智能技术导论(第三版)

人工智能技术导论(第三版)
member(X, [_|T])if member(X,T). road(A,B,D):-road(B,A,D).% 因为没向图
road(
“西安”
,”北京”
,1165).
road(
“西安”
,”上海”
,1511)
road(
“西安”
,“广州”
,2129).
road(
“西安”
,”昆明”
,1942)
road(
legal1((X,Y)):-X>=Y,X>=0,Y>=0.
update((X,Y,0),Move,Statu1):-
(A,B)=X,
(C,D)=Y,
(E,F)=Move,
C1 is C+E,
D1 is D+F,
A1 is A-E,
B1 is B-F,
Statu1=((A1,B1),(C1,D1),1).
若传教士和野人的数目均为五人,渡船至多可乘三人,请定义一个启发函数,并给出相 应的搜索树。
解:
( 1)设计该问题的状态。例如:((左岸牧师数,左岸野人数 ),( 右岸牧师数,右岸野人数),船的位置)。(2)定义目标状态。这里是: ((0,0),(3,3),1)(3)描述可能的动作。船上所
能够载人的状态就是可能的操作。用谓词move/2表示。( 4) 判断合法状态( 5)深度优先
update((X,Y,1),Move,Statu1):-
(A,B)=X,
(C,D)=Y,
(E,F)=Move,
C1 is C-E,
D1 is D-F,
A1 is A+E,
B1 is B+F, Statu1=((A1,B1),(C1,D1),0). connect(Statu,Statu1):- move(X,Y), update(Statu,(X,Y),Statu1), legal(Statu1). findroad(X,X,L,L):-write(L). findroad(X,Y,L,L1):- connect(X,Z), not(member(Z,L)), findroad(Z,Y,[Z|L],L1).

[笔记]人工智能一种现代的方法(第3版)第4章超越经典的搜索

[笔记]人工智能一种现代的方法(第3版)第4章超越经典的搜索

第4章超越经典的搜索1 局部搜索算法和最优化问题1.1 爬山法(贪婪局部搜索)1.1.1 爬山法(最陡上升版本)1.1.2 随机爬山法1.1.3 首选爬山法1.1.4 随机重启爬山法1.2 模拟退火搜索1.2.1 特点1.3 局部束搜索(Local beam search)1.4 遗传算法(Genetic algorithm,GA)1.4.1 例子:八皇后问题1.4.2 遗传算法伪代码:2 使用不确定动作的搜索2.1 与或搜索树3 使用部分可观察信息的搜索3.1 无观察信息的搜索3.2 部分可观察问题的搜索3.2.1 联机搜索4 总结1 局部搜索算法和最优化问题在第3章中讨论的无信息搜索和有信息搜索有如下性质:环境都是在可观察、确定的、已知的,问题解是一个行动序列。

本章将不受这些环境性质的约束,讨论局部搜索(local search)算法,考虑对一个或多个状态进行评价和修改,而不是系统地搜索从初始状态开始的路径。

局部搜索(local search)算法:从单个当前结点出发,通常只移动到它的邻近状态而不保留搜索路径局部搜索不关心路径代价,但是关注解状态。

Agent不知道前面的状态,只知道当前的状态。

比如八皇后问题,不关心是怎么到目的状态的,只关心最终布局对不对,许多重要应用都有这样的性质,如作业空间调度,自动程序设计等。

虽然局部搜索算法不是系统化的,但是有两个关键优点:占用内存少,通常只用常数级的内存通常能在系统化算法不适用的很大或无限的(连续的)状态空间中找到合理的解。

此外,局部搜索算法对于解决纯粹的最优化问题十分有用,其目标是根据目标函数找到最佳状态。

如果存在解,最优的局部搜索算法总能找到全局最大/最小值???1.1 爬山法(贪婪局部搜索)定义:不断向值增大的方向移动,直到到达局部最优。

也被称为贪婪局部搜索,因为它只选择邻居中状态最好的一个,而不考虑下一步怎么走。

贪婪算法很容易改善一个坏的状态,但却经常陷入局部最优无法跳出。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 在与或图上执行搜索的过程,其目的在于表明起始节点 在与或图上执行搜索的过程, 是有解的,也就是说,搜索不是去寻找目标节点, 是有解的,也就是说,搜索不是去寻找目标节点,而是 寻找一个解图。 寻找一个解图。 • 一个节点被称为是能解节点(SOLVED),其递归定义为: 一个节点被称为是能解节点(SOLVED),其递归定义为: 能解节点(SOLVED) –1.终节点是能解节点(直接与本原问题相关联); 1 终节点是能解节点(直接与本原问题相关联); –2.若非终节点,且有“或”子节点时,当且仅当其 2 若非终节点,且有“ 子节点时, 子节点至少有一个能解 ,该非终节点才能解; 该非终节点才能解; –3.若非终节点,且有“与”子节点时,当且仅当其 3 若非终节点,且有“ 子节点时, 子节点均能解,该非终节点才能解。 子节点均能解,该非终节点才能解。
4.4 AO*算法
假设: 假设: • 估价函数q(n)、启发函数h(n); 估价函数q(n)、启发函数h(n); q(n) h(n) • G为当前扩展生成的与或图; 为当前扩展生成的与或图; • G′为一侯选局部解图,是G的一个子图; 为一侯选局部解图, 的一个子图; • h(n)是节点n的启发函数; h(n)是节点n的启发函数; 是节点 • q(n)是节点n的估价函数,是从节点n到一组叶节 q(n)是节点n的估价函数,是从节点n 是节点 点的一个最优解图的代价估计,初始值为h(n) h(n); 点的一个最优解图的代价估计,初始值为h(n);
• 一个节点被称为是不能解节点(UNSOLVED),其递 一个节点被称为是不能解节点(UNSOLVED), 不能解节点(UNSOLVED) 归定义为: 归定义为: –1.没有后裔的非终节点是不能解的节点; 1 没有后裔的非终节点是不能解的节点; –2.若非终节点,且有“或”子节点时,当且仅 2 若非终节点,且有“ 子节点时, 当所有子节点均不能解时,该非终节点不能解; 当所有子节点均不能解时,该非终节点不能解; –3.若非终节点,且有“与”子节点时,当至少 3 若非终节点,且有“ 子节点时, 有一子节点不能解时,该非终节点不能解。 有一子节点不能解时,该非终节点不能解。
建立含n的单一节点集合S. 7 、S:=(n); 建立含n的单一节点集合S. S为空 为空, 8、 Until S为空, do: 9、 11 、 指向节点集(n 的每一个连接符i • 对m指向节点集(n1i,n2i,…nki) 的每一个连接符i分别计算 n qi(m)=Ci+q(n1i)+…+q(nki),修改m的耗散值q(m),q(m):= min )+ +q(n ),修改m的耗散值q(m), 修改 q(m) (m)。 qi(m)。 加指针到min (m)的连接符上 或把指针修改到min (m)的连 的连接符上, • 加指针到min qi(m)的连接符上,或把指针修改到min qi(m)的连 接符上。 接符上。 SOLVED);//若该连接符的所有子节 • IF M(nji, SOLVED) THEN M(m, SOLVED);//若该连接符的所有子节
• 解图是包含某节点n到终节点集合N的、连通的能 解图是包含某节点n 终节点集合N 解节点的子图,其定义如下: 解节点的子图,其定义如下: • 一个与或图G中,从节点 n 到终节点集合N的解 一个与或图G 到终节点集合N 的子图。 图记为 G′, G′是G的子图。
–若 n 是 N 的一个元素,则 G′由单个节点n组成; 若 的一个元素, 由单个节点n组成; –若 n 有一个指向节点集{n1…,nk}的外向连接符 K, 若 有一个指向节点集{n ,n 并且每一个节点n (i=1,…,k) ,k), 并且每一个节点ni到N都有一个解图 (i=1, ,k),则 连接符K G′由节点 n,连接符K,以及 {n1 ,…,nk}中的每一个 ,n 节点到N的解图组成; 节点到N的解图组成; –否则 n 到 N 不存在解图。 否则 不存在解图。
P

R
Q
4.2 与或图
• 与节点:一个归约算子把单个问题变为几个子问题组 与节点: 成的集合,只有当所有子问题都有解, 成的集合,只有当所有子问题都有解,该父辈节点才 有解。这种关系称为“ 关系, 有解。这种关系称为“与”关系,对应节点称为与节 点。 • 与节点由与运算连接,如下图中Q和R,并用一条弧线 与节点由与运算连接,如下图中Q 将相关的边连接起来,弧线及所相关的边被称为超弧。 将相关的边连接起来,弧线及所相关的边被称为超弧。 • 超弧包含的边数(K)被称为该超弧的度,度为K的超 超弧包含的边数( 被称为该超弧的度,度为K 弧也称为K-连接符。
点都是能解的, 点都是能解的,则m也能解
begin
10、 (S),REMOVE(m,S);//子节点不在集合 的节点m 子节点不在集合S 10、当mc∉(S),REMOVE(m,S);//子节点不在集合S的节点m
S); 12 、IF M(m, SOLVED) ∨ (q(m) ≠ q0(m)) THEN ADD(ma, S);//m
• 与或图包含超弧,因此也称为超图。 与或图包含超弧,因此也称为超图。 超图
P
R
Q
• 问题归约描述对应的与或图中
–原始问题描述对应于起始节点(或根节点), 原始问题描述对应于起始节点(或根节点), 原始问题描述对应于起始节点 –本原问题所对应的节点叫做叶节点。 本原问题所对应的节点叫做叶节点。 本原问题所对应的节点叫做叶节点 –在某些特殊情况下,不出现任何与节点(所有 在某些特殊情况下,不出现任何与节点( 在某些特殊情况下 超弧度都为1),此时的图是普通图,问题归 约描述即是状态空间描述。 约描述即是状态空间描述。
能解或修正的耗散值与原先估算q 不同,则把m的所有先辈节点m 添加到S 能解或修正的耗散值与原先估算q0不同,则把m的所有先辈节点ma,添加到S中
13、 (与 匹配) 13、end (与9匹配) 14、 (与 匹配) 14、end (与3匹配) • AO*搜索算法可以理解为两个主要过程的重复。 搜索算法可以理解为两个主要过程的重复。
• 具有最小耗散值的解图称为最佳解图,其值用 具有最小耗散值的解图称为最佳解图, (n)标记 待求解问题的解图的值为h (s)。 标记。 h*(n)标记。待求解问题的解图的值为h*(s)。
• 解图的求法是:从节点n开始,正确选 解图的求法是:从节点n开始, 择一个外向连接符, 择一个外向连接符,如此进行下去直 到由此产生集合N中的所有元素为止。 到由此产生集合N中的所有元素为止。 • 图4-3给出了n0→{n7,n8}的三个解图 给出了n 耗散值分别为8 (耗散值分别为8,7,5)。
kkkk-
–4-6步:自上而下的图生长过程。 4 自上而下的图生长过程。
• 先通过有标记的连接符,找到目前为止最好的一个局部解 先通过有标记的连接符, 然后对其中一个非终节点进行扩展, 图,然后对其中一个非终节点进行扩展,并对其后继节点 估计耗散值和加能解标记。 估计耗散值和加能解标记。
–7-12步:自下而上的估价函数值的修正、指针的标 7 12步 自下而上的估价函数值的修正、 记和SOLVED的标注过程。 SOLVED的标注过程 记和SOLVED的标注过程。
• 归约法的问题表示由下列三部分组成: 归约法的问题表示由下列三部分组成: –1)一个初始问题的描述; 1 一个初始问题的描述; –2)一组把问题变成子问题的算子; 2 一组把问题变成子问题的算子; –3) 一组本原问题的描述 3 • 同一问题产生的若干子问题之间的关系是 同时的” 可以用“与或图” “同时的”,可以用“与或图”表示问题 归约的状态空间。 归约的状态空间。
第四章 与或图搜索
• 4.1 问题归约法 • 4.2 与或图 • 4.3 与或图搜索 • 4.4 AO*算法 • 4.5 博弈树的搜索
4.1 问题归约法
• 当问题复杂时,可把初始问题分解成若干简单 当问题复杂时, 的子问题,若子问题仍复杂,可再进一步分解, 的子问题,若子问题仍复杂,可再进一步分解, 直到这些子问题的解可直接得到。 直到这些子问题的解可直接得到。这种问题的 描述和求解方法,称为问题归约法。 描述和求解方法,称为问题归约法。 • 可直接解答的问题称为本原问题,是不必证明 可直接解答的问题称为本原问题, 自然成立的。 的、自然成立的。
• 如果n=s为初始节点,则此解图是所求解问题的 如果n=s为初始节点, n=s为初始节点 解图。 解图。
• 与或图中耗散值的计算。 与或图中耗散值的计算。
–设连接符的耗散值规定为,k-连接符耗散值=k,则 设连接符的耗散值规定为, 连接符耗散值=k, 设连接符的耗散值规定为 =k 解图耗散值k(n, N)可递归计算如下 可递归计算如下: 解图耗散值k(n, N)可递归计算如下:
4.2 与或图
• 或节点:几个算子适用于同一个问题,从而产 或节点:几个算子适用于同一个问题, 生不同的后继问题集合。 生不同的后继问题集合。这时只要有一个后继 问题有解,该父辈问题有解,此时关系是“ 问题有解,该父辈问题有解,此时关系是“或” 关系,对应节点称为或节点。 关系,对应节点称为或节点。 • 或节点由或运算连接,如下图中的Q和R 或节点由或运算连接,如下图中的Q
• 若n是N的一个元素,则k(n, N)=0; 的一个元素, N)=0; • 若n有一个外向连接符指向后继节点集合{n1…,ni},并设 有一个外向连接符指向后继节点集合{n ,n 该连接符的耗散值为C N)+…+k(n N)。 该连接符的耗散值为Cn,则k(n, N)=Cn+k(n1, N)+ +k(ni, N)。
THEN
s已标记为 已标记为SOLVED, 2、 Until s已标记为SOLVED, do: :=FIND(G)。//根据连接符标记 指针)找出(选择) 根据连接符标记( 4、 G′ :=FIND(G)。//根据连接符标记(指针)找出(选择)一个待扩展的 n:=G′中的任一非终节点 一非终节点。 5、 n:=G′中的任一非终节点。 EXPAND(n),生成子节点集 生成子节点集{n 6、 EXPAND(n),生成子节点集{ni}, },G),计算 计算q(n IF ni∉G,G:=ADD({ni},G),计算q(ni)=h(ni), ,SOLVED)。 IF GOAL(ni) THEN M(ni,SOLVED)。
相关文档
最新文档