研究生第2章(知识表示与推理6-与或树搜索)
合集下载
与或树搜索3启发式搜索

B 3
S0
A D
C 3 G
E 2
F
H
3
2
2
2
11
设对节点B扩展两层后 得到如图所示的与或树,节 点L的两个子节点是终止节 点,则按和代价法计算得到
g(L)=2, g(M)=6,
S0
A D
g(B)=3, g(A)=8
g(S0)=9, 继续对பைடு நூலகம்子树
B 3
C
E 2 G
F
H
扩展,扩展
节点C。
0
L
M 3 0 2 2 2 2 2
G
H
2
2
2
12
2
15
修屏蔽泵
仉睿聪奌
3.7.3启发式与或树搜索
有序搜索
解树的代价
希望树
与或树的有序搜索过程
1
盲目搜索小结
盲目搜索是按确定路线进行的,当要选择一个节点进行 扩展时,只是根据节点在与或树中所处的位置,而没有考虑 要付出的代价,因而求得的解树不一定是代价最小的解树, 即不一定是最优解树。
2
有序搜索
为了求得最优解树,就要在每次确定欲扩展的节点时, 先往前多看几步,计算一下扩展这个节点可能要付出的代价, 并选择代价最小的节点进行扩展。
S0
D
E 2 G
F
H
P
3 3 2 2 2 2
2
2
13
设节点C扩展两层后得到如图 所示的与或树,节点N的两个子节 点是终止节点,按和代价计算得到:
g(N)=2, g(P)=7, g(C)=3, g(A)=8,g(S0)=9 由于N和C都是可解节点,B也是可 解的,推出A和S0都是 可解的,这就求出了 代价最小的 解树。(粗线)
S0
A D
C 3 G
E 2
F
H
3
2
2
2
11
设对节点B扩展两层后 得到如图所示的与或树,节 点L的两个子节点是终止节 点,则按和代价法计算得到
g(L)=2, g(M)=6,
S0
A D
g(B)=3, g(A)=8
g(S0)=9, 继续对பைடு நூலகம்子树
B 3
C
E 2 G
F
H
扩展,扩展
节点C。
0
L
M 3 0 2 2 2 2 2
G
H
2
2
2
12
2
15
修屏蔽泵
仉睿聪奌
3.7.3启发式与或树搜索
有序搜索
解树的代价
希望树
与或树的有序搜索过程
1
盲目搜索小结
盲目搜索是按确定路线进行的,当要选择一个节点进行 扩展时,只是根据节点在与或树中所处的位置,而没有考虑 要付出的代价,因而求得的解树不一定是代价最小的解树, 即不一定是最优解树。
2
有序搜索
为了求得最优解树,就要在每次确定欲扩展的节点时, 先往前多看几步,计算一下扩展这个节点可能要付出的代价, 并选择代价最小的节点进行扩展。
S0
D
E 2 G
F
H
P
3 3 2 2 2 2
2
2
13
设节点C扩展两层后得到如图 所示的与或树,节点N的两个子节 点是终止节点,按和代价计算得到:
g(N)=2, g(P)=7, g(C)=3, g(A)=8,g(S0)=9 由于N和C都是可解节点,B也是可 解的,推出A和S0都是 可解的,这就求出了 代价最小的 解树。(粗线)
AI--知识表示2--与或树

西北工业大学计算机学院 林增刚
20
2.4.2 与或图
图中,终叶节点用字母t表示 有解节点用小原点表示
西北工业大学计算机学院 林增刚
2.4.2 与或图
与或图中的每个节点代表一个要解决的单一问题或问题 集合。图中所含起始节点对应于原始问题。 对应于本原问题的节点,叫做终叶节点,它没有后裔 对于把算符应用于问题A的每种可能情况,都把问题变 换为一个子问题集合;有向弧线自A 指向后继节点表示 所求得的子问题集合。 一般对于代表两个或两个以上子问题集合的每个节点, 有向弧线从此节点指向此子问题集合中的各个节点。由 于只有当集合中所有的项都有解时,这个子问题的集合 才能获得解答,所以这些子问题节点叫做与节点。 在特殊情况下,当只有一个算符可应用于问题A,而且 这个算符产生具有一个以上子问题的某个集合时,由上 述规则3和规则4所产生的图可以得到简化。
西北工业大学计算机a,0,b,0) F={f1,f2,f3,f4}是4个算符的集合 G是满足目标条件的状态集合,初始问题 变为({a,0,b,0},F,G),由于F在本问题中不 发生变化可从表中删去,得({a,0,b,0},G)
西北工业大学计算机学院 林增刚
与或图
16
2.4.2 与或图
与或图术语:
父节点、子(后继)节点、弧线、起始节点 终叶节点:对应于原问题的本原节点。 或节点:只要解决某个问题就可解决其父辈 问题的节点集合,如(M,N,H)。 与节点:只有解决所有子问题,才能解决其 父 辈 问 题 的 节 点 集 合 , 如 ( B,C) 和 (D,E,F)各个结点之间用一端小圆弧连接 标记。
第二章 知识表示
知识的基本概念 问题的变换 状态空间表示法 与或图表示法
2.4 与或图表示法
人工智能概论知识表示(与或树表示法)

