人工智能课件:AI3章搜索.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《人工智能课件:AI3章搜索.ppt》由用户(罗嗣辉)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 人工智能 课件 AI3 搜索
- 资源描述:
-
1、1搜索是人工智能中的一个基本问题,并与推理密切相关,搜索策略的优搜索是人工智能中的一个基本问题,并与推理密切相关,搜索策略的优劣,将直接影响到智能系统的性能与推理效率。劣,将直接影响到智能系统的性能与推理效率。 3.1 搜索概述搜索概述3.1.1 搜索的含义搜索的含义 3.1.2 状态空间问题求解方法状态空间问题求解方法 3.1.3 问题归约求解方法问题归约求解方法3.2 搜索的盲目策略搜索的盲目策略3.3 状态空间的启发式搜索状态空间的启发式搜索3.4 与与/或树的启发式搜索或树的启发式搜索3.5 博弈树的启发式搜索博弈树的启发式搜索第第3章章 搜索策略搜索策略23.1.1 搜索的含义搜索的
2、含义概念:概念: 依靠经验,利用已有知识,根据问题的实际情况,不断寻找可利用知识,依靠经验,利用已有知识,根据问题的实际情况,不断寻找可利用知识,从而构造一条代价最小的推理路线,使问题得以解决的过程称为搜索从而构造一条代价最小的推理路线,使问题得以解决的过程称为搜索适用情况:适用情况: 不良结构或非结构化问题;难以获得求解所需的全部信息;更没有现成的不良结构或非结构化问题;难以获得求解所需的全部信息;更没有现成的算法可供求解使用。算法可供求解使用。搜索的类型搜索的类型 按是否使用启发式信息:按是否使用启发式信息: 盲目搜索:盲目搜索:按预定的控制策略进行搜索,在搜索过程中获得的中间信息按预定的
3、控制策略进行搜索,在搜索过程中获得的中间信息并并不改变控制策略不改变控制策略。 启发式搜索:启发式搜索:在搜索中加入了与问题有关的启发性信息,用于指导搜索朝在搜索中加入了与问题有关的启发性信息,用于指导搜索朝着最有希望的方向前进,加速问题的求解过程并找到最优解。着最有希望的方向前进,加速问题的求解过程并找到最优解。 按问题的表示方式:按问题的表示方式: 状态空间搜索:状态空间搜索:用状态空间法来求解问题所进行的搜索用状态空间法来求解问题所进行的搜索 与或树搜索:与或树搜索:用问题归约法来求解问题时所进行的搜索用问题归约法来求解问题时所进行的搜索33.1.2 状态空间问题求解方法状态空间问题求解
4、方法1. 状态空间问题表示状态空间问题表示状态状态(State) 是表示问题求解过程中每一步问题状况的数据结构,它可形式地表示为:是表示问题求解过程中每一步问题状况的数据结构,它可形式地表示为: Sk=Sk0, Sk1, 当对每一个分量都给以确定的值时,就得到了一个具体的状态。当对每一个分量都给以确定的值时,就得到了一个具体的状态。操作操作(Operator) 也称为算符,它是把问题从一种状态变换为另一种状态的手段。它可理解也称为算符,它是把问题从一种状态变换为另一种状态的手段。它可理解为状态集合上的一个函数,它描述了状态之间的关系。为状态集合上的一个函数,它描述了状态之间的关系。状态空间状态
5、空间(State space) 用来描述一个问题的全部状态以及这些状态之间的相互关系。常用一个三用来描述一个问题的全部状态以及这些状态之间的相互关系。常用一个三元组表示为:元组表示为: (S, F, G)其中,其中,S为问题的所有初始状态集合;为问题的所有初始状态集合;F为操作的集合;为操作的集合;G为目标状态的集合。为目标状态的集合。 状态空间也可用一个赋值的有向图来表示,该有向图称为状态空间图。在状态空间也可用一个赋值的有向图来表示,该有向图称为状态空间图。在状态空间图中,节点表示问题的状态,有向边表示操作。状态空间图中,节点表示问题的状态,有向边表示操作。4状态空间法求解问题的基本过程:
6、状态空间法求解问题的基本过程: 首先,为问题选择适当的首先,为问题选择适当的“状态状态”及及“操作操作”的形式化描述方法;的形式化描述方法; 然后,从某个初始状态出发,每次使用一个然后,从某个初始状态出发,每次使用一个“操作操作”,递增地建立起操,递增地建立起操作序列,直到达到目标状态为止;作序列,直到达到目标状态为止; 最后,由初始状态到目标状态所使用的算符序列就是该问题的一个解。最后,由初始状态到目标状态所使用的算符序列就是该问题的一个解。 3.1.2 状态空间问题求解方法状态空间问题求解方法2. 状态空间问题求解状态空间问题求解5 例例3.1 二阶梵塔问题二阶梵塔问题 设有三根钢针,它们
7、的编号分别是设有三根钢针,它们的编号分别是1号、号、2号和号和3号。在初始情况下,号。在初始情况下,1号钢号钢针上穿有针上穿有A、B两个金片,两个金片,A比比B小,小,A位于位于B的上面。要求把这两个金片全部的上面。要求把这两个金片全部移到另一根钢针上,而且规定每次只能移动一个金片,任何时刻都不能使大移到另一根钢针上,而且规定每次只能移动一个金片,任何时刻都不能使大的位于小的上面的位于小的上面。 解:解:设用设用Sk=(SkA, SkB)表示问题的状态,其中,表示问题的状态,其中,SkA表示金片表示金片A所在的钢针所在的钢针号,号,SkB表示金片表示金片B所在的钢针号。所在的钢针号。 全部可能
8、的问题状态共有以下全部可能的问题状态共有以下9种:种: S0=(1, 1) S1=(1, 2) S2=(1, 3) S3=(2, 1) S4=(2, 2) S5=(2, 3) S6=(3, 1) S7=(3, 2) S8=(3, 3) 3.1.2 状态空间问题求解方法状态空间问题求解方法3. 状态空间的例子状态空间的例子(1/10)6 ABABAB 1 2 3 1 2 3 1 2 3图图3.1 二阶梵塔问题的初始状态和目标状态二阶梵塔问题的初始状态和目标状态初始状态集合初始状态集合 S=S0目标状态集合目标状态集合 G=S4, S8 初始状态初始状态S0和目标状态和目标状态S4、S8如下图如下
9、图 S0=(1, 1)S4=(2, 2)S8=(3, 3)3.1.2 状态空间问题求解方法状态空间问题求解方法3. 状态空间的例子状态空间的例子(2/10)7操作操作 Aij 表示把金片表示把金片A从第从第i号钢针移到号钢针移到j号钢针上;号钢针上; Bij 表示把金片表示把金片B从第从第i号钢针一到第号钢针一到第j号钢针上。号钢针上。共有共有12种操作,它们分别是:种操作,它们分别是: A12 A13 A21 A23 A31 A32 B12 B13 B21 B23 B31 B32 根据上述根据上述9种可能的状态和种可能的状态和12种操作,可构成二阶梵塔问题的状态空间图,种操作,可构成二阶梵塔
10、问题的状态空间图,如下图所示。如下图所示。3.1.2 状态空间问题求解方法状态空间问题求解方法3. 状态空间的例子状态空间的例子(3/10)8 从初始节点从初始节点(1, 1)到目标节点到目标节点(2, 2)及及(3, 3)的任何一条路径都是问题的一个的任何一条路径都是问题的一个解。其中,最短的路径长度是解。其中,最短的路径长度是3,它由,它由3个操作组成。例如,从个操作组成。例如,从 (1, 1)开始,开始,通过使用操作通过使用操作A13、B12及及A32,可到达,可到达 (3, 3)。(1,1)B12A13(2,1)(3,2)(2,3)(3,3)(1,3)(3,1)(1,2)(2,2)A3
11、2A12B13A233.1.2 状态空间问题求解方法状态空间问题求解方法3. 状态空间的例子状态空间的例子(4/10)图图3.2 二阶梵塔的状态空间图二阶梵塔的状态空间图9 例例3.2 修道士修道士(Missionaries)和野人和野人(Cannibals)问题问题(简称简称M-C问题问题)。 设在河的一岸有设在河的一岸有3个野人、个野人、3个修道士和个修道士和1条船,修道士想用这条船把所有的条船,修道士想用这条船把所有的人运到河对岸,但受以下条件的约束:人运到河对岸,但受以下条件的约束: 第一,修道士和野人都会划船,但每次船上至多可载第一,修道士和野人都会划船,但每次船上至多可载2个人;个
12、人; 第二,在河的任一岸,如果野人数目超过修道士数,修道士会被野人吃掉。第二,在河的任一岸,如果野人数目超过修道士数,修道士会被野人吃掉。 如果野人会服从任何一次过河安排,请规划一个确保修道士和野人都能过如果野人会服从任何一次过河安排,请规划一个确保修道士和野人都能过河,且没有修道士被野人吃掉的安全过河计划。河,且没有修道士被野人吃掉的安全过河计划。 解:解:先选取描述问题状态的方法。这里,需要考虑两岸的修道士人数和野先选取描述问题状态的方法。这里,需要考虑两岸的修道士人数和野人数,还需要考虑船在左岸还是在右岸,故可用如下三元组来表示状态人数,还需要考虑船在左岸还是在右岸,故可用如下三元组来表
13、示状态 S=(m, c, b)其中,其中,m表示左岸的修道士人数,表示左岸的修道士人数,c表示左岸的野人数,表示左岸的野人数,b表示左岸的船数。表示左岸的船数。而右岸的状态可由下式确定:而右岸的状态可由下式确定: 右岸修道士数右岸修道士数 m=3-m 右岸野人数右岸野人数 c=3-c 右岸船数右岸船数 b=1-b 在这种表示方式下,在这种表示方式下,m和和c都可取都可取0、1、2、3中之一,中之一,b可取可取0和和1中之一。中之一。因此,共有因此,共有442=32种状态。种状态。 3.1.2 状态空间问题求解方法状态空间问题求解方法3. 状态空间的例子状态空间的例子(5/10)10有效状态有效
14、状态 在在32种状中,除去不合法和修道士被野人吃掉的状态,有效状态只种状中,除去不合法和修道士被野人吃掉的状态,有效状态只16种:种: S0=(3, 3, 1) S1=(3, 2, 1) S2=(3, 1, 1) S3=(2, 2, 1) S4=(1, 1, 1) S5=(0, 3, 1) S6=(0, 2, 1) S7=(0, 1, 1) S8=(3, 2, 0) S9=(3, 1, 0) S10=(3, 0, 0) S11=(2, 2, 0) S12=(1, 1,0) S13=(0, 2, 0) S14=(0, 1, 0) S15=(0, 0, 0)过河操作过河操作 过河操作是指用船把修道
15、士或野人从河的左岸运到右岸,或从右岸运到左过河操作是指用船把修道士或野人从河的左岸运到右岸,或从右岸运到左岸的动作。每个操作都应当满足如下条件:岸的动作。每个操作都应当满足如下条件: 第一,船上至少有一个人(第一,船上至少有一个人(m或或c)操作,离开岸边的)操作,离开岸边的m和和c的减少数目应该的减少数目应该等于到达岸边的等于到达岸边的m和和c的增加数目;的增加数目; 第二,每次操作船上人数不得超过第二,每次操作船上人数不得超过2个;个; 第三,操作应保证不产生非法状态。第三,操作应保证不产生非法状态。操作的结构操作的结构 条件:条件:只有当其条件具备时才能使用只有当其条件具备时才能使用 动
16、作:动作:刻划了应用此操作所产生的结果。刻划了应用此操作所产生的结果。 3.1.2 状态空间问题求解方法状态空间问题求解方法3. 状态空间的例子状态空间的例子(6/10)11操作的表示操作的表示 Lij 表示有表示有i个修道士和个修道士和j个野人,从左岸到右岸的操作个野人,从左岸到右岸的操作 Rij 表示有表示有i个修道士和个修道士和j个野人,从右岸到左岸的操作个野人,从右岸到左岸的操作操作集操作集 本问题有本问题有10种操作可供选择,他们的集合称为操作集,即种操作可供选择,他们的集合称为操作集,即 A=L01, L10, L11, L02, L20,R01, R10, R11, R02, R
17、20操作的例子操作的例子 下面以下面以L01和和R01为例来说明这些操作的条件和动作。为例来说明这些操作的条件和动作。 操作符号操作符号 条件条件 动作动作 L01 b=1, m=0或或3, c1 b=0, c=c-1 R01 b=0, m=0或或3,c2 b=1, c=c+1 3.1.2 状态空间问题求解方法状态空间问题求解方法3. 状态空间的例子状态空间的例子(7/10)12abc 例例3.3 猴子摘香蕉问题。猴子摘香蕉问题。在讨论谓词逻辑知识表示时,我们曾提到过这一问在讨论谓词逻辑知识表示时,我们曾提到过这一问题,现在用状态空间法来解决这一问题。题,现在用状态空间法来解决这一问题。 解:
18、解:问题的状态可用问题的状态可用4元组元组 (w, x, y, z)表示。其中:表示。其中: w 表示猴子的水平位置;表示猴子的水平位置; x 表示箱子的水平位置;表示箱子的水平位置; y 表示猴子是否在箱子上,当猴表示猴子是否在箱子上,当猴子在箱子上时,子在箱子上时,y取取1;否则;否则y取取0; z 表示猴子是否拿到香蕉,当拿表示猴子是否拿到香蕉,当拿到香蕉时到香蕉时z取取1,否则,否则z取取0。3.1.2 状态空间问题求解方法状态空间问题求解方法3. 状态空间的例子状态空间的例子(8/10)13所有可能的状态所有可能的状态 S0: (a, b, 0, 0) 初始状态初始状态 S1: (b
19、, b, 0, 0) S2: (c, c, 0, 0) S3: (c, c, 1, 0) S4: (c, c, 1, 1) 目标状态目标状态允许的操作为允许的操作为 Goto(u):猴子走到位置:猴子走到位置u,即,即 (w, x, 0, 0)(u, x, 0, 0) Pushbox(v): 猴子推着箱子到水平位置猴子推着箱子到水平位置v,即,即 (x, x, 0, 0)(v, v, 0, 0) Climbbox: 猴子爬上箱子,即猴子爬上箱子,即 (x, x, 0, 0)(x, x, 1, 0) Grasp;猴子拿到香蕉,即;猴子拿到香蕉,即 (c, c, 1, 0 )(c, c, 1, 1
20、)问题的状态空间图问题的状态空间图 如下图所示。可见,由初始状态到目标状态的操作序列为:如下图所示。可见,由初始状态到目标状态的操作序列为: Goto(b), Pushbox(c), Climbbox, Grasp3.1.2 状态空间问题求解方法状态空间问题求解方法3. 状态空间的例子状态空间的例子(9/10)14猴子摘香蕉问题的状态空间图猴子摘香蕉问题的状态空间图(a,b,0,0)(b,b,0,0)(c,c,0,0)(b ,b,1,0)(c,c,1,0)(a,a,0,0)(c,c,1,1)Goto(b)Pushbox(c)Grasp 初始状态初始状态图图3.3 猴子摘香蕉问题的状态空间图猴子
21、摘香蕉问题的状态空间图Pushbox(c)ClimbboxClimbboxPushbox(c)Pushbox(a)Pushbox(a)3.1.2 状态空间问题求解方法状态空间问题求解方法3. 状态空间的例子状态空间的例子(01/10)Goto(b)目标状态目标状态15基本思想基本思想 当一问题较复杂时,可通过分解或变换,将其转化为一系列较简单的子问当一问题较复杂时,可通过分解或变换,将其转化为一系列较简单的子问题,然后通过对这些子问题的求解来实现对原问题的求解。题,然后通过对这些子问题的求解来实现对原问题的求解。分解分解 如果一个问题如果一个问题P可以归约为一组子问题可以归约为一组子问题P1,
22、P2,Pn,并且只有当所有子问题,并且只有当所有子问题Pi都有解时原问题都有解时原问题P才有解,任何一个子问题才有解,任何一个子问题Pi无解都会导致原问题无解都会导致原问题P无解,无解,则称此种归约为问题的分解。则称此种归约为问题的分解。 即分解所得到的即分解所得到的子问题的子问题的“与与”与原问题与原问题P等价等价。等价变换等价变换 如果一个问题如果一个问题P可以归约为一组子问题可以归约为一组子问题P1,P2,Pn,并且子问题,并且子问题Pi中只要有中只要有一个有解则原问题一个有解则原问题P就有解,只有当所有子问题就有解,只有当所有子问题Pi都无解时原问题都无解时原问题P才无解,才无解,称此
23、种归约为问题的等价变换,简称变换。称此种归约为问题的等价变换,简称变换。 即变换所得到的子问题的即变换所得到的子问题的“或或”与原问题与原问题P等价。等价。 3.1.3 问题归约求解方法问题归约求解方法1. 问题的分解与等价变换问题的分解与等价变换16P P1 P2 P3 P1 P2 P3PP P1 P2 P3 P11 P12 P31 P32 P33(1)与树与树 分解分解(2) 或树或树 等价变换等价变换(3) 与与/或树或树3.1.3 问题归约求解方法问题归约求解方法2. 问题归约的与问题归约的与/或树表示或树表示与树与树或树或树与与/或树或树17(4) 端节点与终止节点端节点与终止节点
24、在与在与/或树中,没有子节点的节点称为或树中,没有子节点的节点称为端节点端节点;本原问题所对应的节点称;本原问题所对应的节点称为为终止节点终止节点。可见,终止节点一定是端节点,但端节点却不一定是终止节点。可见,终止节点一定是端节点,但端节点却不一定是终止节点。(5) 可解节点与不可解节点可解节点与不可解节点 在与在与/或树中,满足以下三个条件之一的节点为或树中,满足以下三个条件之一的节点为可解节点:可解节点: 任何终止节点都是可解节点。任何终止节点都是可解节点。 对对“或或”节点,当其子节点中至少有一个为可解节点时,则该或节点就节点,当其子节点中至少有一个为可解节点时,则该或节点就是可解节点。
25、是可解节点。 对对“与与”节点,只有当其子节点全部为可解节点时,该与节点才是可解节点,只有当其子节点全部为可解节点时,该与节点才是可解节点。节点。 同样,可用类似的方法定义同样,可用类似的方法定义不可解节点:不可解节点: 不为终止节点的端节点是不可解节点。不为终止节点的端节点是不可解节点。 对对“或或”节点,若其全部子节点都为不可解节点,则该或节点是不可解节点,若其全部子节点都为不可解节点,则该或节点是不可解节点。节点。 对对“与与”节点,只要其子节点中有一个为不可解节点,则该与节点是不节点,只要其子节点中有一个为不可解节点,则该与节点是不可解节点。可解节点。3.1.3 问题归约求解方法问题归
展开阅读全文