研究生第2章(知识表示与推理6-与或树搜索)

合集下载

与或树搜索3启发式搜索

与或树搜索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都是 可解的,这就求出了 代价最小的 解树。(粗线)

AI--知识表示2--与或树

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 为“或”节点。
该节点是一个终止节点。 该节点是一个“或”节点,且其子节点中至少有一个为可解
节点。 该节点是一个“与”节点,且其子节点全部为可解节点。
• 同样,满足下列条件之一的节点为不可解节点:
该节点是一个端节点,但却不是终止节点。 该节点是一个“或”节点,但其子节点中没有一个是可解节

与或图搜索问题

与或图搜索问题

…...
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
与或树的性质
• 可解与不可解标示过程都是自下而上进行 的,即由子节点的可解性确定父节点的可解性。
• 在与或树中搜索解树时,如果已确定某个 节点为可解节点,则其不可解的后裔节点就不 再有用,可从搜索树中删去;同样,如果已确 定某个节点是不可解节点,则其全部后裔节点 都不再有用,可从搜索树中删去,但当前这个 不可解节点还不能删去,因为在判断其先辈节 点的可解性时还要用到它。

人工智能第二章 知识表示与推理

人工智能第二章  知识表示与推理
信息由符号组成,如文字和数字,但是对符号赋予了一定的 意义,因此有一定的用途或价值。
知识也是由符号组成,但是还包括了符号之间的关系以及处 理这些符号的规则或过程。
知识在信息的基础上增加了上下文信息,提供了更多的意 义因此也就更加有用和有价值。
知识是随着时间的变化而动态变化的,新的知识可以根据 规则和已有的知识推导出来。
机可接受的符号并以某种形式描述出来。诸如图表结构、
语法树、规则匹配模式、树形或网状表达等。简言之,知
识表示就是知识的符号化过程。即把相关问题的知识加以
形式化描述,表示成为便于机器(计算机)存储、管理和
调用的某种数据结构模式。
知识表示在智能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 系统组织技术
什么是知识
数据一般指单独的事实,是信息的载体,数据项本身没有什 么意义,除非在一定的上下文中,否则没有什么用处。

湖南师范大学2024年硕士研究生自命题考试大纲 《人工智能导论》考试大纲(初试)

湖南师范大学2024年硕士研究生自命题考试大纲  《人工智能导论》考试大纲(初试)

湖南师范大学硕士研究生招生考试自命题科目考试大纲考试科目代码:【999】考试科目名称:人工智能导论考试内容及要点《人工智能导论》课程是培养学生对人工智能的整体认识性,使学生在具备数学与编程基本能力的基础上,对人工智能的多个分支有较全面的了解,具备一定的人工智能算法实现能力。

(一)绪论1.智能与人工智能的基本概念;2.人工智能研究的基本内容和方法;3.人工智能主要应用领域介绍。

(二)知识表示1.知识与知识表示的基本概念;2.谓词逻辑表示法;3.知识图谱及应用。

(三)确定性推理方法1.推理的概念、分类与基本策略;2.命题逻辑与谓词逻辑支持的基本推理方法;3.自然演绎推理与应用;4.归结原理与应用。

(四)不确定性推理方法1.不确定性的表示与不确定性推理的概念、分类;2.概率推理与主观贝叶斯推理方法;3.基于可信度的不确定性表示与推理方法;4.基于证据理论的不确定性表示与推理方法;5.模糊逻辑、模糊集、模糊关系及合成、模糊推理及其应用。

(五)搜索求解策略1.搜索的概念、分类与评价标准;2.状态空间的表示与启发式搜索应用;3.与或树的表示与启发式搜索应用;4.博弈树的概念、极大极小过程以及 α-β剪枝。

(六)智能计算基础1.智能计算的概念;2.进化算法的概念、框架与设计准则;3.遗传算法的基本概念及其应用;4.群智能算法的概念及典型的群智能算法。

(七)人工神经网络与深度人工神经网络1.神经元数学模型与人工神经网络基本原理;2.人工神经网络基本学习算法3.BP神经网络结构与学习算法;4.卷积神经网络与深度学习。

(八)专家系统与机器学习1.专家系统概述;2.专家系统的工作原理;3.专家系统的建立;4.知识获取的主要过程与模式;5.机器学习的发展与基本概念;6.机器学习分类:监督学习、无监督学习、半监督学习与强化学习。

(九)自然语言处理及其应用1.自然语言处理与理解概述;2.语言处理过程的层次;3.机器翻译、自然语言人机交互、智能问答原理及应用;4.语音增强、识别、合成和转换处理技术及应用。

第2章 与或图搜索

第2章  与或图搜索

