- 1、本文档共62页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3.3节 谓词逻辑归结原理;教材3.3节勘误表;概述;J. A. Robinson与归结原理;1936年,图灵(Turing)和邱吉(Church)相互独立地证明了
没有一般的方法可在有限步内判定一阶逻辑的公式是永真的(或永假的)。但是,如果公式的确是永真的(或永假的),则能在有限步内判定。如果公式不是永真(或永假),则不一定在有限步内得到结论,判定过程可能是无限长。;证明(用谓词公式表达的)定理
就是要证明“前提→结论”是永真式;
即对任一种解释,谓词公式都为真;
直接对每个解释,求证谓词公式为真,然后归纳,这是很麻烦的,甚至是不可能的;
要证明“前提→结论”是永真式,等同于证明;
若“前提∧~结论”真的是永假式,则寻找合适算法,就可在有限步内判定。归结方法就是这样的算法。;Skolem标准型;由前束范式得到skolem标准型
当存在量词位于某任意量词的辖域内,用skolem函数代替,从而消去存在量词。例:
当存在量词不位于任何任意量词的辖域内,用不带变量的skolem函数代替,消去存在量词。例:
直接略去任意量词。;例:3.12;子句集;定理3.1:谓词公式G不可满足,当且仅当其子句集S不可满足
谓词公式 前束范式
前束范式 ≠ skolem型 (个体域缩小)
skolem型 子句集
∴ 谓词公式 ≠ 子句集
子句集 谓词公式,谓词公式 子句集
但是,谓词公式和子句集的不可满足性是一致的!
定理3.1的推广:若G=G1∧G2∧…∧Gn,Gi的子句集为Si,G的子句集为S,则S不可满足,当且仅当S1 ∪ S2 ∪ … ∪ Sn不可满足。
复杂的谓词公式可以分而治之,化整为零。;4. 置换与合一;置换的合成
θ={t1/x1, t2/x2, …, tn/xn} ,γ={u1/y1, u2/y2, …, un/yn},则θ·γ={t1·γ/x1, t2·γ/x2, …, tn·γ/xn, u1/y1, u2/y2, …, un/yn}称为θ和γ的合成。;置换的合成
对ti先做γ置换,结果再用于θ置换。
当ti·γ=xi时,删除ti·γ/xi
当yi∈{x1,x2,…,xn}时,删除ui/yi
例:θ={f(y)/x, z/y} ,γ={a/x, b/y, y/z},则
θ·γ={f(b)/x, y/y, a/x, b/y, y/z}
={f(b)/x, y/z}
置换合成的性质
结合律: (θ·γ)·λ=θ·(γ·λ)
不满足交换律: θ·γ≠ γ·θ;合一
对于公式集F={F1, F2, …, Fn},若有置换θ,使得
F1·θ = F2·θ = … = Fn·θ,则称F1、F2、…和Fn是可合一的,θ称为合一置换,简称合一。
例: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的最一般合一。;求mgu的步骤;例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))}
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};习题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
文档评论(0)