搜索是人工智能中的一个基本问题9036249.pptx
《搜索是人工智能中的一个基本问题9036249.pptx》由会员分享,可在线阅读,更多相关《搜索是人工智能中的一个基本问题9036249.pptx(90页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、搜索是人工智能中的一个基本问题,并与推理密切相关,搜索是人工智能中的一个基本问题,并与推理密切相关,搜索策略的优劣,将直接影响到智能系统的性能与推理效率。搜索策略的优劣,将直接影响到智能系统的性能与推理效率。搜索的基本概念搜索的基本概念状态空间的盲目搜索状态空间的盲目搜索状态空间的启发式搜索状态空间的启发式搜索与与/或树的盲目搜索或树的盲目搜索与与/或树的启发式搜索或树的启发式搜索博弈树的启发式搜索博弈树的启发式搜索第第4章章搜索策略搜索策略14.1搜索的基本概念搜索的基本概念4.1.1搜索的含义搜索的含义4.1.2状态空间法状态空间法4.1.3问题归约法问题归约法24.1.1搜索的含义搜索的
2、含义适用情况:适用情况:不良结构或非结构化问题;难以获得求解所需的全部信息;更没有现成的算不良结构或非结构化问题;难以获得求解所需的全部信息;更没有现成的算法可供求解使用。法可供求解使用。概念:概念:依靠经验,利用已有知识,根据问题的实际情况,不断寻找可利用知识,从依靠经验,利用已有知识,根据问题的实际情况,不断寻找可利用知识,从而构造一条代价最小的推理路线,使问题得以解决的过程称为搜索而构造一条代价最小的推理路线,使问题得以解决的过程称为搜索搜索的类型搜索的类型按是否使用启发式信息:按是否使用启发式信息:盲目搜索:按预定的控制策略进行搜索,在搜索过程中获得的中间信息并盲目搜索:按预定的控制策
3、略进行搜索,在搜索过程中获得的中间信息并不改变控制策略。不改变控制策略。启发式搜索:在搜索中加入了与问题有关的启发性信息,用于指导搜索朝启发式搜索:在搜索中加入了与问题有关的启发性信息,用于指导搜索朝着最有希望的方向前进,加速问题的求解过程并找到最优解。着最有希望的方向前进,加速问题的求解过程并找到最优解。按问题的表示方式:按问题的表示方式:状态空间搜索:用状态空间法来求解问题所进行的搜索状态空间搜索:用状态空间法来求解问题所进行的搜索与或树搜索:用问题归约法来求解问题时所进行的搜索与或树搜索:用问题归约法来求解问题时所进行的搜索34.1.2状态空间法状态空间法1.状态空间表示方法状态空间表示
4、方法状态状态(State):是表示问题求解过程中每一步问题状况的数据结构,它可形式地表示为:是表示问题求解过程中每一步问题状况的数据结构,它可形式地表示为:Sk=Sk0,Sk1,当对每一个分量都给以确定的值时,就得到了一个具体的状态。当对每一个分量都给以确定的值时,就得到了一个具体的状态。操作操作(Operator)也称为算符,它是把问题从一种状态变换为另一种状态的手段。操作可以是也称为算符,它是把问题从一种状态变换为另一种状态的手段。操作可以是一个机械步骤,一个运算,一条规则或一个过程。操作可理解为状态集合上的一一个机械步骤,一个运算,一条规则或一个过程。操作可理解为状态集合上的一个函数,它
5、描述了状态之间的关系。个函数,它描述了状态之间的关系。状态空间状态空间(Statespace)用来描述一个问题的全部状态以及这些状态之间的相互关系。常用一个三元组用来描述一个问题的全部状态以及这些状态之间的相互关系。常用一个三元组表示为:表示为:(S,F,G)其中,其中,S为问题的所有初始状态的集合;为问题的所有初始状态的集合;F为操作的集合;为操作的集合;G为目标状态的集合。为目标状态的集合。状态空间也可用一个赋值的有向图来表示,该有向图称为状态空间图。在状态状态空间也可用一个赋值的有向图来表示,该有向图称为状态空间图。在状态空间图中,节点表示问题的状态,有向边表示操作。空间图中,节点表示问
6、题的状态,有向边表示操作。4状态空间法求解问题的基本过程:状态空间法求解问题的基本过程:首先为问题选择适当的首先为问题选择适当的“状态状态”及及“操作操作”的形式化的形式化描述方法;描述方法;然后从某个初始状态出发,每次使用一个然后从某个初始状态出发,每次使用一个“操作操作”,递增地建立起操作序列,直到达到目标状态为止;递增地建立起操作序列,直到达到目标状态为止;此时,由初始状态到目标状态所使用的算符序列就是此时,由初始状态到目标状态所使用的算符序列就是该问题的一个解。该问题的一个解。4.1.2状态空间法状态空间法2.状态空间问题求解状态空间问题求解5例例4.1二二阶阶梵梵塔塔问问题题。设设有
7、有三三根根钢钢针针,它它们们的的编编号号分分别别是是1号号、2号号和和3号号。在在初初始始情情况况下下,1号号钢钢针针上上穿穿有有A、B两两个个金金片片,A比比B小小,A位位于于B的的上上面面。要要求求把把这这两两个个金金片片全全部部移移到到另另一一根根钢钢针针上上,而而且且规规定定每每次次只只能能移移动动一一个个金金片片,任任何何时时刻都不能使大的位于小的上面刻都不能使大的位于小的上面。解:解:设用设用Sk=(Sk0,Sk1)表示问题的状态,其中,表示问题的状态,其中,Sk0表示金表示金片片A所在的钢针号,所在的钢针号,Sk1表示金片表示金片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)4.1.2状态空间法状态空间法3.状态空间的例子状态空间的例子(1/11)6ABABAB123123123二阶梵塔问题的初始状态和目标状态二阶梵塔问题的初始状态和目标状态问题的初始状态集合问题的初始状态集合为为S=S0 目标状态集合目标状态集合为为G=S4,S5初始状态初始状态S0和目标状态和目标状态S4、S8如图所示如图所示 S0=(1,1)S4=(2,2)S8=(3,3)4.1.2状态空间法状态空间法3.状
9、态空间的例子状态空间的例子(2/11)7 操作分别用操作分别用A(i,j)和和B(i,j)表示表示 A(i,j)表示把金片表示把金片A从第从第i号钢针移到号钢针移到j号钢针上;号钢针上;B(i,j)表示把金片表示把金片B从第从第i号钢针一到第号钢针一到第j号钢针上。共有号钢针上。共有12种种操作,它们分别是:操作,它们分别是:A(1,2)A(1,3)A(2,1)A(2,3)A(3,1)A(3,2)B(1,2)B(1,3)B(2,1)B(2,3)B(3,1)B(3,2)根据上述根据上述9种可能的状态和种可能的状态和12种操作,可构成二阶梵塔问题的种操作,可构成二阶梵塔问题的状态空间图,如下图所示
10、。状态空间图,如下图所示。4.1.2状态空间法状态空间法3.状态空间的例子状态空间的例子(3/11)8(3,3)(1,3)(1,2)(2,2)二阶梵塔的状态空间图从初始节点从初始节点(1,1)到目标节点到目标节点(2,2)及及(3,3)的任何一条路径都是问题的的任何一条路径都是问题的一个解。其中,最短的路径长度是一个解。其中,最短的路径长度是3,它由,它由3个操作组成。例如,从个操作组成。例如,从(1,1)开开始,通过使用操作始,通过使用操作A(1,3)、B(1,2)及及A(3,2),可到达,可到达(3,3)。A(1,2)B(1,3)A(2,3)(1,1)(3,1)(3,2)(2,1)(2,3
11、)A(1,3)B(1,2)A(3,2)9例例4.2修道士修道士(Missionaries)和野人和野人(Cannibals)问题问题(简称简称M-C问题问题)。设在河的一岸有三个野人、三个修道士和一条船,修道士想设在河的一岸有三个野人、三个修道士和一条船,修道士想用这条船把所有的人运到河对岸,但受以下条件的约束:用这条船把所有的人运到河对岸,但受以下条件的约束:一是修道士和野人都会划船,但每次船上至多可载两个人;一是修道士和野人都会划船,但每次船上至多可载两个人;二是在河的任一岸,如果野人数目超过修道士数,修道士会二是在河的任一岸,如果野人数目超过修道士数,修道士会被野人吃掉。被野人吃掉。如果
12、野人会服从任何一次过河安排,请规划一个确保修道士如果野人会服从任何一次过河安排,请规划一个确保修道士和野人都能过河,且没有修道士被野人吃掉的安全过河计划。和野人都能过河,且没有修道士被野人吃掉的安全过河计划。4.1.2状态空间法状态空间法3.状态空间的例子状态空间的例子(5/11)10 解:解:首先选取描述问题状态的方法。在这个问题中,需要首先选取描述问题状态的方法。在这个问题中,需要考虑两岸的修道士人数和野人数,还需要考虑船在左岸还是在考虑两岸的修道士人数和野人数,还需要考虑船在左岸还是在右岸。从而可用一个三元组来表示状态右岸。从而可用一个三元组来表示状态 S=(m,c,b)其中,其中,m表
13、示左岸的修道士人数,表示左岸的修道士人数,c表示左岸的野人数,表示左岸的野人数,b表示表示左岸的船数。左岸的船数。右岸的状态可由下式确定:右岸的状态可由下式确定:右岸修道士数右岸修道士数 m=3-m 右岸野人数右岸野人数 c=3-c 右岸船数右岸船数 b=1-b 在这种表示方式下,在这种表示方式下,m和和c都可取都可取0、1、2、3中之一,中之一,b可取可取0和和1中之一。因此,共有中之一。因此,共有442=32种状态。种状态。4.1.2状态空间法状态空间法3.状态空间的例子状态空间的例子(6/11)11 这这32种状态并非全有意义,除去不合法状态和修道士被野人吃种状态并非全有意义,除去不合法
14、状态和修道士被野人吃掉的状态,掉的状态,有意义的状态只有有意义的状态只有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个;个;三是三是操作应保证不产生非法状态。操作应保证不产生非法状态。因此,因此,操作应由条件部分和动作部分:操作应由条件部分和动作部分:条件:条件:只有当其条件具备时才能使用只有当其条件具备时才能使用 动作:动作:刻划了应用此操作所产生的结果。刻划了应用此操作所产生的结果。12
16、操作的表示:操作的表示:用符号用符号Pij表示从左岸到右岸的运人操作表示从左岸到右岸的运人操作 用符号用符号Qij表示从右岸到左岸的操作表示从右岸到左岸的操作其中:其中:i表示表示船上的修道士人数船上的修道士人数 j表示表示船上的野人数船上的野人数操作集操作集 本问题有本问题有10种操作可供选择:种操作可供选择:F=P01,P10,P11,P02,P20,Q01,Q10,Q11,Q02,Q20 下面以下面以P01和和Q01为例来说明这些操作的条件和动作。为例来说明这些操作的条件和动作。操作符号操作符号 条件条件 动作动作 P01 b=1,m=0或或3,c1 b=0,c=c-1 Q01 b=0,
17、m=0或或3,c2 b=1,c=c+113abc 例例4.3猴子摘香蕉问题。猴子摘香蕉问题。在讨论谓词逻辑知识表示时,我们曾在讨论谓词逻辑知识表示时,我们曾提到过这一问题,现在用状态空间法来解决这一问题。提到过这一问题,现在用状态空间法来解决这一问题。解:解:问题的状态可用问题的状态可用4元组元组 (w,x,y,z)表示。其中:表示。其中:w表示猴子的水平位置;表示猴子的水平位置;x表示箱子的水平位置;表示箱子的水平位置;y表示猴子是否在箱子上,表示猴子是否在箱子上,当猴子在箱子上时,当猴子在箱子上时,y取取1,否则否则y取取0;z表示猴子是否拿到香蕉,表示猴子是否拿到香蕉,当拿到香蕉时当拿到
18、香蕉时z取取1,否则,否则z取取0。4.1.2状态空间法状态空间法3.状态空间的例子状态空间的例子(9/11)14所有可能的状态为所有可能的状态为 S0:(a,b,0,0)初始状态初始状态 S1:(b,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
19、)(x,x,1,0)Grasp;猴子拿到香蕉,即;猴子拿到香蕉,即 (c,c,1,0)(c,c,1,1)这个问题的状态空间图如下图所示。不难看出,由初始状态这个问题的状态空间图如下图所示。不难看出,由初始状态变为目标状态的操作序列为:变为目标状态的操作序列为:Goto(b),Pushbox(c),Climbbox,Grasp15猴子摘香蕉问题的解猴子摘香蕉问题的解(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)Goto(b)Pushbox(c)Grasp目标状态猴子摘香蕉问题的状态空间图解序列为
20、:解序列为:Goto(b),Pushbox(c),Climbbox,GraspPushbox(c)ClimbboxClimbboxPushbox(c)Pushbox(a)Pushbox(a)16基本思想基本思想 当一问题较复杂时,可通过分解或变换,将其转化为一系列较简当一问题较复杂时,可通过分解或变换,将其转化为一系列较简单的子问题,然后通过对这些子问题的求解来实现对原问题的求解。单的子问题,然后通过对这些子问题的求解来实现对原问题的求解。分解分解 如果一个问题如果一个问题P可以归约为一组子问题可以归约为一组子问题P1,P2,Pn,并且只有当所,并且只有当所有子问题有子问题Pi都有解时原问题都
21、有解时原问题P才有解,任何一个子问题才有解,任何一个子问题Pi无解都会导致无解都会导致原问题原问题P无解,则称此种归约为问题的分解。无解,则称此种归约为问题的分解。即分解所得到的子问题的即分解所得到的子问题的“与与”与原问题与原问题P等价。等价。等价变换等价变换如果一个问题如果一个问题P可以归约为一组子问题可以归约为一组子问题P1,P2,Pn,并且子问题,并且子问题Pi中只要有一个有解则原问题中只要有一个有解则原问题P就有解,只有当所有子问题就有解,只有当所有子问题Pi都无解时都无解时原问题原问题P才无解,称此种归约为问题的等价变换,简称变换。才无解,称此种归约为问题的等价变换,简称变换。即变
22、换所得到的子问题的即变换所得到的子问题的“或或”与原问题与原问题P等价。等价。4.1.3问题归约法问题归约法1.问题的分解与等价变换问题的分解与等价变换17PP1P2P3与树与树P1P2P3或树或树PPP1P2P3P12P12P31P32P33与与/或树或树(1)与树与树分解分解(2)或树或树等价变换等价变换(3)与与/或或树树4.1.3问题归约法问题归约法2.问题的与问题的与/或树表示或树表示18(4)端节点与终止节点端节点与终止节点在与在与/或树中,没有子节点的节点称为或树中,没有子节点的节点称为端节点端节点;本原问题所对应的节;本原问题所对应的节点称为点称为终止节点终止节点。可见,终止节
23、点一定是端节点,但端节点却不一定是。可见,终止节点一定是端节点,但端节点却不一定是终止节点。终止节点。(5)可解节点与不可解节点可解节点与不可解节点在与在与/或树中,满足以下三个条件之一的节点为或树中,满足以下三个条件之一的节点为可解节点:可解节点:任何终止节点都是可解节点。任何终止节点都是可解节点。对对“或或”节点,当其子节点中至少有一个为可解节点时,则该或节点节点,当其子节点中至少有一个为可解节点时,则该或节点就是可解节点。就是可解节点。对对“与与”节点,只有当其子节点全部为可解节点时,该与节点才是可节点,只有当其子节点全部为可解节点时,该与节点才是可解节点。解节点。同样,可用类似的方法定
24、义同样,可用类似的方法定义不可解节点:不可解节点:不为终止节点的端节点是不可解节点。不为终止节点的端节点是不可解节点。对对“或或”节点,若其全部子节点都为不可解节点,则该或节点是不可节点,若其全部子节点都为不可解节点,则该或节点是不可解节点。解节点。对对“与与”节点,只要其子节点中有一个为不可解节点,则该与节点是节点,只要其子节点中有一个为不可解节点,则该与节点是不可解节点。不可解节点。19Pttt解树解树(6)解树解树由可解节点构成,并且由这些可解由可解节点构成,并且由这些可解节点可以推出初始节点(它对应着原节点可以推出初始节点(它对应着原始问题)为可解节点的子树为解树。始问题)为可解节点的
25、子树为解树。在解树中一定包含初始节点。在解树中一定包含初始节点。例如,右图给出的与或树中,用红例如,右图给出的与或树中,用红线表示的子树是一个解树。在该图中,线表示的子树是一个解树。在该图中,节点节点P为原始问题节点,用为原始问题节点,用t标出的节标出的节点是终止节点。根据可解节点的定义,点是终止节点。根据可解节点的定义,很容易推出原始问题很容易推出原始问题P为可解节点。为可解节点。问题归约求解过程就实际上就是生问题归约求解过程就实际上就是生成解树,即证明原始节点是可解节点成解树,即证明原始节点是可解节点的过程。这一过程涉及到搜索的问题,的过程。这一过程涉及到搜索的问题,对于与对于与/或树的搜
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 搜索 人工智能 中的 一个 基本 问题 9036249
限制150内