人工智能与或图搜索精选PPT.ppt





《人工智能与或图搜索精选PPT.ppt》由会员分享,可在线阅读,更多相关《人工智能与或图搜索精选PPT.ppt(35页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、人工智能与或图搜索第1页,此课件共35页哦4.1 4.1 问题归约法问题归约法当问题复杂时,可把初始问题分解成若干简单的子问题,若子问题仍复杂,可再进一步分解,直到这些子问题的解可直接得到。这种问题的描述和求解方法,称为问题归约法。可直接解答的问题称为本原问题,它是不必证明的、自然成立的。归约法的问题表示可由下列三部分组成:1)一个初始问题的描述;2)一组把问题变成子问题的算子;3)一组本原问题的描述问题归约由问题出发,运用操作算子产生一些子问题,对子问题再运用操作算子产生子问题的一些子问题,一直进行到产生的子问题都为本原问题,则问题得解。由于一问题所产生的若干子问题内的关系是并列的、同时的,
2、所以,用与或图便能表示问题归约的状态空间。即对问题归约的描述可以很方便地用一个与或图的结构来表示它。第2页,此课件共35页哦4.2 与或图与节点:一个归约算子能够把单个问题变为几个子问题组成的集合,这时只有当所有子问题都有解,该父辈节点才有解。这种关系称为“与”关系,对应的节点称为与节点。或节点:几个算子适用于同一个问题,从而产生不同的后继问题集合。这时只要有一个后继集合有解,则意味该父辈问题有解,此时关系是“或”关系,对应节点称为或节点。与节点由与运算连接,如图(a)中Q和R,并用一条弧线将相关的边连接起来,这种弧线及所相关的边被称为超弧。或节点由或运算连接,如图4-1(b)中Q和R。第3页
3、,此课件共35页哦与或图是一种普遍图,这种图被称为超图。也就是说,超图是存在超弧的图。一超弧所相关的边数(K)被称为该超弧的度,实现的连接为K-连接。K连接符:假设节点N被某个算子归约为一个包含K个子问题的替换集合,K 1,我们用一个叫做K连接符的超弧线把它们和节点N连接起来。每个K连接符从一个父节点指向一个含有K个后继节点的集合,并说N有一个外向连接符K。问题归约描述对应的结构就是一个与或图,原始问题描述对应于起始节点(或根节点),本原问题所对应的节点叫做叶节点。在某些特殊情况下,不出现任何与节点(所有超弧的度都为1),此时的图成了普通图,问题归约描述也就成为状态空间描述。第4页,此课件共3
4、5页哦从图4-2所示的与或图中,节点n0有两个连接符:1-连接符指向节点n1;2-连接符指向节点集合n4、n5;对于节点n0来讲,n1可称为或节点,n4、n5可称为与节点。图图4-2、与或图、与或图 第5页,此课件共35页哦4.3 与或图搜索在与或图上执行搜索的过程,其目的在于表明起始节点是有解的,也就是说,搜索不是去寻找目标节点,而是寻找一个解图。一个节点被称为是能解节点(SOLVED),其递归定义为:1终节点是能解节点(直接与本原问题相关联);2若非终节点有“或”子节点时,当且仅当其子节点至少有一个能解,该非终节点才能解;3若非终节点有“与”子节点时,当且仅当其子节点均能解,该非终节点才能
5、解。一个节点被称为是不能解节点(UNSOLVED),其递归定义为:1没有后裔的非终节点是不能解的节点;2若非终节点有“或”子节点时,当且仅当所有子节点均不能解时,该非终节点才不能解;3若非终节点有“与”子节点时,当至少有一子节点不能解时,该非终节点才不能解。第6页,此课件共35页哦一个解图就是那些能解节点的子图,是包含一节点(n)到目的节点集合(N)的、连通的能解节点的子图。其定义如下:一个与或图G中,从节点 n 到节点集 N 的解图记为 G,G是 G的子图。1若 n 是 N 的一个元素,则 G由单个节点n组成;2若 n 有一个指向节点集 n1,nk的外向连接符 K,使得从每一个节点ni到 N
6、有一个解图(i=1,k),则 G由节点 n,连接符K,以及 n1,nk中的每一个节点到 N的解图所组成;3否则 n 到 N 不存在解图。第7页,此课件共35页哦如果 n=s 为初始节点,则此解图即为所求解问题的解图。在对普通图的解路求解或搜索中,一般须计算或估计其路径代价,同样地,在搜索与或图解图的过程中,也需要进行耗散值的计算。设连接符的耗散值规定为:k-连接符的耗散值=k,若解图的耗散值记为k(n,N),则可递归计算如下:1若n是N的一个元素,则k(n,N)=0;2若n有一个外向连接符指向后继节点集合n1,ni,并设该连接符的耗散值为Cn,则 k(n,N)=Cn+k(n1,N)+k(ni,
7、N)。具有最小耗散值的解图称为最佳解图,其值也用h*(n)标记。求解问题的解图的值为h*(s)。第8页,此课件共35页哦解图的求法是:从节点n开始,正确选择一个外向连接符,如此进行下去直到由此产生的每一个后继节点成为集合N中的一个元素为止。图4-3给出了上图所示与或图中n0 n7,n8的三个解图(解图的耗散值分别为8,7,5)。图图4-34-3、三个解图、三个解图 第9页,此课件共35页哦与或图搜索与状态空间图搜索的不同:搜索目的是证明起始节点是否可解,而可解节点是递归定义的,取决于后继节点是否可解,即搜索是否找到可解的叶节点。因此,搜索有可解标示过程和不可解标示过程。初始节点被标示为可解,则
8、搜索成功结束,初始节点被标示为不可解,则搜索失败。一旦发现不可解节点,应把该节点从图中删去。第10页,此课件共35页哦4.4 AO*算法假设:估价函数q(n)=h(n);G为当前扩展生成的与或图;G为一后选局部解图,是G的一个子图;h(n)是节点n的启发函数;而q(n)是节点n的估价函数;是从节点n到一组终叶节点的一个最优解图的一个代价估计;过程AO*:1.建立一个搜索图G,G:=s,计算q(s)=h(s),IF GOAL(s)THEN M(s,SOLVED);开始时图G只包括s,耗散值估计为h(s),若s是终节点,则标记上能解。2.Until s已标记为SOLVED,do:3.Begin4.
9、G:=FIND(G);根据连接符标记(指针)找出一个待扩展的局部解图G(G的连接符将在第11步中标记)。5.n:=G中的任一非终节点;选一个非终节点作为当前节点。6.EXPAND(n),生成子节点集ni,G:=ADD(ni,G),计算 q(ni)=h(ni),如果ni G,IF GOAL(ni)THEN M(ni,SOLVED);对G中原未出现的n的子节点添加到G中,并计算其耗散值,若n的子节点为终节点则加能解标记。第11页,此课件共35页哦7、S:=(n);建立含n的单一节点集合S.(待修正的节点集合)8、Until S为空,do:9、begin10、REMOVE(m,S),当mc (S);
10、从集合S中移出一节点m,要求这个m在图G中的子节点mc,不出现在S中。(从底层开始修正)11、根据下面方法修改m的耗散值q(m):对m指向节点集(n1i,n2i,nki)的每一个连接符i分别计算qi,qi(m)=Ci+q(n1i)+q(nki),q(m):=min qi(m);对m的i个k-连接符,取计算结果最小的那个连接符的耗散值为节点m 的q(m)。加指针到min qi(m)的连接符上,或把指针修改到min qi(m)的连接符上,即原来指针与新确定的不一致时应删去.IF M(nji,SOLVED)THEN M(m,SOLVED);(j=1,2,k)若该连接符的所有子节点都是能解的,则m也标
11、上能解.12、IF M(m,SOLVED)(q(m)q0(m)THEN ADD(ma,S);m 能解或修正的耗散值与原先估算q0不同,则把m的所有先辈节点ma,添加到S中.(修正向上传递)13、end14、end第12页,此课件共35页哦AO*搜索算法可以理解为两个主要过程的重复。首先,是一个自上而下的图生长过程(4-6步),先通过有标记的连接符,找到目前为止最好的一个局部解图,然后对其中一个非终节点进行扩展,并对其后继节点赋估计耗散值和加能解标记。第2过程是一个自下而上的估价函数值的修正、连接符的标记和SOLVED的标注过程。耗散值的修正从刚被扩展的节点n开始,其修正耗散值q(n)取对h*(
12、n)的所有估计值中最小的一个,然后根据耗散值递归计算公式逐级向上修正其先辈节点的耗散值,只有下层节点耗散值修正后,才可能影响到上一层节点的耗散值,因此必须自底向上一直修正到初始节点。第13页,此课件共35页哦假设各节点的启发函数值分别为:h(n0)=3,h(n1)=2,h(n2)=4,h(n3)=4,h(n4)=1,h(n5)=1,h(n6)=2,h(n7)=h(n8)=0(目标节点),k-连接符的耗散值=k。应用AO*算法,经过四个循环,可找到解图。在第一次循环中,扩展节点n0;下一次循环扩展节点n1;接着扩展节点n5;最后扩展节点n4。在节点n4被扩展之后,节点n0便被标注SOLVED,此
13、时,通过向下跟踪有标记的连接符,便获得了此状态空间的解图。第14页,此课件共35页哦 图图4.44.4、AO*AO*搜索过程搜索过程每个节点旁边标记的是启发函数每个节点旁边标记的是启发函数h(n)h(n)值(不带括号)或估价函数值(不带括号)或估价函数q q(n n)的修)的修正值(带括号);短箭头用来标记连接符,标明侯选局部解图;已经标注正值(带括号);短箭头用来标记连接符,标明侯选局部解图;已经标注SOLVEDSOLVED的节点用实心圆来表示。的节点用实心圆来表示。第15页,此课件共35页哦4.5 博弈树的搜索博弈一直是启发式搜索的一个重要应用领域,早在20世纪60年代就已经出现若干个博弈
14、系统,美国IBM公司的“深蓝”系统已达到了国际特级大师级的水平(97年胜了卡斯帕罗夫)。2001年,德国的“更弗里茨”软件击败了世界排名10位中的9位。本节所指博弈问题是指二人完备博弈:1由二人对垒,二人严格地轮流走步,自己的走步自己选择,2任何一方都完全知道对方过去的走步情况和今后可能的走步,不包括碰运气的情况。由于在决定自己走步时只需考虑对自己有利的一步或,而考察对方时,则应考虑对方所有可能的走步与,因此,能够利用与或图搜索算法来解决博弈问题。另外,由于两人严格地轮流走步,使博弈状态图呈现出严格的与或图的交替层次,所以,可设计特殊的与或图搜索算法博弈树搜索算法,使搜索更有效。第16页,此课
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 人工智能 搜索 精选 PPT

限制150内