- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
概述:搜索推理技术课程主要探讨如何利用搜索理论和技术来寻找问题的解决方案。状态空间搜索技术包括盲目搜索和启发式两种方法。盲目搜索主要是通过直接遍历状态空间来查找解决方案,但是效率低下。启发式搜索通过抽取问题的特征信息来辅助决策,使得搜索更高效。在解决复杂的问题时,通常会使用状态空间搜索。
搜索推理技术 ; 所谓搜索,就是为了达到某一“目标”而连续地进行推理的过程。
搜索技术就是对推理进行引导和控制的技术,它也是人工智能的基本技术之一。事实上,许多的人工智能的过程,甚至所有的智能活动的过程,都可以看作或抽象为一个“问题求解”过程,所谓的“问题求解”过程,实质上就是在显式的或隐式的问题空间中进行搜索的过程。;3.1.2 搜索的类型;3.1.2 搜索的类型; 状态空间的搜索策略可分为:盲目搜索和启发式
搜索两大类。
尽管盲目搜索的性能不如启发式搜索,但由于启发
式搜索需要抽取与问题本身有关的特征信息,而这种
特征信息的抽取往往又比较困难,因此盲目搜索仍不
失为一种有用的搜索策略。; 当用状态空间法解决问题时,有以下两个方面的因
素需要考虑:
对于很大的问题,计算机无法保存其全部状态空间
对于具体问题,与解有关的状态空间一般仅是全部状态空间的一部分
因此,在问题求解过程中,没有必要生成和保存该问题
的全部状态空间,只要能够生成和保存与解有关的那部分
状态空间即可。解决这一问题的方法是采用状态空间搜索
技术。对状态空间的搜索,由于问题的状态空间可用一个有向
图来表示,因此状态空间搜索实际上就是对有向图的搜索。; Open表 Closed表
若要讨论状态空间搜索的一般算法,还需要设立 Open表和 Closed表这样两个数据结构。
Open表用于存放刚生成的节点,由于这些节点还没有进行扩展,因此 Open表也称为未扩展节点表;
Closed表用于存放已经扩展的节点,因此Closed表也称为已扩展节点表。
此外,对问题的初始状态、搜索过程得到的搜索图、当前扩展节点新生成的子节点集,也都需要用相应的符号来表示。; 假设用S表示问题的初始状态,G表示搜索过程所得到的搜索图,M表示当前扩展节点新生成的且不为自己先辈的子节点集。在上述假设下,状态空间的一般图搜索过程为:(1)把初始节点S放入 Open表,并建立目前仅包含S的图G;(2)检查Open表是否为空,若为空,则问题无解,失败退出;(3)把 Open表的第1个节点取出放入Closed表,并记该节点为节点n;(4)考察节点n是否为目标节点。若是则得到了问题的解,成功退出;(5)扩展节点n,生成一组子节点。把这些子节点中不是节点n祖先的 那部分子节点记作集合M,并把这些子节点作为节点n的子节点加人G中;(6)针对M中子节点的不同情况,分别作如下处理: ① 对那些没有在G中出现过的M成员设置一个指向其父节点(即节点n)的指针,并把它放入 Open表。 ② 对那些原来已在G中出现过,但还没有被扩展的M成员,确定是否需要修改它指向父节点的指针。③ 对于那些先前已在G中出现过,并已经扩展了的M成员,确定是否需要修改其后继节点指向父节点的指针。(7)按某种策略对Open表中的节点进行排序。(8)转第(2)步。; 广度优先搜索也称为宽度优先搜索,它是一种先生成的节点先扩展的策略。
广度优先搜索过程:
从初始节点开始逐层向下扩展,在第n层节点还没有全部搜索完之前,不进入第n+l层节点的搜索。
Open表中的节点总是按进入的先后排序,先进入Open表的节点排在前面,后进入 Open表的节点排在后面。; 广度优先搜索算法如下:
(1)把初始节点S放入Open表中;
(2)如果Open表为空,则问题无解,失败退出
(3)把 Open表的第一个节点取出放入Closed表,并记该节点
为n;
(4)考察节点n是否为目标节点。若是,则得到问题的解,成功
退出;
(5)若节点n不可扩展,则转第(2)步;
(6)扩展节点 n,将其子节点放入Open表的尾部,并为每一个
子节点设置指向父节点的指针,然后转第(2)步。;例:八数码难题。
分析:
可以使用的操作有:空格左移、上移、右移和下移
条件:只允许把位于空格左、上、右、下方的牌移入空格。
要求:应用广度优先搜索策略寻找从初始状态到目标状态的解路径。;2 8 3
4
7 6 5;3.2.2广度优先搜索;广度优先搜索的特点:
优点:
广度优先搜索是一种完备策略,即只要问题有解,它就一定可以找到解。
广度优先搜索找到的解,一定是路径最短的解。
缺点:
盲目性较大,尤其是当目标节点距初始节点较远时,将产生许多无用的节点,因此其搜索效率较低。;课堂练习:给出采用广度优先算法的Open表和Closed表;3.2.3等代价搜索;S; 深度优先搜索是一种后生成的节点先扩展的策略。
这种搜索策略的搜索过程是
原创力文档


文档评论(0)