2.2 与或图的启发式搜索算法
• 以结点n为尾的红色箭头,标识结点n为根的最佳局部图。 • 在第4步得到的n0局部图中,叶结点都属于{n7, n8}。 • 解图: n0
5 n4 1
2
n5 n8 0 n7
0
当EXPAND(n)={}时,令q(n)=∞
2.2 与或图的启发式搜索算法
① G:={s},计算q(s)=h(s), 如果GOAL(s), THEN M(s, SOLVED) AO*算法 ② While (s还没加上SOLVED标记)do { a) G‘ = FIND(G) b) n:=G‘的任一个非终结点 生长,对新结点 c) EXPAND(n) →{nj}, 计算q(nj)=h(nj), 这里nj∈G 计算q d) G:=G∪{nj}; IF GOAL(nj), THEN M(nj, SOLVED) e) S := {n}
2.2 与或图的启发式搜索算法
• 第四次生长
n1 5 n2 n3 4 n6 2 n7 0 0 4 2 n5 n8 n6 n8 n0 5 5 n1 n4 1 1 n3 n2 n4 n0
n5
1)沿n0的最佳局部图,找到一个叶结点; n7 2)扩展此叶结点,计算以叶结点为根的局部图的耗散; 3)向上修改非终结点为根的局部图的耗散估计; 4)修改n0最佳局部图的标识。
2.2 与或图的启发式搜索算法
• 第二次生长
6 n1 2 n2 n3 4 1 1 n5 n6 n8 n0 4 3 n4 n3 n1 n2 n4 n0
5
4
n5
1)沿n0的最佳局部图,找到一个叶结点; n7 2)扩展此叶结点,计算以叶结点为根的局部图的耗散; 3)向上修改非终结点为根的局部图的耗散估计,表示最佳局部图; 4)修改n0最佳局部图的标识。

研究生第2章知识表示与推理6-与或树搜索

研究生第2章知识表示与推理6-与或树搜索
2.3 与或图的搜索技术 2.3.1 与或树的盲目搜索技术 2.3.2 与或图的启发式搜索算法(AO*算法)
2024/2/20
2.3.1 与或树盲目搜索技术
问题归约法
与或图
原始问题
起始节点
中间问题
中间节点
本原问题集
终叶节点
操作符
2024/2/20
生成“与”、“ 或” 后继节点的有向弧
可解节点的定义是(递归地):
2024/2/20
(4)、 扩 展 节 点 n , 生 成 其 全 部 后 继 节 点 , 送 OPEN表末端,并设置指向 n 的指针
说明:此时可能出现三种情况 ➢节点 n 无后继节点 ➢节点 n 有后继节点、并有叶节点 ➢节点 n 有后继节点、但无叶节点
2024/2/20
(5)、若 n 无后继节点,标志 n 为不可解,并转(9) ((10)、(11));若后继节点中有叶节点,则标 志这些叶节点为可解节点,并继续((6)、(7)、 (8));否则转(3)
2024/2/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 }
说明: 先扩展的节点画在左边

1

2
3
X

5
6
7
t
1
X
t
t
2
3
√√

1

2

3
X

知识表示与推理

知识表示与推理
求解的方法:算法。不同的算法可以得出 不同的结果。
2022/11//1144
3
精品资料
2.1 知识(zhī shi)表示的一般方 法
状态(zhuàngtài)空间法 一组状态(zhuàngtài)(state): {S1,
S2,…,Sn} 一套算符(operator):fk : Si→Sj 开始状态(zhuàngtài)和结束状态(zhuàngtài):
2022/1/14
B
精品资料
计算f值
20
fǎ)
The A* Algorithm in Pseudo-Code
1. Let P = the starting point.
2. Assign f, g, and h values to P.
3. Add P to the OPEN list. At this point, P is the only node on the OPEN list.
是 SUC是OLD的副本(fùběn),把OLD添 加到BESTNODE的后继节点表中

g(SUC)<g(OLD)? 是
重新确定OLD的父辈节点为BESTNODE ,并修 正OLD子孙的g值和f值,记下g(OLD)
SUC=CLOSED? 否
把SUCCESSOR放入OPEN表,并加入 BESTNODE的后裔表
定义2 2022/1/14 在A算法中,如果对所有的x存在18 h(x)≤h*(x),则称h(x)为h*(x)的下界,它表示某种
精品资料
2.4 A*算法
(suàn fǎ)
开始(kāishǐ)
把S放入OPEN表,估价函数 f =h
B

OPEN=NIL?

第二章 与或图搜索问题

