chap8 盲目搜索人工智能课程 上海交大.ppt

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
chap8 盲目搜索人工智能课程 上海交大

第8章 盲目搜索 8.1 用公式表示状态空间 首先,我们非常关心如何用公式来表示这些搜索问题; 第二,我们必须找到隐式表示大的搜索图的方法; 第三,我们需要用高效的算法来对这些大图进行搜索。 8数码问题 8.2 隐式状态空间图的组成 从开始状态可以到达的状态空间图部分是通过开始状态描述和可能在任何状态下采用的动作结果描述来隐式表示的 从理论上讲,可以把一个图的隐式表示转换为显式表示。为此,可以产生开始节点的所有后继节点(通过那个节点应用所有可能的算子),然后再生成所有后继节点的所有后继节点,等等。 对那些太大以至不能显式表示的图,搜索过程只需要生成要求的状态空间,以发现到达目标的路径。过程在发现了一个可以接受的目标路径时终止。 表示隐式状态空间图的三个部分: 1) 一个标识开始节点的描述。这个描述是对环境初始状态建模的一些数据结构。 2) 把代表环境状态的状态描述转换成代表动作后状态描述的转换函数。这些函数也常被叫做算子。在a g e n t问题中,它们是动作结果的模型。当一个算子应用到一个节点时,它产生该节点的一个后继节点。 3) 目标状态,可以是状态描述中的一个真假值函数,或者是和目标状态一致的状态描述的真实实例列表。 8.3 广度优先搜索 盲目搜索过程只把算子应用到节点,它没有使用问题领域的任何特殊知识,最简单的盲目搜索过程就是广度优先搜索(breadth-first search)。 该过程把所有的算子应用到开始节点以产生一个显式的状态空间图,再把所有可能的算子应用到开始节点的所有直接后继,再到后继的后继,等等。 搜索过程一律从开始节点向外扩展。由于每一步将所有可能的算子应用到一个节点,因此可把它们组成一个叫后继函数的函数。当把后继函数应用到一个节点时,产生一个节点集,该节点集就是把所有能应用到那个节点的算子应用到该节点而产生的。 相同代价搜索 相同代价搜索(uniform-cost searc h)[Dijkstra 1959]是广度优先搜索的一种变体,在该方法中,节点从开始节点顺着代价等高点向外扩展,而不是顺着相同深度等高线。如果图中所有弧的代价相同(比如说等于1),那么相同代价搜索就和广度优先搜索一致。反过来,相同代价搜索可以看作是下一章要讲的启发式搜索的一个特殊情况。广度优先和相同代价搜索方法的简要描述只给出了它们的主要思想,但是要解决其他复杂的情况则需要技术改进。 8.4 深度优先或回溯搜索 深度优先搜索一次对节点应用一个算子以产生该节点的一个后继。每一个节点都留下一个标记,用来指示如果需要时所必需的附加算子。对每一个节点,必须有一个决策来决定哪个算子先用,哪个次之等等。只要一个后继产生,它的下一个后继就会被生成,一直向下传下去,等等。为了防止从开始节点的搜索过程深度太深,需要一个深度约束(depth bound)。超过这个深度约束时不再产生后继。这种限制允许我们忽略搜索图的一部分,这些部分已经确定不能高效地到达目标节点。 8.5 迭代加深 一种叫做迭代加深(iterative deepening)[Korf 1985, Stickel Tyson 1985]的技术既能满足深度优先搜索的线性存储要求,同时又能保证发现一个最小深度的目标节点(如果一个目标节点能被发现)。在迭代加深方法中,连续的深度优先搜索被引入,每一个的深度约束逐次加1,直到一个目标节点被发现。 由迭代加深搜索扩展产生的节点数并不比广度优先搜索产生的多很多。 * * 在8数码表示的状态空间中节点数是9!= 3 6 2 8 8 0个(8数码状态空间刚好可以分成两个独立的图;一个图中的数码不能从其他图中的状态到达) *

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档