第五章人工智能搜索策略PPT讲稿.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第五章人工智能搜索策略PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《第五章人工智能搜索策略PPT讲稿.ppt(81页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第五章人工智能搜索策略第1页,共81页,编辑于2022年,星期三第五章第五章 搜索策略搜索策略5.1 基本概念基本概念5.2 状态空间的搜索策略状态空间的搜索策略5.3 与与/或树的搜索策略或树的搜索策略5.4 搜索的完备性与效率搜索的完备性与效率第2页,共81页,编辑于2022年,星期三5.1 基本概念 采用某种策略,在知识库中寻找可利用的知采用某种策略,在知识库中寻找可利用的知识,从而识,从而构造一条代价较小的推理路线构造一条代价较小的推理路线,使,使问题得到解决的过程称为搜索。问题得到解决的过程称为搜索。5.1.1 什么是搜索什么是搜索第3页,共81页,编辑于2022年,星期三5.1.1
2、 什么是搜索搜索分为盲目搜索盲目搜索和启发式搜索启发式搜索。盲目搜索盲目搜索是按照预定的控制策略进行搜索,在搜索过是按照预定的控制策略进行搜索,在搜索过程中获得的中间信息不用来改进控制策略。程中获得的中间信息不用来改进控制策略。启发式搜索启发式搜索是在搜索中加入了与问题有关的启发性信息,是在搜索中加入了与问题有关的启发性信息,用以指导搜索朝着最有希望的方向前进,加速问题的求解过用以指导搜索朝着最有希望的方向前进,加速问题的求解过程并找到最优解。程并找到最优解。第4页,共81页,编辑于2022年,星期三5.1.2 状态空间表示法状态空间用状态空间用“状态状态”和和“算符算符”来表示问题。来表示问
3、题。n状态状态 状态用以描述问题在求解过程中不同时刻的状态,一般用向量表示n算符算符使问题从一个状态转变为另一个状态的操作称为算符。n状态空间状态空间由所有可能出现的状态及一切可用算符所构成的集合称为问题的状态空间。回顾回顾第5页,共81页,编辑于2022年,星期三状态空间示例:十五数码难题1191513412758613210141194151312758613210141191513412758613210141194151312758613210141191513412758613210141194151312758613210141194151381275613210141194151
4、31275861321014回顾回顾第6页,共81页,编辑于2022年,星期三5.1.3 与/或树表示法对于一个复杂问题,直接求解往往比较困难。对于一个复杂问题,直接求解往往比较困难。此时可通过下述方法进行简化:此时可通过下述方法进行简化:(1)分解)分解 (2)等价变换)等价变换回顾回顾第7页,共81页,编辑于2022年,星期三5.1.3 与/或树表示法(1)分解把一个复杂问题分解为若干个较为简单把一个复杂问题分解为若干个较为简单的子问题,每个子问题又可继续分解。的子问题,每个子问题又可继续分解。重复此过程,直到不需要再分解或者不重复此过程,直到不需要再分解或者不能再分解为止。如此形成能再分
5、解为止。如此形成“与与”树。树。(2 2)等价变换等价变换利用同构或同态的等价变换,把原问题利用同构或同态的等价变换,把原问题变换为若干个较为容易求解的新问题。变换为若干个较为容易求解的新问题。如此形成如此形成“或或”树。树。回顾回顾第8页,共81页,编辑于2022年,星期三与/或树分解与等价变换可以结合起来使用,这样形成的图称为分解与等价变换可以结合起来使用,这样形成的图称为“与与/或树或树”回顾回顾第9页,共81页,编辑于2022年,星期三由可解节点所构成,并且由这些可解节点可推出初始节点为可解节由可解节点所构成,并且由这些可解节点可推出初始节点为可解节点的子树称为解树点的子树称为解树(t
6、(t表示终止节点表示终止节点)。解树中一定包含初始节点。解树中一定包含初始节点。(它对应于原始问题)(它对应于原始问题)解树解树回顾回顾第10页,共81页,编辑于2022年,星期三5.2 状态空间的搜索策略第11页,共81页,编辑于2022年,星期三5.2 状态空间的搜索策略盲目搜索盲目搜索n搜索按规定的路线进行,不使用与问题有关的搜索按规定的路线进行,不使用与问题有关的启发性信息;启发性信息;n适用于其状态空间图是树状结构的一类问题。适用于其状态空间图是树状结构的一类问题。启发式搜索启发式搜索 使用与问题有关的启发性信息,并以这些启发性信息指导使用与问题有关的启发性信息,并以这些启发性信息指
7、导搜索过程,可以高效地求解结构复杂的问题。搜索过程,可以高效地求解结构复杂的问题。第12页,共81页,编辑于2022年,星期三5.2.1 状态空间的一般搜索过程一个复杂问题的状态空间一般都是一个复杂问题的状态空间一般都是十分庞大十分庞大的。如的。如64阶梵阶梵塔问题共有塔问题共有3的的64次方个不同的状态。次方个不同的状态。把问题的所有状态空间都进行存储有时候是把问题的所有状态空间都进行存储有时候是不可能不可能的。的。把问题的所有状态空间都进行存储也是把问题的所有状态空间都进行存储也是不必要不必要的。因为与的。因为与解题有关的状态空间往往只是整个状态空间的一部分,只解题有关的状态空间往往只是整
8、个状态空间的一部分,只要能生产并存储这部分状态空间就可以求出问题的解。要能生产并存储这部分状态空间就可以求出问题的解。第13页,共81页,编辑于2022年,星期三5.2.1 状态空间的一般搜索过程如何产生问题需要的状态空间从而实现对问题的求解呢?答案如何产生问题需要的状态空间从而实现对问题的求解呢?答案就是就是搜索技术搜索技术。搜索技术搜索技术基本思想基本思想:把问题的初始状态作为当前状态,选择适:把问题的初始状态作为当前状态,选择适用的算符对其操作,生产一组子状态,然后检查目标状态是否用的算符对其操作,生产一组子状态,然后检查目标状态是否在其中出现。若出现,则搜索成功,找到了问题的解,否则按
9、在其中出现。若出现,则搜索成功,找到了问题的解,否则按某种搜索策略从已生成的状态中再选择一个作为当前状态。重某种搜索策略从已生成的状态中再选择一个作为当前状态。重复上述过程,直到目标状态出现或者不再有可供操作的状态及复上述过程,直到目标状态出现或者不再有可供操作的状态及算符为止。算符为止。第14页,共81页,编辑于2022年,星期三5.2.1 状态空间的一般搜索过程OPEN表和表和CLOSE表表nOPEN表用于存放刚生成的节点。对于不同的搜索策略,节点在表用于存放刚生成的节点。对于不同的搜索策略,节点在OPEN表中的排表中的排列顺序是不同的。列顺序是不同的。nCLOSE表用于存放将要扩展的节点
10、。对一个节点的扩展是指:用所有可适表用于存放将要扩展的节点。对一个节点的扩展是指:用所有可适用的算符对该节点进行操作,生成一组子节点用的算符对该节点进行操作,生成一组子节点 OPEN表状态节点父节点编号 状态节点父节点CLOSE表第15页,共81页,编辑于2022年,星期三搜索的一般过程搜索的一般过程1.把初始节点把初始节点S0放入放入OPEN表,并建立目前只包含表,并建立目前只包含S0的图,记的图,记为为G;2.检查检查OPEN表是否为空,若为空则问题无解,退出;表是否为空,若为空则问题无解,退出;3.把把OPEN表的第一个节点取出放入表的第一个节点取出放入CLOSE表,并计该节点为表,并计
11、该节点为n;4.考察节点考察节点n是否为目标节点。若是,则求得了问题的解,是否为目标节点。若是,则求得了问题的解,退出;退出;5.扩展节点扩展节点n,生成一组子节点。把其中不是节点,生成一组子节点。把其中不是节点n先辈的那些子节先辈的那些子节点记做集合点记做集合M,并把这些子节点作为节点,并把这些子节点作为节点n的子节点加入的子节点加入G中;中;第16页,共81页,编辑于2022年,星期三6.针对针对M中子节点的不同情况,分别进行如下处理:中子节点的不同情况,分别进行如下处理:对于那些未曾在G中出现过的M成员设置一个指向父节点(即节点n)的指针,并把它们放入OPEN表;(不在OPEN表)对于那
12、些先前已经在G中出现过的M成员,确定是否需要修改它指向父节点的指针;(在OPEN表中)对于那些先前已在G中出现并且已经扩展了的M成员,确定是否需要修改其后继节点指向父节点的指针;(在CLOSE表中)7.按某种搜索策略对按某种搜索策略对OPEN表中的节点进行排序;表中的节点进行排序;8.转第转第2步。步。搜索的一般过程搜索的一般过程第17页,共81页,编辑于2022年,星期三对一般搜索过程的一些说明对一般搜索过程的一些说明一个节点经一个算符操作后一般只生成一个子节点。一个节点经一个算符操作后一般只生成一个子节点。但适用于一个节点的算符可能有多个,此时就会生但适用于一个节点的算符可能有多个,此时就
13、会生成一组子节点。这些子节点中可能有些是当前扩展成一组子节点。这些子节点中可能有些是当前扩展节点的父节点、祖父节点等,此时不能把这些先辈节点的父节点、祖父节点等,此时不能把这些先辈节点作为当前扩展节点的子节点。节点作为当前扩展节点的子节点。第18页,共81页,编辑于2022年,星期三对一般搜索过程的一些说明对一般搜索过程的一些说明一个新生成的节点,它可能是第一次被生成的节一个新生成的节点,它可能是第一次被生成的节点,也可能是先前已作为其它节点的子节点被生点,也可能是先前已作为其它节点的子节点被生成过,当前又作为另一个节点的子节点被再次生成过,当前又作为另一个节点的子节点被再次生成。此时,它究竟
14、应选择哪个节点作为父节点?成。此时,它究竟应选择哪个节点作为父节点?一般由原始节点到该节点的代价来决定,处于代一般由原始节点到该节点的代价来决定,处于代价小的路途上的那个节点就作为该节点的父节点。价小的路途上的那个节点就作为该节点的父节点。第19页,共81页,编辑于2022年,星期三对一般搜索过程的一些说明在搜索过程中,一旦某个被考察的节点是目标节点在搜索过程中,一旦某个被考察的节点是目标节点就得到了一个解。该解是由从初始节点到该目标节就得到了一个解。该解是由从初始节点到该目标节点路径上的算符构成。点路径上的算符构成。如果在搜索中一直找不到目标节点,而且如果在搜索中一直找不到目标节点,而且OP
15、ENOPEN表中不再表中不再有可供扩展的节点,则搜索失败。有可供扩展的节点,则搜索失败。第20页,共81页,编辑于2022年,星期三对一般搜索过程的一些说明通过搜索得到的图称为搜索图,搜索图是状态空通过搜索得到的图称为搜索图,搜索图是状态空间图的一个子集。由搜索图中的所有节点及反向间图的一个子集。由搜索图中的所有节点及反向指针所构成的集合是一棵树,称为搜索树。根据指针所构成的集合是一棵树,称为搜索树。根据搜索树可给出问题的解。搜索树可给出问题的解。第21页,共81页,编辑于2022年,星期三5.2.2 广度(宽度)优先搜索基本思想基本思想:从初始节点从初始节点S0开始,逐层地对节点进行扩展并考
16、开始,逐层地对节点进行扩展并考察它是否为目标节点。在第察它是否为目标节点。在第n层的节点没有全部层的节点没有全部扩展并考察之前,不对第扩展并考察之前,不对第n1层的节点进行扩展。层的节点进行扩展。OPEN表中节点总是按进入的先后顺序排列,先进表中节点总是按进入的先后顺序排列,先进入的节点排在前面,后进入的排在后面。入的节点排在前面,后进入的排在后面。第22页,共81页,编辑于2022年,星期三广度优先搜索过程1.把初始节点把初始节点S0放入放入OPEN表。表。2.如果如果OPEN表为空,则问题无解,退出。表为空,则问题无解,退出。3.把把OPEN表的第一个节点(记为节点表的第一个节点(记为节点
17、n)取出放入)取出放入CLOSE表。表。4.考察节点考察节点n是否为目标节点。若是,则求得了问题的解,退是否为目标节点。若是,则求得了问题的解,退出。出。5.若节点若节点n不可扩展,则转第不可扩展,则转第2步。步。6.扩展节点扩展节点n,将其子节点放入,将其子节点放入OPEN表的表的尾尾部,并为每一个部,并为每一个子节点都配置指向父节点的指针,然后转第子节点都配置指向父节点的指针,然后转第2步。步。第23页,共81页,编辑于2022年,星期三重排九宫的广度优先搜索重排九宫的广度优先搜索操作符:空格左移、上移、右移、下移操作符:空格左移、上移、右移、下移第24页,共81页,编辑于2022年,星期
18、三小插曲关于九宫问题射雕英雄传射雕英雄传 瑛姑的问题瑛姑的问题:将一至九这九个数字排成三:将一至九这九个数字排成三列,不论纵横斜角,每三字相加都是十列,不论纵横斜角,每三字相加都是十五,如何排法?五,如何排法?黄蓉的回答黄蓉的回答:九宫之义,法以灵龟,二:九宫之义,法以灵龟,二四为肩,六八为足,左三右七,戴九履四为肩,六八为足,左三右七,戴九履一,五居中央。一,五居中央。第25页,共81页,编辑于2022年,星期三幻方问题幻方问题第26页,共81页,编辑于2022年,星期三中国人首先发现了幻方中国人首先发现了幻方 洛水神龟献奇图洛水神龟献奇图第27页,共81页,编辑于2022年,星期三关于三阶
19、幻方的奥秘关于三阶幻方的奥秘第28页,共81页,编辑于2022年,星期三南宋杨辉 研究幻方第一人 幻方问题幻方问题在我国古代称为“纵横图”,又叫“九宫算图”。南宋大数学家杨辉在1275年所著的续古摘奇算法续古摘奇算法两卷中,除了给出洛书中3阶幻方的构造方法外,还给出了4阶至10阶的幻方。第29页,共81页,编辑于2022年,星期三杨辉对杨辉对3 3阶幻方的解释阶幻方的解释第30页,共81页,编辑于2022年,星期三29435761816594211714310615138121三阶幻方(15)四阶幻方(34)第31页,共81页,编辑于2022年,星期三欧美的幻方热德国画家和文艺理论家德国画家和
20、文艺理论家丢勒丢勒在在1514年创年创作的一幅铜版雕刻画忧伤中就有一作的一幅铜版雕刻画忧伤中就有一个个4阶幻方。阶幻方。名画忧伤现在珍藏于名画忧伤现在珍藏于大英博物馆。大英博物馆。富兰克林富兰克林也投入了很大精力研究幻方。也投入了很大精力研究幻方。第32页,共81页,编辑于2022年,星期三名画忧伤名画忧伤第33页,共81页,编辑于2022年,星期三广度优先算法中需要注意的问题1、对于任意一个可扩展的节点,总是按照固定的操作、对于任意一个可扩展的节点,总是按照固定的操作符的顺序对其进行扩展(如前面重排九宫例子中的符的顺序对其进行扩展(如前面重排九宫例子中的空空格左移、上移、右移、下移格左移、上
21、移、右移、下移)。)。2、在对任一节点进行扩展的时候,如果所得的某个子节点、在对任一节点进行扩展的时候,如果所得的某个子节点(状态)前面已经出现过,则立即将其放弃,不再重复(状态)前面已经出现过,则立即将其放弃,不再重复画出(不送入画出(不送入OPEN表)。表)。因此,广度优先搜索的本质是:因此,广度优先搜索的本质是:以初始节点为根节点,以初始节点为根节点,在状态空间图中按照广度优先的原则,生成一棵搜索树。在状态空间图中按照广度优先的原则,生成一棵搜索树。第34页,共81页,编辑于2022年,星期三广度优先搜索的特点优点优点:只要问题有解,用广度优先搜索总可以得到解,而且得到只要问题有解,用广
22、度优先搜索总可以得到解,而且得到的是路径最短的解。的是路径最短的解。缺点缺点:广度优先搜索盲目性较大,当目标节点距初始节点较远广度优先搜索盲目性较大,当目标节点距初始节点较远时将会产生许多无用节点,搜索效率低。时将会产生许多无用节点,搜索效率低。第35页,共81页,编辑于2022年,星期三5.2.3 深度优先搜索基本思想基本思想:从初始节点开始,在其子节点中选择一个节点进行:从初始节点开始,在其子节点中选择一个节点进行考察,若不是目标节点,则再在该子节点的子节点中选择一考察,若不是目标节点,则再在该子节点的子节点中选择一个节点进行考察,一直如此向下搜索。当到达某个子节点,个节点进行考察,一直如
23、此向下搜索。当到达某个子节点,且该子节点既不是目标节点又不能继续扩展时,才选择其兄且该子节点既不是目标节点又不能继续扩展时,才选择其兄弟节点进行考察。弟节点进行考察。深度优先搜索与广度优先搜索的唯一区别深度优先搜索与广度优先搜索的唯一区别:广度优先搜索是:广度优先搜索是将节点将节点n的子节点放入到的子节点放入到OPEN表的尾部,而深度优先搜索是把表的尾部,而深度优先搜索是把节点节点n的子节点放入到的子节点放入到OPEN表的首部。表的首部。第36页,共81页,编辑于2022年,星期三深度优先搜索过程1.把初始节点把初始节点S0放入放入OPEN表。表。2.如果如果OPEN表为空,则问题无解,退出。
24、表为空,则问题无解,退出。3.把把OPEN表的第一个节点(记为节点表的第一个节点(记为节点n)取出放入)取出放入CLOSE表。表。4.考察节点考察节点n是否为目标节点。若是,则求得了问题的解,退是否为目标节点。若是,则求得了问题的解,退出。出。5.若节点若节点n不可扩展,则转第不可扩展,则转第2步。步。6.扩展节点扩展节点n,将其子节点放入,将其子节点放入OPEN表的表的首首部,并为每一部,并为每一个子节点都配置指向父节点的指针,然后转第个子节点都配置指向父节点的指针,然后转第2步。步。第37页,共81页,编辑于2022年,星期三重排九宫的深度优先搜索操作符:空格左移、上移、右移、下移第38页
25、,共81页,编辑于2022年,星期三深度优先搜索的特点在深度优先搜索中,搜索一旦进入某个分支,就将沿着该分支一直在深度优先搜索中,搜索一旦进入某个分支,就将沿着该分支一直向下搜索。如果目标节点恰好在此分支上,则可较快地得到解。但向下搜索。如果目标节点恰好在此分支上,则可较快地得到解。但是,如果目标节点不在此分支上,而该分支又是一个无穷分支,则是,如果目标节点不在此分支上,而该分支又是一个无穷分支,则就不可能得到解。所以深度优先搜索是就不可能得到解。所以深度优先搜索是不完备不完备的,即使问题有解,的,即使问题有解,它也不一定能求得解。它也不一定能求得解。用深度优先求得的解,不一定是路径最短的解。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第五 人工智能 搜索 策略 PPT 讲稿
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内