点。
2. 问题归约的与/或树表示
(6)解树 • 解树是一个由可解节点构成,并
且可由这些可解节点推出初始节 点(它对应着原始问题)也为可 解节点的子树。在解树中一定包 含初始节点。 • 例如,在图所给出的与/或树中, 用粗线表示的子树就是它的一个 解树。 • 该图中的节点P为原始问题节点, 标有t的节点是终止节点。由可 解节点的定义,可以容易推知原 始问题P为可解节点。
知识表示
与/或树表示法
与/或树表示法
• 与/或树是不同于状态空间法的另外一种用于表示问题及 其求解过程的形式化方法,通常用于表示比较复杂的问题 求解。
• 在现实的问题求解过程中,当所要求解的问题比较复杂时, 如果采取直接求解的方法,往往比较困难,这时,人们通 常会采取一种分解或变换的思想,将复杂问题分解或转化 为一系列本原问题,然后通过对这些本原问题的求解来实 现对原问题的求解。
2.把一个复杂问题变换为若干个与之等价的 新问题时,可用一个“或树”来表示这种变 换。例如,设问题P可以变换为三个新问题 P1、P2、P3中的任何一个,即它与这三 个新问题中的任何一个等价,则P与它们之 间的关系可用如图所示的一个“或树”来表 示。在这个“或”树中,用相应的节点表示 P、P1、P2、P3;并用三条有向边分别 将P和P1、P2、P3连接起来,它表示P 1、P2、P3是与P等价的三个新问题。图 中的有向边不用小弧线连接,它表示P1、 P2、P3之间是“或”的关系,即节点P 为“或”节点。
该节点是一个终止节点。 该节点是一个“或”节点,且其子节点中至少有一个为可解
节点。 该节点是一个“与”节点,且其子节点全部为可解节点。
• 同样,满足下列条件之一的节点为不可解节点:
该节点是一个端节点,但却不是终止节点。 该节点是一个“或”节点,但其子节点中没有一个是可解节
2. 问题归约的与/或树表示
(6)解树 • 解树是一个由可解节点构成,并
且可由这些可解节点推出初始节 点(它对应着原始问题)也为可 解节点的子树。在解树中一定包 含初始节点。 • 例如,在图所给出的与/或树中, 用粗线表示的子树就是它的一个 解树。 • 该图中的节点P为原始问题节点, 标有t的节点是终止节点。由可 解节点的定义,可以容易推知原 始问题P为可解节点。
知识表示
与/或树表示法
与/或树表示法
• 与/或树是不同于状态空间法的另外一种用于表示问题及 其求解过程的形式化方法,通常用于表示比较复杂的问题 求解。
• 在现实的问题求解过程中,当所要求解的问题比较复杂时, 如果采取直接求解的方法,往往比较困难,这时,人们通 常会采取一种分解或变换的思想,将复杂问题分解或转化 为一系列本原问题,然后通过对这些本原问题的求解来实 现对原问题的求解。
2.把一个复杂问题变换为若干个与之等价的 新问题时,可用一个“或树”来表示这种变 换。例如,设问题P可以变换为三个新问题 P1、P2、P3中的任何一个,即它与这三 个新问题中的任何一个等价,则P与它们之 间的关系可用如图所示的一个“或树”来表 示。在这个“或”树中,用相应的节点表示 P、P1、P2、P3;并用三条有向边分别 将P和P1、P2、P3连接起来,它表示P 1、P2、P3是与P等价的三个新问题。图 中的有向边不用小弧线连接,它表示P1、 P2、P3之间是“或”的关系,即节点P 为“或”节点。
该节点是一个终止节点。 该节点是一个“或”节点,且其子节点中至少有一个为可解
节点。 该节点是一个“与”节点,且其子节点全部为可解节点。
• 同样,满足下列条件之一的节点为不可解节点:
该节点是一个端节点,但却不是终止节点。 该节点是一个“或”节点,但其子节点中没有一个是可解节
与或图搜索问题

