《人工智能》.ppt
《《人工智能》.ppt》由会员分享,可在线阅读,更多相关《《人工智能》.ppt(57页珍藏版)》请在课桌文档上搜索。
1、整理ppt,1,第六章 搜索策略 搜索是人工智能中的一个基本问题,是推理不可分割的一部分,它直接关 系到智能系统的性能与运行效率,因而尼尔逊把它列为人工智能研究中的四个 核心问题之一。5.1 基本概念 1.什么是搜索 人工智能所要解决的大部分问题是结构不良或非结构化的问题,对这样的 问题一般不存在成熟的求解算法可供利用,而只能是利用已有的知识一步步 摸索着前进。在此过程中,存在着如何寻找可用知识的问题,即如何确定推理路线,使其付出的代价尽可能的少,而问题又能得到较好的解决。如:在正向推理中,对已知的初始事实,需要在知识库中寻找可使用的知识,这就 存在按何种线路进行寻找的问题。,整理ppt,2,
2、另外,可能存在多条线路都可实现对问题的求解,这就又出现 按哪一条线路进行求解以获得较高的运行效率的问题。像这样根据问题的实际情况不断寻找可利用的知识,从而构造一条代价较少的推理路线,使问题得到圆满解决的过程称为搜索。2.搜索分类 搜索分为盲目搜索和启发式搜索。盲目搜索按预定的控制策略进行搜索,在搜索过程中获得的中间信 息不用来改进控制策略。这种搜索具有盲目性,效率不高,不便于复杂问题的求解。启发式搜索在搜索中加入了与问题有关的启发性信息,用以指导搜 索朝着最有希望的方向前进,加速问题的求解过程并 找到最优解。,整理ppt,3,5.2 求解问题的表示方法 用搜索策略求解问题,首先要解决的问题也是
3、:用什么样的形式把问题表示出来.一般来说,有两种方法:状态空间表示法;与/或树表示法;1.状态空间表示法 状态空间表示法是用来表示问题及其搜索过程的一种方法,它是人工智能中最 基本的形式化方法。状态空间表示法是用“状态”和“算符”来表示问题的一种方法。其中,“状态”用以描述问题求解过程中不同时刻的状况;“算符”表示对状态的操作,算符的每一次使用就使问题由一种状态变换为 另一种状态;解 当到达目标状态时,由初始状态到目标状态所用算符的序列就是问题 的一个解。,整理ppt,4,.状态 状态是描述问题求解过程中任一时刻状况的数据结构,一般用一组变量的有序组合表示:SK(SK0,SK1,)当给每一个分
4、量以确定的值时,就得到了一个具体的状态。.算符 引起状态中某些分量发生变化,从而使问题由一个状态变为另一个状态的操作称为算符。在产生式系统中,每一条产生式规则就是一个算符。.状态空间 由问题的全部状态及一切可用算符所构成的集合称为问题的状态空间,般用个三元组表示:(S,F,G)其中,S是问题的所有初始状态构成的集合;F是算符的集合;G是目标状态的集合。状态空间的图示形式称为状态空间图。其中,节点表示状态;有向边(弧)表示算符。,整理ppt,5,例1:钱币翻转问题,如图所示。设有三个钱币,起初是状态为(反正反),允许每次翻转一个钱币(只反一个,也必反一个),连反三次,问是否可达 到目标状态?(正
5、正正)或(反反反)?,设用 Sk=(s1,s2,s3)表示问题的状态,s=0 表示钱币正面,s=1表示钱币反面。则钱币可能出现的状态有八种:S0=(0,0,0),S1=(0,0,1),S2=(0,1,0),S3=(0,1,1)S4=(1,0,0),S5=(1,0,1),S6=(1,1,0),S7=(1,1,1)问题的初始状态集合:S=S5 目标状态集合:G=S0,S7 算符:f1 把s1翻一面;f2 把s2翻一面;f3 把s3翻一面;,整理ppt,6,上述问题的状态空间“三元组”为:(S5,f1,f2,f3,s0,s7)相应的状态空间图:,从图中看出:从S5不可能经三次翻转到达S0,从S5 可
6、经三次翻转到达S7,且有七种操作方式。,整理ppt,7,2.与/或树表示法 与/或树是用于表示问题及其求解过程的又一种形式化方法,通常用于表示比较 复杂问题的求解。对于一个复杂问题,直接求解往往比较困难。此时,可通过下述方法进行简化:(1)分解:“与”树 把一个复杂问题分解为若干个较为简单的子问题,然后对每个子问 题分别进行求解,最后把各子问题的解复合起来就得到了原问题的解。这是“与”的问题。,P1,P2,P3 为子节点,子问题对应子节点。P为“与”节点,只有当三个子问题都有解时,P才可解。如图所示,称为“与”树。,(2)等价变换:“或”树 利用等价变换,把它变换为若干个较容易求解的新问题。若
7、新问题中有一个可求解,则就得到了原问题的解。这是“或”的问题。如图所示,称为“或”树。,整理ppt,8,与/或树:将上述两种方法也可结合起来使用,此时的图称为“与/或树”,其中既有“与”节点,也 有“或”节点。在此统称为子节点。,(3)几个基本概念:.本原问题 不能再分解或变换,而且直接可解的子问题称为本原问题。.端节点与终止节点 在与/或树中,没有子节点的节点称为端节点;本原问题所对应的节点称为终止节点。显然终止节点一定是端节点,但端节点不一定是终止节点。,整理ppt,9,.可解节点 在与/或树中,满足下列条件之一者,称为可解节点:它是一个终止节点。它是一个“或”节点,且其子节点中至少有一个
8、是可解节点。它是一个“与”节点,且其子节点全部是可解节点。.不可解节点 关于可解节点的三个条件全部不满足的节点称为不可解节点。.解树 由可解节点所构成,并且由这些可解节点可推出初始节点(它对应于原始问题)为可解 节点的子树称为解树。在解树中一定包含初始节点。例如:t标出的节点是终止节点,根据可解节点的定义,原始问题P是可解的。,整理ppt,10,例:三阶汉诺塔问题。设有A,B,C三个金片以及三根钢针,三个金片按自上而下从小到大的顺序穿在1号钢针上,要求把它们全部移到3号钢针上,而且每次只能移动一个金片,任何时刻都不能把大的金片压在小的金片上面,如图所示。,首先进行问题分析:(1)为了把三个金片
9、全部移到3号针上,必须先把金片C移到3号针上。(2)为了移金片C,必须先把金片A及B移到2号针上。(3)当把金片c移到3号针上后,就可把A,B从2号移到3号针上,这样就可完成问题的求解。由此分析,得到了原问题的三个子问题:(1)把金片A及B移到2号针的双金片问题。(2)把金片C移到3号针的单金片问题。(3)把金片A及B移到3号针的双金片问题。其中,子问题(1)与子问题(3)又分别可分解为三个子问题。,A BC,A B C,整理ppt,11,为了用与/或树把问题的分解过程表示出来,先要定义问题的形式化表示方法。设仍用状态表示问题在任一时刻的状况;用三元组(i,j,k)表示状态:i代表金片C所在的
10、钢针号;j代表金片B所在的钢针号;k代表金片A所在的钢针号。用“”表示状态的变换;这样原始问题就可表示为:(1,1,1)(3,3,3)用与/或树把分解过程表示出来。,若把这些本原问题的解按从左至右的顺序排列,就得到了原始问题的解:(1,1,1)(1,l,3),(1,1,3)(1,2,3),(1,2,3)(1,2,2),(1,2,2)(3,2,2),(3,2,2)(3,2,1),(3,2,1)(3,3,1),(3,3,1)(3,3,3)它指出了移动金片的次序。,此图共有七个终止节点,对应于七个本原问题,它们是通过“分解”得到的。,整理ppt,12,5.3 状态空间搜索策略 1.概述(1)显式图与
11、隐式图 为了求解问题,需要把知识存储在计算机的知识库中,有下列两种存储方式:显式存储:把与问题有关的全部状态空间图,即相应的全部知识(事实性知识、过程性知识,控制性知识)都直接存入知识库,称为“显式存储”或“显式图”。隐式存储:只存储与问题有关的部分知识,在求解过程中,又初始状态出发,运用相应的知识,逐步生成所需的部分状态空间图,通过搜索推理,找到所求目标。这样只需在知识库中存储局部状态空间图,称为“隐式图”。通常,为了节约计算机的存储容量,提高搜索推理效率,采用隐式存储方法,进行隐士图搜索推理。,整理ppt,13,(2)搜索方法.运用事实性知识,给出问题的部分状态描述,包括:初始状态S0,目
12、标状态 Sg,和某些中间状态Sh;.运用过程性知识,给出由状态空间图“父节点”生成“子节点”的操作“算符”;.运用控制性知识(在此为搜索策略),选取适当的节点,控制继续搜索的方 向。(3)搜索过程.给出初始状态(初始节点);.选择选择适用的算符对其进行操作,生成一组子状态(或称后继状态、后继 节点、子节点);.检查目标状态是否在其中出现。若出现,则搜索成功,找到了问题的解;若 不出现,则按某种搜索策略从已生成的状态中再选一个状态作为当前状态。重复上述过程,直到目标状态出现或者不再有可供操作的状态及算符时为止。,整理ppt,14,(4)搜索过程中要用到的两个数据结构 OPEN表:用于存放刚生成的
13、节点。对于不同的搜索策略,节点在OPEN表中的排列顺序是不同的。CLOSED表:用于存放将要扩展或者已扩展的节点,所谓对节点进行“扩展”是指:用合适的算符对该节点进行操作,生成一组子节点。,OPEN表,CLOSED表,(5)状态空间法搜索策略 广度优先搜索 深度优先搜索 有界深度优先搜索 代价树的广度优先搜索 代价树的深度优先搜索(以上属于盲目搜索策略)局部择优搜索 全局择优搜索(以上搜索属于启发式搜索),整理ppt,15,2.广度优先搜索法(Breadth-First Search)(1)基本思想 从初始节点开始,按照某种生成规则(算符)逐步生成下一级各子节点,顺序(先生成的子节点优先检查,
14、优先扩展)地检查是否出现目标节点,在该级全部节点中沿广度进行“横向”扫描,即:沿“广度”遍历所有节点,故称“广度优先搜索法”。(2)广度优先搜索法搜索过程.把初始节点S0放人OPEN表,若S0为目标节点,则得到问题的解,退出;.如果OPEN表为空,则问题无解,退出;.把OPEN表的第一个节点(记为节点n)取出放入CLOSED表;.考察节点n,若节点n不可扩展,则转第步;.扩展节点n,将其子节点放入0PEN表的尾部,并为每一个子节点都配置指向父节点 的指针;.如果n的任一个后继节点是目标节点,则找到问题的解,成功退出,否则转向第步。,整理ppt,16,整理ppt,17,OPEN表,CLOSED表
15、,(a),(b),(c),(d),S0,S0,1,1,2,1,2,0,0,0,3,4,2,0,3,3,5,6,7,8,9,4,1,1,1,1,2,2,3,3,4,4,5,S0,1,0,2,0,3,1,4,1,Sg(9),整理ppt,18,例:重排九宫问题。在3X3的方格棋盘上放置分别标有数字1,2,3,4,5,6,7,8的八张牌,初始状态为50,目标状态为S,如下图所示。可使用的算符有:空格左移,空格上移,空格右移,空格下移 即,它们只允许把位于空格左,上,右,下边的牌移入空格。要求寻找从初始状态到目标状态的路径。应用广度优先搜索,可得到如图所示的搜索树。,整理ppt,19,由图可以看出,解的
16、路径是:S03 8 16 26(Sg)小结:缺点:广度优先搜索的盲目性较大,当目标节点距离初始节点较远时将会产生许 多无用节点,搜索效率低,这是它的缺点。优点:只要问题有解,用广度优先搜索总可以得到解,而且得到的是路径最短的 解,这是它的优点。,整理ppt,20,3.深度优先搜索(1)基本思想 从初始节点S0开始,按生成规则生成下一级各子节点,若目标节点未出现,则按“最晚生成的子节点优先扩展”的原则,生成再下一级的子节点,如此下去,沿着最晚生成的子节点分支,逐级向“纵向”深入发展,故称为“深度优先搜索法”。(2)深度优先搜索法搜索过程 该过程与广度优先搜索的唯一区别是:广度优先搜索是将节点n的
17、子节点放入到OPEN表的尾部,而深度优先搜索是 把节点n的子节点放入到OPEN表的首部。仅此一点不同,就使得搜索的路线完全不一样。,整理ppt,21,整理ppt,22,OPEN表,CLOSED表,(a),(b),(c),S0,S0,1,2,3,4,5,(d),0,2,0,2,2,2,0,3,2,4,2,4,2,5,4,6,4,6,4,7,6,8,6,1,Sg(8),(e),整理ppt,23,例:对上节所示的重排九宫问题进行深度优先按索,可得如下图所示的搜索树。这只是搜索树的一部分,尚未到达目标节点,仍可继续往下搜索。,小结:在深度优先搜索中,搜索一旦 进入某个分支,就将沿着该分支一直向下搜索。
18、如果目标节点恰好在此分支上,则可较快地得到解。但是,如果目标节点不在此分支上,而该分支又是一个无穷分支,则就不可能得到解。所以深度优先搜索是不完备的,即使问题有解,它也不一定能求得解。另外,用深度优先搜索求得的解,不一定是路径最短的解,其道理是显然的。,整理ppt,24,4.有界深度优先搜索(1)基本思想 为了解决深度优先搜索不完备的问题,避免搜索过程陷入无穷分支的死循环,对深度优先搜索引入搜索深度的界限(设为dm),当搜索深度达到了深度界限,而尚未出现目标节点时,就换一个分支进行搜索。(2)有界深度优先搜索的搜索过程,整理ppt,25,整理ppt,26,例:设深度界度dm4,用有界深度优先搜
19、索方法求解重排九官问题。搜索树如图所示。解的路径是:S0 20 25 26 28(Sg),整理ppt,27,(3)有界深度优先搜索法的改进 上述方法存在两个问题:深度界限的选择很重要 dm 若太小,则达不到解的深度,得不到解;若太大,则搜索时将产生许多无用的子节 点,既浪费了计算机的存储空间与时间,又降低了搜索效率。由于解的路径长度事先难以预料,所以要恰当地给出dm的值是比较困难的。即使能求出解,它也不一定是最优解。解决方法:.dm随搜索深度不断加大 先任意给定一个较小的数作为dm,然后进行上述的有界深度优先搜索,当搜索达到了 指定的深度界限dm仍未发现目标节点,并且CLOSED表中仍有待扩展
20、节点时就将这些节点送回OPEN表,同时增大深度界限dm,继续向下搜索。如此不断地增大dm,只要问题有解,就一定可以找到它。.增加一个R表 此时找到的解不一定是最优解。为找到最优解,可增设一个表(R),每找到一个目标节点Sg后,就把它放入到R的前面,并令dm等于该目标节点所对应的路径长度,然后继续搜索。由于后求得的解的路径长度不会超过先求得的解的路径长度,所以最后求得的解一定是最优解。,整理ppt,28,求最优解的有界深度优 先搜索过程如图所示。其中Sg 是目标节点 Sg*是距离S0最近的 目标节点。,整理ppt,29,5.代价树的广度优先搜索(1)基本思想 代价:从一个节点,经过一条支路,转移
21、到另一个节点,所需支付的代价(时间、费用等)。代价树:边上标有代价的树称为代价树。在代价树中,若用g(x)表示从初始节点S0到节点x的代价,用c(x1,x2)表示 从父节点x1到子节点x2的代价,则有:g(x2)=g(x1)十c(x1,x2)代价树广皮优先搜索的基本思想是:每次从OPEN表中选择节点往CLOSED表传送时,总是选择其代价为最小的节 点。也就是说,OPEN表中的节点在任一时刻都是按其代价从小至大排序的,代价小的节点排在前面,代价大的节点排在后面,而不管节点在代价树中处 于什么位置。,整理ppt,30,(2)代价树的广度优先搜索过程,整理ppt,31,例:右图是五城市间的交通路线图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 人工智能

链接地址:https://www.desk33.com/p-242128.html