3基本推理方法(基于规则的演绎系统)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3、基本推理方法
经典推理----基于规则的演绎系统
1. 前向演绎系统 前向演绎系统的结构如下: (1)AND/OR事实集合 任何前提公式都可以通过以下步骤被转换成AND/OR形式: ① 消去蕴涵符 ② 缩小否定的作用范围(到原子公式) ③ 重命名变量,使量词间不含同名变量。 ④ 引入Skolem函数消去存在量词。 ⑤ 去掉所有全称量词。 显然,AND/OR公式比子句更接近原公式形式,因为它不需转换成合取范式。 前向演绎系统中的事实都是AND/OR公式,这种公式可用AND/OR图/树来表达,例如
新产生的表达式。
3、基本推理方法
经典推理----基于规则的演绎系统
(3)利用目标公式作结束条件 在正向演绎系统中,目标公式规定为文字的析取形式,当一个目标文字和与或图 中的一个文字匹配时,可以将表示该目标文字的结点通过匹配弧连接到与或图中 相应文字的结点上。表示目标文字的结点称为目标结点。当演绎系统产生的与或 图包括一个在目标结点上结束的解答图时,系统便成功结束。
,可以把AND/OR命题公式A{(BC)DE}F 表示成右图的AND/OR图/树
3、基本推理方法
经典推理----基于规则的演绎系统
A{(BC)DE}F
A
(BC)DE
F
BC
D
E
B
C
3、基本推理方法
经典推理----基于规则的演绎系统
前向演绎系统把AND/OR事实A1A2…Am的每个子公式Ai(i=1,2,…,m)表示成 OR结点(即1联结符),是因为它作为证明定理T的前提条件,只要由任一Ai可 推出T,即Ai|-T,则T得证。 类似地,把事实A1A2…Am每个子公式表示成AND结点(即n联结符),是因为 目前并不知道哪些Ai为真,因此要由它证明定理T,必须要证明每个Ai都可推出 T. 逻辑公式的AND/OR图表达与子句表达有简单的对应关系:每个子句对应一解答 图的叶结点。例如,上图有4个解答图,其叶结点分别对应下面的4个子句: ①A ② BDE ③ CDE ④F 与或图表示的一个重要性质,就是表达式本身所转换出的一组子句,可以从与 或图中读出,每个子句相当于与或图的一个解图。
U {u1, u2 un}
,每个Ui是一个置换对的集合。
u i {t i1/vi1 , t i2 /vi2 ,...t im(i)/vim(i)}
令
U1 (v11 ,..., v1m(1),..., v n1 ,..., v nm(n))
U 2 (t 11 ,..., t1m(1),..., t n1 ,..., t nm(n))
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、基本推理方法
经典推理----基于规则的演绎系统
按不同的推理方向,又把规则系统分为以下三种形式: (1)前向演绎系统:这种系统的全局数据库为事实集合(FB),其产生式规
则为一组前向演绎规则(F规则),问题求解形式为FB|F规则-目标公 式(定理) (2)后向演绎系统:这种系统的全局数据库为目标公式集合(GB),其产 生式规则为一组后向推理规则(B规则)。问题求解形式为:GB|B规则 -原问题PPFB (3)双向演绎系统:即(1)(2)相结合的系统。
பைடு நூலகம்
3、基本推理方法
经典推理----基于规则的演绎系统
1.规则系统的基本结构 在上述的子句归结系统中,子句形式的前提公理系统与求证定理的否定一
道构成产生式问题模型的全局数据库,而它的产生式规则只有一条,即归结规 则。问题求解的策略全隐含在推理(控制)机构中。 与子句归结系统不同,规则系统将前提公式集合划分成以下两大部分: (1)规则,即逻辑蕴涵。这些规则构成系统的产生式规则库。 (2)事实,即非蕴涵公式。 规则系统的问题求解策略有两种表达式: (1)隐含在推理机构中。 (2)由用户在规则中显式表达启发式或过程性控制知识。
3、基本推理方法
经典推理----基于规则的演绎系统
Q(x,A)
R(B,y)
P(A,B)
Q(x,A)R(B,y)
P(A,B) [Q(x,A)R(B,y)]
S(A) X(B)
S(A)
X(B)
Q(C,A)
(C/x)
P(x,y)
Q(x,A)
R(z,B)
(B/z,B/y)
R(B,y)
(A/x,B/y)
P(A,B)
3、基本推理方法
经典推理----基于规则的演绎系统
(2)F规则集合 常把前向演绎系统中的F规则(逻辑蕴涵)限制为以下形式: LW其中,L是一个单文字,W是一个AND/OR公式。 限制规则左部为单个文字是因为:F规则作用于表达前提事实的AND/OR图,即 对AND/OR图(前提事实)进行扩展生成新的AND/OR图,但由于AND/OR图的叶结 点,都是单个文字事实,因此,若将规则左部限制为单个文字,则F规则就可 与AND/OR图在端结点进行简单匹配(合一)
例如(x)((yz 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(XY)Z
与或图如下图所示。这条规则可以应用于该图的S叶结点上形成另一张图。图中
两个标有S的结点之间的弧称为匹配弧。注意到,新生成的与或图既表示了原图
表示的事实表达式,又表示了由规则导出的所有新的事实表达式。
SR SPQ
应用归结原理,可得下列子句:
RXZ
RYZ PQXZ
PQYZ
所有这4个子句全在图中表示出来了。应用一条规则获得了几个归结式,效率比
较高。
图中的结点S应用一条规则后不再是叶结点,但仍是文字结点,还可对该结点应
用其他规则。我们规定一个与或图表示的子句集对应于结束于文字结点上的解图
集。这样,应用规则后得到的与或图表示了原与或图所表示的表达式,也表示了
3、基本推理方法
经典推理----基于规则的演绎系统
与AND/OR事实一样,F规则中的变量都是隐含全称量词的。可通过以下步 骤将任意逻辑蕴涵公式转换成上面的F规则形式: ①消去蕴涵符号(暂时地) ②缩小否定符号的作用范围(到原子公式) ③重命名变量,使量词间不含同名变量。 ④引入Skolem函数,消去存在量词。 ⑤去掉所有全称量词。 ⑥恢复成蕴涵形式。
3、基本推理方法
经典推理----基于规则的演绎系统
②从逻辑上讲,以下蕴涵公式都等价于子句(ABC): (AB) C (AC) B (BC) A A (BC) B (AC) C (AB)
但这些公式中隐含的控制信息是不同的,而且都无法在(ABC)中体现出来。 针对子句表达的上述问题,人们提出了多种非子句归结定理证明方法。下面介 绍其中的一种,即Nilsson提出的基于规则的演绎推理(把这种基于规则的系统 简称为规则系统)。
Q(x,A)R(B,y)
P(A,B) [Q(x,A)R(B,y)]
3、基本推理方法
经典推理----基于规则的演绎系统
总之,我们只能考虑那些结束在目标结点上的具有一致的匹配弧置换的解 图―――一致解图,并以对该解图对应的子句应用置换的合成所得到的例 作为解答语句。下面给出置换的一致性的定义。 定义 设有一个置换集
3、基本推理方法
经典推理----基于规则的演绎系统
上面所讲的归结反演系统把所有的表达式都转换为子句形式,这样做虽然在逻 辑上是等价的,但也丧失了很多有用的信息。我们先看看子句结构存在的缺陷: (1)子句表达的缺陷 与人们表达知识的习惯不一致,因此不便阅读和理解。例如:可把语句“鸟能 飞”表达成以下两种形式: ①x(BIRD(x)CANFLY(x)) ②BIRD(x)CANFLY(x) 显然,公式①表达直接、自然。由于公式②通过“对所有x,它或者不是鸟,或 者能飞”来间接反映“鸟能飞”这个概念,因此给阅读和理解带来了困难。
含有变量的情况
在正向演绎系统中,我们假设事实和规则中的所有的存在量词量化的变量,均已 用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、基本推理方法
经典推理----基于规则的演绎系统
(2)把逻辑蕴涵转换成子句形式可能丢失一些有用的控制信息。可以这样说: 数理逻辑只考虑语句的逻辑等价性,而AI问题求解需要“信息”守恒。而后者 与求解问题的效率密切相关。 将同一自然语言表达成 不同形式的逻辑公式,这在逻辑上是等价的(即所含 逻辑知识相同),但控制信息可能是不同的。 例如: ①xy{(G(x,0)G(y,0) G(times(x,y),0)} 逻辑含义:如果x和y都大于0,则二者之积大于0; 控制信息:使用事实x>0和y>0来证明二者之积大于0。
3、基本推理方法
经典推理----基于规则的演绎系统
例如考虑下列问题: 事实表达式:AB 规则:ACD和BEG 目标公式:CGF 应用规则后得到的与或图如下图所示,图中包括一个在目标结点上结束的 解图,该解图对应的子句为CG。
C
G
C
D
A
E
G
B
A
B
AB
3、基本推理方法
经典推理----基于规则的演绎系统
置换U称为一致的,当且仅当U1和U2是可合一的,而U的合成u=mgu(U1,U2).
3、基本推理方法
经典推理----基于规则的演绎系统
例如有置换u1={x/y,x/z}和u2=(A/z)
令 U1=(y,z,z)
P
Q
T
U
X
Y
PQ
R
(PQ)R
S
TU
S(TU)
P
Q
PQ
R
XY
Z
S
T
U
S
TU
[(PQ)R]V[S(TU)]
(PQ)R
S(TU)
[(PQ)R]V[S(TU)]
3、基本推理方法
经典推理----基于规则的演绎系统
首先考察上述规则能够推导出哪些子句。规则的子句形式为
SXZ
SYZ
由上图可以看出,事实表达式中能够与规则子句进行归结求解的子句为
3、基本推理方法
经典推理----基于规则的演绎系统
A{(BC)DE}F
A{(BC)DE}F
A
(BC)DE
A{(BC)DE}F
(BC)DE
BC D
E
C
BC D
E
B
A{(BC)DE}F
F
3、基本推理方法
经典推理----基于规则的演绎系统
解答图的定义: 1)如果初始结点n也是一个终端结点。则G’只含结点n; 2)否则,如果存在一个从n出发的k联结符,满足每个子结点ni(i=1,…,k)都 有一个从它到终端结点的解答图Gi,则G’由结点ni,联结符k和所有Gi组成。 3)否则,不存在从n出发的解答图。