第3.3节 谓词逻辑的归结原理
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2008-2009学年第1学期
第3.3节 谓词逻辑的归结原理
15
求mgu的步骤
① 令W={F1, F2},k=0,W0=W,σ0={ }; ② 若Wk已合一,停止,σk就是mgu;否则找不一
致集Dk;
③ 若Dk存在vk和tk,且vk不出现于tk,转④;否则
不可合一;
④ 令σk+1= σk· {tk/vk},Wk+1=Wk{tk/vk} ⑤ k=k+1,转②。
记为θ、γ、σ、…
例:{a/x, c/y, f(b)/z} 不能循环置换,如{g(y)/x, f(x)/y}。
2008-2009学年第1学期
第3.3节 谓词逻辑的归结原理
12
置换的合成
θ={t1/x1, t2/x2, …, tn/xn} ,γ={u1/y1, u2/y2, …, un/yn}, 则 θ· γ={t1· γ/x1, t2· γ/x2, …, tn· γ/xn, u1/y1, u2/y2, …, un/yn} 称为θ和γ的合成。
的文字。
L1和L2是合一后“互补”的文字。
例:P(x)∨Q(x, y) 和 ~P(a)∨R(b, z)的归结式
为Q(a, y)∨R(b, z)
2008-2009学年第1学期
第3.3节 谓词逻辑的归结原理
19
归结式的合理性
∵{C1, C2} ∴{C1, C2}
R {C1, C2, R}
基本原理一样;
但对量词、变量、函数应先有恰当处理,才能归结。
归结原理
又称消解原理(Resolution principle) 1965年,J.A. Robinson提出。
2008-2009学年第1学期
第3.3节 谓词逻辑的归结原理
3
J. A. Robinson与归结原理
1930年出生在Yorkshire, 52年从剑桥大学去美国oregon 大学,而后去princeton大学,并在那儿获博士学位。 61年去Rice大学,之后去Argonne国家实验室应用数学 分部访问,他的主任F. Miller指示他从事定理证明的研究 工作。 Miller给Robinson一篇60年的关于谓词演算证明过程的 论文,当时没有计算机程序实现,让他在IBM704上实现 该演算。 Robinson很快发现这个过程的效率很低。当他对60年 Dag Prawitz提出的演算过程实现时,认为这两种思路可 结合起来,用于一阶谓词逻辑的自动证明过程,这就是他 提出的归结原理。(J.A. Robinson. A Machine-Oriented Logic Based on the Resolution Principle, Journal of the ACM (JACM), 1965. 12(1)23-41)
方法二
① ②
③
④
W2 = {P(x, x, B), P(x, x, x)},σ2 = {x/y, x/z}
W3 = {P(B, B, B), P(B, B, B)},σ3 = {B/y, B/z, B/x}
2008-2009学年第1学期
第3.3节 谓词逻辑的归结原理
18
5. 归结式
若C1和C2是两个子句,L1和L2分别是C1和C2中的 文字, L1和~L2有mgu σ,则 R = (C1· σ﹣ L1· σ) ∪ (C2· σ﹣ L2· σ) 称为C1和C2的归结式,L1和L2为被归结(消融)
2008-2009学年第1学期
第3.3节 谓词逻辑的归结原理
5
归结原理的基本思想
证明(用谓词公式表Leabharlann Baidu的)定理
就是要证明“前提→结论”是永真式;
即对任一种解释,谓词公式都为真; 直接对每个解释,求证谓词公式为真,然后归纳,这是 很麻烦的,甚至是不可能的;
要证明“前提→结论”是永真式,等同于证明; 若“前提∧~结论”真的是永假式,则寻找合适算法, 就可在有限步内判定。归结方法就是这样的算法。
第3.3节
谓词逻辑归结原理
王庆江
中国海洋大学计算机科学与技术系
qjwang@ouc.edu.cn
教材3.3节勘误表
位置 P100,14行 P100,倒数第2行
原文/原因 “第2步”错误地使用摩根律 z
修改 (不改) x
2008-2009学年第1学期
第3.3节 谓词逻辑的归结原理
2
概述
谓词逻辑和命题逻辑的归结法比较
2008-2009学年第1学期 第3.3节 谓词逻辑的归结原理
换名 辖域扩展 辖域扩展
9
子句集
文字
不含联结词( ~除外 )的谓词公式。 文字的析取,即简单析取式。 所有子句的集合。
子句
子句集
求谓词公式G的子句集
① 求G的前束范式;
② 化为skolem标准型; ③ 求skolem型的合取范式,提取所有子句。
2008-2009学年第1学期
第3.3节 谓词逻辑的归结原理
13
置换的合成
对ti先做γ置换,结果再用于θ置换。
当 t i· γ=xi时,删除ti· γ/xi 当yi∈{x1,x2,…,xn}时,删除ui/yi θ· γ={f(b)/x, y/y, a/x, b/y, y/z} ={f(b)/x, y/z}
第3.3节 谓词逻辑的归结原理
2008-2009学年第1学期
4
1936年,图灵(Turing)和邱吉(Church)相互 独立地证明了
没有一般的方法可在有限步内判定一阶逻辑的公式是永 真的(或永假的)。但是,如果公式的确是永真的(或
永假的),则能在有限步内判定。如果公式不是永真
(或永假),则不一定在有限步内得到结论,判定过程 可能是无限长。
例:F = {P(x, y, f(y), P(a, g(x), z)}的合一置换θ为
{a/x, g(a)/y, f(g(a))/z}
最一般合一(most general unifier, mgu)
–
若σ是公式集F的一个合一,对于其他任意合一θ,都 存在一个置换λ,使得θ = σ · λ,则σ称为F的最一般 合一。
第3.3节 谓词逻辑的归结原理
2008-2009学年第1学期
17
习题3.19④:W = {P(y, y, B), P(z, x, z)}
① ② ③ ④
W0 = {P(y, y, B), P(z, x, z)},σ0 = { } W1 = {P(y, y, B), P(y, x, y)},σ1 = {y/z} W2 = {P(y, y, B), P(y, y, y)},σ2 = {y/z, y/x} W3 = {P(B, B, B), P(B, B, B)},σ3 = {B/z, B/x, B/y} W0 = {P(y, y, B), P(z, x, z)},σ0 = { } W1 = {P(z, z, B), P(z, x, z)},σ1 = {z/y}
xP( x )的skolem 型:P(a )
直接略去任意量词。
2008-2009学年第1学期
第3.3节 谓词逻辑的归结原理
8
例:3.12
xyP ( a , x , y ) x ( yQ( y , b ) R( x )) xyP ( a , x , y ) x ( yQ( y , b ) R( x ))
③
④
D2={g(y), u},{g(y)/u}
σ3 = σ2 ·{g(y)/u}={a/z, f(a)/x, g(y)/u}
W3 = W2 σ3 = {P(a, f(a), f(g(y))), P(a, f(a), f(g(y)))}
⑤
mgu = σ3 = {a/z, f(a)/x, g(y)/u}
2008-2009学年第1学期
第3.3节 谓词逻辑的归结原理
7
由前束范式得到skolem标准型
当存在量词位于某任意量词的辖域内,用skolem函数 代替,从而消去存在量词。例:
xyP( x, y )的skolem 型:xP( x, f ( x ))
当存在量词不位于任何任意量词的辖域内,用不带变量 的skolem函数代替,消去存在量词。例:
定理3.1的推广:若G=G1∧G2∧…∧Gn,Gi的子句集为Si,G
的子句集为S,则S不可满足,当且仅当S1 ∪ S2 ∪ … ∪ Sn不 可满足。
复杂的谓词公式可以分而治之,化整为零。
2008-2009学年第1学期
第3.3节 谓词逻辑的归结原理
11
4. 置换与合一
置换
{t1/x1, t2/x2, …, tn/xn}称为对谓词公式的一个置换,表示 将谓词公式中的xi替换为ti。 xi为个体变量, ti为不同于xi的置换项(常量、变量或 函数)。
逐一比较,找出不一致,并做合一置换
2008-2009学年第1学期 第3.3节 谓词逻辑的归结原理
16
例3.16:W = {P(a, x, f(g(y))), P(z, f(a), f(u))}
① ②
W0 = {P(a, x, f(g(y))), P(z, f(a), f(u))},σ0 = { } D0={a, z},t0=a,v0=z,{a/z} ,σ1 =σ0· {a/z}= {a/z} W1 = {P(a, x, f(g(y))), P(a, f(a), f(u))} D1={x, f(a)},t1=f(a),v1=x,{f(a)/x} σ2 = σ1 ·{f(a)/x}= {a/z, f(a)/x} W2 = W1 σ2 = {P(a, f(a), f(g(y))), P(a, f(a), f(u))}
但是,若R=□,则意味着C1和C2是互否定的,{C1, C2} 是不可满足的。
归结使子句集不断增大,一旦归结出“□”,则子句集
中有互否定的单元子句存在,从而整个子句集是不可满 足的。
2008-2009学年第1学期
第3.3节 谓词逻辑的归结原理
20
求归结式时的注意事项
不同谓词,不可消融。
例:P(x)和~Q(x)。
2008-2009学年第1学期
第3.3节 谓词逻辑的归结原理
10
定理3.1:谓词公式G不可满足,当且仅当其子句集S不可满足
谓词公式
前束范式 ≠
skolem型
前束范式
skolem型
子句集
(个体域缩小)
∴ 谓词公式 ≠ 子句集
子句集
谓词公式,谓词公式
子句集
但是,谓词公式和子句集的不可满足性是一致的!
2008-2009学年第1学期
第3.3节 谓词逻辑的归结原理
6
Skolem标准型
前束范式
公式中的所有量词都在最左边,且每个量词的辖域都 延伸到公式末端。
形如:Q1x1Q2x2…QnxnM(x1, x2, …, xn)
例:
wxyz(P ( w ) Q( x, y, z ) R( x, y, z , u))
1) 消 去 , 得 : 2)深 入 到 量 词 后 , 得 : xyP ( a , x , y ) x (yQ( y , b ) R( x )) 3) 求 前 束 范 式 , 得 : xyP ( a , x , y ) z (wQ ( w , b ) R( z )) xyP ( a , x , y ) zw (Q ( w , b ) R( z )) xyzw ( P ( a , x , y ) Q ( w , b ) R( z )) 4) 求sk ol e m 标准型 xyzw ( P ( a , x , y ) Q ( w , b ) R( z )) xzw ( P ( a , x , f ( x )) Q ( w , b ) R( z )) xw ( P ( a , x , f ( x )) Q ( w , b ) R( g ( x ))) P ( a , x , f ( x )) Q ( w , b ) R( g ( x ))
例:θ={f(y)/x, z/y} ,γ={a/x, b/y, y/z},则
置换合成的性质
结合律: (θ· γ)· λ=θ· (γ· λ)
不满足交换律: θ· γ≠ γ· θ
第3.3节 谓词逻辑的归结原理
2008-2009学年第1学期
14
合一
对于公式集F={F1, F2, …, Fn},若有置换θ,使得 F1· θ = F2· θ = … = Fn· θ,则称F1、F2、…和Fn是可合 一的,θ称为合一置换,简称合一。