第5章-搜索求解策略

上传人:101****457 文档编号:95463482 上传时间:2019-08-18 格式:PPT 页数:65 大小:1.53MB
返回 下载 相关 举报
第5章-搜索求解策略_第1页
第1页 / 共65页
第5章-搜索求解策略_第2页
第2页 / 共65页
第5章-搜索求解策略_第3页
第3页 / 共65页
第5章-搜索求解策略_第4页
第4页 / 共65页
第5章-搜索求解策略_第5页
第5页 / 共65页
点击查看更多>>
资源描述

《第5章-搜索求解策略》由会员分享,可在线阅读,更多相关《第5章-搜索求解策略(65页珍藏版)》请在金锄头文库上搜索。

1、第 5 章 搜索求解策略,教材: 王万良人工智能及其应用(第3版) 高等教育出版社,2016. 2,2,第5章 搜索求解策略,在求解一个问题时,涉及到两个方面:一是该问题的表示,如果一个问题找不到一个合适的表示方法,就谈不上对它求解。另一方面则是选择一种相对合适的求解方法。由于绝大多数需要人工智能方法求解的问题缺乏直接求解的方法,因此,搜索为一种求解问题的一般方法。 下面首先讨论搜索的基本概念,然后着重介绍状态空间知识表示和搜索策略,主要有回溯策略、宽度优先搜索、深度优先搜索等盲目的图搜索策略,以及A及A*搜索算法等启发式图搜索策略。,3,第5章 搜索求解策略,5.1 搜索的概念 5.2 状态

2、空间的搜索策略 5.3 盲目的图搜索策略 5.4 启发式图搜索策略 5.5 与/或图搜索策略,4,第5章 搜索求解策略,5.1 搜索的概念 5.2 状态空间知识表示方法 5.3 盲目的图搜索策略 5.4 启发式图搜索策略 5.5 与/或图搜索策略,5,5.1 搜索的概念,问题求解: 问题的表示。 求解方法。 问题求解的基本方法:搜索法、归约法、归结法、推理法及产生式等。,6,5.1.1 搜索的基本问题与主要过程,搜索中需要解决的基本问题: (1)是否一定能找到一个解。 (2)找到的解是否是最佳解。 (3)时间与空间复杂性如何。 (4)是否终止运行或是否会陷入一个死循环。,7,5.1.1 搜索的

3、基本问题与主要过程,搜索的主要过程: (1) 从初始或目的状态出发,并将它作为当前状态。 (2) 扫描操作算子集,将适用当前状态的一些操作算子作用于当前状态而得到新的状态,并建立指向其父结点的指针 。 (3) 检查所生成的新状态是否满足结束状态,如果满足,则得到问题的一个解,并可沿着有关指针从结束状态反向到达开始状态,给出一解答路径;否则,将新状态作为当前状态,返回第(2)步再进行搜索。,8,5.1.2 搜索策略,1. 搜索方向: (1) 数据驱动:从初始状态出发的正向搜索。,正向搜索从问题给出的条件出发。,逆向搜索:从想达到的目的入手,看哪些操作算子能产生该目的以及应用这些操作算子产生目的时

4、需要哪些条件。,(2) 目的驱动:从目的状态出发的逆向搜索。,双向搜索:从开始状态出发作正向搜索,同时又从目的状态出发作逆向搜索,直到两条路径在中间的某处汇合为止。,(3) 双向搜索,9,5.1.2 搜索策略,2. 盲目搜索与启发式搜索: (1)盲目搜索:在不具有对特定问题的任何有关信息的条件下,按固定的步骤(依次或随机调用操作算子)进行的搜索。 (2)启发式搜索:考虑特定问题领域可应用的知识,动态地确定调用操作算子的步骤,优先选择较适合的操作算子,尽量减少不必要的搜索,以求尽快地到达结束状态。,10,第5章 搜索求解策略,5.1 搜索的概念 5.2 状态空间知识表示方法 5.3 盲目的图搜索

5、策略 5.4 启发式图搜索策略 5.5 与/或图搜索策略,11,5.2 状态空间知识表示方法,5.2.1 状态空间表示法 5.2.2 状态空间的图描述,12,5.2.1 状态空间表示法,状态:表示系统状态、事实等叙述型知识的一组变量或数组:,操作:表示引起状态变化的过程型知识的一组关 系或函数:,T,13,5.2.1 状态空间表示法,状态空间:利用状态变量和操作符号,表示系统或问题的有关知识的符号体系,状态空间是一个四元组:,:状态集合。 :操作算子的集合。 :包含问题的初始状态是 的非空子集。 :若干具体状态或满足某些性质的路径信息描述。,14,5.2.1 状态空间表示法,求解路径:从 结点