…...
K个
*
耗散值的计算
k(n, N) = Cn+k(n1, N)+…+k(ni, N) 其中:N为终节点集 Cn为连接符的耗散值
…...
i个
n
n1
n2
ni
*
目标
目标
初始节点s
a
b
c
解图:
*
能解节点
终节点是能解节点
若非终节点有“或”子节点时,当且仅当其子节点至少有一能解时,该非终节点才能解。
f(n) = g(n) + h(n) 对n的评价实际是对从s到n这条路径的评价
01
n
02
s
03
普通图搜索的情况
04
*
与或图: 对局部图的评价
目标
目标
初始节点
a
b
c
*
两个过程
01
图生成过程,即扩展节点
03
计算耗散值的过程
02
从最优的局部途中选择一个节点扩展
04
对当前的局部图重新新计算耗散值
*
AO*算法举例
若非终节点有“与”子节点时,当且仅当其子节点均能解时,该非终节点才能解。
*
不能解节点
若非终节点有“或”子节点,当且仅当所有子节点均不能解时,该非终节点才不能解。
若非终节点有“与”子节点时,当至少有一个子节点不能解时,该非终节点才不能解。
没有后裔的非终节点是不能解节点。
*
2.2 与或图的启发式搜索算法AO*
第一阶段是完成自顶向下的图生成操作,先通过有标记的连接符,找到目前为止最好的一个局部解图,然后对其中一个非终结点进行扩展,并对其后继结点赋估计耗散值和加能解标记。
(搜索推理技术-与或树搜索)

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 }
搜索过程演示
√
第二章与或图搜索问题

15
耗散值(代价值)的计算:示例
• 解树:S0, A, t1和t2。S0, B, D, G, t4和t5。
S0
2
2
• 由左边的解树可得: • 和代价:h(A)=11,h(S0)=13
A
6
5
1
• 最大代价: h(A)=6,h(S0)=8
t1
t2
C
• 由右边的解树可得: • 和代价:h(G)=3,h(D)=4,h(B)=6,h(S0)=8
3
2
2
2
H(G)=7, h(H)=6, h(E)=7, h(D)=11, S0的右
子树算出的h(S0)=12,而左子树的h(S0)=9,
因此左子树为希望树
22
与或树的有序搜索:示例
S0
A
D
B L
C 3
M
E
F
2
G
H
0
0
2
2
3
2
2
2
h(L)=2, h(M)=6, h(B)=3, h(A)=8, L、B均为可解节点。但节
• 1. 把初始节点S0放入OPEN表。
• 2. 把OPEN表中的第一个节点(记为节点n)取出放入CLOSED 表。
• 3. 如果节点n可扩展,则作下列工作: • 3.1 扩展节点n,将其子节点放入OPEN 表的尾部,并为每
个子节点配置指向父节点的指针,以备标识过程使用。
• 3.2 考察这些子节点中有否终止节点。若有,则标识这些终 止节点为可解节点,并应用可解标识过程对其父节点、祖父 节点等先辈节点中的可解节点进行标识。如果初始节点S0也被 标识为可解节点,就得到了解树,搜索成果,退出搜索过程; 如辈果的不节能点确。定S0为可解节点,则从OPEN表中删去具有可解先
与或图搜索

