第03讲问题归约法
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 引言
问题归约(reduction)是另一种问题描述与求解方法. 所谓归约,即降阶. 简单地说,问题归约是通过系列变换将问题变换为一个可 以直接求解的本原问题的集合,从而解决了初始问题. 这里,所谓本原问题就是不可或不需再通过变换化简的 “原子”问题, 本原问题的解可以直接得到或通过一个"黑箱"操作 得到。
2.2 问题归约描述(1/5)
2.2 问题归约描述
问题归约方法应用算符来把问题描述变换为子问题描述. 问题描述可以有各种数据结构形式,表列、树、字符串、 矢量、数组等都曾被采用过. 对于梵塔难题可用一个包含两个数列的表列来描述. [(113)(333)] 就意味着 “把配置(113)变换为配置(333)”.
2.2 问题归约描述(2/5)
可以用状态空间表示的三元组合(S,F,G)来规定与描述问题. 有关子问题可当作状态空间中两个的“路标”(对问题求 解有重要作用的中间状态)之间寻找路径的问题来辨别. 对梵塔问题,子问题 [(111)(122)], [(122)(322)]和 [(322) (333)] 规定了解答路径将要通过的路标(122)和(322).
在与或图中, 当某节点只含有单个子节点时,这个子节点既可 视为或节点,也可视为与节点.
对某些问题的图结构,如状态空间搜索问题,亦可归结为与或图 问题. 状态空间搜索问题与与或图问题的区别在于其不存在任 何与节点. 由于与或图中出现与节点,其结构与其它图结构大为不同. 因此,与或图需要有其特有的搜索技术,而且是否存在 与节点也就成为区别两种问题求解方法的主要依据. 在描述与或图时,将继续采用如父节点、子节点和连接节 点的弧线等术语,给予它们以明确的意义.
2.2 问题归约描述(3/5)
问题归约方法可以应用状态、算符和目标这些表示法来描述 问题,这并不意味着问题归约法和状态空间法是一样的. 实际上,可以把问题归约法看做比状态空间法更通用的问 题求解方法.
2.2 问题归约描述(4/5)
归约算符将问题描述变换为一个归约或子问题描述的集合. 变换所得所有子问题的解就意味着父辈问题的一个解. 所有问题归约的目的是最终产生具有明显解答的本原问 题, 这些问题可能是能够由状态空间搜索中走动一步来 解决的问题, 或者可能是别的具有已知解答的更复杂的问题. 本原问题除了对终止搜索过程起着明显的作用外,有时还 被用来限制归约过程中产生子问题的替换集合. 当一个或多个子问题属于某个本原问题的指定子集时,就 出现这种限制.
2 问题归约描述(1/1)
2 问题归约描述
本节通过介绍“梵塔难题”(Tower-of-Hanoi Puzzle)及其求解 来讨论问题归约描述,主要内容有: 梵塔难题 问题归约描述
2.1 梵塔难题(1/9)
2.1 梵塔难题
为了说明如何用问题归约法求解问题,下面考虑著名的AI问题 --“梵塔难题”(Tower-of-Hanoi Puzzle),其提法如下: 有3个柱子(1,2和3)和3个不同尺寸的圆盘(A,B和C).圆盘 的中心有个孔,圆盘可以堆叠在柱子上. 最初,全部3个圆盘都堆在柱子1上;最大的圆盘C在底部,最 小的圆盘A在顶部. 现要求把所有圆盘都移到柱子3上,每次只许移动一个,而 且圆盘只能从上到下移动,且堆放只能从小到大.
对应于某个给定集合的各节点,用连接弧线的标记来指明.
3.1 与或图的结构(3/6)
为了不出现既有与子节点又有或子节 点的节点,使得状态图更规范,更容易 被计算机所存储与处理,通常把某些 附加节点引入此结构图.
这样便使含有一个以上子问题的 每个集合能够聚集在它们各自的 父节点之下.
A
N
M
2.1 梵塔难题(2/9)
梵塔难题的初始配置和目标配置如图1所示.
1
2
3
(111) A B C
1Байду номын сангаас
2
3
(333)
A
B C
2.1 梵塔难题(3/9)
梵塔难题可采用前一讲的状态空间法来求解. 其状态空间图每个节点代表柱子上圆盘的一种状态,共含 有27个节点,其节点(状态)数、规则数多,求解较复杂. 本讲讨论对梵塔难题而言,问题表述和求解更简洁的问题 归约法.
2.2 问题归约描述--符号积分问题(2/4)
上世纪六十年代开发的SAINT系统就是一个应用问题归 约的符号积分系统。
下图为一个符号积分的问题归约图.
2.2 问题归约描述--符号积分问题(3/4)
sin 3 xdx
sin
3x
+
x4 x2 +1
dx
x4 dx
x2 +1
(111)(333)
(111)(122)
(122)(322)
(322)(333)
(111)(113) (113)(123) (123)(122) (322)(321) (321)(331) (331)(333)
图3a 梵塔问题归约图
本原问题
2.1 梵塔难题(9/9)
这种图式结构,叫做与或图. 它能有效地说明如何由问题归约法求得问题的解答.
1 4
sinxdx
1 cos x 4
本原问题 本原问题的解
2.2 问题归约描述--符号积分问题(4/4)
由该问题归约的与或图,可读出该符号积分的解为:
sin
3x
+
x4 x2 +1
dx
1 2
cos
x
1 12
cos 3x
1 4
cos
x
1 3
x3
x
arctgx
这里值得指出的是:
问题归约与前面状态空间描述不同的是,主要其在问题空 间中展开对问题的描述和求解.
状态空间法只是研究对问题所陈述的事实\状态如何表示, 以及如何搜索状态空间求解;
而问题归约法则是对问题求解中如何将问题逐步分解为 一系列子问题\本原问题的集合.
对实际问题求解,可将这两种方法有机结合,如后面讨论到的与或 图表示与搜索.
4
12
3
3 与或图表示(1/1)
3 与或图表示
对归约问题,可采用图的结构来表示把问题归约为子问题的替 换集合. 表示问题规约的图称为与或图. 下面介绍: 与或图的结构 节点可解性的定义
3.1 与或图的结构(1/6)
3.1 与或图的结构
A
考虑某归约问题,问题A 既可由求解问题B和C, 也可由求解D、E和F, 或者由单独求解H来解决.
顺序解读与或图,按问题归约顺序将其本原问题及其解组 合,即可得到原问题的解. 如,对该梵塔问题,从与或图读得的解为如下操作顺序:
(111)(113)
(113)(123)
(123)(122)
(122)(322)
(331)(333)
(321)(331)
(322)(321)
图3b 梵塔问题操作顺序
H
BCDE F 图5 一个与或图
根据这一约定,图4的结构变为图5所示的结构.
其中,标记为N和M的附加节点分别作为集合 {B,C}和 {D,E,F}的唯一父节点,具有辅助问题描述的作用.
3.1 与或图的结构(4/6)
对于图5,问题A被归约为单一替 换 子 问 题 N、M 和 H. 因 此 , 把 节 点N、M和H叫做或节点.
1 引言(2/3)
采用问题归约表示可由下列3部分组成: 一个初始问题描述; 将问题变换为子问题的操作集; 一系列本原问题描述.
从目标(要解决的问题)出发逆向推理,建立子问题以及子 问题的子问题,直至最后把初始问题归约为一个平凡的本 原问题集合. 这就是问题归约的实质.
1 引言(3/3)
2.1 梵塔难题(5/9)
上述论证允许把原始问题归约(简化)为下列3个子问题; 1. 移动圆盘A和B至柱子2的双圆盘问题,如图2(a)所示.
1
2
3
(111) A B C
1 (122)
C
2
3
A B
图2(a) 移动圆盘A和B至柱子2
2.1 梵塔难题(6/9)
2. 移动圆盘C至柱子3的单圆盘问题,如图2(b)所示.
2.2 问题归约描述--符号积分问题(1/4)
由该问题归约的与或图,可读出该符号积分的解为:
sin
3x
+
x4 x2 +1
dx
1 2
cos
x
1 12
cos 3x
1 4
cos
x
1 3
x3
x
arctgx
3 cos x 1 cos 3x 1 x3 x arctgx
第三讲 知识表示方法 --问题归约法
Problem Reduction Method -- One of Knowledge Represent Methods
引言 问题归约描述
梵塔难题 问题归约描述 与或图表示 问题归约机理 关键算符 差别
目录
目录(1/1)
1 引言(1/3)
BCDE FH 图4 子问题替换集合结构图
这一问题归约为子问题的替换集合关系可由图4所示的结构来表 示.
图中各节点由它们所表示的问题来标记.
3.1 与或图的结构(2/6)
从该图可读得:
问题B和C构成子问题 的一个集合;
D、E和F构成另一子问 题集合;
而H则为第3个集合.
A
BCDE FH 图4 子问题替换集合结构图
3 cos x 1 cos 3x 1 x3 x arctgx
4
12
3
2.2 问题归约描述—非线性系统的最优控制(1/4)
例2 非线性系统控制 非线性控制问题求解也可采用AI的问题归约来描述与求 解,下面简单介绍之。 某多变量非线性系统的控制求解问题描述: 多变量被控对象模型与初始状态 x(k+1)=F(x(k),u(k)) x(0)=x0 控制策略 u(k)={u1, u2, …, un} 其中ui表示控制状态变迁满足如下条件的控制策略 ||x(k+1)||a||x(k)|| 控制的目标为使如下二次型性能指标函数最小:
然而,N被归约为子问题B和C的 单一集合,要求解N就必须求解 所有的子问题.因此,把节点B和 C叫做与节点.
A
N
M
H
BCDE F 图5 一个与或图
同理,节点D、E和F也叫做与节点.
各个与节点用跨接指向他们子节点的弧线的小段圆弧加 以标记,如图4和图5所示.
这种结构图叫做与或图.
3.1 与或图的结构(5/6)
下面再介绍基于问题归约的 符号积分系统和 非线性系统的最优控制
的例子.
2.2 问题归约描述(5/5)
2.2 问题归约描述--符号积分问题(1/4)
例1 符号积分问题 所谓符号积分是求不定积分原函数的符号运算问题. 符号积分为通过应用各种 代数变换 三角变换以及 不定积分性质,如 函数和积分、 分部积分等 可以把复杂的积分问题逐步归约为若干个本原积分问题 (可利用积分表直接求出原函数)。
1
-
cos2 2
x
sinxdx
1 2
sinxdx
1 2
cos2xsinxdx
x2
-1
1 x2 +1
dx
x2dx
dx
1
x 2 +1 dx
1 cos x 2
1 4
(sin3
x
sinx)dx
1 x3
x
arctgx
3
1 4
sin3
xdx
1 cos3x 12
2.1 梵塔难题(4/9)
图1所示的原始梵塔问题可归约为如下较简单的问题集合: 要把所有圆盘都移至柱子3,必须首先把圆盘C移至柱子3; 而且此前,要求柱子3必须是空的. 只有在移开圆盘A和B之后,才能移动圆盘C; 而且圆盘A和B不要移至柱子3,否则就不能尽快把圆 盘C移至柱子3. 因此,首先应该把圆盘A和B移到柱子2上. 然后才能够进行关键的一步,把圆盘C从柱子1移至柱子3, 并继续解决难题的其余部分.
1 (122)
C
2
3
A B
(322)
1
2
3
A
C
B
图2(b) 移动圆盘C至柱子3
2.1 梵塔难题(7/9)
3. 移动圆盘A和B至柱子3的双圆盘问题,如图2(c)所示.
1
2
3
(322)
A
C
B
1
2
3
(333)
A
B C
图2(C) 移动圆盘A和B至柱子3
2.1 梵塔难题(8/9)
由于3个简化了的问题都较小,都比原始问题容易解决. 子问题2为本原问题,因为它的解只包含一步移动. 应用一系列相似的推理,子问题1和子问题3也可被归约为 本原问题,如图3a所示.
问题归约(reduction)是另一种问题描述与求解方法. 所谓归约,即降阶. 简单地说,问题归约是通过系列变换将问题变换为一个可 以直接求解的本原问题的集合,从而解决了初始问题. 这里,所谓本原问题就是不可或不需再通过变换化简的 “原子”问题, 本原问题的解可以直接得到或通过一个"黑箱"操作 得到。
2.2 问题归约描述(1/5)
2.2 问题归约描述
问题归约方法应用算符来把问题描述变换为子问题描述. 问题描述可以有各种数据结构形式,表列、树、字符串、 矢量、数组等都曾被采用过. 对于梵塔难题可用一个包含两个数列的表列来描述. [(113)(333)] 就意味着 “把配置(113)变换为配置(333)”.
2.2 问题归约描述(2/5)
可以用状态空间表示的三元组合(S,F,G)来规定与描述问题. 有关子问题可当作状态空间中两个的“路标”(对问题求 解有重要作用的中间状态)之间寻找路径的问题来辨别. 对梵塔问题,子问题 [(111)(122)], [(122)(322)]和 [(322) (333)] 规定了解答路径将要通过的路标(122)和(322).
在与或图中, 当某节点只含有单个子节点时,这个子节点既可 视为或节点,也可视为与节点.
对某些问题的图结构,如状态空间搜索问题,亦可归结为与或图 问题. 状态空间搜索问题与与或图问题的区别在于其不存在任 何与节点. 由于与或图中出现与节点,其结构与其它图结构大为不同. 因此,与或图需要有其特有的搜索技术,而且是否存在 与节点也就成为区别两种问题求解方法的主要依据. 在描述与或图时,将继续采用如父节点、子节点和连接节 点的弧线等术语,给予它们以明确的意义.
2.2 问题归约描述(3/5)
问题归约方法可以应用状态、算符和目标这些表示法来描述 问题,这并不意味着问题归约法和状态空间法是一样的. 实际上,可以把问题归约法看做比状态空间法更通用的问 题求解方法.
2.2 问题归约描述(4/5)
归约算符将问题描述变换为一个归约或子问题描述的集合. 变换所得所有子问题的解就意味着父辈问题的一个解. 所有问题归约的目的是最终产生具有明显解答的本原问 题, 这些问题可能是能够由状态空间搜索中走动一步来 解决的问题, 或者可能是别的具有已知解答的更复杂的问题. 本原问题除了对终止搜索过程起着明显的作用外,有时还 被用来限制归约过程中产生子问题的替换集合. 当一个或多个子问题属于某个本原问题的指定子集时,就 出现这种限制.
2 问题归约描述(1/1)
2 问题归约描述
本节通过介绍“梵塔难题”(Tower-of-Hanoi Puzzle)及其求解 来讨论问题归约描述,主要内容有: 梵塔难题 问题归约描述
2.1 梵塔难题(1/9)
2.1 梵塔难题
为了说明如何用问题归约法求解问题,下面考虑著名的AI问题 --“梵塔难题”(Tower-of-Hanoi Puzzle),其提法如下: 有3个柱子(1,2和3)和3个不同尺寸的圆盘(A,B和C).圆盘 的中心有个孔,圆盘可以堆叠在柱子上. 最初,全部3个圆盘都堆在柱子1上;最大的圆盘C在底部,最 小的圆盘A在顶部. 现要求把所有圆盘都移到柱子3上,每次只许移动一个,而 且圆盘只能从上到下移动,且堆放只能从小到大.
对应于某个给定集合的各节点,用连接弧线的标记来指明.
3.1 与或图的结构(3/6)
为了不出现既有与子节点又有或子节 点的节点,使得状态图更规范,更容易 被计算机所存储与处理,通常把某些 附加节点引入此结构图.
这样便使含有一个以上子问题的 每个集合能够聚集在它们各自的 父节点之下.
A
N
M
2.1 梵塔难题(2/9)
梵塔难题的初始配置和目标配置如图1所示.
1
2
3
(111) A B C
1Байду номын сангаас
2
3
(333)
A
B C
2.1 梵塔难题(3/9)
梵塔难题可采用前一讲的状态空间法来求解. 其状态空间图每个节点代表柱子上圆盘的一种状态,共含 有27个节点,其节点(状态)数、规则数多,求解较复杂. 本讲讨论对梵塔难题而言,问题表述和求解更简洁的问题 归约法.
2.2 问题归约描述--符号积分问题(2/4)
上世纪六十年代开发的SAINT系统就是一个应用问题归 约的符号积分系统。
下图为一个符号积分的问题归约图.
2.2 问题归约描述--符号积分问题(3/4)
sin 3 xdx
sin
3x
+
x4 x2 +1
dx
x4 dx
x2 +1
(111)(333)
(111)(122)
(122)(322)
(322)(333)
(111)(113) (113)(123) (123)(122) (322)(321) (321)(331) (331)(333)
图3a 梵塔问题归约图
本原问题
2.1 梵塔难题(9/9)
这种图式结构,叫做与或图. 它能有效地说明如何由问题归约法求得问题的解答.
1 4
sinxdx
1 cos x 4
本原问题 本原问题的解
2.2 问题归约描述--符号积分问题(4/4)
由该问题归约的与或图,可读出该符号积分的解为:
sin
3x
+
x4 x2 +1
dx
1 2
cos
x
1 12
cos 3x
1 4
cos
x
1 3
x3
x
arctgx
这里值得指出的是:
问题归约与前面状态空间描述不同的是,主要其在问题空 间中展开对问题的描述和求解.
状态空间法只是研究对问题所陈述的事实\状态如何表示, 以及如何搜索状态空间求解;
而问题归约法则是对问题求解中如何将问题逐步分解为 一系列子问题\本原问题的集合.
对实际问题求解,可将这两种方法有机结合,如后面讨论到的与或 图表示与搜索.
4
12
3
3 与或图表示(1/1)
3 与或图表示
对归约问题,可采用图的结构来表示把问题归约为子问题的替 换集合. 表示问题规约的图称为与或图. 下面介绍: 与或图的结构 节点可解性的定义
3.1 与或图的结构(1/6)
3.1 与或图的结构
A
考虑某归约问题,问题A 既可由求解问题B和C, 也可由求解D、E和F, 或者由单独求解H来解决.
顺序解读与或图,按问题归约顺序将其本原问题及其解组 合,即可得到原问题的解. 如,对该梵塔问题,从与或图读得的解为如下操作顺序:
(111)(113)
(113)(123)
(123)(122)
(122)(322)
(331)(333)
(321)(331)
(322)(321)
图3b 梵塔问题操作顺序
H
BCDE F 图5 一个与或图
根据这一约定,图4的结构变为图5所示的结构.
其中,标记为N和M的附加节点分别作为集合 {B,C}和 {D,E,F}的唯一父节点,具有辅助问题描述的作用.
3.1 与或图的结构(4/6)
对于图5,问题A被归约为单一替 换 子 问 题 N、M 和 H. 因 此 , 把 节 点N、M和H叫做或节点.
1 引言(2/3)
采用问题归约表示可由下列3部分组成: 一个初始问题描述; 将问题变换为子问题的操作集; 一系列本原问题描述.
从目标(要解决的问题)出发逆向推理,建立子问题以及子 问题的子问题,直至最后把初始问题归约为一个平凡的本 原问题集合. 这就是问题归约的实质.
1 引言(3/3)
2.1 梵塔难题(5/9)
上述论证允许把原始问题归约(简化)为下列3个子问题; 1. 移动圆盘A和B至柱子2的双圆盘问题,如图2(a)所示.
1
2
3
(111) A B C
1 (122)
C
2
3
A B
图2(a) 移动圆盘A和B至柱子2
2.1 梵塔难题(6/9)
2. 移动圆盘C至柱子3的单圆盘问题,如图2(b)所示.
2.2 问题归约描述--符号积分问题(1/4)
由该问题归约的与或图,可读出该符号积分的解为:
sin
3x
+
x4 x2 +1
dx
1 2
cos
x
1 12
cos 3x
1 4
cos
x
1 3
x3
x
arctgx
3 cos x 1 cos 3x 1 x3 x arctgx
第三讲 知识表示方法 --问题归约法
Problem Reduction Method -- One of Knowledge Represent Methods
引言 问题归约描述
梵塔难题 问题归约描述 与或图表示 问题归约机理 关键算符 差别
目录
目录(1/1)
1 引言(1/3)
BCDE FH 图4 子问题替换集合结构图
这一问题归约为子问题的替换集合关系可由图4所示的结构来表 示.
图中各节点由它们所表示的问题来标记.
3.1 与或图的结构(2/6)
从该图可读得:
问题B和C构成子问题 的一个集合;
D、E和F构成另一子问 题集合;
而H则为第3个集合.
A
BCDE FH 图4 子问题替换集合结构图
3 cos x 1 cos 3x 1 x3 x arctgx
4
12
3
2.2 问题归约描述—非线性系统的最优控制(1/4)
例2 非线性系统控制 非线性控制问题求解也可采用AI的问题归约来描述与求 解,下面简单介绍之。 某多变量非线性系统的控制求解问题描述: 多变量被控对象模型与初始状态 x(k+1)=F(x(k),u(k)) x(0)=x0 控制策略 u(k)={u1, u2, …, un} 其中ui表示控制状态变迁满足如下条件的控制策略 ||x(k+1)||a||x(k)|| 控制的目标为使如下二次型性能指标函数最小:
然而,N被归约为子问题B和C的 单一集合,要求解N就必须求解 所有的子问题.因此,把节点B和 C叫做与节点.
A
N
M
H
BCDE F 图5 一个与或图
同理,节点D、E和F也叫做与节点.
各个与节点用跨接指向他们子节点的弧线的小段圆弧加 以标记,如图4和图5所示.
这种结构图叫做与或图.
3.1 与或图的结构(5/6)
下面再介绍基于问题归约的 符号积分系统和 非线性系统的最优控制
的例子.
2.2 问题归约描述(5/5)
2.2 问题归约描述--符号积分问题(1/4)
例1 符号积分问题 所谓符号积分是求不定积分原函数的符号运算问题. 符号积分为通过应用各种 代数变换 三角变换以及 不定积分性质,如 函数和积分、 分部积分等 可以把复杂的积分问题逐步归约为若干个本原积分问题 (可利用积分表直接求出原函数)。
1
-
cos2 2
x
sinxdx
1 2
sinxdx
1 2
cos2xsinxdx
x2
-1
1 x2 +1
dx
x2dx
dx
1
x 2 +1 dx
1 cos x 2
1 4
(sin3
x
sinx)dx
1 x3
x
arctgx
3
1 4
sin3
xdx
1 cos3x 12
2.1 梵塔难题(4/9)
图1所示的原始梵塔问题可归约为如下较简单的问题集合: 要把所有圆盘都移至柱子3,必须首先把圆盘C移至柱子3; 而且此前,要求柱子3必须是空的. 只有在移开圆盘A和B之后,才能移动圆盘C; 而且圆盘A和B不要移至柱子3,否则就不能尽快把圆 盘C移至柱子3. 因此,首先应该把圆盘A和B移到柱子2上. 然后才能够进行关键的一步,把圆盘C从柱子1移至柱子3, 并继续解决难题的其余部分.
1 (122)
C
2
3
A B
(322)
1
2
3
A
C
B
图2(b) 移动圆盘C至柱子3
2.1 梵塔难题(7/9)
3. 移动圆盘A和B至柱子3的双圆盘问题,如图2(c)所示.
1
2
3
(322)
A
C
B
1
2
3
(333)
A
B C
图2(C) 移动圆盘A和B至柱子3
2.1 梵塔难题(8/9)
由于3个简化了的问题都较小,都比原始问题容易解决. 子问题2为本原问题,因为它的解只包含一步移动. 应用一系列相似的推理,子问题1和子问题3也可被归约为 本原问题,如图3a所示.