人工智能-第3章搜索技术剖析.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 3.3.5迭代加深A*算法 由于A*算法把所有生成的节点保存在内存中,所以A*算法在耗尽计算时间之前一般早已经把空间耗尽了。 目前开发了一些新的算法,它们的目的是为了克服空间问题。 但一般不满足最优性或完备性,如迭代加深A*算法IDA*、简化内存受限A*算法SMA*等。 下面介绍IDA*算法。 * 迭代加深搜索算法,它以深度优先的方式在有限制的深度内搜索目标节点。 在每个深度上,该算法在每个深度上检查目标节点是否出现,如果出现则停止,否则深度加1继续搜索。 而A*算法是选择具有最小估价函数值的节点扩展。 * 迭代加深A* 搜索算法IDA*是上述两种算法的结合。 这里启发式函数用做深度的限制,而不是选择扩展节点的排序。 * 3.4 问题归约和AND-OR图启发式搜索 3.4.1 问题归约的描述 3.4.2 AND-OR图表示 3.4.3 AO*算法 * 启发式搜索可以应用的第二个问题是AND-OR图的反向推理问题。 AND-OR图的反向推理过程可以看作是一个问题归约过程, 即是说在问题求解过程中,将一个大的问题变换成若干个子问题,子问题又可以分解成更小的子问题,这样一直分解到可以直接求解为止,全部子问题的解就是原问题的解;并称原问题为初始问题,可直接求解的问题为本原问题。 问题归约是不同于状态空间法的另一种问题描述和求解的方法。 * 3.4.1 问题归约的描述 问题归约可以用三元组表示:(S0,O,P),其中 S0是初始问题 P是本原问题集(不用证明的,公理、已知事实,或已证明过的问题) O是操作算子集(操作算子把一个问题化成若干个子问题) 问题归约表示方法就是由初始问题出发,运用操作算子产生一些子问题,对子问题再运用操作算子产生子问题的子问题,这样一直进行到产生的问题均为本原问题,则问题得解。 * 看如下符号积分问题: 初始问题——∫f ( x ) dx 变换规则——积分规则 本原问题——可直接求原函数和积分,如∫sin ( x ) dx,∫cos ( x ) dx等。 所有问题归约的最终目的是产生本原问题。 * 3.4.2 AND-OR图表示 用AND-OR图把问题归约为子问题替换集合。 如,假设问题A既可通过问题C1与C2,也可通过问题C3、C4和C5,或者由单独求解问题C6来解决,如下图所示。图中各节点表示要求解的问题或子问题。 A C1 C2 C3 C4 C5 C6 图3-7 子问题替换集合的结构 * 问题C1和C2 构成后继问题的一个集合,问题C3、C4和C5 构成另一后继问题集合;而问题C6 则为第三个集合。 对应于某个给定集合的各节点,用一个连接它们的圆弧来标记。 图3-7中连接C1与C2 和C3、C4、C5 的圆弧分别叫2连接弧和3连接弧。 一般而言,这种弧叫K连接弧,表示对问题A由某个操作算子作用后产生K个问题。 * 由节点及K连接弧组成的图,称为AND-OR图,当所有K均为1时,就变为普通的OR图。 可以对如图3-7所示的AND-OR图进行变换,引进某些附加节点,以便使含有一个以上后继问题的每个集合能够聚集在它们各自的父辈节点之下。 * C1 C2 C3 C4 C5 C6 图3-8 各节点后继只含一个K连接弧的AND-OR图 0 这样图3-7就变为图3-8所示的结构了,每个节点的后继只包含一个K连接弧。弧连接的子节点叫与节点,如C1 、C2 及C3、C4、C5 。 K=1的连接弧连接的子节点叫做或节点。 * 在下面的讨论中,假设AND-OR图中每个节点,只包含一个K连接的子节点。 将问题求解归约为AND-OR图搜索时,将初始节点表示初始问题描述,对应于本原问题的节点称为叶节点。 * 在AND-OR图上执行的搜索过程,其目的在于表明起始节点是有解的,AND-OR图中的一个可解节点可递归地定义如下: (1)叶节点是可解节点; (2)如果某节点为或子节点,那么该节点可解当且仅当至少有一个子节点为可解节点; (3)如果某节点为与子节点,那么该节点可解当且仅当所有子节点均为可解节点。 * 不可解节点可递归定义如下: (1)有后裔节点的非叶节点是不可解节点; (2)或节点是不可解节点,当且仅当它的所有子节点都是不可解节点; (3)与节点是不可解节点,当且仅当它的子节点中至少有一个是不可解节点。 * 能导致初始节点可解的那些可解节点及有关连线组成的子图称为该AND-OR图的解图。 对OR图进行搜索,若搜索到某个节点n时,不论n是否生成了后继节点,n的费用是由其本身状态决定的,但对于AND-OR图不同,其费用计算规则如下: (1) n未生成后继节点,则费用由n的后继节点的费用决定。 (2) n已经生成了后继节点,则费用由n的后继节点的费用决定。 * 因为后继节点代表了分解的子

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档