8
• 解图:
初始节点
目标
目标
该解图的耗散值为: (1+(1+1))+(1+1)=5
9
局部解图的耗散值计算
如果我们也将局部图的耗散值记为k(n,N),则: ① 若n是局部图的一个叶节点,则
k(n,N)=h(n);
② 若n是一个外向连接符指向后继节点{n1,…, ni},并设该连接符的耗散值为Cn,则
1
与或图例子
2
2.1 基本概念
与或图是一个超图,节点间通过连接符连接。
超图是图的最一般的表达形式,无论什 么图,你都可以说它是超图,就像无论 整数,无理数,复数,反正都是数一样。
超图的定义由两个集合构成:一个点集A, 另一个是点集A中元素的子集的集合B(B 中所有元素的并集就是集合A)。A中的元 素叫节点;B中的元素就叫边,这样超图 H=(A,B)。
17
与或树的一般搜索过程(续)
• 由上述搜索过程所形成的节点和指针 结构称为搜索树。 • 与或树搜索的目标是寻找解树,从而 求得原始问题的解。如果在搜索的某一 时刻,通过可解标示过程可确定初始节 点是可解的,则由此初始节点及其下属 的可解节点就构成了解树。
18
与或树的一般搜索过程(续)
• 如果在某时刻被选为扩展的节点不可扩 展,并且它不是终止节点,则此节点就 是不可解节点。此时可应用不可解标示 过程确定初始节点是否为不可解节点,
如果可以确定初始节点是不可解的,则搜 索失败;否则继续扩展节点。
19
与或树的性质
• 可解与不可解标示过程都是自下而上进行 的,即由子节点的可解性确定父节点的可解性。
• 在与或树中搜索解树时,如果已确定某个 节点为可解节点,则其不可解的后裔节点就不 再有用,可从搜索树中删去;同样,如果已确 定某个节点是不可解节点,则其全部后裔节点 都不再有用,可从搜索树中删去,但当前这个 不可解节点还不能删去,因为在判断其先辈节 点的可解性时还要用到它。
• 解图:
初始节点
目标
目标
该解图的耗散值为: (1+(1+1))+(1+1)=5
9
局部解图的耗散值计算
如果我们也将局部图的耗散值记为k(n,N),则: ① 若n是局部图的一个叶节点,则
k(n,N)=h(n);
② 若n是一个外向连接符指向后继节点{n1,…, ni},并设该连接符的耗散值为Cn,则
1
与或图例子
2
2.1 基本概念
与或图是一个超图,节点间通过连接符连接。
超图是图的最一般的表达形式,无论什 么图,你都可以说它是超图,就像无论 整数,无理数,复数,反正都是数一样。
超图的定义由两个集合构成:一个点集A, 另一个是点集A中元素的子集的集合B(B 中所有元素的并集就是集合A)。A中的元 素叫节点;B中的元素就叫边,这样超图 H=(A,B)。
17
与或树的一般搜索过程(续)
• 由上述搜索过程所形成的节点和指针 结构称为搜索树。 • 与或树搜索的目标是寻找解树,从而 求得原始问题的解。如果在搜索的某一 时刻,通过可解标示过程可确定初始节 点是可解的,则由此初始节点及其下属 的可解节点就构成了解树。
18
与或树的一般搜索过程(续)
• 如果在某时刻被选为扩展的节点不可扩 展,并且它不是终止节点,则此节点就 是不可解节点。此时可应用不可解标示 过程确定初始节点是否为不可解节点,
如果可以确定初始节点是不可解的,则搜 索失败;否则继续扩展节点。
19
与或树的性质
• 可解与不可解标示过程都是自下而上进行 的,即由子节点的可解性确定父节点的可解性。
• 在与或树中搜索解树时,如果已确定某个 节点为可解节点,则其不可解的后裔节点就不 再有用,可从搜索树中删去;同样,如果已确 定某个节点是不可解节点,则其全部后裔节点 都不再有用,可从搜索树中删去,但当前这个 不可解节点还不能删去,因为在判断其先辈节 点的可解性时还要用到它。
人工智能第二章 知识表示与推理

