第三章与或图搜索.
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3
②
求解步骤:
① I 1 求五边形面积 求 1面积 求 I面积 求 2面积 求 II面积 求 3面积 求 III面积 求• ③面积 2 II III ③ 3
②
求• ①面积
求• ②面积
本原问题
– 可直接得到答案的问题称为本原问题 例1中的原始的烧水问题 例2中根据鸽巢原理直接可回答的问题 例3中求矩形面积的问题 归约法 – 把原问题转化(分解)为一个或几个子
问题,对子问题再归约,直至成为可 以直接求解的本原问题。
§3.1问题空间及与或图表示
梵塔难题的两种解法 A – 状态空间法 B
1
2
3
C 初始数据库 (1 1 1) 表示C, B, A三个盘都在柱1上 目标数据库 (3 3 3) 表示C, B, A三个盘都在柱3上
状态空间
(1 1 1) 其中(i j k)表示 MOVE(A,1,3) C在柱i, B在柱j, (1 1 2) (1 1 3) MOVE(B,1,2) A在柱k上 (1 2 3) (1 3 2) MOVE(A,3,2) (1 3 3) (1 2 2) (1 3 1) (1 2 1) MOVE(C,1,3) (2 3 3) (3 2 2) MOVE(A,2,1) (2 3 1) (3 2 1) (2 3 2) (3 2 3) MOVE(B,2,3) (2 2 1) (2 1 2) (3 1 3) (3 3 1) MOVE(A,1
o 0
n1 n3 n5 n5 n4 n5
n0
n4
n8
no n7
n8
(1)
n7
(2) 三个解图
n8 n7 (3)
·K-连接——表示从父节点到子节点间的连接 * 也称为父节点的外向连接, * 以园弧指示同父子节点间的“与”关系, * K为这些子节点的个数,K>1时成为超连接, * 一个父节点可以有多个外向的K-连接。 * 当所有超连接的K都等于1时,与或图蜕化为一 般图。 · 根、叶、终节点 * 无父节点的节点——根节点,用于指示问题的 初始状态; * 无子节点的节点——叶节点。 * 用于联合表示目标状态的节点——终节点, * 终节点必定是叶节点,反之不然;
例2 在边长为2的正方形内,任意放置5个点 ,求证其中必存在两个点,它们之间的距 离不大于2。 . 问题可转化为: . 在四个单位正方形内, . 任意放置5个点,至少 . . 有两个点在同一正方形内。
例3
假定我们已经会求 矩形的面积,现在要 求如图所示的五边形 的面积。
①
I 1
III ③
2 II
第三章
与或图搜索问题 ---问题归约法
§3.0 引言
归约(Reduction)
– 例1
问题1:现有煤气灶、水龙头、水壶和火 柴,你怎样烧水? 答:向水壶中注满水,把水壶放在煤气 灶上,擦火柴点燃煤气灶。 •问题2:问题1中其他情况不变,只是水壶 中已经灌满了水,你怎样烧水?
答:把水壶放在煤气灶上,擦火柴点燃煤气 灶或擦火柴点燃煤气灶,把水壶放在煤气灶上。
A来自百度文库
P1
P2
Pk
P1
P2
Pk
no n1 n2 n3 n5 n4
n6
n8
n7 与或图
– 与或图搜索 从代表原始问题的根节点开始,按一定的规则 (归约操作)进行与或扩展,直到代表本原问题 的终节点。 要选择适当的或分枝进行扩展,以求找到一个 最佳分解方案。 在与或图中搜索最佳分解方案,即在问题空间 搜索一个最佳解图。
问题,且使得:
每个子问题比原问题好解; 这些子问题解决了,原问题就解决了。
– 归约法的分类 有序归约(分段归约) 无序归约(分解归约)
梵塔难题 求五边形的面积
与或图表示法
– 与扩展 将一个问题分解为若干 子问题, 所有的子问题 有解,原问题才有解。 K-联接符 – 或扩展 将一个问题转化为若干 子问题,只要一个子问 题有解,原问题就有解。 单线联接符
解图的生成——自根节点开始选一外向连接, 并从该连接指向的每个子节点出发,再选一 外向连接,如此反复进行,直到所有外向连 接都指向终节点为止。 * 解图纯粹是一种“与”图; *由于与或图中存在“或”关系;可产生或 搜索到多个解图(上图), * 解图应无环,即任何节点的外向连接均不 得指向自己或自己的先辈,否则会使搜索陷 入死循环。
(3 2 2) (3 3 3)
(1 1 1) (1 1 3)
(1 2 3)
(3 2 2) (3 2 1)
(3 3 1) (3 3 3)
(1 2 2)
(1 1 3)
(3 2 1)
(1 2 3)
(3 3 1)
小结
– 状态空间法与问题归约法的比较 状态空间——问题空间 操作——归约 求解路径——本原问题 – 归约就是化简,即把复杂问题分解为若干子
将上面的分析理一下顺序:就把原问题归约 为3个子问题:
– 移动A、B至柱2的双圆盘问题; – 移动C至柱3的单元盘问题;(本原问题) – 移动A、B至柱3的双圆盘问题。
– 将梵塔问题归约为本原问题的问题空间
(1 1 1) (3 3 3)
(1 1 1) (1 2 2)
(1 2 2) (3 2 2)
– 若干概念 终节点 可解节点 不可解节点 解图 耗散值 最佳解图 可解过程 不可解过程
与或图中某一个节点n到节点集N的一个解图类似于普 通图中的一条解路径。
解图的求法:从节点n开始,正确选择一个外向 连接符,在从该连接符所指的每一个后继节点出 发,继续选一个外向连接符,如此进行下去直到 由此产生的每一个后继节点成为集合N中的一个 元素为止. n n
解图---在与或图是无环的假定条件下,解图 可递归定义如下: 定义:一个与或图G中,从节点n到节点集N的 解图记为G’,G’是G的子图. ①若n是N的一个元素,则G’由单一节点组成; ②若n有一个指向节点{n1,n2,……nk}的外向连接 符K,使得从每一个ni到N有一个解图(i=1,2,……k), 则G’由节点n,连接符K,及{n1,n2,……nk}中的每一 个节点到N的解图所组成; ③否则n到N不存在解图. 同样可以递归定义局部图如下: ①单一节点是局部图 ②对于一个局部图的任意叶节点n,选择一个n 的外向连接符K,则该局部图、外向连接符K以及 K所连接的后继节点一起组成图,仍然组成一个局 部图
S
(2 2 2)
(2 1 3) (3 1 1) (3 3 2) (3 3 3) (2 2 3) (2 1 1) (3 1 2)
t
采用归约法
– 要把所有圆盘移至柱3,必须先把C盘移至
柱3,而在移动C盘至柱3前,柱3必须为空。 – 只有把A、B移至柱2后,才能将C移到柱3。 – 在C移至柱3后,再解决将A、B移至柱3。