6、到 结点的路径。,:状态空间的一个解。,状态空间的一个解:一个有限的操作算子序列。,15,例 八数码问题的状态空间。,5.2.1 状态空间表示法,状态集 :所有摆法,操作算子:,将空格向上移Up 将空格向左移Left 将空格向下移Down 将空格向右移Right,16,5.2.2 状态空间的图描述,八数码状态空间图,17,5.2.2 状态空间的图描述,状态空间的有向图描述,18,例 旅行商问题(traveling salesman problem, TSP)或邮递员路径问题。,5.2.2 状态空间的图描述,可能路径:费用为375的路径(A,B,C,D,E,A),19,5.2.2 状态空间的图描

7、述,20,第5章 搜索求解策略,5.1 搜索的概念 5.2 状态空间知识表示方法 5.3 盲目的图搜索策略 5.4 启发式图搜索策略 5.5 与/或图搜索策略,21,5.3 盲目的图搜索策略,5.3.1 回溯策略 5.3.2 宽度优先搜索策略 5.3.3 深度优先搜索策略,22,5.3.1 回溯策略,带回溯策略的搜索: 从初始状态出发,不停地、试探性地寻找路径,直到它到达目的或“不可解结点”,即“死胡同”为止。若它遇到不可解结点就回溯到路径中最近的父结点上,查看该结点是否还有其他的子结点未被扩展。若有,则沿这些子结点继续搜索;如果找到目标,就成功退出搜索,返回解题路径。,23,5.3.1 回溯

8、策略,回溯搜索示意图,24,5.3.1 回溯策略,回溯搜索的算法 (1) PS(path states)表:保存当前搜索路径上的状态。如果找到了目的,PS就是解路径上的状态有序集。 (2) NPS(new path states)表:新的路径状态表。它包含了等待搜索的状态,其后裔状态还未被搜索到,即未被生成扩展 。 (3) NSS(no solvable states)表:不可解状态集,列出了找不到解题路径的状态。如果在搜索中扩展出的状态是它的元素,则可立即将之排除,不必沿该状态继续搜索。,25,5.3.1 回溯策略,图搜索算法(深度优先、宽度优先、最好优先搜索等)的回溯思想:,(1)用未处理

9、状态表(NPS)使算法能返回(回溯)到其 中任一状态。 (2)用一张“死胡同”状态表(NSS)来避免算法重新搜索 无解的路径。 (3)在PS 表中记录当前搜索路径的状态,当满足目的时可 以将它作为结果返回。 (4)为避免陷入死循环必须对新生成的子状态进行检查, 看它是否在该三张表中 。,26,5.3.2 宽度优先搜索策略,open表(NPS表):已经生成出来但其子状态未被搜索的状态。 closed表( PS表和NSS表的合并):记录了已被生成扩展过的状态。,宽度优先搜索法中状态的搜索次序,27,例3 通过搬动积木块,希望从初始状态达到一个目的状态,即三块积木堆叠在一起。,5.3.2 宽度优先搜

10、索策略,28,操作算子为MOVE(X,Y):把积木X搬到Y(积木或桌面)上面。,5.3.2 宽度优先搜索策略,MOVE(A,Table):“搬动积木A到桌面上”。,操作算子可运用的先决条件: (1)被搬动积木的顶部必须为空。 (2)如果 Y 是积木,则积木 Y 的顶部也必须为空。 (3)同一状态下,运用操作算子的次数不得多于一次。,29,5.3.2 宽度优先搜索策略,30,5.3.3 深度优先搜索策略,31,在深度优先搜索中,当搜索到某一个状态时,它所有的子状态以及子状态的后裔状态都必须先于该状态的兄弟状态被搜索。 为了保证找到解,应选择合适的深度限制值,或采取不断加大深度限制值的办法,反复搜

