华中科技大学人工智能第三章一般搜索原理1讲述.ppt

华中科技大学人工智能第三章一般搜索原理1讲述.ppt

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

第三章 一般搜索原理 搜索技术 搜索是人工智能中进行问题求解的一大类方法 根据是否使用启发式信息可分为 : 1,盲目搜索; 2,启发式搜索; 根据问题的表示方式分为: 1,状态空间搜索; 2,与/或树搜索。 例如: 用状态空间法来求解问题时,采用的是状态空间搜索; 用问题归约方法来求解问题时,采用的是与/或树搜索。 搜索的特点 和通常的搜索空间不同,人工智能中大多数问题的状态空间在问题求解之前不是全部知道的。 所以,人工智能中的搜索可以分成两个阶段:状态空间的生成阶段和在该状态空间中对所求解问题状态的搜索。 由于一个问题的整个空间可能会非常的大,在搜索之前生成整个空间会占用太大的存储空间。为此,状态空间一般是逐渐扩展的 “目标”状态是在每次扩展的时候进行搜索的。 3.2 盲目搜索 盲目搜索 盲目搜索是按预定的控制策赂进行搜索,没有任何关于问题本身的信息,在搜索过程中获得的中间信息并不改变控制策略。由于搜索总是按预先规定的路线进行,没有考虑到问题本身的特性,因此这种搜索具有盲目性,效率不高,不便于复杂问题的求解。 盲目搜索分类 搜索策略可分为三大类 不可撤回方式、回朔方式、图搜索方式 不可撤回方式:每一次搜索时,利用局部知识根据最优评价,选出下一状态,选定后不能撤回,只能继续 回朔方式:在搜索过程中,有时会发现所选的路径不适合找到目标,这时允许退回去另选一条路径。 图搜索方式: 将所有应用过的操作和它们产生的状态描述都以图的形式记录下来。由于当前可继续往下搜索的状态不只一个,因此可以从其中任一个状态往下搜索。 图搜索方式与回溯方式的不同之处在于,回溯方式不记亿那些试探失败的操作和它们产生的状态描述,只记忆当前正在搜索的路径。图搜索方式则保存所有试探过的路径,因而可以在任何一条路径上继续搜索 图搜索方式与回溯方式的不同 回溯方式不记忆那些试探失败的操作和它们产生的状态描述,只记忆当前正在搜索的路径。 图搜索方式则保存所有试探过的路径,因而可以在任何一条路径上继续搜索 不可撤回搜索策略 不可撤回方式的控制策略是,选择一条可应用的操作作用于当前状态,不论后果如何都接着做下去。这个方法类似于高等数学中求函数极值的爬山法。 在爬山法中,我们从任一点出发,在该点的最大梯度方向前进一步,得到一个新的点,再在新点的最大梯度方向上前进一步,一直到梯度为0为止,这个点就是函数的极大值点。如果函数只有一个极大值点.则这个点就是该函数的最大值点。 不可撤回搜索的实现 不可撤回搜索的实现是将状态描述定义成一个实数值的爬山函数。 控制策略就利用这个爬山函数来选择一个可应用的操作,施行该操作的结果应使爬山函数的值得到最大限度的增加。 不可撤回搜索举例(一) 选择八数码问题 我们选取“不在位”的数字个数的负值作为爬山函数 八数码游戏的操作可描述为下面的4条产生式规则 (1) if空格不在最上一行then空格上移 (2) if空格不在最下一行then生格下移 (3) if空格不在最左一列then空格左移 (4) if空格不在最右一列then空格有移 不可撤回搜索举例(二) 从初始状态出发,应用第一条规则,空格上移可获得爬山函数的最大增加、因此控 制策略选择第一条规则作为当前的操作。 在没有操作能够增加爬山函数的值时.可任选一个不减小函数值的操作,如果不存在这样的操作,则过程停止。 不可撤回搜索举例(三) 对于上例,采用不可撤回策略可以很快得到问题的解。 但一般来讲,如果爬山函数有多个局部极大值存在,该策略可能会引导到局部极大值点,而达不到目标状态。 例如当八数码问题的初始状态和目标状态分别如下时,任意一个可应用的操作都会降低爬山函数的值,因此,得不到目标: 回溯搜索策略 回溯策略是一种试探性方式。在选择一个操作时要建立一个回溯点。 在搜索过程中,如果遇到了困难,则要返回到最近的一个回溯点,换一个操作继续进行搜索。 回溯搜索策略举例 例:皇后问题 回溯搜索算法 回溯搜索可以用递归的方法来实现 下面的算法是一个用递归实现的算法: BACKTRACK(DATA) DATA:当前状态。 返回值:从当前状态到目标状态的路径 (以规则表的形式表示) 或FAIL。 回溯搜索算法(一) BACKTRACK(DATA) 1, IF TERM(DATA) RETURN NIL; 2, IF DEADEND(DATA) RETURN FAIL; 3, RULES:=APPRULES(DATA); 回溯搜索算法(二) 4, LOOP: IF NULL(RULES) RETURN FAIL; 5, R:=FIRST(RULES); 6, RULES

文档评论(0)

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

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

1亿VIP精品文档

相关文档