第二章 与或图搜索
合集下载
第二章与或图搜索问题
简记为:
极小≤极大,剪枝 极大≥极小,剪枝
-剪枝(续)
f
0 0 1
d b
0 3
m h
1
1
n
e g
k
i
1
6
a
0
c
-3
3
5 4
-3
6
j
0
5
-3
3
3
-3
0
2
2
-3
0
-2
3 5 4
1
-3
0 6
8 9
-3
-剪枝注意点
1)在不同类型节点间比较:极大 VS 极小 2)与“先辈层”而不只是“父辈层”有值的节点比较 3)只有节点值固定后,才能向上层传递 4) -剪枝不影响极大极小算法的结果
n3
=2+2+k(n5,N)+k(n6,N)
=4+2+k(n7,N)+k(n8,N) +2+ k(n7,N)+k(n8,N) =8 目标n8
n6
目标n7
• 解图3: 初始节点n0
n1
n2 n5
n4
K(n0,N) =2+k(n4,N)+k(n5,N) =3+2k(n5,N) =3+2×2
n3
n6 目标n8 目标n7
第二章 与或图搜索
2.1 基本概念
与或图是一个超图,节点间通过连接符连接。 k-连接符:k>1为“与”节点,k=1为“或”节点
…...
k个
与或图
n0
n1
n2 n4 n5 n0有2个外向连接符, 分别为1-连接符(n1), 2-连接符(n4,n5);n8 是n4的或子节点,同时 又是n5的与子节点
与或图搜索问题
与或图搜索问题的特点
组合优化问题
与或图搜索问题是一个典型的组 合优化问题,因为解决方案空间 通常非常大,需要采用高效的搜 索策略来找到最优解。
逻辑约束
与或图中的节点之间存在逻辑约 束,即某些节点必须同时满足与 (AND)或(OR)关系。
决策变量
与或图中的节点代表决策变量, 需要确定它们的取值以最大化目 标函数或满足特定条件。
03
与或图搜索问题的求解算法
深度优先搜索算法
深度优先搜索是一种用于遍历或搜索树 或图的算法。该算法会尽可能深地搜索 树的分支,当节点v的所在边都己被探 寻过,搜索将回溯到发现节点v的那条
边的起始节点。
深度优先搜索算法适合求解与或图中的 AND-OR图问题,可以找到所有解或
最优解。
算法步骤:选择一个起始节点,标记为 已访问,然后递归地搜索与该节点关联 的所有未被访问的节点,直到所有节点
与或图搜索问题的求解目标
找到最优解
与或图搜索问题的求解目标是找到满足所有 逻辑约束的节点组合,以最大化目标函数或 满足特定条件。
高效求解
由于与或图搜索问题通常具有较大的解决方案空间 ,因此需要采用高效的搜索策略和启发式算法来快 速找到最优解。
实际应用
与或图搜索问题在许多实际应用中具有广泛 的应用,如电路设计、计划调度、物流优化 等。
路径规划
在路径规划问题中,与或图搜索问题可以用于寻找满足特定条件的路径, 如最短路径、最少花费路径等,使得路径能够连接起点和终点。
02
与或图搜索问题概述
与或图搜索问题的定义
与或图搜索问题是一种组合优化问题,旨在寻找满足一系列与 (AND)或(OR)逻辑关系的节点组合。
它通常由一个有向图表示,其中节点表示决策变量,边表示 逻辑关系。
ch2与或图搜索问题
b a
图 一字棋
设A的棋子用“a”表示,B的棋子用“b”表示。 为了不致于生成太大的博弈树,假设每次仅扩展 两层。估价函数定义如下:
设棋局为P,估价函数为f(P)。 (1)若P是A必胜的棋局,则f(P)=+∞。 (2)若P是B必胜的棋局,则f(P)=-∞。 (3)若P是胜负未定的棋局,则
f(P)=e(+P)-e(-P)
AO*算法举例
n1 n3
n6 n7目标
n0 初始节点
n2
n4
n5
n8 目标
其中:
h(n0)=3 h(n1)=2 h(n2)=4 h(n3)=4 h(n4)=1 h(n5)=1 h(n6)=2 h(n7)=0 h(n8)=0 设:K连接符 的耗散值为K
n1 n3
n0 初始节点
n1(2)
n2
n4
n5
目标
目标
能解节点
❖ 终节点是能解节点 ❖ 若非终节点有“或”子节点时,当且仅当其子
节点至少有一能解时,该非终节点才能解。 ❖ 若非终节点有“与”子节点时,当且仅当其子
节点均能解时,该非终节点才能解。
不能解节点
❖ 没有后裔的非终节点是不能解节点。 ❖ 若非终节点有“或”子节点,当且仅当所有子
节点均不能解时,该非终节点才不能解。 ❖ 若非终节点有“与”子节点时,当至少有一个
❖ 假设1毫微秒走一步,约需10的145次方年。 ❖ 结论:不可能穷举。
研究领 域
❖ Othello
奥塞罗
❖Checkers 西洋跳棋
❖ Chess
国际象棋
❖Chinese chess 中国象棋
❖ConnectSix 六子棋
❖ Shogi
日本将棋
图 一字棋
设A的棋子用“a”表示,B的棋子用“b”表示。 为了不致于生成太大的博弈树,假设每次仅扩展 两层。估价函数定义如下:
设棋局为P,估价函数为f(P)。 (1)若P是A必胜的棋局,则f(P)=+∞。 (2)若P是B必胜的棋局,则f(P)=-∞。 (3)若P是胜负未定的棋局,则
f(P)=e(+P)-e(-P)
AO*算法举例
n1 n3
n6 n7目标
n0 初始节点
n2
n4
n5
n8 目标
其中:
h(n0)=3 h(n1)=2 h(n2)=4 h(n3)=4 h(n4)=1 h(n5)=1 h(n6)=2 h(n7)=0 h(n8)=0 设:K连接符 的耗散值为K
n1 n3
n0 初始节点
n1(2)
n2
n4
n5
目标
目标
能解节点
❖ 终节点是能解节点 ❖ 若非终节点有“或”子节点时,当且仅当其子
节点至少有一能解时,该非终节点才能解。 ❖ 若非终节点有“与”子节点时,当且仅当其子
节点均能解时,该非终节点才能解。
不能解节点
❖ 没有后裔的非终节点是不能解节点。 ❖ 若非终节点有“或”子节点,当且仅当所有子
节点均不能解时,该非终节点才不能解。 ❖ 若非终节点有“与”子节点时,当至少有一个
❖ 假设1毫微秒走一步,约需10的145次方年。 ❖ 结论:不可能穷举。
研究领 域
❖ Othello
奥塞罗
❖Checkers 西洋跳棋
❖ Chess
国际象棋
❖Chinese chess 中国象棋
❖ConnectSix 六子棋
❖ Shogi
日本将棋
《搜索与或图搜索》课件
3
搜索的原理
搜索原理是通过将问题分成更小的子问题,并从这些子问题中选择最优解决方案, 从而解决整个问题。
与或图的定义
与或图是什么?
与或图是一种用来表示集合之间 关系的图形。
与或图的表示方法
与或图可以使用布尔运算符来表 示,例如“与”运算符表示两个集 合中的共同元素,而“或”运算符 则表示两个集合的并集。
3 与或图搜索在实际应
用中的案例
与或图搜索经常应用于人 工智能、专家系统、自然 语言处理等领域。
总结
本次课程的学习内容回顾
在本次课程中,我们学习了搜索和与或图搜索的相关概念,以及这些概念在实际应用中的重 要性。
搜索与或图搜索的应用前景
作为计算机科学领域中的重要问ቤተ መጻሕፍቲ ባይዱ,搜索和与或图搜索的应用前景是非常广阔的。
搜索与或图搜索
在计算机科学领域,搜索和与或图搜索是非常重要的概念。在本次演示中, 我们将会深入探讨这两个主题。
搜索的定义
1
搜索是什么?
搜索是为了找到特定信息而从大量信息中进行查找和筛选的过程。搜索是人工智 能、信息检索及其他领域中重要的问题之一。
2
搜索的分类
搜索有两种主要分类:确定性搜索和非确定性搜索。确定性搜索是使用精确匹配 算法的搜索,而非确定性搜索则是使用模糊匹配算法的搜索。
与或图在电子学中的应用
与或图被广泛应用于电子学中的 逻辑电路设计,例如计算机内部 的运算电路。
与或图搜索
1 与或图搜索的定义
与或图搜索是指在一个由 与或图表示的问题空间中 搜索,以找到解决方案。
2 与或图搜索的算法
与或图搜索可以使用许多 不同的算法来完成搜索。 其中最常用的是A*算法、 BFS和DFS。
与或图搜索策略
注意:终止节点一定是端节点,但端节点不一定是终 止节点。
10
可解节点: 6. 可解节点:节点须满足下列 条件之一: (1) 终止节点是可解节点; (2)一个与节点可解,当且仅当其子节点全都可解; (3)一个或节点可解,只要其子节点至少有一个可解; 7.不可解节点: 不可解节点: 不可解节点 关于可解节点的三个条件全部不满足的节点称为不可 解节点。 8.解树 解树: 解树 由可解节点所构成,并且由这些可解节点可推出初 始节点(它对应于原始问题)为可解节点的子树.
11
可解性判别
1 3 2 4 B 5 t1
t4
t3 t2 A
12
可解性判别
S0
A D
B C 3 G L M 3 0 0 2 2 2 E 2 H F
2
2
13
例题
三阶梵塔
C B A
(1,1,1)
三元组
(i, j, k)
i 代表金盘C所在的杆号;j代表金盘B所在的 杆号;k代表金盘A所在的标号。
14
1 3 2 4 5 t1
3) 4)
t4
t3 t2 A
5)
此时,closed 表就是由节点1,2,3,4,5和t1,t2,t3,t4构成的解树,如图中粗线所示。
22
与/或树的深度优先搜索算法
1、把初始节点S0放入OPEN表; 2、移出为OPEN表的第一个节点N放入CLOSED表,并冠以序号n; 3 、如果节点N 的深度大于等于深度界限,则转第5部的第(1); 4、若节点N可扩展,则做下列工作:
t5 G 2 1 t4 F t3 E 1 D 2 3 B 2 1 2 c S0 2 5 A 6 t1
目标 目标
9
其它几个概念与术语
第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最佳局部图的标识。
与或图搜索
对于非终叶节点:
• 如果 n 有多个用 k=1 的连接符连接的或子节点,iff 这 些或子节点中至少有一个能解,节点 n 是能解节点; • 如果 n 有用 k>1 的连接符连接的与子节点。Iff 这些与 子节点全部能解,节点 n 是能解节点。
北京航空航天大学软件开发环境国家重点实验室
Slide 10
最好的局部解图;对该解图的一个非终叶节点进行扩展, 计算该节点各个K-连接符连接的后继节点解图的花费计值 ;如果可能,标记后继节点为能解节点。
第二阶段:自下而上地计算修正与或图花费估计值 -
确定最小花费连接符;如果必要,修改父节点的花费值; 或标记父节点为能解节点;此过程不断进行直到到达局部解 图的根节点为止。
K 〉1 的外向 k-连接符:与连接符。
仅由 K = 1 的外向 k-连接符构成的搜索空间:
普通有向图 与或图。
由 K 1 的外向 k-连接符构成的搜索空间:
无环与或图:与或图中,如果每一个后继节点不再是该节
北京航空航天大学软件开发环境国家重点实验室
Slide 5
点的祖先节点,这种与或图称为无环与或图。
上述过程周而复始,直到最底层的外向k连接符的每个后继
节点均属于 N 为止。
针对任意节点的外向K连接符的选择顺序不同, 对应的搜索策略可不同: 盲目搜索,启发式搜索。
北京航空航天大学软件开发环境国家重点实验室
Slide 9
与或解图及其能解标记与费用计算
定义:
标记能解节点(Solved):
终叶节点是能解节点;
Slide 14
基于问题空间的与或图搜索
与或图搜索有关概念
与或解图及其能解标记与费用计算
与或图的搜索算法
与或图的搜索算法
contents
目录
• 与或图的基本概念 • 与或图的搜索算法 • 与或图的优化算法 • 与或图的应用场景 • 与或图搜索算法的挑战与未来发展
01
CATALOGUE
与或图的基本概念
与或图的定义
总结词
与或图是一种特殊的图形结构,用于表示一组逻辑表达式之 间的关系。
详细描述
与或图由节点和边组成,其中节点表示变量或逻辑运算符, 边表示逻辑关系。每个节点可以是一个与节点(AND节点) 或一个或节点(OR节点),表示相应的逻辑运算符。
总结词
A*搜索算法是一种启发式搜索算法,它 结合了最佳优先搜索和Dijkstra算法的特 性。
VS
详细描述
A*算法使用一个启发函数来评估节点的重 要性,并优先探索最有可能达到目标状态 的节点。
03
CATALOGUE
与或图的优化算法
记忆化搜索
要点一
总结词
通过存储已搜索的节点状态,避免重复搜索,提高搜索效 率。
启发式搜索
总结词
利用启发式信息指导搜索方向,优先搜索最有希望达 到目标节点的路径。
详细描述
启发式搜索是一种基于启发式信息的搜索算法,它利 用启发式信息来指导搜索方向,优先搜索最有希望达 到目标节点的路径。启发式信息可以是与目标节点距 离最近的节点、最短路径长度等。在搜索过程中,启 发式搜索会根据启发式信息评估每个节点的优先级, 优先搜索优先级最高的节点。启发式搜索可以在一定 程度上减少不必要的搜索,提高搜索效率。
问题转化
为了扩大算法的应用范围,需要研究如何将其他类型的 问题转化为与或图问题,以便利用该算法进行求解。
THANKS
感谢观看
详细描述
contents
目录
• 与或图的基本概念 • 与或图的搜索算法 • 与或图的优化算法 • 与或图的应用场景 • 与或图搜索算法的挑战与未来发展
01
CATALOGUE
与或图的基本概念
与或图的定义
总结词
与或图是一种特殊的图形结构,用于表示一组逻辑表达式之 间的关系。
详细描述
与或图由节点和边组成,其中节点表示变量或逻辑运算符, 边表示逻辑关系。每个节点可以是一个与节点(AND节点) 或一个或节点(OR节点),表示相应的逻辑运算符。
总结词
A*搜索算法是一种启发式搜索算法,它 结合了最佳优先搜索和Dijkstra算法的特 性。
VS
详细描述
A*算法使用一个启发函数来评估节点的重 要性,并优先探索最有可能达到目标状态 的节点。
03
CATALOGUE
与或图的优化算法
记忆化搜索
要点一
总结词
通过存储已搜索的节点状态,避免重复搜索,提高搜索效 率。
启发式搜索
总结词
利用启发式信息指导搜索方向,优先搜索最有希望达 到目标节点的路径。
详细描述
启发式搜索是一种基于启发式信息的搜索算法,它利 用启发式信息来指导搜索方向,优先搜索最有希望达 到目标节点的路径。启发式信息可以是与目标节点距 离最近的节点、最短路径长度等。在搜索过程中,启 发式搜索会根据启发式信息评估每个节点的优先级, 优先搜索优先级最高的节点。启发式搜索可以在一定 程度上减少不必要的搜索,提高搜索效率。
问题转化
为了扩大算法的应用范围,需要研究如何将其他类型的 问题转化为与或图问题,以便利用该算法进行求解。
THANKS
感谢观看
详细描述
第二章 与或图搜索问题
-剪枝法
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
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
第二章 搜索与问题求解
Step3从端顶点开始,逐级向上回溯,标注各顶点为可解顶点或不可解顶点,直到标注原始顶点为可解顶点或不可解顶点为止。
Step4当原始顶点被确定为可解顶点时,输出相应解图为问题的解。
下面通过例2-2对与或图问题表示及其求解步骤作进一步的说明。
例2-2三阶梵塔问题。如图2-4所示,有A、B、C三个金片及1、2、3三根钢针,三个金片按自下而上从大到小的顺序穿在1号钢针上,要求把它们全部移到3号钢针上。每次只能移动一个金片,且任何时刻都不能把大的金片压在小的金片上。
本章介绍关于搜索的基本知识,叙述问题求解的状态空间表示法和与或图表示法,阐述用于问题求解的主要启发式算法,并在此基础上说明计算机博弈中的搜索方法。
2.1
人们希望能在最短的时间内搜索到最好的解。但解的最优性和求解的计算复杂性之间是一对矛盾。在搜索算法不变的情况下,为了获得更好的解,需要更大的时间和空间开销。对于复杂问题,难以同时满足解的最优性和计算的可行性,须在二者之间进行权衡和折衷,一般从以下三个方面来考虑:
(a) (b) (c)
图2-1二阶梵塔问题
(a)初始状态;(b)目标状态1;(c)目标状态2。
解:
(1)用 表示问题的第 个状态。其中, 表示金片A所在的钢针号, 表示金片B所在的钢针号。问题的全部可能状态共有以下9种:
.
显然, 为初始状态, 或 为目标状态。
(2)只能通过移动金片A或B来解决问题。因此,定义操作符 和 。 表示把金片A从第i号钢针移到j号钢针上; 表示把金片B从第i号钢针移到j号钢针上。这样,共有12种能促使状态发生转换的操作,分别是:
2.2.1
一个问题对应的状态空间是一个五元组:
, (2-1)
其中, 是状态的集合, 是用于状态转换的操作符的集合, 是状态转换代价的集合, 是初始状态的集合, 是目标状态的集合。
Step4当原始顶点被确定为可解顶点时,输出相应解图为问题的解。
下面通过例2-2对与或图问题表示及其求解步骤作进一步的说明。
例2-2三阶梵塔问题。如图2-4所示,有A、B、C三个金片及1、2、3三根钢针,三个金片按自下而上从大到小的顺序穿在1号钢针上,要求把它们全部移到3号钢针上。每次只能移动一个金片,且任何时刻都不能把大的金片压在小的金片上。
本章介绍关于搜索的基本知识,叙述问题求解的状态空间表示法和与或图表示法,阐述用于问题求解的主要启发式算法,并在此基础上说明计算机博弈中的搜索方法。
2.1
人们希望能在最短的时间内搜索到最好的解。但解的最优性和求解的计算复杂性之间是一对矛盾。在搜索算法不变的情况下,为了获得更好的解,需要更大的时间和空间开销。对于复杂问题,难以同时满足解的最优性和计算的可行性,须在二者之间进行权衡和折衷,一般从以下三个方面来考虑:
(a) (b) (c)
图2-1二阶梵塔问题
(a)初始状态;(b)目标状态1;(c)目标状态2。
解:
(1)用 表示问题的第 个状态。其中, 表示金片A所在的钢针号, 表示金片B所在的钢针号。问题的全部可能状态共有以下9种:
.
显然, 为初始状态, 或 为目标状态。
(2)只能通过移动金片A或B来解决问题。因此,定义操作符 和 。 表示把金片A从第i号钢针移到j号钢针上; 表示把金片B从第i号钢针移到j号钢针上。这样,共有12种能促使状态发生转换的操作,分别是:
2.2.1
一个问题对应的状态空间是一个五元组:
, (2-1)
其中, 是状态的集合, 是用于状态转换的操作符的集合, 是状态转换代价的集合, 是初始状态的集合, 是目标状态的集合。
与或图搜索
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
与或树的性质
• 可解与不可解标示过程都是自下而上进行 的,即由子节点的可解性确定父节点的可解性。
• 在与或树中搜索解树时,如果已确定某个 节点为可解节点,则其不可解的后裔节点就不 再有用,可从搜索树中删去;同样,如果已确 定某个节点是不可解节点,则其全部后裔节点 都不再有用,可从搜索树中删去,但当前这个 不可解节点还不能删去,因为在判断其先辈节 点的可解性时还要用到它。
第二章与或图搜索问题
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表中删去具有可解先
研究生第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
√
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
√
人工智能之与或图搜索问题
规定MAX先手
52
静态估计函数e(P)定义为: ① 若格局 P 对任何一方都不能获胜,则 e(P) =(所有空格上都放上 MAX的棋子后,MAX 的三个棋子所组成的行、列及对角线的总数) -
(所有空格上都放上 MIN 的棋子后, MIN 的三个
棋子所组成的行、列及对角线的总数)
53
② 若 P 是MAX获胜,则 e(P)=+∞
第二章 与或图搜索问题
初始节点s
a c b
目标 目标
1
2.1 基本概念
与或图是一个超图,节点间通过连接符连 接。 K-连接符:
…...
K个
2
耗散值的计算
k(n, N) = Cn+k(n1, N)+…+k(ni, N) 其中:N为终节点集 Cn为连接符的耗散值
n
n1
…...
n2 i个
ni
3
• 解图:
2
O X X
1
O X O X
0
O O X
O
O
O
1
O O
0
O O X X
2
O
0
O
1
O
1
O O X
O X
1
X
X
X
X O X
X
O X
X O
X
X
O
2
2
3
1
O O
2
X
X
2
O O
X X
1
1
O X
X
0
X
O X
0
58
X
O X
O
1
X
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
博弈论(game theory)创始人 创始人: 博弈论 创始人
冯·诺依曼 诺依曼
博弈与对抗搜索
博弈与对抗搜索
你每天都在博弈
学生阶段:跟同学博弈, 学生阶段:跟同学博弈,跟老师博弈 工作了:跟老板、同事博弈, 工作了:跟老板、同事博弈,面临优胜劣汰的残酷 竞争 谈恋爱:跟竞争对手博弈, 谈恋爱:跟竞争对手博弈,跟恋人博弈 结婚后:跟配偶博弈, 结婚后:跟配偶博弈,跟孩子博弈 任何时候:心理博弈, 任何时候:心理博弈,即自己和自己博弈
与或图基本概念
解图
解图( 是由可解节点形成的一个子图( 解图(树)是由可解节点形成的一个子图(树), 这个个子图( 的根是初始节点,叶为终止节点, 这个个子图(树)的根是初始节点,叶为终止节点, 且这个子图( 还一定是与或图( 且这个子图(树)还一定是与或图(树)。 从初始节点到目标节点集的路径 解图中叶节点集就是目标节点集 解图中每一个非终止节点都有后继节点
乙
拒供 供认 5 年,0 年 2 年,2 年 拒供 供认 0.5年 0.5年 0.5年,0.5年 0 年,5 年
甲
乙与甲的决策序列完全相同 最终的结果: 最终的结果:两人全部招供
博弈与对抗搜索
弱者的生存之道—智猪博弈 弱者的生存之道 智猪博弈
有两头非常聪明的猪,一大一小, 有两头非常聪明的猪,一大一小,共同生活在一个 猪圈里。 猪圈里。 猪圈的一端有一个踏板,另一端有一个食槽。 猪圈的一端有一个踏板,另一端有一个食槽。 踏板连着开放饲料的机关,踏一下踏板, 踏板连着开放饲料的机关,踏一下踏板,食槽里就 会出现10个单位食物。 10个单位食物 会出现10个单位食物。 任何一头猪去踏这个踏板都会付出相当于两个单位 食物的成本 每只猪都可以选择“ 或者“不踏”踏板。 每只猪都可以选择“踏”或者“不踏”踏板。
与或图的启发式算法
与或图搜索与状态图搜索类似,也是不断地扩展节点, 与或图搜索与状态图搜索类似,也是不断地扩展节点, 并配以返回指针,而形成一棵不断生长的搜索树。 并配以返回指针,而形成一棵不断生长的搜索树。 与或图搜索也分为盲目搜索和启发式搜索两大类。 与或图搜索也分为盲目搜索和启发式搜索两大类。盲 目搜索常用的方法也是深度优先和广度优先两种基本 策略。 策略。 与或图的启发式搜索同样依赖于评价函数, 与或图的启发式搜索同样依赖于评价函数,其形式一 般定义为f(n)=g(n)+h(n) 般定义为 与或图的启发式搜索同样可以用open表和 表和closed表实 与或图的启发式搜索同样可以用 表和 表实 但是open表根据 连接符的耗散排序, closed表 表根据K连接符的耗散排序 现,但是 表根据 连接符的耗散排序, 表 中多了一列“可解性” 中多了一列“可解性”判别
与或图的启发式算法
不可扩展, 步4 若N不可扩展,则做下列工作: 不可扩展 则做下列工作:
(1)不可解判别:标记N为不可解节点,然后由它的 不可解判别:标记 为不可解节点 为不可解节点, 不可解判别 不可解返回推断其先辈节点的可解性, 不可解返回推断其先辈节点的可解性,并对其中的 不可解节点进行标记。如果初始节点S 不可解节点进行标记。如果初始节点 0也被标记为 不可解节点,则搜索失败,退出。 不可解节点,则搜索失败,退出。 (2)删去 删去OPEN表中那些具有不可解先辈的节点(因 表中那些具有不可解先辈的节点( 删去 表中那些具有不可解先辈的节点 为其先辈节点已不可解, 为其先辈节点已不可解,故已无再考察这些节点的 必要) 转步2; 必要),转步 ;
与或图的启发式算法
把初始节点S 放入OPEN表; 步1 把初始节点 0放入 表 移出OPEN表的耗散值最小的 连接符对应的节点 放入 表的耗散值最小的K连接符对应的节点 步2 移出 表的耗散值最小的 连接符对应的节点N放入 CLOSED表,并冠以序号 ; 表 并冠以序号n; 若节点N可扩展 则做下列工作: 可扩展, 步3 若节点 可扩展,则做下列工作: (1)扩展 将其子节点配上指向父节点的指针后放入 扩展N:将其子节点配上指向父节点的指针后放入 扩展 将其子节点配上指向父节点的指针后放入OPEN 表; (2)可解性判别 : 考察这些子节点中是否有 终止节点 。 若 可解性判别: 终止节点。 可解性判别 考察这些子节点中是否有终止节点 则标记它们为可解节点, 并将它们放入CLOSED表 , 有 , 则标记它们为可解节点 , 并将它们放入 表 然后由它的可解返回推断其先辈节点的可解性, 然后由它的可解返回推断其先辈节点的可解性,并对其中 的可解节点进行标记。如果初始节点S 的可解节点进行标记。如果初始节点 0也被标记为可解节 则搜索成功,结束。 点,则搜索成功,结束。 (3)删去 删去OPEN表中具有可解先辈的节点(因为其先辈节点 表中具有可解先辈的节点( 删去 表中具有可解先辈的节点 已经可解,故已无再考察该节点的必要) 转步2; 已经可解,故已无再考察该节点的必要),转步 ;
如果是你,你会选择哪个,怎么行动? 如果是你,你会选择哪个,怎么行动?
博弈与对抗搜索
博弈(game) :研究类似于棋类、赌博、游戏 研究类似于棋类、赌博、 博弈 具有斗争、 的,具有斗争、竞争性质的决策行为
对决双方(各方) 对决双方(各方)的目标是往往冲突的 各方在决策时都必须考虑对方的行动 各方都以自身利益最大化为决策的准则 可以分为合作博弈与非合作博弈两类
博弈与对抗搜索
博弈与对抗搜索
猪的选择
两智猪一起踏踏板, 两智猪一起踏踏板,再一起回槽边进食 大猪: 单位食物 小猪: 单位食物 单位食物; 单位食物; 大猪:8单位食物;小猪:2单位食物; 减掉踏踏板的2个成本 大猪收益6,小猪收益0 个成本, 减掉踏踏板的 个成本,大猪收益 ,小猪收益 大猪踏踏板, 大猪踏踏板,小猪槽边守候 大猪: 单位食物 单位食物, ;小猪: 单位食物 单位食物, 大猪:6单位食物,4;小猪:4单位食物,4 小猪踏踏板,大猪槽边守候 小猪踏踏板, 大猪: 单位食物 单位食物, ;小猪: 单位食物 单位食物, 大猪:10单位食物,10;小猪:0单位食物,-2 两猪都不去踏踏板,则都得不到食物, 两猪都不去踏踏板,则都得不到食物,0
与或图的启发式算法
初始节点为n0, 例:初始节点为 , 初始节点为 目标节点为n7,n8。 目标节点为 。 任意单步路径耗散 恒定为1 恒定为
h(n0)=3 h(n3)=4 h(n6)=2
h(n1)=2 h(n4)=1 h(n7)=0
h(n2)=4 h(n5)=1 h(n8)=0
OPEN表
h(n0)=3 h(n2)=4 h(n4)=1 h(n6)=2 h(n8)=0 h(n1)=2 h(n3)=4 h(n5)=1 h(n7)=0
12
与或图基本概念
可解性判别
一个节点是可解, 一个节点是可解 , 则节点 须满足下列条件之一: 须满足下列条件之一:
①终止节点是可解节点; 终止节点是可解节点; 一个与节点可解, ② 一个与节点可解 , 当且仅当其 子节点全都可解; 子节点全都可解; 一个或节点可解, ③一个或节点可解,只要其子节 点至少有一个可解。 点至少有一个可解。
与或图基本概念
n0 n0
n4
n4
n5
n5
与或图基本概念
与或图应用
例:事故树
触电事故一般由人的不 安全行为和物的不安全 状态共同引发。 状态共同引发。人的不 安全状态是指人接触带 电体, 电体,包括操作对象带 电、触及相邻带电体三 种情况。 种情况。物的不安全状 态包括防护失效和接地 不合格两种情况。 不合格两种情况。
∫ (x
x 2 dx ∫
∫2 sin xdx
+ sin x )dx
− cos x + c
∫ sin xdx
与或图基本概念
一个节点是不可解, 则节点须满足下列条件之一: 一个节点是不可解 , 则节点须满足下列条件之一 :
①非终止节点的端节点是不可解节点; 非终止节点的端节点是不可解节点; ②一个与节点不可解,只要其子节点至少有一个不可解; 一个与节点不可解,只要其子节点至少有一个不可解; ③一个或节点不可解,当且仅当其子节点全都不可解。 一个或节点不可解,当且仅当其子节点全都不可解。
如果两人都供认,每个人都将因抢劫加盗窃被判 年监禁 年监禁; 如果两人都供认,每个人都将因抢劫加盗窃被判2年监禁; 如果两人都拒供,则两人都将因盗窃罪被判半年监禁; 如果两人都拒供,则两人都将因盗窃罪被判半年监禁; 如果一人供认而另一个拒供, 如果一人供认而另一个拒供,则供认这被认为有功而免受处 拒供者将因抢劫罪、盗窃罪以及拒供重判5年 罚,拒供者将因抢劫罪、盗窃罪以及拒供重判 年。
目标
a c b
目标
与或图基本概念
K—连接符 连接符
…...
K个
与或图基本概念
n
耗散值的计算
C(n)为k连接符的路径耗散值, 为 连接符的路径耗散值 连接符的路径耗散值, N为目标节点集合, 为目标节点集合 {n1 ,n2 ,….ni }为由 连接符连 为由k连接符连 为由 接的i个节点 个节点, 接的 个节点,k(n,N)为节点 为节点 n到N的耗散值,则: 的耗散值, 到 的耗散值
…... n1 n2 i个 ni
k(n, N) = Cn+k(n1, N)+…+k(ni, N)
与或图基本概念
耗散值的计算
h(s0)=12,h(s1)=9, h(s2)=3,h(s3)=2 节点耗散计算公式为: 节点耗散计算公式为: f(n)=g(n)+h(n) f(s0)=12 f(s1)=2+9=11 f(s2)=2+6+2=10 f(s3)=2+5+3=10 K连接符需要考虑其全部分支 连接符需要考虑其全部分支 f(k) =f(s2)+f(s3) =20; 该算例中s0→s1的路径耗散加了 的路径耗散加了2 该算例中 的路径耗散加了 次,应根据实际问题确定