11、索,直到找到解。,5.3.3 深度优先搜索策略,32,深度优先搜索并不能保证第一次搜索到的某个状态时的路径是到这个状态的最短路径。 对任何状态而言,以后的搜索有可能找到另一条通向它的路径。如果路径的长度对解题很关键的话,当算法多次搜索到同一个状态时,它应该保留最短路径。,5.3.3 深度优先搜索策略,33,例 卒子穿阵问题,要求一卒子从顶部通过下图所示的阵列到达底部。卒子行进中不可进入到代表敌兵驻守的区域(标注1),并不准后退。假定深度限制值为5。,5.3.3 深度优先搜索策略,阵列图,34,5.3.3 深度优先搜索策略,open表:S17、S18 closed表:S0S16,卒子穿阵的深度优

12、先搜索树,35,第5章 搜索求解策略,5.1 搜索的概念 5.2 状态空间知识表示方法 5.3 盲目的图搜索策略 5.4 启发式图搜索策略 5.5 与/或图搜索策略,36,5.4 启发式图搜索策略,5.4.1 启发式策略 5.4.2 启发信息和估价函数 5.4.3 A搜索算法 5.4.4 A*搜索算法及其特性分析,37,5.4.1 启发式策略,“启发”(heuristic):关于发现和发明操作算子及搜索方法的研究。 在状态空间搜索中,启发式被定义成一系列操作算子,并能从状态空间中选择最有希望到达问题解的路径。 启发式策略:利用与问题有关的启发信息进行搜索。,38,5.4.1 启发式策略,运用启

13、发式策略的两种基本情况: (1)一个问题由于在问题陈述和数据获取方面固有 的模糊性,可能会使它没有一个确定的解。 (2)虽然一个问题可能有确定解,但是其状态空间 特别大,搜索中生成扩展的状态数会随着搜索 的深度呈指数级增长。,39,例 一字棋。在九宫棋盘上,从空棋盘开始,双方轮流在棋盘上摆各自的棋子 或 (每次一枚),谁先取得三子一线(一行、一列或一条对角线)的结果就取胜。,5.4.1 启发式策略, 和 能够在棋盘中摆成的各种不同的棋局就是问题空间中的不同状态。 9个位置上摆放空, , 有 39 种棋局。 可能的走法 : 。,40,5.4.1 启发式策略,启发式策略的运用,41,5.4.1 启

14、发式策略,启发式搜索下缩减的状态空间,42,5.4.2 启发信息和估价函数,在具体求解中,能够利用与该问题有关的信息来简化搜索过程,称此类信息为启发信息。 启发式搜索:利用启发信息的搜索过程。,43,5.4.2 启发信息和估价函数,求解问题中能利用的大多是非完备的启发信息: (1)求解问题系统不可能知道与实际问题有关的全部信息,因而无法知道该问题的全部状态空间,也不可能用一套算法来求解所有的问题。 (2)有些问题在理论上虽然存在着求解算法,但是在工程实践中,这些算法不是效率太低,就是根本无法实现。,一字棋:9!,西洋跳棋:1078,国际象棋:10120,围棋:10761。 假设每步可以搜索一个

15、棋局,用极限并行速度(10-104年/步)来处理,搜索一遍国际象棋的全部棋局也得1016年即1亿亿年才可以算完!,44,5.4.2 启发信息和估价函数,启发信息的分类: (1)陈述性启发信息 (2)过程性启发信息 (3)控制性启发信息 利用控制性的启发信息的情况: (1)没有任何控制性知识作为搜索的依据,因而搜索的每一步完全是随意的。 (2)有充分的控制知识作为依据,因而搜索的每一步选择都是正确的,但这是不现实的。,45,5.4.2 启发信息和估价函数,估价函数的任务就是估计待搜索结点的“有希望”程度,并依次给它们排定次序(在open表中)。,估价函数 :从初始结点经过 结点到达目的 结点的路

16、径的最小代价估计值,其一般形式是,一般地,在 中, 的比重越大,越倾向于宽度优先搜索方式,而 的比重越大,表示启发性能越强。,46,例 八数码的估价函数设计方法有多种,并且不同的估价函数对求解八数码问题有不同的影响。 最简单的估价函数:取一格局与目的格局相比,其位置不符的将牌数目。 较好的估价函数:各将牌移到目的位置所需移动的距离的总和。 第三种估价函数:对每一对逆转将牌乘以一个倍数。 第四种估价函数:克服了仅计算将牌逆转数目策略的局限,将位置不符将牌数目的总和与3倍将牌逆转数目相加。,5.4.2 启发信息和估价函数,47,5.4.3 A搜索算法,启发式图搜索法的基本特点:如何寻找并设计一个与问题有关的 及构出 , 然后以 的大小来排列

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

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号