- 1、本文档共117页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
人工智能与专家系统 第3章 搜索方法 第3章 搜索方法 根据领域知识的多寡,分为知识贫乏系 统和知识丰富系统。 知识贫乏系统的求解问题如果能设计一 个操作算子(算符)集, 则可使用搜索技术 求解。 知识丰富系统的求解问题依靠推理技术 求解。 3.1 问题求解过程的形式表示 3.1.1 状态空间表示法 状态空间表示法用“状态”和“算符”来表示问题及求解问题可使用的知识。 状态:是求解过程中用以描述问题在任一时刻状况的数据结构。 算符:表示对状态的操作,算符的一次使用就使问题由一种状态变换为另一种状态。 问题的解:当到达目标状态时,由初始状态到目标状态所用算符的序列就是问题的一个解。 由问题的全部状态及一切可用算符所构成的集合称为问题的状态空间,一般用一个三元组表示: (S,F,G) 其中S是问题的所有初始状态构成的集合;F是算符的集合;G是目标状态的集合。 状态空间的图示形式称为状态空间图。其中,节点表示状态;有向边(弧)表示算符。 例3.1 二阶梵塔问题 设有三根柱子,在1号柱子上穿有A、B两个 盘片,盘A小于盘B,盘A位于盘B的上面。要求把 这两个盘片全部移到另一根柱子上,而且规定每 次只能移动一片,任何时刻都不能使盘B位于盘A 的上面。 画出二阶梵塔问题的状态空间有向图,并给 出问题的解。 解:设用S=(xA, xB)表示问题的状态, xA表示盘A所在的柱号,xB表示盘B所在的柱号。 全部可能的状态有以下9种: S0=(1,1) S1=(1,2) S2=(1,3) S3=(2,1) S4=(2,2) S5=(2,3) S6=(3,1) S7=(3,2) S8=(3,3) 问题的初始状态集合为S={S0}, 目标状态集合为G={S4,S8}。 算符: A(i, j)表示把盘A从柱i移到柱j上; B(i, j)表示把盘B从柱i移到柱j上。 共有12个算符,它们分别是: A(1,2),A(1,3),A(2,1),A(2,3),A(3,1),A(3,2) B(1,2),B(1,3),B(2,1),B(2,3),B(3,1),B(3,2) 图3.1 二阶梵塔的状态空间 3.1.2 与/或图表示法 问题归约方法:把初始问题通过一系列变换最终变为由若干子问题组成的集合,而这些子问题的解可以直接得到,从而解答了初始问题。 问题归约方法表示问题及其求解过程用与/或图表示。 1 分解变换 问题的分解过程可用一个“与树”表示。把问题P分解为三个子问题P1、P2、P3,只有当P1、P2、P3三个子问题都可解时,问题P才可解,称P1、P2、P3之间存在“与关系”;称节点P为“与节点”。 等价变换 问题的等价变换过程可用 一个“或树”表示。问题P被等 价变换为新问题P1、P2、P3, 其中,新问题P1、P2、P3中只 要有一个可解,则原问题就可 解,称P1、P2、P3之间存在“或 关系”;节点P称为“或节点”。 与/或树:其中既有“与”节点,也有“或”节点。 3 本原问题 直接可解的子问题称为本原问题。 4 端节点与终叶节点 没有子节点的节点称为端节点;本原问题所对应的端节点称为终叶节点。 5 可解节点 ①它是一个终叶节点。 ② 它是一个“或”节点,且其子节点至少有一 个是可解节点。 ③ 它是一个“与”节点,且其子节点全部是可 解节点。 6 不可解节点 ① 它是一个非终叶节点的端节点,即无法变 换的非终叶节点。 ② 它是一个“或”节点,且其子节点全部是不 可解节点。 ③ 它是一个“与”节点,且其子节点至少有一 个是不可解节点。 7 解树 由可解节点构成的、且由这些可解节点可推出初始节点(它对应于原始问题)为可解节点的与/或树称为解树。 例3.2 三阶梵塔问题:如图3.5所示。应用分解变换求解三阶梵塔问题。 (a)初始状态 (b)目标状态 图3.5 三阶梵塔问题 解:定义问题的状态表示:S=(xC,xB,xA) 其中xC表示盘片
文档评论(0)