搜索与求解人工智能导论课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《搜索与求解人工智能导论课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 搜索 求解 人工智能 导论 课件
- 资源描述:
-
1、1第第 2 2 章章 搜搜 索索2搜索策略搜索策略搜索的基本概念搜索的基本概念状态空间搜索状态空间搜索博弈树搜索博弈树搜索盲目搜索盲目搜索启发式搜索启发式搜索宽度优先搜索宽度优先搜索深度优先搜索深度优先搜索有界深度有界深度优先搜索优先搜索局部择优搜索局部择优搜索全局择优搜索全局择优搜索A*算法算法极大极小极大极小分析法分析法 剪枝技术剪枝技术与或图搜索与或图搜索3l 理解搜索及回溯的概念,掌握启发式搜索和盲理解搜索及回溯的概念,掌握启发式搜索和盲目搜索的概念;目搜索的概念;l 掌握宽度优先搜索算法和深度优先搜索算法,掌握宽度优先搜索算法和深度优先搜索算法,并了解二者的区别;并了解二者的区别;l
2、 了解了解A*算法。算法。42.1 2.1 搜索概述搜索概述2.2 2.2 状态空间搜索状态空间搜索2.3 2.3 状态空间盲目搜索状态空间盲目搜索2.4 2.4 状态空间启发式搜索状态空间启发式搜索2.5 2.5 代价树的搜索代价树的搜索2.6 2.6 与与/或树搜索或树搜索2.7 2.7 博弈树的启发式搜索博弈树的启发式搜索5 现实世界中的大多数问题都是非结构化问题,现实世界中的大多数问题都是非结构化问题,一般不存在现成的求解方法,而只能利用已有知一般不存在现成的求解方法,而只能利用已有知识一步一步摸索前进。识一步一步摸索前进。根据问题的实际情况,按照一定的策略或规则,根据问题的实际情况,
3、按照一定的策略或规则,从知识库中寻找可利用的知识,从而构造出一条从知识库中寻找可利用的知识,从而构造出一条使问题获得解决的推理路线的过程,就称为使问题获得解决的推理路线的过程,就称为搜索搜索。6 搜索包含两层含义:搜索包含两层含义:(1 1)要找到从初始事实到问题最终答案的一条推理)要找到从初始事实到问题最终答案的一条推理路线;路线;(2 2)找到的这条路线是时间和空间复杂程度最小的)找到的这条路线是时间和空间复杂程度最小的求解路线。求解路线。7 搜索是人工智能技术中进行问题求解的基本技搜索是人工智能技术中进行问题求解的基本技术,也是人工智能中的一个核心技术,是推理不术,也是人工智能中的一个核
4、心技术,是推理不可分隔的一部分,它直接关系到智能系统的性能可分隔的一部分,它直接关系到智能系统的性能和运行效率。和运行效率。人工智能进行问题求解的两种基本技术:人工智能进行问题求解的两种基本技术:1.1.图搜索图搜索2.2.搜索算法搜索算法8 运用领域知识,以运用领域知识,以符号推演符号推演的方式,顺的方式,顺序地在序地在问题空间问题空间进行搜索。其中的问题空进行搜索。其中的问题空间表示为某种状态图(空间)或与或图的间表示为某种状态图(空间)或与或图的形式。形式。该方法模拟人脑分析问题。该方法模拟人脑分析问题。9 以计算的方法,随机地在问题的以计算的方法,随机地在问题的解空间解空间中进行搜索。
5、中进行搜索。该方法是借鉴或模拟自然现象或生命现该方法是借鉴或模拟自然现象或生命现象。象。10 根据搜索过程中是否使用启发式信息,可以把根据搜索过程中是否使用启发式信息,可以把搜索的类型分为两种:搜索的类型分为两种:1.1.盲目搜索(无信息搜索)盲目搜索(无信息搜索)2.2.启发式搜索(有信息搜索)启发式搜索(有信息搜索)11 指在搜索过程中,按照原来规定的搜索策略进指在搜索过程中,按照原来规定的搜索策略进行搜索,而没有加入任何中间信息来改变这些控行搜索,而没有加入任何中间信息来改变这些控制策略。制策略。搜索带有盲目性、效率低。搜索带有盲目性、效率低。该方法通常只用于解决比较简单的问题。该方法通
6、常只用于解决比较简单的问题。12 指在搜索过程中,根据问题本身的特性或一些指在搜索过程中,根据问题本身的特性或一些在搜索过程中产生的信息来不断修改或调整搜索在搜索过程中产生的信息来不断修改或调整搜索的方向,是搜索向着最有利的方向前进,加快问的方向,是搜索向着最有利的方向前进,加快问题求解的速度,并找到最优解。题求解的速度,并找到最优解。该方法是更易于求解复杂的问题。该方法是更易于求解复杂的问题。132.1 2.1 搜索概述搜索概述2.2 2.2 状态空间搜索状态空间搜索2.3 2.3 状态空间盲目搜索状态空间盲目搜索2.4 2.4 状态空间启发式搜索状态空间启发式搜索2.5 2.5 代价树的搜
7、索代价树的搜索2.6 2.6 与与/或树搜索或树搜索2.7 2.7 博弈树的启发式搜索博弈树的启发式搜索14Sgl 内容:内容:状态空间的搜索问题状态空间的搜索问题l 搜索策略:搜索策略:盲目搜索盲目搜索启发式搜索启发式搜索l 关键问题:关键问题:如何利用知识,尽可能有效如何利用知识,尽可能有效地找到问题的解(最佳解)。地找到问题的解(最佳解)。S015讨论的问题:讨论的问题:l 如何用状态空间法表示问题和问题的求解过程?如何用状态空间法表示问题和问题的求解过程?l 使用状态空间法求解问题的具体过程如何?使用状态空间法求解问题的具体过程如何?16【准备知识准备知识1:状态空间定义:状态空间定义
8、】(参见教材(参见教材62页)页)l 状态:状态:描述问题求解过程中不同时刻状况的数据结描述问题求解过程中不同时刻状况的数据结构。一般用一组变量的有序集合表示:构。一般用一组变量的有序集合表示:Q=(qQ=(q0 0,q,q1 1,q,q2 2,q qn n)l 算符(操作):算符(操作):引起状态中某些分量发生变化,从而使问题引起状态中某些分量发生变化,从而使问题由一个状态变为另一个状态的操作。由一个状态变为另一个状态的操作。17l 状态空间状态空间 由表示一个问题的全部状态及一切可用算符构由表示一个问题的全部状态及一切可用算符构成的集合称为该问题的状态空间。成的集合称为该问题的状态空间。状
9、态空间可以用空间三元组状态空间可以用空间三元组(S,F,G)(S,F,G)表示:表示:S-S-问题初始状态的集合问题初始状态的集合F-F-操作或算符的集合操作或算符的集合G-G-目标状态的集合目标状态的集合 状态空间的图示形式称为状态空间的图示形式称为状态空间图状态空间图。其中的。其中的节点表示状态,有向边(弧)表示算符。节点表示状态,有向边(弧)表示算符。18【状态空间的例子状态空间的例子1迷宫问题迷宫问题】以例以例3.13.1中的迷宫为例。我们以每个格子作为一个状态中的迷宫为例。我们以每个格子作为一个状态,并并用其标识符作为其表示。那么用其标识符作为其表示。那么,两个标识符组成的序对就是一
10、两个标识符组成的序对就是一个状态转换规则。于是个状态转换规则。于是,该迷宫的状态空间表示为该迷宫的状态空间表示为 S:SoF:(So,S4),(S4,So),(S4,S1),(S1,S4),(S1,S2),(S2,S1),(S2,S3),(S3,S2),(S4,S7),(S7,S4),(S4,S5),(S5,S4),(S5,S6),(S6,S5),(S5,S8),(S8,S5),(S8,S9),(S9,S8),(S9,Sg)G:Sg 19迷宫问题的空间状态图为:迷宫问题的空间状态图为:S0S4S1S6S7S2S5S8S9SgS320l 问题求解问题求解 从问题的初始状态集从问题的初始状态集Qs
11、Qs出发,经过一系列的出发,经过一系列的算符运算,到达目标状态算符运算,到达目标状态QgQg。该过程中所用算符。该过程中所用算符的序列的序列f f构成问题的一个解。构成问题的一个解。QsSQsS,QgGQgG,算子序列算子序列f f:f=f1,f2,f=f1,f2,fn fn 使得使得 QgQg=fn(=fn(f2(f1(Qs)(f2(f1(Qs)21【问题求解的例子问题求解的例子-八数码难题八数码难题】在在3 3*3 3的方格棋盘上,分别放置了标有数字的方格棋盘上,分别放置了标有数字1 1、2 2、3 3、4 4、5 5、6 6、7 7、8 8的八张牌,初始状态的八张牌,初始状态So,So,
12、目目标状态为标状态为SgSg。操作规则是:与空格相邻的数码可通过左移、操作规则是:与空格相邻的数码可通过左移、上移、下移、右移来移入空格。上移、下移、右移来移入空格。237 51486586 12743123 84765初始状态初始状态SoSo目标状态目标状态SgSg22n 状态转移状态转移-规则规则237 51486237 45186数码数码上移上移23l 路径路径-状态序列状态序列l 搜索搜索-寻找从初始状态到目标状态的路径寻找从初始状态到目标状态的路径;S0Sg24状态空间237 514861238476525l 难点难点2375148612384765可用操作冲突可用操作冲突如何消解?
13、如何消解?如何搜索到最优解?如何搜索到最优解?26【状态空间及问题求解的例子状态空间及问题求解的例子梵塔问题梵塔问题】(P64)设有三根宝石杆设有三根宝石杆,在在1 1号杆上穿有号杆上穿有A A、B B两个金两个金盘盘,A A小于小于B B,A,A位于位于B B的上面。要求把这两个金盘的上面。要求把这两个金盘全部移到另一根杆上全部移到另一根杆上,而且规定每次只能移动一个而且规定每次只能移动一个盘子盘子,任何时刻都不能使任何时刻都不能使B B位于位于A A的上面。的上面。27 设用二元组设用二元组(S(SA A,S,SB B)表示问题的状态表示问题的状态,S,SA A表示表示金盘金盘A A所在的
14、杆号所在的杆号,S,SB B表示金盘表示金盘B B所在的杆号所在的杆号,这这样样,全部可能的状态有全部可能的状态有9 9种种,可表示如下:可表示如下:(1,1),(1,2),(1,3)(1,1),(1,2),(1,3)(2,1),(2,2),(2,3)(2,1),(2,2),(2,3)(3,1),(3,2),(3,3)(3,1),(3,2),(3,3)28二阶梵塔的全部状态二阶梵塔的全部状态29这里的状态转换规则就是金盘的搬动规则,分别这里的状态转换规则就是金盘的搬动规则,分别用用A(i,jA(i,j)及及B(i,jB(i,j)表示:表示:A(i,jA(i,j)表示把表示把A A盘从第盘从第i
15、 i号号杆移到第杆移到第j j号杆上号杆上;B(i,jB(i,j)表示把表示把B B盘从第盘从第i i号杆移到号杆移到第第j j号杆上。经分析,共有号杆上。经分析,共有1212个操作,它们分别是:个操作,它们分别是:A(1,2),A(1,2),A(1,3),A(1,3),A(2,1),A(2,1),A(2,3),A(2,3),A(3,1),A(3,1),A(3,2)A(3,2)B(1,2),B(1,2),B(1,3),B(1,3),B(2,1),B(2,1),B(2,3),B(2,3),B(3,1),B(3,1),B(3,2)B(3,2)30 由这由这9 9种可能的状态和种可能的状态和1212
16、种操作种操作,二阶梵塔问二阶梵塔问题的状态空间图如图所示:题的状态空间图如图所示:S0S3S6S5S8S2S1S4S7311.使用状态空间表示法表示问题时:使用状态空间表示法表示问题时:l首先定义状态的描述形式,并使用这种描述形式把问首先定义状态的描述形式,并使用这种描述形式把问题的状态全部表示出来;题的状态全部表示出来;l其次定义一组操作,通过使用这些操作把问题从一种其次定义一组操作,通过使用这些操作把问题从一种状态变为另一种状态。状态变为另一种状态。2.问题的求解过程实际是一个不断操作作用于状态的过程。问题的求解过程实际是一个不断操作作用于状态的过程。如果使用某种操作得到的新状态就是目标状
17、态,就得到了如果使用某种操作得到的新状态就是目标状态,就得到了问题的一个解。这个解是从问题初始状态到目标状态的操问题的一个解。这个解是从问题初始状态到目标状态的操作序列。作序列。32课课 堂堂 练练 习习 题题 设有三只琴键开关一字排开设有三只琴键开关一字排开,初始状态为初始状态为“关、开、关、开、关关”,问连按三次后是否会出现问连按三次后是否会出现“开、开、开、开开、开”或或“关、关、关关、关、关”的状态?要求每次必的状态?要求每次必须按下一个开关须按下一个开关,而且只能按一个开关。而且只能按一个开关。请画出状态空间图。请画出状态空间图。【注:琴键开关有这样的特点注:琴键开关有这样的特点,若
18、第一次按下时它为若第一次按下时它为“开开”,则第二次按下时它就变成了则第二次按下时它就变成了“关关”。】33【准备知识准备知识2 2:状态图搜索方式:状态图搜索方式】(参见教材(参见教材5050页)页)l 树式搜索树式搜索 在搜索过程中记录所经过的在搜索过程中记录所经过的所有节点和边所有节点和边,记,记录轨迹为一棵录轨迹为一棵“树树”。l 线式搜索线式搜索 在搜索过程中只记录那些当前认为在搜索过程中只记录那些当前认为处在所找路处在所找路径上的节点和边径上的节点和边,记录轨迹是一条,记录轨迹是一条“线线”(折(折线)。线)。34【准备知识准备知识3 3:状态图搜索策略:状态图搜索策略】(参见教材
19、(参见教材5151页)页)l 盲目搜索策略盲目搜索策略 就是无就是无“向导向导”的搜索。的搜索。l 启发式搜索策略启发式搜索策略 就是有就是有“向导向导”的搜索。的搜索。“启发式启发式”信息信息启发式启发式搜索搜索全局最优全局最优搜索搜索局部择优局部择优搜索搜索最佳图最佳图搜索搜索35【准备知识准备知识4 4:状态图搜索基本概念:状态图搜索基本概念】l 节点深度:节点深度:根节点深度根节点深度=0=0;其它节点深度其它节点深度=父节点深度父节点深度+1+1。012336l 路径路径 设一节点序列为设一节点序列为(n(n0 0,n,n1 1,n nk k),对于,对于 i=1,i=1,k,k,若
20、节点,若节点n ni-1i-1具有一个后继节点具有一个后继节点n ni i,则该,则该序列称为从序列称为从n n0 0到到n nk k的路径。的路径。l 路径的耗散值路径的耗散值 一条路径的耗散值等于连接这条路径各节点间一条路径的耗散值等于连接这条路径各节点间所有耗散值的总和。用所有耗散值的总和。用C(nC(ni i,n nj j)表示从表示从n ni i到到n nj j的路的路径的耗散值。径的耗散值。37l 扩展一个节点扩展一个节点 生成出该节点的所有后继节点,并给出它们生成出该节点的所有后继节点,并给出它们之间的耗散值。这一过程称为之间的耗散值。这一过程称为“扩展一个节点扩展一个节点”。3
21、82.2.1 2.2.1 状态空间搜索的一般过程状态空间搜索的一般过程状态空间搜索实际上就是对状态空间搜索实际上就是对有向图的搜索有向图的搜索。先把问题的初始状态当作当前扩展节点对其先把问题的初始状态当作当前扩展节点对其进行进行扩展扩展,生成一组子节点,然后,生成一组子节点,然后检查问题的目检查问题的目标状态是否出现标状态是否出现在这些子节点中。若出现,则搜在这些子节点中。若出现,则搜索成功,找到了该问题的解;若没有出现,则按索成功,找到了该问题的解;若没有出现,则按照某种搜索策略从已生成的子节点中选择一个作照某种搜索策略从已生成的子节点中选择一个作为当前扩展节点。重复上述过程,为当前扩展节点
22、。重复上述过程,直到目标状态直到目标状态出现出现在子节点中在子节点中或没有可供扩展的节点为止或没有可供扩展的节点为止。392.2.2 2.2.2 状态空间图搜索的一般算法状态空间图搜索的一般算法(参见教材(参见教材P51P51)l OpenOpen表用于存放还没有扩展表用于存放还没有扩展的节点,因此,的节点,因此,OpenOpen表称为表称为未扩展的节点表未扩展的节点表。l ClosedClosed表用于存放已经扩展表用于存放已经扩展或将要扩展的节点,因此,或将要扩展的节点,因此,ClosedClosed称为已扩展的节点表称为已扩展的节点表。l 用用S0S0表示问题的初始状态,表示问题的初始状
23、态,G G表示搜索过程所得到的搜表示搜索过程所得到的搜索图,索图,M M表示当前扩展节点表示当前扩展节点新生成的且不为自己先辈新生成的且不为自己先辈的的子节点集。子节点集。401.G=G0(G0=s0),OPEN:=(s0);%建立一个只有起始节点建立一个只有起始节点S0S0组成组成的图的图G,G,把把S0S0放到放到OPENOPEN表中;表中;2.CLOSED:=();%建立一个建立一个CLOSEDCLOSED表,置为空;表,置为空;3.LOOP:IF OPEN=()THEN EXIT(FAIL);%判断判断OPENOPEN表是表是否为空否为空,若为空若为空,则问题无解则问题无解,退出退出;
24、4.n:=FIRST(OPEN),REMOVE(n,OPEN),ADD(n,CLOSED);%);%从从OPENOPEN表中取出第一个节点表中取出第一个节点n n放入放入CLOSEDCLOSED表。表。5.IF GOAL(n)THEN EXIT(SUCCESS);%如果如果n n是目标节点,是目标节点,成功结束;成功结束;6.EXPAND(n)mi,G:=ADD(mi,G);%;%扩展节点扩展节点n,n,后继节点后继节点记为记为M=miM=mi,把,把M M加入加入G G中;中;417.7.标记和修改指针:标记和修改指针:ADD(mADD(mj j,OPEN),OPEN),并标记并标记m mj
25、 j到到n n的指针;的指针;计算是否要修改计算是否要修改m mk k、m ml l到到n n的指针;的指针;计算是否要修改计算是否要修改m ml l到其后继节点的指针;到其后继节点的指针;8 8.对对OPENOPEN中的节点按某种原则重新排序;中的节点按某种原则重新排序;9.GO LOOP9.GO LOOP;42开始初始化:把S0放入OPEN表,CLOSED表置空OPEN表为空表?把OPEN表的第1个节点(记为n)移至CLOSED表节点n为目标节点?若节点n的后继节点未曾在搜索图G中出现,则把其放入OPEN表的末端,并提供返回节点n的指针根据后继节点曾在搜索图G中的出现情况修改指针方向重排O
展开阅读全文