您好、欢迎来到现金彩票网!
当前位置:刘伯温四肖中特料 > 推理子句 >

3基本推理方法(基于规则的演绎系统)解析ppt

发布时间:2019-07-31 02:41 来源:未知 编辑:admin

  1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。

  3、基本推理方法 经典推理----基于规则的演绎系统 总之,我们只能考虑那些结束在目标结点上的具有一致的匹配弧置换的解图―――一致解图,并以对该解图对应的子句应用置换的合成所得到的例作为解答语句。下面给出置换的一致性的定义。 定义 设有一个置换集 ,每个Ui是一个置换对的集合。 令 置换U称为一致的,当且仅当U1和U2是可合一的,而U的合成u=mgu(U1,U2). 3、基本推理方法 经典推理----基于规则的演绎系统 例如有置换u1={x/y,x/z}和u2=(A/z) 令 U1=(y,z,z) U2=(x,x,A) 可以求得U1和U2的最简合一者为 u=mgu(U1,U2)={A/x,A/y,A/z} 因此置换u1和u2是一致的,且合成为u. 为了避免不必要的不一致,应用中应注意以下几点: ①多次应用同一规则时,每次应把变量改名。 ②多次应用同一目标文字时,每次应把变量改名。 ③当存在一个结束于目标文字上的一致解图时,证明成功地结束。 例子: FIDO叫且咬人,或者FIDO不是狗 所有猎犬都是狗,叫的都是喧闹的 证明:存在某物或者不是猎犬或者是喧闹的 DOG(x),BITES(x),BARKS(x),NOISY(x),TERRIER(x) FIDO叫且咬人,或者FIDO不是狗 所有猎犬都是狗,叫的都是喧闹的 证明:存在某物或者不是猎犬或者是喧闹的 事实:?DOG(Fido)?(BARKS(Fido)?BITES(Fido)) 规则:?x TERRIER(x)?DOG(x) ?y BARKS(y) ?NOISY(y) 目标:?z(?TERRIER(z)?NOISY(z)) 事实:?DOG(Fido)?(BARKS(Fido)?BITES(Fido)) 规则:TERRIER(x)?DOG(x) BARKS(y) ?NOISY(y) 目标:?TERRIER(z)?NOISY(z) ?DOG(Fido)?(BARKS(Fido)?BITES(Fido)) ?DOG(Fido) (BARKS(Fido)?BITES(Fido)) BARKS(Fido) BITES(Fido) BARKS(y) NOISY(Fido) Fido/y ?DOG(x) Fido/x ?TERRIER(Fido) ?TERRIER(z) Fido/z NOISY(z) Fido/z 规则:TERRIER(x)?DOG(x) BARKS(y) ?NOISY(y) 目标:?TERRIER(z)?NOISY(z) TERRIER(x)?DOG(x) 逆否律:?DOG(x)? ?TERRIER(x) 3、基本推理方法 经典推理----基于规则的演绎系统 逆向演绎系统 逆向演绎系统是正向演绎系统的对偶形式。我们称正向系统中的规则为F规则,称逆向系统中的规则为B规则,逆向系统从目标表达式出发,逆向应用规则,直到事实表达式。 (1)目标表达式 在逆向演绎系统中,目标表达式可为无蕴涵的任意与或形式。可用类似于正向系统中转化事实表达式的过程,将任意形式的目标表达式转换为标准的与或形式。不同的是,应Skolem化全称量词量化的变量,略去存在量词,则目标表达式中尚存的变量都认为是存在量词量化的变量。重新命名变量,使主要析取式中含不同的变量名 ①消去蕴涵符 ② 缩小否定的作用范围(到原子公式) ③ 重命名变量,使量词间不含同名变量。 ④ 引入Skolem函数消去全称量词。 ⑤ 去掉所有存在量词。 3、基本推理方法 经典推理----基于规则的演绎系统 例如有目标表达式 (?y)(?x){P(x)?[Q(x,y)??[R(x) ?S(y)]]} 可转化为 ?P(f(y))?{Q(f(y),y) ?[?R(f(y)) ?? S(y)]} 重新命名变量后得 ?P(f(z))?{Q(f(y),y) ?[?R(f(y)) ?? S(y)]} 3、基本推理方法 经典推理----基于规则的演绎系统 与或形式的目标公式可以用与或图表示。 把目标公式A1?A2?…?Am的每个子公式Ai(i=1,2,…,m)表示成AND结点(即m联结符),是因为要证明A1?A2?…?Am成立,必须证明每一个Ai都为真。 类似地,把目标公式A1?A2?…?Am每个子公式表示成OR结点(即1联结符),是因为只需证明Ai为真即可。 对上一个公式的与或图为 3、基本推理方法 经典推理----基于规则的演绎系统 ?P(f(z))?{Q(f(y),y) ?[?R(f(y)) ?? S(y)]} ?P(f(z)) Q(f(y),y) ?[?R(f(y)) ?? S(y)] Q(f(y),y) ?R(f(y)) ?? S(y) ?R(f(y)) ? S(y) 3、基本推理方法 经典推理----基于规则的演绎系统 图中m联结符用来连接表示合取关系的子表达式,1联结符用来连接表示析取关系的子表达式。根结点表示目标表达式,称为目标结点,其后代称为子目标结点。叶结点表示单个文字。从图中结束在叶结点的解图中可以读出子句为 ?P(f(z)) Q(f(y),y) ??R(f(y)) Q(f(y),y) ?? S(y) 目标子句是文字的合取,其中的变量是存在量词量化的。 3、基本推理方法 经典推理----基于规则的演绎系统 (2)规则应用 逆向演绎系统中的规则称为B规则,形式为 W?L 其中W为任意的与或形式,L为单一文字。这个限制简化了B规则对与或图的应用。某些不符合这一要求的规则可以变换成这种形式,例如W?L1? L2形式的规则可以表示成两个规则W?L1, W?L2 规则中应Skolem化存在量词量化的变量,并略去全称量词,认为规则中尚存的变量都是全称量词量化的变量。 3、基本推理方法 经典推理----基于规则的演绎系统 在目标公式的与或图中,如果有一个文字L’能够与L合一,则可应用B规则W?L.应用的结果是将L’结点通过一个标有L与L’的最简合一者u的匹配弧与结点L相连,结点L作为W的与或图的根结点。这样,新的与或图的解图所对应的子句就增加了一个归结式的集合,即规则W?L否定式W??L得到的子句与目标公式的子句对文字L进行归结得到的那些归结式。一条规则可以应用多次,每次都使用不同的变量。 3、基本推理方法 经典推理----基于规则的演绎系统 (3)结束条件 逆向演绎系统的事实表达式限制为文字的合取,可表示为文字的集合。对任一事实表达式,应当用Skolem函数代替事实表达式中存在量词量化的变量,将表达式转化为标准的文字的合取形式。当一个事实文字和与或图中的一个文字可以合一时,可将该事实文字通过匹配弧连接到与或图中相应的文字上,匹配弧应标明两个文字的最简合一者。同一事实文字可以匹配多次,每次使用不同的变量。 逆向系统的结束条件就是与或图中包括一个结束在事实结点上的一致解图,该解图的置换的合成作用于目标表达式就是解答语句。 设有以下事实: FIDO是一条狗,FIDO不叫,FIDO摇尾巴,MYRTLE喵喵叫 规则: 摇尾巴的狗是友好的,友好且不叫得是不令对方害怕的;狗是动物,猫是动物,喵喵叫的是猫 证明: 是否存在一只猫和一只狗,使这只猫不怕这只狗 DOG(x) BARKS(x),WAGS-TAIL(x),MEOWS(x) FRIENDLY(x),AFRAID(x,y),CAT(x),ANIMAL(x) 事实:DOG(Fido), ?BARKS(Fido), WAGS-TAIL(Fido), MEOWS(MYRTLE) 规则:?x1((WAGS-TAIL(x1) ? DOG(x1))?FRIENDLY(x1)) ?x2 ?y2((FRIENDLY(x2)) ? ?BARKS(x2))? ?AFRAID (y2,x2)) ?x3(DOG(x3) ?ANIMAL(x3)) ?x4(CAT(x4) ?ANIMAL(x4)) ?x5(MEOWS(x5) ?CAT(x5)) 目标:?x?y(CAT(x)?DOG(y) ??AFRAID(x,y)) CAT(x)?DOG(y) ??AFRAID(x,y) CAT(x) DOG(y) ?AFRAID(x,y) CAT(x5) MEOWS(x) x/x5 MEOWS(MYRTLE) MYRTLE/x DOG(Fido) Fido/y ?AFRAID(y2, x2) x/y2,y/x2 ?BARKS(y) FRIENDLY(y) ?BARKS(Fido) Fido/y FRIENDLY(x1) y/x1 WAGS-TAIL(y) DOG(y) WAGS-TAIL(Fido) DOG(Fido) Fido/y Fido/y x/x5 MYRTLE/x Fido/y x/y2,y/x2 Fido/y y/x1 Fido/y Fido/y x/x5 MYRTLE/x Fido/y x/y2,y/x2 Fido/y y/x1 Fido/y Fido/y U1=(x,MYRTLE,Fido,x,y,Fido,y,Fido,Fido) U2=(x5,x,y,y2,x2,y,x1,y,y) x/x5, U1=(x,MYRTLE,Fido,x,y,Fido,y,Fido,Fido) U2=(x,x,y,y2,x2,y,x1,y,y) MYRTLE/x U1=(MYRTLE,MYRTLE,Fido,MYRTLE,y,Fido,y,Fido,Fido) U2=(MYRTLE,MYRTLE,y,y2,x2,y,x1,y,y) MYRTLE/x5, MYRTLE/x Fido/y U1=(MYRTLE,MYRTLE,Fido,MYRTLE,Fido,Fido,Fido,Fido,Fido) U2=(MYRTLE,MYRTLE,Fido,y2,x2,Fido,x1,Fido,Fido) MYRTLE/x5, MYRTLE/x,Fido/y MYRTLE/y2 U1=(MYRTLE,MYRTLE,Fido,MYRTLE,Fido,Fido,Fido,Fido,Fido) U2=(MYRTLE,MYRTLE,Fido,MYRTLE,x2,Fido,x1,Fido,Fido) MYRTLE/x5, MYRTLE/x,Fido/y, MYRTLE/y2 Fido/x2 U1=(MYRTLE,MYRTLE,Fido,MYRTLE,Fido,Fido,Fido,Fido,Fido) U2=(MYRTLE,MYRTLE,Fido,MYRTLE,Fido,Fido,x1,Fido,Fido MYRTLE/x5, MYRTLE/x,Fido/y, MYRTLE/y2 ,Fido/x2 Fido/x1 U1=(MYRTLE,MYRTLE,Fido,MYRTLE,Fido,Fido,Fido,Fido,Fido) U2=(MYRTLE,MYRTLE,Fido,MYRTLE,Fido,Fido,Fido,Fido,Fido MYRTLE/x5, MYRTLE/x,Fido/y, MYRTLE/y2 ,Fido/x2,Fido/x1 事实表达式: P(A,B) ?[?x?y[ Q(C,x)? R(B,y)]]?[ ?z T(z) ] 规则:??x ?y [P(x,y)?S(x) ?X(y)] ??z [ T(z) ? X(z)] 目标公式:??z[Q(C,A) ?R(z,B)?S(A)?X(B)] 3、基本推理方法 经典推理----基于规则的演绎系统 上面所讲的归结反演系统把所有的表达式都转换为子句形式,这样做虽然在逻辑上是等价的,但也丧失了很多有用的信息。我们先看看子句结构存在的缺陷: (1)子句表达的缺陷 与人们表达知识的习惯不一致,因此不便阅读和理解。例如:可把语句“鸟能飞”表达成以下两种形式: ①?x(BIRD(x)?CANFLY(x)) ②?BIRD(x)?CANFLY(x) 显然,公式①表达直接、自然。由于公式②通过“对所有x,它或者不是鸟,或者能飞”来间接反映“鸟能飞”这个概念,因此给阅读和理解带来了困难。 3、基本推理方法 经典推理----基于规则的演绎系统 (2)把逻辑蕴涵转换成子句形式可能丢失一些有用的控制信息。可以这样说:数理逻辑只考虑语句的逻辑等价性,而AI问题求解需要“信息”守恒。而后者与求解问题的效率密切相关。 将同一自然语言表达成 不同形式的逻辑公式,这在逻辑上是等价的(即所含逻辑知识相同),但控制信息可能是不同的。 例如: ①?x?y{(G(x,0)?G(y,0) ?G(times(x,y),0)} 逻辑含义:如果x和y都大于0,则二者之积大于0; 控制信息:使用事实x0和y0来证明二者之积大于0。 3、基本推理方法 经典推理----基于规则的演绎系统 ②从逻辑上讲,以下蕴涵公式都等价于子句(A?B?C): (?A??B) ?C (?A??C) ?B (?B??C) ?A ?A ?(B?C) ?B ?(A?C) ?C ?(A?B) 但这些公式中隐含的控制信息是不同的,而且都无法在(A?B?C)中体现出来。 针对子句表达的上述问题,人们提出了多种非子句归结定理证明方法。下面介绍其中的一种,即Nilsson提出的基于规则的演绎推理(把这种基于规则的系统简称为规则系统)。 3、基本推理方法 经典推理----基于规则的演绎系统 规则系统的基本结构 在上述的子句归结系统中,子句形式的前提公理系统与求证定理的否定一道构成产生式问题模型的全局数据库,而它的产生式规则只有一条,即归结规则。问题求解的策略全隐含在推理(控制)机构中。 与子句归结系统不同,规则系统将前提公式集合划分成以下两大部分: (1)规则,即逻辑蕴涵。这些规则构成系统的产生式规则库。 (2)事实,即非蕴涵公式。 规则系统的问题求解策略有两种表达式: (1)隐含在推理机构中。 (2)由用户在规则中显式表达启发式或过程性控制知识。 3、基本推理方法 经典推理----基于规则的演绎系统 按不同的推理方向,又把规则系统分为以下三种形式: (1)前向演绎系统:这种系统的全局数据库为事实集合(FB),其产生式规则为一组前向演绎规则(F规则),问题求解形式为FB|F规则-目标公式(定理) (2)后向演绎系统:这种系统的全局数据库为目标公式集合(GB),其产生式规则为一组后向推理规则(B规则)。问题求解形式为:GB|B规则-原问题PP?FB (3)双向演绎系统:即(1)(2)相结合的系统。 3、基本推理方法 经典推理----基于规则的演绎系统 前向演绎系统 前向演绎系统的结构如下: (1)AND/OR事实集合 任何前提公式都可以通过以下步骤被转换成AND/OR形式: ① 消去蕴涵符 ② 缩小否定的作用范围(到原子公式) ③ 重命名变量,使量词间不含同名变量。 ④ 引入Skolem函数消去存在量词。 ⑤ 去掉所有全称量词。 显然,AND/OR公式比子句更接近原公式形式,因为它不需转换成合取范式。 前向演绎系统中的事实都是AND/OR公式,这种公式可用AND/OR图/树来表达,例如,可以把AND/OR命题公式A?{(B??C)?D??E}?F 表示成右图的AND/OR图/树 3、基本推理方法 经典推理----基于规则的演绎系统 A?{(B??C)?D??E}?F A (B??C)?D??E F B??C D ?E B ?C 3、基本推理方法 经典推理----基于规则的演绎系统 前向演绎系统把AND/OR事实A1?A2?…?Am的每个子公式Ai(i=1,2,…,m)表示成OR结点(即1联结符),是因为它作为证明定理T的前提条件,只要由任一Ai可推出T,即Ai-T,则T得证。 类似地,把事实A1?A2?…?Am每个子公式表示成AND结点(即n联结符),是因为目前并不知道哪些Ai为真,因此要由它证明定理T,必须要证明每个Ai都可推出T. 逻辑公式的AND/OR图表达与子句表达有简单的对应关系:每个子句对应一解答图的叶结点。例如,上图有4个解答图,其叶结点分别对应下面的4个子句: ① A ② B?D??E ③ ?C?D??E ④F 与或图表示的一个重要性质,就是表达式本身所转换出的一组子句,可以从与或图中读出,每个子句相当于与或图的一个解图。 3、基本推理方法 经典推理----基于规则的演绎系统 A?{(B??C)?D??E}?F A A?{(B??C)?D??E}?F (B??C)?D??E B??C D ?E B A?{(B??C)?D??E}?F (B??C)?D??E B??C D ?E ?C A?{(B??C)?D??E}?F F 3、基本推理方法 经典推理----基于规则的演绎系统 解答图的定义: 如果初始结点n也是一个终端结点。则G’只含结点n; 否则,如果存在一个从n出发的k联结符,满足每个子结点ni(i=1,…,k)都有一个从它到终端结点的解答图Gi,则G’由结点ni,联结符k和所有Gi组成。 否则,不存在从n出发的解答图。 3、基本推理方法 经典推理----基于规则的演绎系统 (2)F规则集合 常把前向演绎系统中的F规则(逻辑蕴涵)限制为以下形式: L?W其中,L是一个单文字,W是一个AND/OR公式。 限制规则左部为单个文字是因为:F规则作用于表达前提事实的AND/OR图,即对AND/OR图(前提事实)进行扩展生成新的AND/OR图,但由于AND/OR图的叶结点,都是单个文字事实,因此,若将规则左部限制为单个文字,则F规则就可与AND/OR图在端结点进行简单匹配(合一) 3、基本推理方法 经典推理----基于规则的演绎系统 与AND/OR事实一样,F规则中的变量都是隐含全称量词的。可通过以下步骤将任意逻辑蕴涵公式转换成上面的F规则形式: ①消去蕴涵符号(暂时地) ②缩小否定符号的作用范围(到原子公式) ③重命名变量,使量词间不含同名变量。 ④引入Skolem函数,消去存在量词。 ⑤去掉所有全称量词。 ⑥恢复成蕴涵形式。 例如(?x)((?y?z P(x,y,z))?(?u)Q(x,u)) (?x)((? y ? z ?P(x,y,z))?(?u)Q(x,u)) (?x)((? y ?P(x,y,f(x,y)))?(?u)Q(x,u)) (?x) ? y ?u (?P(x,y,f(x,y))?Q(x,u)) ?P(x,y,f(x,y))?Q(x,u) P(x,y,f(x,y)) ? Q(x,u) 3、基本推理方法 经典推理----基于规则的演绎系统 规则可以作用于与或图,形成一个新的与或图。 我们先说明没有变量的情况。例如有规则 S?(X?Y)?Z 与或图如下图所示。这条规则可以应用于该图的S叶结点上形成另一张图。图中两个标有S的结点之间的弧称为匹配弧。注意到,新生成的与或图既表示了原图表示的事实表达式,又表示了由规则导出的所有新的事实表达式。 T Q P?Q [(P?Q)?R]V[S?(T?U)] R (P?Q)?R S?(T?U) S T?U P U S X?Y Y X Z T Q P?Q [(P?Q)?R]V[S?(T?U)] R (P?Q)?R S?(T?U) S T?U P U 3、基本推理方法 经典推理----基于规则的演绎系统 首先考察上述规则能够推导出哪些子句。规则的子句形式为 ?S?X?Z ?S?Y?Z 由上图可以看出,事实表达式中能够与规则子句进行归结求解的子句为 S?R S?P?Q 应用归结原理,可得下列子句: R?X?Z R?Y?Z P?Q?X?Z P?Q?Y?Z 所有这4个子句全在图中表示出来了。应用一条规则获得了几个归结式,效率比较高。 图中的结点S应用一条规则后不再是叶结点,但仍是文字结点,还可对该结点应用其他规则。我们规定一个与或图表示的子句集对应于结束于文字结点上的解图集。这样,应用规则后得到的与或图表示了原与或图所表示的表达式,也表示了新产生的表达式。 3、基本推理方法 经典推理----基于规则的演绎系统 (3)利用目标公式作结束条件 在正向演绎系统中,目标公式规定为文字的析取形式,当一个目标文字和与或图中的一个文字匹配时,可以将表示该目标文字的结点通过匹配弧连接到与或图中相应文字的结点上。表示目标文字的结点称为目标结点。当演绎系统产生的与或图包括一个在目标结点上结束的解答图时,系统便成功结束。 3、基本推理方法 经典推理----基于规则的演绎系统 例如考虑下列问题: 事实表达式:A?B 规则:A?C?D和B?E?G 目标公式:C?G?F 应用规则后得到的与或图如下图所示,图中包括一个在目标结点上结束的解图,该解图对应的子句为C?G。 A?B A B A C D E G B C G 3、基本推理方法 经典推理----基于规则的演绎系统 含有变量的情况 在正向演绎系统中,我们假设事实和规则中的所有的存在量词量化的变量,均已用Skolem函数替代,表达式中尚存的变量都是全称量词量化的变量。对于目标公式,我们要求所有全称量词量化的变量都被Skolem函数取代,省略存在量词,表达式中尚存的变量都认为是存在量词量化的变量。规则、目标公式与AND/OR图的叶节点进行合一而不是直接匹配。 (?x)((?y)P(x,y)), 存在量词x若被Skolem化,则为常量;全称量词y若被Skolem化,则为f(x), ( ?y )(( ?x )P(x,y)),存在量词x若被Skolem化,则为f(y),全称量词y若被Skolem化,则为常量。 目标表达式的形式仍为文字的析取形式。由于存在量词的性质: (?x)[X1(x)? X2(x) ]? (?x)X1(x) ?(?y) X2(y) 因此,目标公式中各析取文字的变量可以改名,从而使用不同的变量符号。 3、基本推理方法 经典推理----基于规则的演绎系统 例如考虑如下问题: 事实表达式:P(A,B) ?[Q(x,A)?R(B,y)] 规则:P(x,y)?S(x) ?X(y) 目标公式:Q(C,A) ?R(z,B)?S(A)?X(B) 事实表达式和规则中的变量都是全称量词量化的,目标公式中的变量则是存在量词量化的,它们都满足上面提出的要求。事实表达式的与或图如左图所示。应用规则后的与或图如右图所示。图中还画出了与目标文字(用蓝色表示)的匹配。从表面上看,图中包括两个在目标文字上结束的解图,对应的子句为 S(A) ?X(B) ?Q(C,A) S(A) ?X(B) ?R(z,B) 但实际上第一个子句是不成立的,因为该解图中使用的置换{A/x,B/y}和{C/x}是不一致的。但是,第二个子句对应的解图中,使用的置换{A/x,B/y}和{B/z,B/y}是一致的,将两个置换的合成{A/x,B/y,B/z}作用于第二个子句得到的例S(A) ?X(B) ?R(B,B)才是最后得到的子句。 3、基本推理方法 经典推理----基于规则的演绎系统 P(A,B) ?[Q(x,A)?R(B,y)] P(A,B) Q(x,A)?R(B,y) Q(x,A) R(B,y) P(A,B) ?[Q(x,A)?R(B,y)] P(A,B) Q(x,A)?R(B,y) Q(x,A) R(B,y) P(x,y) S(A) X(B) S(A) X(B) (A/x,B/y) Q(C,A) R(z,B) (C/x) (B/z,B/y)

http://mojdzwonek.com/tuiliziju/448.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有