三章 演绎推理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三章演绎推理
自动定理证明是人工智能一个重要的研究领域,是早期取得较大成果的研究课题之一,在发展人工智能方法上起过重大作用。
1956,美国,Newell, Simon, Shaw编制逻辑理论机:The Logic Theory Machine 简称LT. 证明了《数学原理》(罗素)第二章中38个定理, 改进后证明了全部52个定理。是对人的思维活动进行研究的重大成果,是人工智能研究的真正开端。在此之后,发展了一些机械化推理算法,很成功地用到人工智能系统中。
第一节鲁滨逊归结原理
一、命题逻辑中归结推理
1.归结:消去子句中互补对的过程:
子句:任何文字的析取式C称为子句,C=P∨Q∨7R={P,Q,7R}
如:C1=LVC1`={L,C1`}
C2=7LVC2`={7L,C2`}
可以证明C12=C1`VC2`={C1`,C2`}是C1,C2的逻辑结论:
即:C1∧C2⇒C12
证明:C1=LVC1`=77C1`VL=7C1`→L
C2=7LVC2`=L→C2`
所以7C1`→C2`=77C1`VC2`=C1`VC2`
实际上是P→Q, Q → P⇒P→R的应用
即前提成立⇒结论成立,也即结论不成立⇒前提不成立
S子句集:其中有C1,C2归结式
S`子句集:C12代替C1,C2
则:S`不可满足⇒S不可满足
2.归结推理步骤
要证A⇒B成立(或证A→B重言、永真),
只要证A∧7B不可满足(永假)
①化A∧7B为合取范式C1∧C2∧……∧Cm
②子句集S={C1,C2,…, Cm}
③归结规则用于S,归结式入S中.
④重复③,直到S中出现空子句。
证明:SVR是P∨Q , P →R,Q→S的逻辑结论。
(P∨Q) ∧(P →R) ∧(Q→S) ∧7(S∨R)
=(P∨Q)∧(7P∨R) ∧(7Q∨S) ∧7S∧7R
所以S={P∨Q,7P∨R,7Q∨S,7S,7R}
(1)P∨Q
(2)7P∨R
(3)7Q∨S
(4)7S
(5)7R
(6)Q∨R (1)(2) 归结
(7)7Q (3)(4) 归结
(8)Q (5)(6) 归结
(9)F (7)(8) 归结
命题逻辑中不可满足的子句集S,使用归结原理,总能在有限步内得到一个空子句⇒归结原理是完备的。
二、谓词逻辑中的归结原理
谓词和子句中含有个体变元,同一谓词含有不同的个体变元。所以寻找互补对更困难。
例:C1=P(y)∨Q(y)
C2=7P(f(a))∨R(a)
1. 置换
定义:形如{t1/a1,t2/a2,…,tn/an}的有限集合,
表示ti代换ai,其中ti是项,变量,常量,函数。
ai是变量,且ti不同于ai。
置换的目的是使得S中有相同互补文字的子句中谓词各对应项变得一致,以便于归结。
θ,λ,α表示置换。
Fθ=G,则Fθ是F的逻辑推论。
例如,F={P(x, f(x),y), P(a,z,g(z))}
做置换α1={a/x}之后得:
G1=Fα1 ={P(a,f(a),y),P(a,z,g(z))}
α2 ={f(a)/z}
G2=G1α2 ={P(a,f(a),y),P(a, f(a),g(f(a)))}
α3 ={g(f(a))/y}
G3=G2 α3 ={P(a,f(a),g(f(a))), P(a, f(a),g(f(a)))}
θ= α1 ·α2·α3={a/x, f(a)/z, g(f(a))/y}是一个置换.
2.合一
定义:设有公式集F={F1, F2, …, Fn},若存在一个置换θ,可使F1θ=F2θ=…=Fnθ, 则称θ为F的合一置换。称F是可合一的。
如上面“置换”一节中的例子。
很明显,很多F是不可合一的,而且一个公式集合的合一置换不唯一(如上例中,α2 ={ g(a)/y}。
定义:如果α是公式集F的一个合一置换,且对F的任何一个合一θi,都存在一个置换λi,使得θi =α·λi,则称α为F的最一般合一.(Most General Unifier简记为MGU)
最一般合一是最简单的合一置换。求F的最一般合一方法:从左到右比较F中公式的对应项,若不同则作置换,直到对应项完全相同为止。
3.斯柯林范式:
不含存在量词和母式为合取范式的前束范式为斯柯林范式
(∃x)(∀y)(∃z)P(x,y,z)化为: (∀y)P(a,y,f(y))
(∀x)(∃y)(∃z)Q(x,y,z)化为:(∀x)Q(x,f(x),g(x))
(∃x)(∀y)(∀z)(∃u)R(x,y,z.u)化为:(∀y)(∀z)R(a,y,z,f(y,z))
4.归结推理过程
例:C1=P(x)∨Q(x)
C2=7P(a)∨R(y)
令θ={a/x}
C1`=C1θ=P(a)∨Q(a)
C2`=7P(a)∨R(y)
⇒C12=Q(a)∨R(y)是C1,C2的逻辑推论
定义:设C1和C2是两个子句,L1,L2分别是C1和C2中的文字,如果θ是L1与7L2的最一般合一,那么
C12=(C1θ-{L1θ})∨{C2θ-{C2θ}}
为C1,C2的双归结式。
如上例:L1= P(x),L2=7P(a)
在一阶谓词中, 对于不可满足的子句集S,一定可以在有限步内推出空子句。所以谓词逻辑中的归结原理也是完备的。
并非所有符号相同但变元不同的谓词公式都可合一,如
C1= P(x)∨Q(x)⇒C1= P(z)∨Q(z)
C2=7 P(f(x))∨R(y)
所以要易名
例:F1=(∀x)( P(x)→( Q(x)∧R(x))
F2=(∃x)( P(x)∧S(x))
G=(∃x)(S(x)∧R(x))
证明G是F1∧F2的逻辑推论
证明:F1∧F2∧7G
=(∀x)(7P(x)∨(Q(x)∧(R(x)))∧(∃x)(P(x)∧S(x))∧(∀x)(7S(x)∨7R(x))
(7P(x)∨Q(x))∧( 7P(x)∨R(x))∧P(a)∧S(a)∧(7S(x)∨7R(x))
S={7P(x)∨Q(x), 7P(y)∨R(y), P(a), S(a), 7S(z)∨7R(z)}
归结树如下: