第5章 搜索求解策略(AI应用3版).ppt

上传人:暗伤 文档编号:79771332 上传时间:2023-03-21 格式:PPT 页数:65 大小:1.54MB
返回 下载 相关 举报
第5章 搜索求解策略(AI应用3版).ppt_第1页
第1页 / 共65页
第5章 搜索求解策略(AI应用3版).ppt_第2页
第2页 / 共65页
点击查看更多>>
资源描述

《第5章 搜索求解策略(AI应用3版).ppt》由会员分享,可在线阅读,更多相关《第5章 搜索求解策略(AI应用3版).ppt(65页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Artificial Intelligence Principles and Applications 第第 5 章章 搜索求解策略搜索求解策略教材:教材:王万良王万良人工智能及其应用人工智能及其应用(第(第3版)版)高等教育出版社,高等教育出版社,2016.22第5章 搜索求解策略在求解一个问题时,涉及到两个方面:一是该问在求解一个问题时,涉及到两个方面:一是该问题的表示,如果一个问题找不到一个合适的表示题的表示,如果一个问题找不到一个合适的表示方法,就谈不上对它求解。另一方面则是选择一方法,就谈不上对它求解。另一方面则是选择一种相对合适的求解方法。由于绝大多数需要人工种相对合适的求解方法。

2、由于绝大多数需要人工智能方法求解的问题缺乏直接求解的方法,因此,智能方法求解的问题缺乏直接求解的方法,因此,搜索为一种求解问题的一般方法。搜索为一种求解问题的一般方法。下面首先讨论搜索的基本概念,然后着重介绍状下面首先讨论搜索的基本概念,然后着重介绍状态空间知识表示和搜索策略,主要有回溯策略、态空间知识表示和搜索策略,主要有回溯策略、宽度优先搜索、深度优先搜索等盲目的图搜索策宽度优先搜索、深度优先搜索等盲目的图搜索策略,以及略,以及A及及A*搜索算法等启发式图搜索策略。搜索算法等启发式图搜索策略。3第5章 搜索求解策略5.1 搜索的概念搜索的概念5.2 状态空间的搜索策略状态空间的搜索策略5.

3、3 盲目的图搜索策略盲目的图搜索策略5.4 启发式图搜索策略启发式图搜索策略5.5 与与/或或图搜索策略图搜索策略4第5章 搜索求解策略5.1 搜索的概念搜索的概念5.2 状态空间知识表示方法状态空间知识表示方法5.3 盲目的图搜索策略盲目的图搜索策略5.4 启发式图搜索策略启发式图搜索策略5.5 与与/或或图搜索策略图搜索策略55.1 搜索的概念 问题求解:问题的表示。求解方法。问题求解的基本方法:搜索法、归约法、归结法、推理法及产生式等。65.1.1 搜索的基本问题与主要过程 搜索中需要解决的基本问题搜索中需要解决的基本问题:(1)是否一定能找到一个解。(2)找到的解是否是最佳解。(3)时

4、间与空间复杂性如何。(4)是否终止运行或是否会陷入一个死循环。75.1.1 搜索的基本问题与主要过程搜索的主要过程搜索的主要过程:(1)从初始或目的状态出发,并将它作为当前状态。(2)扫描操作算子集,将适用当前状态的一些操作算子作用于当前状态而得到新的状态,并建立指向其父结点的指针。(3)检查所生成的新状态是否满足结束状态,如果满足,则得到问题的一个解,并可沿着有关指针从结束状态反向到达开始状态,给出一解答路径;否则,将新状态作为当前状态,返回第(2)步再进行搜索。85.1.2 搜索策略1.搜索方向搜索方向:(1)数据驱动数据驱动:从初始状态出发的正向搜索。正向搜索正向搜索从问题给出的条件出发

5、。逆逆向向搜搜索索:从想达到的目的入手,看哪些操作算子能产生该目的以及应用这些操作算子产生目的时需要哪些条件。(2)目的驱动目的驱动:从目的状态出发的逆向搜索。双向搜索:从开始状态出发作正向搜索,同时又从目的状态出发作逆向搜索,直到两条路径在中间的某处汇合为止。(3)双向搜索95.1.2 搜索策略2.盲目搜索与启发式搜索盲目搜索与启发式搜索:(1)盲盲目目搜搜索索:在不具有对特定问题的任何有关信息的条件下,按固定的步骤(依次或随机调用操作算子)进行的搜索。(2)启启发发式式搜搜索索:考虑特定问题领域可应用的知识,动态地确定调用操作算子的步骤,优先选择较适合的操作算子,尽量减少不必要的搜索,以求

6、尽快地到达结束状态。10第5章 搜索求解策略5.1 搜索的概念搜索的概念5.2 状态空间知识表示方法状态空间知识表示方法5.3 盲目的图搜索策略盲目的图搜索策略5.4 启发式图搜索策略启发式图搜索策略5.5 与与/或或图搜索策略图搜索策略115.2 状态空间知识表示方法5.2.1 状态空间表示法状态空间表示法5.2.2 状态空间的图描述状态空间的图描述125.2.1 状态空间表示法状态状态:表示系统状态、事实等叙述型知识的一组变量或数组:操作操作:表示引起状态变化的过程型知识的一组关 系或函数:T135.2.1 状态空间表示法状态空间状态空间:利用状态变量和操作符号,表示系统或问题的有关知识的

7、符号体系,状态空间是一个四元组:状态集合。:操作算子的集合。:包含问题的初始状态是 的非空子集。:若干具体状态或满足某些性质的路径信息描述。145.2.1 状态空间表示法求解路径求解路径:从 结点到 结点的路径。:状态空间的一个解。状态空间的一个解状态空间的一个解:一个有限的操作算子序列。15例例 八数码问题的状态空间八数码问题的状态空间。5.2.1 状态空间表示法状态集 :所有摆法操作算子:将空格向上移Up将空格向左移Left将空格向下移Down将空格向右移Right165.2.2 状态空间的图描述八数码八数码状态空间图状态空间图 175.2.2 状态空间的图描述(状态)(操作算子)状态空间

8、的有向图描述状态空间的有向图描述18 例例 旅旅行行商商问问题题(traveling salesman problem,TSP)或邮递员路径问题。或邮递员路径问题。5.2.2 状态空间的图描述(家)(单位:km)可能路径:费用为375的路径(A,B,C,D,E,A)195.2.2 状态空间的图描述 旅行推销员状态空间图(部分)ABCDEA 375 A A A A B B C C C C D D D D A E E E E E E E D 路径:路径:路径:路径:ABCEDA ABDCE ABDECA 费用:费用:费用:费用:425 525 475 525 475 375 325 400 400

9、 300 275 275 250 225 150 100 75 125 175 225 250 100 175 225 425.20第5章 搜索求解策略5.1 搜索的概念搜索的概念5.2 状态空间知识表示方法状态空间知识表示方法5.3 盲目的图搜索策略盲目的图搜索策略5.4 启发式图搜索策略启发式图搜索策略5.5 与与/或或图搜索策略图搜索策略215.3 盲目的图搜索策略5.3.1 回溯策略回溯策略5.3.2 宽度优先搜索策略宽度优先搜索策略5.3.3 深度优先搜索策略深度优先搜索策略225.3.1 回溯策略 带回溯策略的搜索带回溯策略的搜索:从初始状态出发,不停地、试探性地寻找路径,直到它到

10、达目的或“不可解结点”,即“死胡同”为止。若它遇到不可解结点就回溯到路径中最近的父结点上,查看该结点是否还有其他的子结点未被扩展。若有,则沿这些子结点继续搜索;如果找到目标,就成功退出搜索,返回解题路径。235.3.1 回溯策略回溯搜索示意图回溯搜索示意图245.3.1 回溯策略回溯搜索的算法回溯搜索的算法(1)PS(path states)表表:保存当前搜索路径上的状态。如果找到了目的,PS就是解路径上的状态有序集。(2)NPS(new path states)表表:新的路径状态表。它包含了等待搜索的状态,其后裔状态还未被搜索到,即未被生成扩展。(3)NSS(no solvable stat

11、es)表表:不可解状态集,列出了找不到解题路径的状态。如果在搜索中扩展出的状态是它的元素,则可立即将之排除,不必沿该状态继续搜索。255.3.1 回溯策略图搜索算法(深度优先、宽度优先、最好优先搜索等)的回溯思想:(1)用未处理状态表(NPS)使算法能返回(回溯)到其 中任一状态。(2)用一张“死胡同”状态表(NSS)来避免算法重新搜索 无解的路径。(3)在PS 表中记录当前搜索路径的状态,当满足目的时可 以将它作为结果返回。(4)为避免陷入死循环必须对新生成的子状态进行检查,看它是否在该三张表中。265.3.2 宽度优先搜索策略open表(NPS表):已经生成出来但其子状态未被搜索的状态。c

12、losed表(PS表和NSS表的合并):记录了已被生成扩展过的状态。0S12345678910宽度优先搜索法中状态的搜索次序宽度优先搜索法中状态的搜索次序27例例3 通过搬动积木块,希望从初始状态达到一个目的状态,即三块积木堆叠在一起。5.3.2 宽度优先搜索策略BCAABC(a)初始状态(b)目的状态 积木问题积木问题28操作算子为MOVE(X,Y):把积木X搬到Y(积木或桌面)上面。5.3.2 宽度优先搜索策略MOVE(A,Table):“搬动积木A到桌面上”。操作算子可运用的先决条件:(1)被搬动积木的顶部必须为空。(2)如果 Y 是积木,则积木 Y 的顶部也必须为空。(3)同一状态下,

13、运用操作算子的次数不得多于一次。29ABABACCBACCCBABCABACBAABCBCBCCABAMOVE(A,TABLE)MOVE(C,A)MOVE(A,C)MOVE(B,A)MOVE(B,C)MOVE(C,A)MOVE(C,B)MOVE(C,B)MOVE(A,B)0S1S2S3S4S5S6S7S8S9S10S没有后裔,失败退出 积木问题的宽度优先搜索树5.3.2 宽度优先搜索策略305.3.3 深度优先搜索策略0S12345678910111213KK 深度优先搜索法中状态的搜索次序0S12345678910111213KK深度优先搜索法中状态的搜索次序31在深度优先搜索中,当搜索到某

14、一个状态时,它所有的子状态以及子状态的后裔状态都必须先于该状态的兄弟状态被搜索。为了保证找到解,应选择合适的深度限制值,或采取不断加大深度限制值的办法,反复搜索,直到找到解。5.3.3 深度优先搜索策略32深度优先搜索并不能保证第一次搜索到的某个状态时的路径是到这个状态的最短路径。对任何状态而言,以后的搜索有可能找到另一条通向它的路径。如果路径的长度对解题很关键的话,当算法多次搜索到同一个状态时,它应该保留最短路径。5.3.3 深度优先搜索策略33例例 卒子穿阵问题卒子穿阵问题,要求一卒子从顶部通过下图所示的阵列到达底部。卒子行进中不可进入到代表敌兵驻守的区域(标注1),并不准后退。假定深度限

15、制值为5。5.3.3 深度优先搜索策略 阵列图阵列图 345.3.3 深度优先搜索策略open表:S17、S18closed表:S0S16 0S1S)1,1(2S)2,1(3S)2,2(4S)1,2(5S)1,3(6S)2,3(7S)3,2(8S)3,1(9S)2,1(14S)4,1(10S)2,2(11S)1,2(12S)1,3(13S)3,2(15S)4,2(16S)4,3(17S)4,4(18S)4,1(死死死死深度限制解 0S1S)1,1(2S)2,1(3S)2,2(4S)1,2(5S)1,3(6S)2,3(7S)3,2(8S)3,1(9S)2,1(14S)4,1(10S)2,2(11

16、S)1,2(12S)1,3(13S)3,2(15S)4,2(16S)4,3(17S)4,4(18S)4,1(死死死死深度限制解卒子穿阵的深度优先搜索树35第5章 搜索求解策略5.1 搜索的概念搜索的概念5.2 状态空间知识表示方法状态空间知识表示方法5.3 盲目的图搜索策略盲目的图搜索策略5.4 启发式图搜索策略启发式图搜索策略5.5 与与/或或图搜索策略图搜索策略365.4 启发式图搜索策略5.4.1 启发式策略启发式策略5.4.2 启发信息和估价函数启发信息和估价函数5.4.3 A搜索算法搜索算法5.4.4 A*搜索算法及其特性分析搜索算法及其特性分析375.4.1 启发式策略“启发启发”

17、(heuristic):关于发现和发明操作算子及搜索方法的研究。在状态空间搜索中,启发式启发式被定义成一系列操作算子,并能从状态空间中选择最有希望到达问题解的路径。启发式策略启发式策略:利用与问题有关的启发信息进行搜索。385.4.1 启发式策略运用启发式策略的两种基本情况运用启发式策略的两种基本情况:(1)一个问题由于在问题陈述和数据获取方面固有 的模糊性,可能会使它没有一个确定的解。(2)虽然一个问题可能有确定解,但是其状态空间 特别大,搜索中生成扩展的状态数会随着搜索 的深度呈指数级增长。39 例例 一一字字棋棋。在九宫棋盘上,从空棋盘开始,双方轮流在棋盘上摆各自的棋子 或 (每次一枚)

18、,谁先取得三子一线(一行、一列或一条对角线)的结果就取胜。5.4.1 启发式策略 和 能够在棋盘中摆成的各种不同的棋局就是问题空间中的不同状态。9个位置上摆放空,有 39 种棋局。可能的走法:。405.4.1 启发式策略 启发式策略的运用启发式策略的运用415.4.1 启发式策略启发式搜索下缩减的状态空间启发式搜索下缩减的状态空间425.4.2 启发信息和估价函数在具体求解中,能够利用与该问题有关的信息来简化搜索过程,称此类信息为启发信息启发信息。启发式搜索启发式搜索:利用启发信息的搜索过程。435.4.2 启发信息和估价函数 求解问题中能利用的大多是非完备的启发信息:(1)求解问题系统不可能

19、知道与实际问题有关的全部信息,因而无法知道该问题的全部状态空间,也不可能用一套算法来求解所有的问题。(2)有些问题在理论上虽然存在着求解算法,但是在工程实践中,这些算法不是效率太低,就是根本无法实现。一字棋:9!,西洋跳棋:1078,国际象棋:10120,围棋:10761。假设每步可以搜索一个棋局,用极限并行速度(10-104年/步)来处理,搜索一遍国际象棋的全部棋局也得1016年即1亿亿年才可以算完!445.4.2 启发信息和估价函数启发信息的分类:(1)陈述性启发信息 (2)过程性启发信息 (3)控制性启发信息利用控制性的启发信息的情况:(1)没有任何控制性知识作为搜索的依据,因而搜索的每

20、一步完全是随意的。(2)有充分的控制知识作为依据,因而搜索的每一步选择都是正确的,但这是不现实的。455.4.2 启发信息和估价函数 估价函数的任务就是估计待搜索结点的“有希望”程度,并依次给它们排定次序(在open表中)。估价函数 :从初始结点经过 结点到达目的 结点的路径的最小代价估计值,其一般形式是 一般地,在 中,的比重越大,越倾向于宽度优先搜索方式,而 的比重越大,表示启发性能越强。46 例例 八八数数码码的的估估价价函函数数设计方法有多种,并且不同的估价函数对求解八数码问题有不同的影响。最简单的估价函数:取一格局与目的格局相比,其位置不符的将牌数目。较好的估价函数:各将牌移到目的位

21、置所需移动的距离的总和。第三种估价函数:对每一对逆转将牌乘以一个倍数。第四种估价函数:克服了仅计算将牌逆转数目策略的局限,将位置不符将牌数目的总和与3倍将牌逆转数目相加。5.4.2 启发信息和估价函数475.4.3 A搜索算法启启发发式式图图搜搜索索法法的的基基本本特特点点:如何寻找并设计一个与问题有关的 及构出 ,然后以 的大小来排列待扩展状态的次序,每次选择 值最小者进行扩展。open表:保留所有已生成而未扩展的状态。closed表:记录已扩展过的状态。进入open表的状态是根据其估值的大小插入到表中合适的位置,每次从表中优先取出启发估价函数值最小的状态加以扩展。48一般启发式图搜索算法(

22、一般启发式图搜索算法(简记为简记为A)5.4.3 A搜索算法procedure heuristic_searchopen:=start;closed:=;f(s):=g(s)+h(s);*初始化while open dobegin从open表中删除第一个状态,称之为n;if n=目的状态then return(success);生成n的所有子状态;if n没有任何子状态then continue;for n的每个子状态docase子状态is not already on open表or closed表;begin计算该子状态的估价函数值;将该子状态加到open表中;end;495.4.3 A搜

23、索算法case子状态is already on open表:if该子状态是沿着一条比在open表已有的更短路径而到达then 记录更短路径走向及其估价函数值;case子状态is already on closed表:if该子状态是沿着一条比在closed表已有的更短路径而到达thenbegin将该子状态从closed表移到open表中;记录更短路径走向及其估价函数值;end;case end;将n放入closed表中;根据估价函数值,从小到大重新排列open表;end;*open表中结点已耗尽return(failure);end.505.4.3 A搜索算法每每次次重重复复时时,A搜搜索索算算

24、法法从从open表表中中取取出出第第一一个个状状态态,如如果果该状态满足目的条件,则算法返回到该状态的搜索路径。该状态满足目的条件,则算法返回到该状态的搜索路径。如如果果open表表的的第第一一个个状状态态不不是是目目的的状状态态,则则算算法法利利用用与与之之相相匹匹配配的的一一系系列列操操作作算算子子进进行行相相应应的的操操作作来来产产生生它它的的子子状状态态。如如果果某某个个子子状状态态已已在在open表表(或或closed表表)中中出出现现过过,即即该该状状态态再再一一次次被被发发现现时时,则则通通过过刷刷新新它它的的祖祖先先状状态态的的历历史记录,使算法极有可能找到到达目的状态的更短的

25、路径史记录,使算法极有可能找到到达目的状态的更短的路径接接着着,A搜搜索索算算法法open表表中中每每个个状状态态的的估估价价函函数数值值,按按照照值值的的大大小小重重新新排排序序,将将值值最最小小的的状状态态放放在在表表头头,使使其其第第一一个个被扩展。被扩展。515.4.3 A搜索算法525.4.3 A搜索算法例例 利用A搜索算法求解八数码问题的搜索树,其估价函数定义为 :状态的深度,每步为单位代价。:以“不在位”的将牌数作为启发信息的度量。:为状态 到目的状态的最优路径的代价。:A搜索算法 A*搜索算法。535.4.3 A搜索算法54open表和closed表内状态排列的变化情况 5.4

26、.3 A搜索算法55如果某一问题有解,那么利用A*搜索算法对该问题进行搜索则一定能搜索到解,并且一定能搜索到最优的解而结束。上例中的八数码A搜索树也是A*搜索树,所得的解路(s,B,E,I,K,L)为最优解路,其步数为状态L(5)上所标注的5。5.4.4 A*搜索算法及其特性分析561.可采纳性 当一个搜索算法在最短路径存在时能保证找到它,就称它是可采纳的。2.单调性 搜索算法的单调性:在整个搜索空间都是局部可采纳的。一个状态和任一个子状态之间的差由该状态与其子状态之间的实际代价所限定。5.4.4 A*搜索算法及其特性分析573.信息性 在两个A*启发策略的 中,如果对搜索空间中的任一状态 都

27、有 ,就称策略 具有更多的信息性。5.4.4 A*搜索算法及其特性分析58第5章 搜索求解策略5.1 搜索的概念搜索的概念5.2 状态空间知识表示方法状态空间知识表示方法5.3 盲目的图搜索策略盲目的图搜索策略5.4 启发式图搜索策略启发式图搜索策略5.5 与与/或或图搜索策略图搜索策略595.5 与/或图搜索策略1.分解分解与与树树子问题(简单)子子问题(更简单)子问题(简单)子子问题(更简单)子子问题(更简单)与与树问题分解树问题分解605.5.1 与与/或图表表达法或图表表达法2.变换变换或或树树或或树问题变换树问题变换5.5 与/或图搜索策略615.5.1 与与/或图表表达法或图表表达法例例 猴子和猴子和香蕉问题。香蕉问题。5.5 与/或图搜索策略猴子和香蕉问题猴子和香蕉问题625.5 与/或图搜索策略 设系统的状态用四元数组描述设系统的状态用四元数组描述:猴子所处水平位置 :台子所在水平位置 :猴子是否在台子上(,在;,不在):猴子是否能拿到香蕉(,拿到;,没有拿到)635.5 与/或图搜索策略 允许的操作集允许的操作集:可能的状态:可能的状态:645.5 与/或图搜索策略65THE ENDArtificial Intelligence Principles and Applications

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