三章 演绎推理

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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)}

归结树如下:

相关文档
最新文档