第3章-图搜索与问题求解.ppt

  1. 1、本文档共168页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
该程序实际是一个旅行商问题的通用程序。 对于一个具体的旅行路径规划, 还需也只需把具体的“地图”用谓词road(City1, City2, Cost)描述出来, 并作为事实并入该程序。   该程序还有一个特点是, 它实际是进行双重搜索: 一方面在显式图(地图)上进行搜索,同时又在由此产生的隐式图(以访问过的城市序列为状态节点的状态图)上进行搜索。而该问题的解, 并不是隐式图中的路径,而是路径中的最后一个节点。 这个节点恰好是地图上的一条路径。 3.3 与 或 图 搜 索 3.3.1 与或图   我们仍用例子引入与或图的概念。    例 3.15 如图3-12所示,设有四边形ABCD和A′B′C′D′, 要求证明它们全等。   分析:分别连接B、D和B′、D′, 则原问题可分解为两个子问题:  Q1:证明△ABD≌△A′B′D′ Q2:证明△BCD≌△B′C′D′ 图3-12 四边形ABCD和A’B’C’D’   于是, 原问题的解决可归结为这两个子问题的解决。 换句话说,原问题被解决当且仅当这两个子问题都被解决。  进一步,问题Q1还可再被分解为 Q11:证明AB=A′B′ Q12:证明AD=A′D′ Q13:证明∠A=∠A′ 或 Q11′: 证明AB=A′B′ Q12′: 证明AD=A′D′    Q13′: 证明 BD=B′D′ 问题Q2还可再被分解为 Q21:证明 BC=B′C′ Q22:证明 CD=C′D′  Q23:证明 ∠C=∠C′ 或 Q21′:证明 BC=B′C′ Q22′:证明 CD=C′D′   Q23′:证明 BD=B′D′   现在考虑原问题与这两组子问题的关系, 我们便得到图3-13。图中的弧线表示所连边为“与”关系,不带弧线的边为或关系。这个图中既有与关系又有或关系,因此被称为与或图。但这个与或图是一种特殊的与或图, 称为与或树。 图 3-13 问题的分解与变换 图 3-14 一个典型的与或图   由上例可以看出,与或图可以用来描述一类问题的求解过程。事实上,当我们把待解的原问题作为初始节点, 把由原问题经一系列分解或变换而得到的直接可解的简单问题作为目标节点, 那么,问题求解过程也就是在一个与或图中寻找一个从初始节点到目标节点的路径问题。例如上例,如果我们把Q作为初始节点,把子问题Q11、Q12、Q13…作为目标节点, 则对问题Q的求解就是在图3-13所示的与或图中寻找路径的问题。但可以看出, 与或图中的路径一般不是像状态图中那样的线形路径, 而是图或树形“路径”。因此, 一般称这种路径为解图或解树。所以, 求解与或图问题就是在与或图中搜索解图或解树的问题。   同状态图一样, 与或图也是问题求解的一种抽象表示。事实上,许多问题的求解过程都可以用与或图搜索来描述。如梵塔问题、猴子摘香蕉问题、博弈问题、求不定积分问题、定理证明问题等等。 所以, 研究与或图搜索也具有普遍意义。  用与或图搜索来描述问题的求解过程, 就是将原问题通过有关变换规则不断分解(为子问题)或变换(为等价问题), 直到问题分解或变换为(即归约为)一些直接可解的子问题, 或者不可解也不能再分解或变换的子问题为止。然后根据所得到的搜索树确定原问题的可解性。如果可解, 则由搜索树找出解图或解树。 3.3.2 与或图搜索   1. 搜索方式,解图(树)   同状态图(即或图)的搜索一样, 与或图搜索也分为树式和“线”式两种类型。对于树式搜索来讲,其搜索过程也是不断地扩展节点, 并配以返回指针, 而形成一棵不断生长的搜索树。 但与或图搜索解图(树),不像在或图中那样只是简单地寻找目标节点,而是边扩展节点边进行逻辑判断, 以确定初始节点是否可解。一旦能够确定初始节点的可解性, 则搜索停止。这时, 根据返回指针便可从搜索树中得到一个解图(树)。所以,准确地说,解图(树)实际上是由可解节点形成的一个子图(树), 这个子图(树)的根为初始节点, 叶为终止节点, 且这个子图(树)还一定是与图(树)。   2. 可解性判别   怎样判断一个节点的可解性呢? 下面我们给出判别准则。 (1) 一个节点是可解, 则节点须满足下列条件之一:  ① 终止节点是可解节点。 ② 一个与节点可解, 当且仅当其子节点全都可解。 ③ 一个或节点可解, 只要其子节点至少有一个可解。  (

文档评论(0)

光光文挡 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档