网站大量收购闲置独家精品文档,联系QQ:2885784924

《人工智能》第4章搜索策略.pptx

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

人工智能原理篇

搜索策略第四章

本章导读现实世界中多数问题都是非结构化的,一般不能用直接求解的方法来求解这样的问题,而只能利用已有的知识一步一步地摸索着前进。因此,常常使用基于搜索策略的方法来求解问题。搜索策略是人工智能的基本求解策略之一,已在人工智能各领域得到了广泛应用。本章主要介绍基于状态空间表示法的搜索策略,包括盲目搜索策略和启发式搜索策略。学习目标熟悉搜索的基本内容。理解搜索策略的思想。掌握宽度优先搜索、深度优先搜索和等代价搜索等盲目搜索策略。掌握A搜索和A*搜索等启发式搜索策略。

目录4搜索概述盲目搜索策略启发式搜索策略010203

搜索概述01

搜索的概念4.1.1搜索就是根据问题的实际情况,按照一定的策略或规则,从知识库中寻找可利用的知识,从而构造出一条代价较小的推理路线,使问题得到解决的过程。搜索是人工智能中的一个核心技术,是推理不可分割的一部分,它直接关系到智能系统的性能和运行效率。在搜索问题中,主要的工作是找到正确的搜索策略。搜索策略反映了状态空间或问题空间扩展的方法,也决定了状态或问题的访问顺序。

在人工智能中,通过运用搜索策略解决问题的基本思想是:首先把问题的初始状态(即起始节点)作为当前状态,选择适用的操作符对其进行操作,生成一组子状态(即后继节点),然后检查目标状态是否在其中出现。若出现,则搜索成功,找到了问题的解;若未出现,则按某种搜索策略从已生成的状态中再选一个状态作为当前状态。重复上述过程,直到目标状态出现或者不再有可供操作的状态及操作符为止。在运用搜索策略求解问题的过程中,涉及的数据结构除了状态空间图之外,还需要两个辅助的数据结构,即存放已访问但未扩展节点的OPEN表,以及存放已扩展节点的CLOSED表。状态空间图的搜索过程如左图所示。搜索过程4.1.2

?

(6)扩展节点n,生成后继节点集合M,并将集合M中的成员作为n的后继节点添加入搜索图中。(7)针对M中后继节点的不同情况,分别做如下处理。①对那些未曾在搜索图中出现过的(既未曾在OPEN表中,也未在CLOSED表中出现过)M成员,设置其父节点指针指向n,并加入OPEN表中。②对那些原来已在搜索图中出现过,但还没有扩展的(已经在OPEN表或CLOSED表中出现过)M成员,确定是否需要将其原来的父节点更改为n。③对那些先前已在搜索图中出现过,并已经扩展了的(已在CLOSED表中)M成员,确定是否需要修改其后继节点指向父节点的指针。若修改了其父节点,则将该节点从CLOSED表中移出,重新加入OPEN表中。(8)按某一方式或按某个估价值,重排OPEN表。继续执行步骤(3)。

知识库?

添砖加瓦在搜索过程中需要解决的基本问题有:(1)搜索过程是否一定能找到一个解。(2)当搜索过程找到一个解时,找到的是否是最佳解。(3)搜索过程的时间与空间复杂性如何。(4)搜索过程是否能终止运行或是否会陷入一个死循环。

根据搜索过程中是否运用与问题有关的信息,可以将搜索策略分为盲目搜索策略和启发式搜索策略。在搜索过程中对OPEN表的节点排序,主要目的是希望从未扩展节点中选出一个最具有希望的节点作为下一个扩展节点使用。若此时的排序是任意的或者是盲目的,则为盲目搜索;若排序是以各种启发式思想或其他准则为依据的,则为启发式搜索。搜索策略4.1.3

盲目搜索策略02盲目搜索策略又称无信息搜索策略,也就是说,在搜索过程中,只按照预先规定的搜索策略进行搜索,而没有任何中间信息来改变这些策略。常用的盲目搜索策略有宽度优先搜索、深度优先搜索和等代价搜索等。

?4.2.1宽度优先搜索宽度优先搜索

宽度优先搜索的搜索过程可用如左图所示的算法描述。宽度优先搜索算法

【例4-1】猫捉老鼠问题,猫位于A处,它发现K处有一只老鼠(见左图),请用宽度优先搜索算法帮猫寻找捕捉路线。猫和老鼠的位置表示

【解】使用宽度优先搜索算法解决猫捉老鼠问题的步骤如下。(1)猫所在的位置A是起始节点,将A放入OPEN表中。(2)判断该起始节点A是否为一目标节点,若是,则求得一个解并成功退出;否则继续。节点A不是老鼠所在的位置,所以不是目标节点。(3)判断OPEN表是否为空表,若是空表,则没有解,失败退出;否则继续。OPEN表中有节点A,非空,继续执行。(4)把OPEN表中的第一个节点(记为节点n)移出,并放入CLOSED表中。将节点A从OPEN表中移出,并放入CLOSED表中。(5)判断节点n是否

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档