第二章3问题规约_第1页
第二章3问题规约_第2页
第二章3问题规约_第3页
第二章3问题规约_第4页
第二章3问题规约_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、问题求解的基本方法问题规约 2一一 问题规约问题规约概念:概念: 把复杂的问题变换为若干需要同时处理的较把复杂的问题变换为若干需要同时处理的较为简单的子问题后再加以分别求解为简单的子问题后再加以分别求解问题的解答就由子问题的解答联合构成问题的解答就由子问题的解答联合构成问题归约可以递归地进行,直到把问题变换为问题归约可以递归地进行,直到把问题变换为本原问题的集合本原问题的集合本原问题就是不可或不需再通过变换化简的本原问题就是不可或不需再通过变换化简的原子原子问题问题 3问题归约的描述问题归约的描述SP = ( S , O )S-在问题求解(即搜索)过程中所有可达的合法在问题求解(即搜索)过程中

2、所有可达的合法状态状态 构成的集合构成的集合O-操作算子的集合,操作算子的执行导致状态的操作算子的集合,操作算子的执行导致状态的变迁变迁 问题状态可以通过子问题状态的联合加以表示问题状态可以通过子问题状态的联合加以表示 操作算子的执行则导致问题的操作算子的执行则导致问题的变换变换 4变换可区分为以下三种情况:变换可区分为以下三种情况:(1) 状态变迁状态变迁导致问题从上一状态变迁到下一状态,这就是一般导致问题从上一状态变迁到下一状态,这就是一般图搜索技术中操作算子的作用图搜索技术中操作算子的作用(2) 问题分解问题分解分解问题为需同时处理的子问题,但不改变问题状态分解问题为需同时处理的子问题,

3、但不改变问题状态(3) 基于状态变迁的问题分解基于状态变迁的问题分解先导致状态变迁,再实现问题分解,实际上先导致状态变迁,再实现问题分解,实际上 就是前就是前二个操作的联合执行二个操作的联合执行 5问题归约的例子:字母重写问题问题归约的例子:字母重写问题初始状态为字母列表(初始状态为字母列表(A B C),),目标状态为只包含字母目标状态为只包含字母x、y、z的字母列表的字母列表操作算子分为两类:操作算子分为两类:(1) 面向问题分解,由单一操作算子面向问题分解,由单一操作算子Split(n)实实现,现,n是当前问题(子问题)状态节点是当前问题(子问题)状态节点(2) 面向状态变迁,设计为字母

4、列表的面向状态变迁,设计为字母列表的重写规则重写规则: 6 (A) (D F), (A) (G),(B C) (E),(B) (H), (C) (I J K), (D) (x),(E) (y z), (F) (x y z),(G) (z), (H) (x x),(I) (y y), (J) (z z),(K) (x z)。 7求解重写问题的与或图求解重写问题的与或图 8 (A B C) (A)(B C),(A B C) (A)(B)(C),(A)(D) (F),(A)(G),(B C)(E) ,(B)(H),(C)(I)(J)(K) 。 9紧凑的与或图紧凑的与或图 10结论结论 在字母重写问题

5、的规约过程中,各子在字母重写问题的规约过程中,各子问题相互独立,所以子问题的进一步归约问题相互独立,所以子问题的进一步归约和本原问题的求解无交互作用,可按任意和本原问题的求解无交互作用,可按任意次序进行次序进行 然而,对于其他复杂的问题,还需要然而,对于其他复杂的问题,还需要考虑各子问题求解的考虑各子问题求解的次序次序 11练习练习设某字母重写问题的初始状态为(设某字母重写问题的初始状态为(C, B, Z),目标),目标状态是只含字母状态是只含字母M的列表,给定以下重写规则,的列表,给定以下重写规则,C (D, L)C (B, M)B (M, M)Z (B, B, M)画出相应于该重写问题的与

6、或图,指出解图并给出画出相应于该重写问题的与或图,指出解图并给出解答。解答。 12与或图去掉自节点与或图去掉自节点(c)到节点到节点(D)和和(L)的连接符的其余部的连接符的其余部分就是解图分就是解图解答为解答为(M,M,M,M,M,M,M,M,M,M) 13 举例说明举例说明(1)梵塔问题 14问题:三个柱子标记为问题:三个柱子标记为1 1、2 2、3 3 尺寸为小、中、大的三个圆盘标记为尺寸为小、中、大的三个圆盘标记为A A、B B、C C 初始状态初始状态下三个盘按下三个盘按A A、B B、C C顺序堆放在顺序堆放在1 1号柱子上号柱子上 目标状态目标状态下三个盘以同样次序顺序堆放在下三