信息由符号组成,如文字和数字,但是对符号赋予了一定的 意义,因此有一定的用途或价值。
知识也是由符号组成,但是还包括了符号之间的关系以及处 理这些符号的规则或过程。
知识在信息的基础上增加了上下文信息,提供了更多的意 义因此也就更加有用和有价值。
知识是随着时间的变化而动态变化的,新的知识可以根据 规则和已有的知识推导出来。
机可接受的符号并以某种形式描述出来。诸如图表结构、
语法树、规则匹配模式、树形或网状表达等。简言之,知
识表示就是知识的符号化过程。即把相关问题的知识加以
形式化描述,表示成为便于机器(计算机)存储、管理和
调用的某种数据结构模式。
知识表示在智能Agent的建造中起到关键的作用。可以说正
是以适当的方法表示了知识,才导致智能Agent展示出了智
2019/8/2
安徽大学 计算机科学与技术学院
16
知识表示方法的衡量
充分表示领域知识:首先考虑能不能充分 表示领域知识,要能反应出领域的特点
有利于知识的利用:表示的目的是为了利 用知识,求解问题
便于对知识的组织,维护和管理:便于今 后的更新,维护,保证其一致性和完整性
便于理解和实现:容易让人理解并符合人 的习惯;还有容易在计算机上实现
人工智能
Artificial Intelligence
第二章 知识表示与推理
主要内容
2.1 知识表示的一般方法 2.2 图搜索策略 2.3 一般搜索与推理技术 2.4 A*算法 2.5 消解原理 2.6 规则演义系统 2.7 产生式系统 2.8 系统组织技术
什么是知识
数据一般指单独的事实,是信息的载体,数据项本身没有什 么意义,除非在一定的上下文中,否则没有什么用处。
知识也是由符号组成,但是还包括了符号之间的关系以及处 理这些符号的规则或过程。
知识在信息的基础上增加了上下文信息,提供了更多的意 义因此也就更加有用和有价值。
知识是随着时间的变化而动态变化的,新的知识可以根据 规则和已有的知识推导出来。
机可接受的符号并以某种形式描述出来。诸如图表结构、
语法树、规则匹配模式、树形或网状表达等。简言之,知
识表示就是知识的符号化过程。即把相关问题的知识加以
形式化描述,表示成为便于机器(计算机)存储、管理和
调用的某种数据结构模式。
知识表示在智能Agent的建造中起到关键的作用。可以说正
是以适当的方法表示了知识,才导致智能Agent展示出了智
2019/8/2
安徽大学 计算机科学与技术学院
16
知识表示方法的衡量
充分表示领域知识:首先考虑能不能充分 表示领域知识,要能反应出领域的特点
有利于知识的利用:表示的目的是为了利 用知识,求解问题
便于对知识的组织,维护和管理:便于今 后的更新,维护,保证其一致性和完整性
便于理解和实现:容易让人理解并符合人 的习惯;还有容易在计算机上实现
人工智能
Artificial Intelligence
第二章 知识表示与推理
主要内容
2.1 知识表示的一般方法 2.2 图搜索策略 2.3 一般搜索与推理技术 2.4 A*算法 2.5 消解原理 2.6 规则演义系统 2.7 产生式系统 2.8 系统组织技术
什么是知识
数据一般指单独的事实,是信息的载体,数据项本身没有什 么意义,除非在一定的上下文中,否则没有什么用处。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2013-7-20
OPEN表末端,并设置指向 n 的指针 说明:此时可能出现三种情况
节点 n 无后继节点
节点 n 有后继节点、并有叶节点
节点 n 有后继节点、但无叶节点
2013-7-20
(5)、若 n 无后继节点,标志 n 为不可解,并转(9) ((10)、(11));若后继节点中有叶节点,则标 志这些叶节点为可解节点,并继续((6)、(7)、
(8));否则转(3)
2013-7-20
(6)、实行可解标志过程
(7)、若起始节点S标志为可解,则找到解而结
束,否则继续 (8)、从OPEN表中删去含有可解先辈节点的节 点,并转(3)
2013-7-20
(9)、实行不可解标志过程
(10)、若起始节点 S 标志为不可解,则失败而结束,
否则继续 (11)、从OPEN表中删去含有不可解先辈节点的节点
(12)、转3
2013-7-20
2013-7-20
例
说明:先扩展出来的节点画在左边
2013-7-20
算法的运行过程
初始化:
节点 1 送OPEN表,且不为叶节点
OPEN= { 1 } CLOSED= { }
2013-7-20
第一大循环(算法的(3)、(4)、(5)步):
(3)、从OPEN表中取出节点1,并送到CLOSED表
2.3.1 与或树盲目搜索技术
问题归约法 原始问题 中间问题 与或图 起始节点 中间节点
本原问题集
操作符
2013-7-20
终叶节点
生成“与”、“ 或” 后继节点的有向弧
可解节点的定义是(递归地):
(1) 终叶节点是可解的(因为它们与本原问题相关
联的)
(2) 如果某一个非终叶节点含有“或”后继节点,
2013-7-20
(6)、(分三种情况)
如果 n 无后继节点,则标志为不可解节点,并
转l0,否则继续 若有后继节点为叶节点,则将这些叶节点标志为 可解节点,并继续;否则转(3)
2013-7-20
(7)、实行可解标志过程
(8)、若起始节点为可解节点,则算法成功结束;
否则,继续下一步 (9)、从OPEN表中删除含有可解先辈节点的节点, 并转(3)
与不可解节点
2013-7-20
算法结束的条件: 若初始节点被标志为可解节点,算法成 功结束(有解) 若起始节点被标志为不可解节点,则搜
索失败结束(无解)
2013-7-20
与或图的解图:
由最少的可解节点所构成的子图,这些节 点能够使问题的起始节点是可解的
2013-7-20
与或树:除了起始节点,每一个节点只有一个
t 1
√
11
1 2
√
t 2
√ห้องสมุดไป่ตู้
t 3
√
t 4
13
“与或树”的深度:
(1)、规定起始节点深度为0
(2)、其它节点深度等于其父节点的深度加1
2013-7-20
解的性质:
如果有解,宽度优先搜索能够保证求得一棵解 树,它的最深的叶节点具有最小深度
2013-7-20
2 深度优先搜索
在与或树的深度优先搜索中,同样要设置一个深 度界限
(4)、扩展节点1,生成后继节点2、3,并送到OPEN
表的末端
(5)、无叶节点,转到(3)步 OPEN= { 2,3 } CLOSED= { 1 }
2013-7-20
第二大循环((3)、(4)、(5)步):
(3)、从OPEN表中取出节点2,并送到CLOSED表
(4)、扩展节点2,生成后继节点4、5,并送到OPEN
(7)、无判断起始节点1可解
(8)、从OPEN中删除含有可解先辈节点的节点
2013-7-20
删除
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}
(5)、无叶节点,转到(3)步
OPEN= { 8, 9, B, C, t1, 10, 11, 12 } CLOSED= { 1, 2, 3, 4, 5, 6, 7 }
2013-7-20
第八大循环((3)、(4)、(5)步):
(3)、从OPEN表中取出节点8,并送到CLOSED表
(4)、扩展节点8,生成后继节点A,并送到OPEN
2013-7-20
第六大循环((3)、(4)、(5)、(6)、(7)、(8)步):
(3)、从OPEN表中取出节点6,并送到CLOSED表 (4)、扩展节点6,生成后继节点t1、10,并送到 OPEN表的末端
(5)、有叶节点
(6)、实现可解过程(无法判断节点6是否可解)
(7)、无法判断起始节点是否可解
OPEN= { 4, 5, 6, 7 } CLOSED= { 1 , 2, 3 }
2013-7-20
第四大循环((3)、(4)、(5)步):
(3)、从OPEN表中取出节点4,并送到CLOSED表
(4)、扩展节点4,生成后继节点8、9,并送到
OPEN表的末端
(5)、无叶节点,转到(3)步
OPEN= { 5, 6, 7, 8, 9 } CLOSED= { 1, 2, 3, 4 }
2013-7-20
与或树宽度优先搜索算法:
(1)、起始节点 S 送 OPEN 表
(2)、若 S 为叶节点,则成功结束,否则,继续 (3)、取出 OPEN 表的第一个节点(记作 n ),并 送 到CLOSED 表
2013-7-20
(4)、 扩 展 节 点 n , 生 成 其 全 部 后 继 节 点 , 送
2013-7-20
第五大循环((3)、(4)、(5)步):
(3)、从OPEN表中取出节点5,并送到CLOSED表
(4)、扩展节点5,生成后继节点B、C,并送到
OPEN表的末端 (5)、无叶节点,转到(3)步 OPEN= { 6, 7, 8, 9, B, C } CLOSED= { 1 , 2, 3, 4, 5 }
父节点
与或图:除了起始节点,每一个节点允许有多
个父节点
两者的关系:与或树是与或图的特例
2013-7-20
约定:当一个节点生成后继节点时,它们是搜
索过程中没有产生过的节点,并且以后也不会 再生成它们。(每一个节点只允许生成一次)
2013-7-20
1 宽度优先搜索
两个基本符号:
OPEN表:存放待扩展的节点,此时是队列 CLOSED表:存放已扩展的节点
CLOSED= {1, 2, 3, 4, 5, 6, 7, 8, 9} 说明:对于OPEN表中的叶节点直接移到 CLOSED表,不作任何处理
2013-7-20
X X
X
2013-7-20
第十大循环((3)、(4)、(5)、(6)、(7)步):
(3)、从OPEN表中取出节点10,并送到CLOSED表 (4)、扩展节点10,生成后继节点 t4、13,并送到 OPEN表的末端 (5)、有叶节点 (6)、实现可解标志过程(可以判断节点10、6、3可 解) (7)、可以判断起始节点1可解。算法结束
那么,只要有一个后继节点是可解的,这一个
非终叶节点就是可解的 (3) 如果某一个非终叶节点含有“与”后继节点, 那么,只要所有后继节点是可解的,这一个非 终叶节点才是可解的
2013-7-20
不可解节点的定义(递归地)是:
(1) 没有后裔的非终叶节点是不可解节点
(2) 如果某一个非终叶节点含有“或”后继节点,
人
工
智
能
Artificial Intelligence (AI)
许建华 xujianhua@
南京师范大学计算机科学系
2006年9-12月
2013-7-20
2.3 与或图的搜索技术 2.3.1 与或树的盲目搜索技术
2.3.2 与或图的启发式搜索算法(AO*算法)
2013-7-20
那么,只要当所有的后继节点都不可解时, 这一个非终叶节点才是不可解的 (3) 如果某一个非终叶节点含有“与”后继节点, 那么,只要有一个后继节点是不可解的,这 一个非终叶节点就是不可解的
2013-7-20
可解标志过程与不可解标志过程:
根据可解与不可解节点的递归定义,用递归的方 式作用于某一个与或图,以标出所有的可解节点
(8)、OPEN表中无节点可以删除(转到(3))
2013-7-20
OPEN= { 7, 8, 9, B, C, t1, 10 } CLOSED= { 1 , 2, 3, 4, 5, 6 }
2013-7-20
第七大循环((3)、(4)、(5)步):
(3)、从OPEN表中取出节点7,并送到CLOSED表 (4)、扩展节点7,生成后继节点11、12,并送到 OPEN表的末端
与或树的一棵解树是问题求解本身对应的隐式与
或树的一棵显式表示的子树。
与或树的代价有两种定义方法:
和代价:解树上所有相邻两节点之间代价的 总和(与节点的代价是求和) 最大代价:解树中最长(最大)路径的代价 (与节点的代价是取最大者)
2013-7-20
例:
对于解树A,和代价为5+4+4+6=19 最大代价为5+4+6=15 对于解树B,和代价为4+6+2+6=18。 最大代价为4+6+6=16
2013-7-20
思考题:用宽度和深度优先搜索算法找出解树
提示:对于宽度优先搜索,先生成的节点画在左;
对于深度优先搜索,后生成的节点画在左
2013-7-20
说明: 先扩展的节点画在左边
√
1
√
2 3
X
OPEN表末端,并设置指向 n 的指针 说明:此时可能出现三种情况
节点 n 无后继节点
节点 n 有后继节点、并有叶节点
节点 n 有后继节点、但无叶节点
2013-7-20
(5)、若 n 无后继节点,标志 n 为不可解,并转(9) ((10)、(11));若后继节点中有叶节点,则标 志这些叶节点为可解节点,并继续((6)、(7)、
(8));否则转(3)
2013-7-20
(6)、实行可解标志过程
(7)、若起始节点S标志为可解,则找到解而结
束,否则继续 (8)、从OPEN表中删去含有可解先辈节点的节 点,并转(3)
2013-7-20
(9)、实行不可解标志过程
(10)、若起始节点 S 标志为不可解,则失败而结束,
否则继续 (11)、从OPEN表中删去含有不可解先辈节点的节点
(12)、转3
2013-7-20
2013-7-20
例
说明:先扩展出来的节点画在左边
2013-7-20
算法的运行过程
初始化:
节点 1 送OPEN表,且不为叶节点
OPEN= { 1 } CLOSED= { }
2013-7-20
第一大循环(算法的(3)、(4)、(5)步):
(3)、从OPEN表中取出节点1,并送到CLOSED表
2.3.1 与或树盲目搜索技术
问题归约法 原始问题 中间问题 与或图 起始节点 中间节点
本原问题集
操作符
2013-7-20
终叶节点
生成“与”、“ 或” 后继节点的有向弧
可解节点的定义是(递归地):
(1) 终叶节点是可解的(因为它们与本原问题相关
联的)
(2) 如果某一个非终叶节点含有“或”后继节点,
2013-7-20
(6)、(分三种情况)
如果 n 无后继节点,则标志为不可解节点,并
转l0,否则继续 若有后继节点为叶节点,则将这些叶节点标志为 可解节点,并继续;否则转(3)
2013-7-20
(7)、实行可解标志过程
(8)、若起始节点为可解节点,则算法成功结束;
否则,继续下一步 (9)、从OPEN表中删除含有可解先辈节点的节点, 并转(3)
与不可解节点
2013-7-20
算法结束的条件: 若初始节点被标志为可解节点,算法成 功结束(有解) 若起始节点被标志为不可解节点,则搜
索失败结束(无解)
2013-7-20
与或图的解图:
由最少的可解节点所构成的子图,这些节 点能够使问题的起始节点是可解的
2013-7-20
与或树:除了起始节点,每一个节点只有一个
t 1
√
11
1 2
√
t 2
√ห้องสมุดไป่ตู้
t 3
√
t 4
13
“与或树”的深度:
(1)、规定起始节点深度为0
(2)、其它节点深度等于其父节点的深度加1
2013-7-20
解的性质:
如果有解,宽度优先搜索能够保证求得一棵解 树,它的最深的叶节点具有最小深度
2013-7-20
2 深度优先搜索
在与或树的深度优先搜索中,同样要设置一个深 度界限
(4)、扩展节点1,生成后继节点2、3,并送到OPEN
表的末端
(5)、无叶节点,转到(3)步 OPEN= { 2,3 } CLOSED= { 1 }
2013-7-20
第二大循环((3)、(4)、(5)步):
(3)、从OPEN表中取出节点2,并送到CLOSED表
(4)、扩展节点2,生成后继节点4、5,并送到OPEN
(7)、无判断起始节点1可解
(8)、从OPEN中删除含有可解先辈节点的节点
2013-7-20
删除
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}
(5)、无叶节点,转到(3)步
OPEN= { 8, 9, B, C, t1, 10, 11, 12 } CLOSED= { 1, 2, 3, 4, 5, 6, 7 }
2013-7-20
第八大循环((3)、(4)、(5)步):
(3)、从OPEN表中取出节点8,并送到CLOSED表
(4)、扩展节点8,生成后继节点A,并送到OPEN
2013-7-20
第六大循环((3)、(4)、(5)、(6)、(7)、(8)步):
(3)、从OPEN表中取出节点6,并送到CLOSED表 (4)、扩展节点6,生成后继节点t1、10,并送到 OPEN表的末端
(5)、有叶节点
(6)、实现可解过程(无法判断节点6是否可解)
(7)、无法判断起始节点是否可解
OPEN= { 4, 5, 6, 7 } CLOSED= { 1 , 2, 3 }
2013-7-20
第四大循环((3)、(4)、(5)步):
(3)、从OPEN表中取出节点4,并送到CLOSED表
(4)、扩展节点4,生成后继节点8、9,并送到
OPEN表的末端
(5)、无叶节点,转到(3)步
OPEN= { 5, 6, 7, 8, 9 } CLOSED= { 1, 2, 3, 4 }
2013-7-20
与或树宽度优先搜索算法:
(1)、起始节点 S 送 OPEN 表
(2)、若 S 为叶节点,则成功结束,否则,继续 (3)、取出 OPEN 表的第一个节点(记作 n ),并 送 到CLOSED 表
2013-7-20
(4)、 扩 展 节 点 n , 生 成 其 全 部 后 继 节 点 , 送
2013-7-20
第五大循环((3)、(4)、(5)步):
(3)、从OPEN表中取出节点5,并送到CLOSED表
(4)、扩展节点5,生成后继节点B、C,并送到
OPEN表的末端 (5)、无叶节点,转到(3)步 OPEN= { 6, 7, 8, 9, B, C } CLOSED= { 1 , 2, 3, 4, 5 }
父节点
与或图:除了起始节点,每一个节点允许有多
个父节点
两者的关系:与或树是与或图的特例
2013-7-20
约定:当一个节点生成后继节点时,它们是搜
索过程中没有产生过的节点,并且以后也不会 再生成它们。(每一个节点只允许生成一次)
2013-7-20
1 宽度优先搜索
两个基本符号:
OPEN表:存放待扩展的节点,此时是队列 CLOSED表:存放已扩展的节点
CLOSED= {1, 2, 3, 4, 5, 6, 7, 8, 9} 说明:对于OPEN表中的叶节点直接移到 CLOSED表,不作任何处理
2013-7-20
X X
X
2013-7-20
第十大循环((3)、(4)、(5)、(6)、(7)步):
(3)、从OPEN表中取出节点10,并送到CLOSED表 (4)、扩展节点10,生成后继节点 t4、13,并送到 OPEN表的末端 (5)、有叶节点 (6)、实现可解标志过程(可以判断节点10、6、3可 解) (7)、可以判断起始节点1可解。算法结束
那么,只要有一个后继节点是可解的,这一个
非终叶节点就是可解的 (3) 如果某一个非终叶节点含有“与”后继节点, 那么,只要所有后继节点是可解的,这一个非 终叶节点才是可解的
2013-7-20
不可解节点的定义(递归地)是:
(1) 没有后裔的非终叶节点是不可解节点
(2) 如果某一个非终叶节点含有“或”后继节点,
人
工
智
能
Artificial Intelligence (AI)
许建华 xujianhua@
南京师范大学计算机科学系
2006年9-12月
2013-7-20
2.3 与或图的搜索技术 2.3.1 与或树的盲目搜索技术
2.3.2 与或图的启发式搜索算法(AO*算法)
2013-7-20
那么,只要当所有的后继节点都不可解时, 这一个非终叶节点才是不可解的 (3) 如果某一个非终叶节点含有“与”后继节点, 那么,只要有一个后继节点是不可解的,这 一个非终叶节点就是不可解的
2013-7-20
可解标志过程与不可解标志过程:
根据可解与不可解节点的递归定义,用递归的方 式作用于某一个与或图,以标出所有的可解节点
(8)、OPEN表中无节点可以删除(转到(3))
2013-7-20
OPEN= { 7, 8, 9, B, C, t1, 10 } CLOSED= { 1 , 2, 3, 4, 5, 6 }
2013-7-20
第七大循环((3)、(4)、(5)步):
(3)、从OPEN表中取出节点7,并送到CLOSED表 (4)、扩展节点7,生成后继节点11、12,并送到 OPEN表的末端
与或树的一棵解树是问题求解本身对应的隐式与
或树的一棵显式表示的子树。
与或树的代价有两种定义方法:
和代价:解树上所有相邻两节点之间代价的 总和(与节点的代价是求和) 最大代价:解树中最长(最大)路径的代价 (与节点的代价是取最大者)
2013-7-20
例:
对于解树A,和代价为5+4+4+6=19 最大代价为5+4+6=15 对于解树B,和代价为4+6+2+6=18。 最大代价为4+6+6=16
2013-7-20
思考题:用宽度和深度优先搜索算法找出解树
提示:对于宽度优先搜索,先生成的节点画在左;
对于深度优先搜索,后生成的节点画在左
2013-7-20
说明: 先扩展的节点画在左边
√
1
√
2 3
X