第二章 与或图搜索问题
-剪枝法
33
-剪枝
b
0
1
极大 max
1
极小 min max
a
0
3
1
6
0
-3
3
-3
-3
-2
1
-3
6
-3
min
0
5
-3
3
3
-3
0
2
2
-3
0
-2
3 5 4
1
-3
0 6
8 9
-3
max必定≥ min max ≥ (下界值) , min≤ (上界值)
34
-剪枝:
问题:、如何取值,才能使 max必定≥ min? 假设: ≥ 由于: max ≥ ,min ≤, ≥ => max ≥ ≥ ≥ min => max ≥ min 因此:当 ≥ 时,必有max≥ min。
回顾: 回溯策略
当前状态
r1 r 2 ri ri-1
一个结点的后继节点 之间是“或”的关系
子状态
目标状态g
1
回顾:图搜索算法
一个结点的后继节点 之间是“或”的关系 s
g
2
“与”关系
如果一个结点的部分或全部后继节点都被 求解,该结点才被求解。
一个结点的后继节点之间 是“与”的关系
3
“与”关系的表示方法
17
博弈问题为什么可以用与或图表示


我方走棋: 只需从若干个可以走的棋中,选择一个棋走即 可。若干个可以走的棋是“或”的关系。 对方走棋:对我方来说,必须能够应付对手的 每一种走棋。相当于这些棋是“与”的关系。 博弈问题是一种特殊的与或图。
18

与或树搜索1与或树.ppt

与或树搜索1与或树.ppt

与节点 与
分解 问题n为n1 …. nk个 子问题。 只有解决所有子问题,才 能解决其父辈问题的子问题集 合。 问题分解过程用图表示: 图中节点代表问题。与关 系集合中,各个结点之间用一 段小圆弧连接标记。
或节点

变换 问题n为 n1 …. nk个新问题。 只要解决某个问 题就可解决其父辈 问题的节点集合。
A B
E
F
D
G
I
Q
Q1
Q2
Q11
Q12
Q13
Q11’
Q12’
Q13’
Q21
Q22
Q23
Q21’
Q22’
Q23’
思考: 问题Q解决方案:?

概念与术语
本原问题:直接可解的简单问题(不能再分解或变换)。
终止结点:本原问题对应的节点。(可解节点) 端节点: 与节点: 或节点: 在与或树中无子节点的节点。 一个节点的子节点如果是“与”关系,称~ 一个节点的子节点如果是“或”关系,称~
(2)把A盘从1号杆移到3号杆; (3)把B、C盘从2号杆移到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,2,3)=>(1,2,2)
(3,2,1)=>(3,3,1)
(1,1,3)=>(1,2,3)
(3,2,2)=>(3,2,1)
1 非终止节点的端节点是不可解节点; 2 一个与节点不可解,只要其子节点至少有一个不可解; 3 一个或节点不可解,当且仅当其子节点全都不可解。
问题求解过程就是在一个与或树中寻找一个从初始节点(原 始问题)到目标节点(可解的简单问题)的路径问题。

6.与或树

6.与或树

有界深度优先搜索算法流程
1. 2. 3. 4. 把初始节点S放人OPEN表。 把OPEN表中第一个节点n取出,放入CLOSLD表。 如果n的深度深度界限,转第(5)步的第①点。 如果n 可扩展,做下列工作: ①扩展n,将子节点放入OPEN表首部,配置父指针, 在 标示过程使用。 ②若子节点中有终叶节点,标示其为可解节点,对 其先辈 节点应用可解标示过程进行标示。若S被标示为可 解, 得到解树,成功退出搜索;若无法确定S为可解节 点, 从OPEN表中删去有可解先辈的节点。 ③转第(2)步。
1 i n
例:与/或树的有序搜索
例:设有如图所示与/或树,包括两棵解树,一棵由S, A, t1, t2组成,另一棵 由S, B, D, G, t4, t5组成。在与/或树中,边上的数字是该边的代价,t1, t2 , t3, t4, t5为终叶节点,代价为0,E, F是端节点,代价为。 试计算解树代价。
1 i n
值的那个子节点yi也应在希望树中。 – 如果x是“与”节点,则它的全部子节点都应在希望树中。
有序搜索算法流程
(1)把初始节点S放入OPEN表中。 (2)根据当前搜索树中节点的代价求出以S为根的希望 树T 。 (3)依次把OPEN表中T的端节点N选出放入CLOSED表中。 (4)如果N是终叶节点,则做下列工作: ①标示N为可解节点。 ②对T应用可解标示过程,标记N的先辈节点。 ③若S被标记为可解,则T就是最优解树,成功退出。 ④否则,从OPLN表中删去具有可解先辈的节点。
– 由这个搜索过程所形成的节点和指针结构称为搜索树。 – 搜索中,通过可解标示过程确定初始节点是可解的, 则由此初始节点及其下属的可解节点就构成了解树。
提高与/或树搜索效率的两个性质
与/或搜索有两个特有性质,可用来提高搜索效率:
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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
相关文档
最新文档