7、个盘以同样次序顺序堆放在3 3号柱子上号柱子上规则:规则: 每次只能搬一个盘子,且较大盘不能压放在较每次只能搬一个盘子,且较大盘不能压放在较小盘之上小盘之上 15求解:求解: 三元素列表作为数据结构描述问题状态,三个元三元素列表作为数据结构描述问题状态,三个元素依次指示盘子素依次指示盘子A、B、C所在的柱子编号所在的柱子编号如此梵塔问题描述为(如此梵塔问题描述为(1 1 1) (3 3 3)归约为三个子问题(归约为三个子问题(1 1 1) (2 2 1)、()、(2 2 1)(2 2 3)和()和(2 2 3)(3 3 3) 第第1、3二个子问题再分别归约为子子问题如下:二个子问题再分别归约为

8、子子问题如下:(1 1 1)(3 1 1)、()、(3 1 1)(3 2 1)、)、 (3 2 1) (2 2 1),即依次搬),即依次搬A盘到柱子盘到柱子3,B盘盘到柱子到柱子2,A盘到柱子盘到柱子2; (2 2 3) (1 2 3), (1 2 3) (1 3 3)、(1 3 3) ( 3 3 3), 现在所有子问题均为本原问题现在所有子问题均为本原问题 16(2 2)符号积分问题)符号积分问题 (sin3x + x4/(x2 + 1))dx=sin3xdx + (x4/(x2 + 1)dx=-(1 - cos2x)dcosx + (x2 - 1 + 1/(1 + x2)dx=(-dcos

9、x + cos2xdcosx) + (x2dx - dx + (1/(1 + x2)dx)= -cosx + cos3x/3 + x3/3 - x + arctgx 归约为若干本原积分问题归约为若干本原积分问题可利用积分表直接求出原可利用积分表直接求出原函数函数 17(3)分子结构识别问题分子结构识别问题 有机化合物的分子结构往往很复杂,一个高有机化合物的分子结构往往很复杂,一个高分子可以包含成百上千个原子。常会遇到多种分分子可以包含成百上千个原子。常会遇到多种分子结构不同的物质具有相同的化学公式子结构不同的物质具有相同的化学公式-分子式分子式 18 19二二 与或图搜索与或图搜索可以把可以把

10、 与或图与或图视为对一般图的扩展视为对一般图的扩展 20 与或图基本概念:与或图基本概念: (1 1) K-K-连接连接 - -用于表示从父节点到子节点间的连接,用于表示从父节点到子节点间的连接,也称为父节点的也称为父节点的外向连接外向连接,并以园弧指示同父子节点,并以园弧指示同父子节点间的间的“与与”关系关系 K K大于大于1 1的连接也称为超连接的连接也称为超连接 K K等于等于1 1时超连接蜕化为普通连接时超连接蜕化为普通连接 而当所有超连接的而当所有超连接的K K都等于都等于1 1时,与或图蜕化为一时,与或图蜕化为一般图般图 (2 2)根、叶、终节点)根、叶、终节点 根节点:无父节点的

11、节点,用于指示问题的初始根节点:无父节点的节点,用于指示问题的初始 状态状态叶节点:无子节点的节点,目标状态由一组节点叶节点:无子节点的节点,目标状态由一组节点 联合表示联合表示终节点:用于联合表示目标状态的节点,终节点终节点:用于联合表示目标状态的节点,终节点 必定是叶节点必定是叶节点 22(3 3) 解图的生成解图的生成 自根节点开始选一外向连接,并从该连接指向自根节点开始选一外向连接,并从该连接指向的每个子节点出发,再选一外向连接,如此反复进的每个子节点出发,再选一外向连接,如此反复进行,直到所有外向连接都指向终节点为止行,直到所有外向连接都指向终节点为止 23解图、解图代价、能解节点和

12、不能解节点的定义解图、解图代价、能解节点和不能解节点的定义 解图:与或图(记为解图:与或图(记为G)任一节点(记为)任一节点(记为n)到终节)到终节点集合的解图(记为点集合的解图(记为G)是)是G的子图。的子图。 若若n是终节点,则是终节点,则G就由单一节点就由单一节点n构成;构成; 若若n有一外向有一外向K-连接指向子节点连接指向子节点n1,n2,nk,且这些且这些子节点每个都有到终节点集合的解图,则子节点每个都有到终节点集合的解图,则G由该由该k-连接和所有这些相应于子节点的解图构成;连接和所有这些相应于子节点的解图构成; 否则不存在否则不存在n到终节点集合的解图。到终节点集合的解图。 2

13、4(2) 解图代价解图代价: 以以C(n)指示节点指示节点n到终节点集合解图的到终节点集合解图的代价,并令代价,并令K-连接的代价就为连接的代价就为K, 则有:则有: 若若n是终节点,则是终节点,则C(n) = 0 若若n有一外向有一外向K-连接指向子节点连接指向子节点n1,n2,nk,且这些且这些子节点每个都有到终节点集合的解图子节点每个都有到终节点集合的解图,则则C(n) = K + C(n1) + C(n2) + + C(nk) 25(3) 能解节点能解节点终节点是能解节点;终节点是能解节点;若节点若节点n有一外向有一外向K-连接指向子节点连接指向子节点n1,n2,nk,且这些子节点都是

14、能解节点,则且这些子节点都是能解节点,则n是能解节点;是能解节点; (4) 不能解节点不能解节点非终节点的叶节点是不能解节点;非终节点的叶节点是不能解节点; 若节点若节点n的每一个外向连接都至少指向一个不能的每一个外向连接都至少指向一个不能解节点,则解节点,则n是不能解节点。是不能解节点。 26三三 与或图的启发式搜索与或图的启发式搜索 与一般图(或图)的搜索过程类似,引入应用领域的与一般图(或图)的搜索过程类似,引入应用领域的启发式知识去引导搜索过程,可以显著提高搜索的有效性,启发式知识去引导搜索过程,可以显著提高搜索的有效性,加速搜索算法的收敛加速搜索算法的收敛 解图以递归方式生成,解图的

15、代价也以递归方式计算,解图以递归方式生成,解图的代价也以递归方式计算,所以一旦某父节点所以一旦某父节点n的由外向的由外向K-连接指向的子节点(连接指向的子节点(n1,n2,nk)每个都估算了其)每个都估算了其h(ni)的值的值,(i = 1,2,,k),),则从父节点则从父节点n到终节点集合解图的可能代价到终节点集合解图的可能代价f(n)可以用公式可以用公式f(n) = K + h(n1) + h(n2) + + h(nk) 注意:注意:h(n)是最小解图代价的估计是最小解图代价的估计 27与或图启发式搜索的算法与或图启发式搜索的算法AO* 设:设: G-指示搜索图指示搜索图 G-被选中的待扩

16、展局部解图被选中的待扩展局部解图 LGS-候选的待扩展局部解图集候选的待扩展局部解图集 n0-指示根节点,即初始状态节点指示根节点,即初始状态节点 n-被选中的待扩展节点被选中的待扩展节点 fi(n0)-第第i个候选的待扩展局部解图的可个候选的待扩展局部解图的可能代价能代价 28该算法的实现过程如下:该算法的实现过程如下:(1) G := n0,LGS为空集;为空集;(2) 若若n0 是终节点,则标记是终节点,则标记 n0为能解节点;为能解节点;否则计算否则计算f(n0) = h(n0), 并把并把G作为作为0号候选局部解号候选局部解图加进图加进LGS;(3) 若若 n0 标记为能解节点,则算

17、法成功返回;标记为能解节点,则算法成功返回;(4) 若若LGS为空集,则搜索失败返回;否则从为空集,则搜索失败返回;否则从LGS选择选择fi(n0)最小的待扩展局部解图作为最小的待扩展局部解图作为G;(5) G中选择一个非终节点的外端节点(尚未中选择一个非终节点的外端节点(尚未用于扩展出子节点的节点)作为用于扩展出子节点的节点)作为n; 29(6) 扩展扩展n,生成其子节点集,并从中删去导致有,生成其子节点集,并从中删去导致有环的子节点以及和它们有环的子节点以及和它们有“与与”关系的子节点;关系的子节点; 若子节点集为空,则若子节点集为空,则n是不能解节点,从是不能解节点,从LGS删去删去G(

18、因为因为G不可能再扩展为解图不可能再扩展为解图);否则,;否则,计算每个子节点计算每个子节点 ni的的f(ni),并通过建立外向并通过建立外向K-连连接将所有子节点加到接将所有子节点加到G中;中;(7) 若存在若存在j个(个(j1)外向)外向K-连接连接, 则从则从LGS删去删去G,并将,并将j个新局部解图加进个新局部解图加进LGS; 30(8) 在在G中或在取代中或在取代G的的j个新局部解图中用公式个新局部解图中用公式f(n) = K + h(n1) + h(n2) + + h(nk)的计算结果的计算结果取代原先的取代原先的f(n),并传递这种精化的作用到,并传递这种精化的作用到fi(n0)(i = 1, 2, , j);同时将作为终节点的子节点);同时将作为终节点的子节点标记为能解节点,并传递节点的能解性。标记为能解节点,并传递节点的能解性。(9) 返回语句(返回语句(3)。)。 31举例举例h(n0)=3, h(n1)=2, h(n2)=1, h(n3)=1, h(n4)=4h(n5)=2, h(n6)=2, h(n7)=1, h(n8)=1, h(n13)=3, 32算法应用的若干问题算法应用的若干问题 1)从局部解图中选择加以扩展的节点)从局部解图中选择加以扩展的节点 2)AO*算法的可采纳性算

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论