人工智能及专家系统第3章-图搜索技术课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《人工智能及专家系统第3章-图搜索技术课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 人工智能 专家系统 搜索 技术 课件
- 资源描述:
-
1、第第3章章 图搜索技术图搜索技术 31 图搜索及其分类 311 图搜索的概念 312 图搜索的分类 313 状态图搜索树 314 状态空间搜索算法 315 搜索效率 32 穷举式搜索 321 广度优先搜索 322 深度优先搜索 323 有界深度优先搜索 324 代价驱动搜索 第第3章章 图搜索技术图搜索技术 33 启发式搜索 331 启发式搜索的基本概念 332 局部择优搜索 333 全局择优搜索 334 与/或图的启发式搜索 335 博弈树的启发式搜索 336-剪枝技术 第第3章章 图搜索技术图搜索技术 3.1.1 图搜索的概念图搜索的概念 图是节点及连接它们的弧的集合。搜索具有寻找、搜查、
2、扫描、检索的意义。它是在图中寻找目标或路径的基本方法;也就是说,利用已有知识逐步摸索求解,根据问题的实际情况,不断寻找可利用知识,使问题得以解决的过程称为搜索。搜索的目的是以尽可能低的耗费求得所需要的解。图搜索,就是从初始节点出发,沿着与之相连的弧试探地前进,寻找目标节点的过程(也可以反向进行)。树式搜索和线式搜索 树式搜索就是以“画树”的方式进行搜索。即从树根(初始节点)出发,一笔一笔地描出一棵树来。线式搜索就是以“画线”的方式进行搜索。线式搜索所记录的轨迹始终是一条线或折线。一般情况下,树式搜索成功后,还需再从搜索树中找出所求路径,而线式搜索只要搜索成功,则“搜索线”就是所找的路径,即问题
3、的解。312 图搜索的分类图搜索的分类 1 从求解要求看,可分为三种情况:从求解要求看,可分为三种情况:最佳值搜索。在这种情况下,值附在图的各终节点,搜索的目的就是去找出具有最佳值的终节点,例如博弈问题的搜索就是属于这一类问题。最短路径搜索。搜索的目的是找出从初始节点到目标节点的最短路径。例如,巡回售货员问题。满足性搜索。有些问题可能有多个解,有些问题只有一个解,采用满足性搜索,即只要找到一个解即可。例如,定理证明和大多数问题求解。2.按搜索方向分,有三种情况:正向搜索:是从初始状态向目标状态的方向搜索,有时也称为数据驱动搜索。搜索的过程即应用规则从给定条件产生新条件,再用规则从新条件产生更多
4、的新条件。反向搜索:是从目标状态向初始状态的方向搜索,即目标驱动搜索。方法是先从目标入手,看哪些规则或合法移动能产生该目标以及应用这些规则产生目标时需要哪些条件。搜索就通过反向的、连续的子目标不断地进行,一直到找到问题给定的条件为止。双向搜索:同时从目标状态和初始状态出发进行搜索。正向搜索可用于下列情况:l l 问题的初始说明给出了全部或大部分数据问题的初始说明给出了全部或大部分数据的系统。解释程序常常如此,它提供一批的系统。解释程序常常如此,它提供一批采集的数据,要求系统对此作出进一步的采集的数据,要求系统对此作出进一步的解释。解释。l l 存在大量可能的目标,但对实际问题的条存在大量可能的
5、目标,但对实际问题的条件及给定的信息加以运用的方法很少的系件及给定的信息加以运用的方法很少的系统。统。l l 难以形成一个目标或假设的系统。难以形成一个目标或假设的系统。对下列情况建议采用反向搜索:l l问题的说明中给出了目标或假设,或者很容问题的说明中给出了目标或假设,或者很容易用公式来表示它们的系统。易用公式来表示它们的系统。l l有大量的规则适用于问题的条件的系统。在有大量的规则适用于问题的条件的系统。在这种情况下,可以推出许多结论和结果,较这种情况下,可以推出许多结论和结果,较早地选好目标可剪掉空间中许多分枝,使反早地选好目标可剪掉空间中许多分枝,使反向搜索的效率更高。向搜索的效率更高
6、。l l问题没有给出数据,必须在求解中获取的系问题没有给出数据,必须在求解中获取的系统。这种情况下,反向搜索可以帮助指导数统。这种情况下,反向搜索可以帮助指导数据的获取。据的获取。l l分析特定数据的系统。分析特定数据的系统。3按照搜索的内容分 穷举式搜索穷举式搜索 图搜索图搜索广度优先搜索广度优先搜索深度优先搜索深度优先搜索有界深度优先搜索有界深度优先搜索一致代价搜索一致代价搜索 启发式搜索启发式搜索局部择优搜索局部择优搜索全局择优搜索全局择优搜索与与/或图启发式搜索或图启发式搜索极大极小搜索极大极小搜索、剪枝搜索剪枝搜索 313 状态图搜索树状态图搜索树 图图3-1 状态图搜索树状态图搜索
7、树 L M E F G H I J K B C D A 树根树根树枝树枝叶节点叶节点I、J、K是是D的子节点的子节点D是是I、J、K的父节点的父节点A是是I、J、K的先辈节点的先辈节点中间节点中间节点一层一层二层二层三层三层例、巡回推销员问题。B A D C 4 7 10 6 10 5图图3-2 4城市路线城市路线图图3-3 巡回推销员问题状态图搜索树巡回推销员问题状态图搜索树 A 4 6 10AB AC AD 7 10 7 5 10 5ABC ABD ACB ACD ADB ADC 5 5 10 10 7 7ABCD ABDC ACBD ACDB ADBC ADCB 10 6 10 4 6
8、4ABCDA ABDCAACBDAACDBA ADBCA ADCBA 26 25 33 25 33 26路径长度路径长度314 状态空间搜索算法状态空间搜索算法 解决问题时,有以下的因素需要考虑解决问题时,有以下的因素需要考虑:1计算机无法保存其全部状态空间;计算机无法保存其全部状态空间;2与解有关的状态空间一般仅是全部状态空间的一与解有关的状态空间一般仅是全部状态空间的一部分。部分。3是否一定能找到一个解?是否一定能找到一个解?4是否能终止运行,或是否会陷入一个死循环?是否能终止运行,或是否会陷入一个死循环?5是否找到的是最好解?是否找到的是最好解?6搜索过程的时间与空间复杂性如何?搜索过程
9、的时间与空间复杂性如何?7怎样才能最有效地降低搜索的复杂性?怎样才能最有效地降低搜索的复杂性?8 怎样设计才能最有效地利用描述语言怎样设计才能最有效地利用描述语言?Open表和Closed表 Closed表表编号节点父节点编号编号节点父节点编号12345 Open表表节点节点 父节点父节点 编号编号315 搜索效率搜索效率 搜索效率搜索效率P定义为:定义为:P=L/T L从初始状态到目标状态的路长从初始状态到目标状态的路长 T节点的总数节点的总数(不包括初始节点不包括初始节点)另一种度量方法称有效的分枝因素另一种度量方法称有效的分枝因素B。它代表它代表在搜索过程中每个有效节点平均生成子节点在搜
10、索过程中每个有效节点平均生成子节点数目。设数目。设L是节点的深度是节点的深度(或路长或路长),则,则 T=B+B+B+B=(BBB)/(1 B)从而可得从而可得P=L/T=L(1 B)/(B BB)32 穷举式搜索穷举式搜索 特点特点搜索效率低,控制策略差,占用较搜索效率低,控制策略差,占用较大的存储空间;但它控制性知识简单,是启大的存储空间;但它控制性知识简单,是启发式搜索的基础。为了简化问题的讨论,对发式搜索的基础。为了简化问题的讨论,对下面几种穷举式搜索方法作如下假设:下面几种穷举式搜索方法作如下假设:1搜索空间是一棵树,即只有一个初始节搜索空间是一棵树,即只有一个初始节点,任意两个节点
11、之间的路径是唯一的。点,任意两个节点之间的路径是唯一的。2.任何一个节点扩展时,其后继节点包含任何一个节点扩展时,其后继节点包含有返回父节点的指针。当目标节点产生时,有返回父节点的指针。当目标节点产生时,利用此特征很易求得解答。利用此特征很易求得解答。321 广度优先搜索广度优先搜索 概念与特点概念与特点 广度优先搜索也称为宽度优先搜索,它是一种按广度优先搜索也称为宽度优先搜索,它是一种按“先产生的节点先扩展先产生的节点先扩展”原则进行的搜索,也即一原则进行的搜索,也即一层一层进行的搜索。搜索过程是层一层进行的搜索。搜索过程是:从初始节点从初始节点So开始开始逐层向下扩展,先生成下一级各子节点
12、,按顺序逐层向下扩展,先生成下一级各子节点,按顺序(先先生成的子节点,优先检查,优先扩展生成的子节点,优先检查,优先扩展)检查是否出现检查是否出现目标节点目标节点Sg。按此方法,若在第按此方法,若在第n层节点(此层无目层节点(此层无目标节点)还没有全部搜索完之前,不进入第标节点)还没有全部搜索完之前,不进入第n+1层节层节点的搜索。也就是说,广度优先的搜索树是自顶向点的搜索。也就是说,广度优先的搜索树是自顶向下一层一层逐渐生成的,一直到找到目标节点为止。下一层一层逐渐生成的,一直到找到目标节点为止。广度优先搜索节点的扩展顺序广度优先搜索节点的扩展顺序 图3-5 节点扩展顺序G H Sg C D
13、 E F A BSo搜索算法流程图搜索算法流程图 否否否否否否是是是是是是 启动启动 把把So放入放入Open表中表中取取Open表中最前面的节点表中最前面的节点N放入放入Closed表中,并冠以顺序号表中,并冠以顺序号Open为空吗?为空吗?N=Sg?成功成功N可扩展可扩展 吗?吗?扩展扩展N,将其子节点依次放入将其子节点依次放入Open表的末表的末尾,并配上指向尾,并配上指向N的返回指针的返回指针失败失败图图3-6 广度优先搜索流程图广度优先搜索流程图示例 例例3-2 重排九宫问题:如图重排九宫问题:如图3-7所示,在所示,在33的方格棋盘上,放置的方格棋盘上,放置8个标有数码的纸个标有数
14、码的纸牌牌(1、2、8),并留下一个空格。只允许,并留下一个空格。只允许把空格上、下、左、右的纸牌移入空格。把空格上、下、左、右的纸牌移入空格。要求寻找一条从初始状态要求寻找一条从初始状态So到目标状态到目标状态Sg的最短移动路线。的最短移动路线。初始状态初始状态So 目标状态目标状态Sg图图3-7 重排九宫问题重排九宫问题生成的搜索树 2348 9 10 11 12616 17 18 19 20Sg图图3-8 重排九宫问题的广度优先搜索搜索树重排九宫问题的广度优先搜索搜索树 24322 深度优先搜索深度优先搜索深度优先搜索法的概念深度优先搜索法的概念 深度优先搜索是一种后生成的节点先扩展、不
15、撞墙不回头的搜索方法。在搜索树的每一层始终先只扩展一个子节点,不断地向纵深前进。图图3-9 3-9 深度优先搜索深度优先搜索 节点扩展顺序节点扩展顺序前已搜索前已搜索 无无解解 SgSg6 6 C 7 5 3C 7 5 34 24 2A B 1 A B 1 SoSo搜索算法流程图搜索算法流程图 24否否否否否否是是是是是是 启动启动把把So放入放入Open表中表中取取Open表中最前面的节点表中最前面的节点N放入放入Closed表中,并冠以顺序号表中,并冠以顺序号Open为空吗?为空吗?N=Sg?成功成功N可扩展可扩展 吗?吗?扩展扩展N,将其子节点依次放入,将其子节点依次放入Open表的首表
16、的首部,并配上指向部,并配上指向N的返回指针的返回指针失败失败图图3-10 深度优先搜索流程图深度优先搜索流程图示例示例 例例3-3 利用深度优先搜索求解如图利用深度优先搜索求解如图3-11所示所示的重排九宫问题。的重排九宫问题。初始状态初始状态So 目标状态目标状态Sg图图3-11 重排九宫问题重排九宫问题生成的搜索树图图3-12 3-12 重排九宫问题的深度优先搜索树重排九宫问题的深度优先搜索树 深度优先搜索策深度优先搜索策略是不完备的,略是不完备的,带有一定的冒险带有一定的冒险性。另外,应用性。另外,应用此策略得到的解此策略得到的解不一定是最佳解不一定是最佳解(最短路径最短路径)。323
17、 有界深度优先搜索有界深度优先搜索 在深度优先搜在深度优先搜索法中,要给索法中,要给出一个深度限出一个深度限制制dm。当从初。当从初始节点出发沿始节点出发沿某一分枝扩展某一分枝扩展到到dm深度,但深度,但还没有找到目还没有找到目标时,就不能标时,就不能再继续向下扩再继续向下扩展,而只能改展,而只能改变方向继续搜变方向继续搜索。索。图图3-13 3-13 有界深度搜索节点扩展顺序有界深度搜索节点扩展顺序 SgSg C C 6 5 3 6 5 34 24 2A B 1 A B 1 SoSod d =d=dm m=3,=3,强迫返回强迫返回d(d(深度深度)1 12 2 3 3搜索算法流程图搜索算法
18、流程图图图3-14 3-14 有界深度优先搜索流程图有界深度优先搜索流程图是是否否否否是是启动启动把把SoSo放入放入OpenOpen表中,置深度表中,置深度d d(SoSo)=0=0取取OpenOpen表中最前面的节点表中最前面的节点N N放入放入ClosedClosed表中,并冠以顺序号表中,并冠以顺序号OpenOpen为空吗?为空吗?N=N=SgSg?成功成功失败失败是是否否d d(N N)=d=dm m?否否是是N N可扩展可扩展 吗?吗?扩展扩展N N,将其子节点依次放入,将其子节点依次放入OpenOpen表的表的首部,并配上指向首部,并配上指向N N的返回指针置的返回指针置 d d
19、(N N)=d=d(N N)+1+1示例示例 例例3-4 用有界深度优先搜索法求解图用有界深度优先搜索法求解图3-11重排重排九宫问题,取深度限界九宫问题,取深度限界dm=4。初始状态初始状态So 目标状态目标状态Sg图图3-11 重排九宫问题重排九宫问题生成的搜索树搜索效率搜索效率P=L/T=4/27 0.148 图图3-15 3-15 重排九宫问题的有界深度优先搜索搜索树重排九宫问题的有界深度优先搜索搜索树324 一致代价搜索一致代价搜索 1.1.一致代价搜索的概念一致代价搜索的概念 在状态空间中,通常把代价记在边在状态空间中,通常把代价记在边(弧弧)上在代价树中,用上在代价树中,用C(n
20、1,n2)表示从表示从父节点父节点n1到其子节点到其子节点n2的代价,用的代价,用g(n1)表示从初始节点表示从初始节点So 到节点到节点n1的代价。的代价。这样,对这样,对So到节点到节点n2的总代价为的总代价为 g(n2)=g(n1)十十C(n1,n2)2.一致代价广度优先搜索法一致代价广度优先搜索法 一致代价的广度优先搜索也称为分枝一致代价的广度优先搜索也称为分枝界限法,在同一级各节点中,取代价界限法,在同一级各节点中,取代价最小的节点优先扩展,从而求得总代最小的节点优先扩展,从而求得总代价最小的路径。价最小的路径。一致代价广度优先搜索方法是完备的。一致代价广度优先搜索方法是完备的。如果
21、问题有解,就一定能够找到解,如果问题有解,就一定能够找到解,并且找到的一定是最优解。并且找到的一定是最优解。搜索算法流程图搜索算法流程图 图图3-16 3-16 代价驱动广度优先搜索流程图代价驱动广度优先搜索流程图否否把把SoSo放入放入OpenOpen表中,置表中,置g(Sog(So)=0)=0否否否否是是是是是是 启动启动取取OpenOpen表中最前面的节点表中最前面的节点N N放入放入ClosedClosed表中,并冠以顺序号表中,并冠以顺序号OpenOpen为空吗?为空吗?N=N=SgSg?成功成功N N可扩展可扩展 吗?吗?失败失败扩展扩展N N,将其子节点,将其子节点N Ni i放
22、入放入OpenOpen表中,表中,配上指向配上指向N N的返回指针,计算并按的返回指针,计算并按g(Ng(Ni i)重新对重新对OpenOpen表排序表排序(小的在前小的在前)示例示例 2 23 34 43 36 62 25 5B BC CA AD DE E图图3-17 53-17 5城市交通路线城市交通路线图图3-18 53-18 5城市交通路线代价树城市交通路线代价树E E4 4B B1 1A AB BC CC C1 1E E1 1E E2 2 E E3 3D D1 1E E5 5D D2 2 3 32 26 6 6 63 32 25 54 4SoSo3 34 43.一致代价深度优先搜索一
23、致代价深度优先搜索 一致代价深度优先搜索和一致代价广度优一致代价深度优先搜索和一致代价广度优先搜索的区别在于每次选择最小代价节点先搜索的区别在于每次选择最小代价节点的方法不同。后者每次都是从的方法不同。后者每次都是从Open表的全表的全体节点中选择一个代价最小的节点,而前体节点中选择一个代价最小的节点,而前者则是从刚扩展的子节点中选择一个代价者则是从刚扩展的子节点中选择一个代价最小的节点。最小的节点。33 启发式搜索启发式搜索 3 33 31 1 启发式搜索的基本概念启发式搜索的基本概念 尽管有些问题是处在完备知识的环境中,尽管有些问题是处在完备知识的环境中,其解是完全确定了的,理论上也能找到
24、解其解是完全确定了的,理论上也能找到解决问题的算法,但在工程实践中,这些算决问题的算法,但在工程实践中,这些算法不是效率太低,就是无法实现。为此,法不是效率太低,就是无法实现。为此,不得不放弃理论性算法,改用经验性的启不得不放弃理论性算法,改用经验性的启发式方法。发式方法。1.启发式搜索的基本思想启发式搜索的基本思想 启发式搜索是在控制性知识中增加关于被解问启发式搜索是在控制性知识中增加关于被解问题和相应任务的某些特性,利用启发性信息来确题和相应任务的某些特性,利用启发性信息来确定节点的生成、扩展和搜索顺序,以便指导搜索定节点的生成、扩展和搜索顺序,以便指导搜索向最有希望的方向前进。向最有希望
25、的方向前进。下一步展开哪个节点?下一步展开哪个节点?是部分展开还是全部展开?是部分展开还是全部展开?使用哪个规则使用哪个规则(算子算子)?怎样决定舍弃还是保留新生成的节点?怎样决定舍弃还是保留新生成的节点?怎样决定舍弃还是保留一棵子树?怎样决定舍弃还是保留一棵子树?怎样决定停止或继续搜索?怎样决定停止或继续搜索?如何定义启发函数如何定义启发函数(估值函数估值函数)?如何决定搜索方向?如何决定搜索方向?2.启发式搜索的特点 大多是深度优先搜索的改进,即尽量沿着最有大多是深度优先搜索的改进,即尽量沿着最有希望的路径,向深度方向小范围前进;希望的路径,向深度方向小范围前进;在多条路可走时,建议该走哪
展开阅读全文