AI4-1归结原理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

4.2 命题演算中的归结
4.2.1 归结推理规则 1子句和子句集 一个子句就是一组文字的析取,一个文字或是 一个原子(这时也称为正文字),或者是一 个原子的否定(这时也称为负文字) , 如 P、 Q、 R都是文字,P∨Q∨R是子句。
4.2 命题演算中的归结
文字是原子或其否定 • 子句是文字的析取 • 完备连接符集合: • 合取范式(CNF) (L11 … L1n1) … (Lm1 … Lmnm) • 析取范式(DNF) (L11 … L1n1) … (Lm1 … Lmnm) • 定理: 对任意公式,都有与之等值的合取范式
4.2.3 归结反演合理性和完备性
• 归结原理是合理的 • 归结原理是完备的
4.2.4 归结反演策略
• 有序策略(Order strategies) • Refinement strategies 1.支持集(Set of support): 每次归结时,参与归结的子句中至少应有一个是由目 标公式的否定所得到的子句,或者是它们的后裔 该策略是完备的 2.线性输入(Linear Input): ห้องสมุดไป่ตู้参与归结的两个子句中至少有一个是初始子句集中的 子句 该策略是不完备的 3.祖先过滤(Ancestry Filtering) : 参与归结的两个子句中至少有一个是初始子句集中的 句子,或者是另一个子句的祖先 该策略是完备的
子句集: (1) P (2) ~P~QR (3) ~SQ (4) ~TQ (5) T (6) ~R(目标求反)
归结: (7) ~P~Q (8) ~Q (9) ~T (10) nil
(2, 6) (1, 7) (4, 8) (5, 9)
4.3 谓词演算中的归结
4.3.1 字句型
子句形--SKOLEM标准型
4.2 命题演算中的归结
• 归结方法是一种机械化的,可在计算机 上加以实现的推理方法 • 可认为是一种反向推理形式 • 提供了一种自动定理证明的方法
4.2化子句集的方法
例:(z) (x)(y){[(P(x) Q(x)) R(y)] U(z)} 1, 消蕴涵符 理论根据:a b => ~a b (z) (x)(y){[~(P(x) Q(x)) R(y)] U(z)} 2, 移动否定符 理论根据:~(a b) => ~a ~b ~(a b) => ~a ~b ~(x)P(x)=>(x)~P(x) ~(x)P(x)=>(x)~P(x) (z) (x)(y){[(~P(x) ~Q(x)) R(y)] U(z)}
7, 隐去全程量词
{[~P(x) R(f(x))U(a)] [~Q(x)) R(f(x))U(a)]}
4.2化子句集的方法
8, 表示为子句集
{~P(x) R(f(x))U(a), ~Q(x)) R(f(x))U(a)}
9, 变量标准化(变量换名)
{~P(x1) R(f(x1))U(a), ~Q(x2)) R(f(x2))U(a)}
4.1 引言
归结法的本质上就是一种反证法,它是在归结 推理规则的基础上实现的。为了证明一个命 题P恒真,就证明其反命题 P恒假,即不存在 使得 P为真的解释,由于量词,以及嵌套的 函数符号,使得谓词公式往往有无穷的指派, 不可能一一测试 P是否为真或假。那么如何 来解决这个问题呢?幸运的是存在一个域, 即Herbrand域,它是一个可数无穷的集合, 如果一个公式基于Herbrand解释为假,则就 在所有的解释中取假值。
• 前束范式 (Q1x1)…(Qnxn)M(x1,…,xn) 前束形== ( 前 缀 ) { 母 式 } 量词串 无量词公式 • 定理4.3.1:任何公式G都等价于一个前束范式 • Skolem函数: – 存在量词不出现在全称量词的辖域内,此时只要用一 个新的个体常量(称为Skolem常量)替换受该存在量 词约束的变元就可消去存在量词 – 存在量词位于一个或多个全称量词的辖域内.此时需 要Skolem函数,该函数的变元就是由那些全称量词所 约束的全称量词量化的变量.Skolem函数所使用的函 数符号必须是新的.
命题逻辑的归结规则可以陈述如下。 设有两个子句:设子句: C1=LC1’,C2=(~L) C2 从中消去互补对,则归结式C为:C=C1’ C2’ , 这个过程称为归结。没有互补对的两子句 没有归结式。 C1,C2 称为母字句。 因此归结推理规则指的是对两子句作归结, 即求归结式。
归结原理
定理4.1 子句C1和C2的归结式是C1和C2的逻辑推 论。
=C
得 C1 C2 => C
4.2.2 归结反演
若两个单位子句C1和C2存在归结式,则该归结 式为空子句□,并且C1∧C2等价于□。作为 特殊情况,此时也视□为C1和C2的逻辑推论。 更重要的是,若子句集 S 是不可满足的,则 可以使用归结规则由S产生□。
4.2 命题归结反演过程
• 一般过程: 1)建立子句集S 2)从子句集S出发,仅对S的子句间使用归结推理 规则 3)如果得出空子句• , 则结束;否则转下一步 4)将所得归结式仍放入S中 5)对新的子句集使用归结推理规则 6)转(3) • 空子句不含有文字,它不能被任何解释满足,所以 空子句是永假的,不可满足的 • 归结过程出现空子句,说明出现互补子句对,说明S 中有矛盾,因此S是不可满足的.
子句形--SKOLEM标准型
• Skolem标准型: 没有存在量词的公式。 • 设G是一阶逻辑中的公式,将其 化为Skolem标准型,母式M给出 的子句集S称为公式G的子句集
子句形—化子句集-1
• 谓词公式化为子句形的步骤 x [P(x) [y [P(y) P(f(x,y))] ~y [Q(x,y) P(y)]]] (1)消去蕴含符号:PQ ~P Q x [~P(x)[y[~P(y) P(f(x,y))] ~y [~Q(x,y) P(y)]]] (2)减少否定符号的辖域,把“~”移到紧靠谓词的位置 上 ~(~P) P ~(P Q) ~P ~Q ~(P Q) ~P ~Q ~(x)P (x) ~P ~(x) P (x) ~P x [~P(x)[y [~P(y) P(f(x,y))] y [Q(x,y) ~ P(y)]]]
4.2化子句集的方法
3, 变量标准化 即:对于不同的约束,对应于不同的变量 (x)A(x) (x)B(x) => (x)A(x) (y)B(y) 4, 量词左移 (x)A(x) (y)B(y) => (x) (y) {A(x) B(y)} 5, 消存在量词 (skolem化) 原则:对于一个受存在量词约束的变量,如果他 不受全程量词约束,则该变量用一个常量代替, 如果他受全程量词约束,则该变量用一个函数代 替。 (z) (x)(y){[(~P(x) ~Q(x)) R(y)] U(z)} => (x) {[(~P(x) ~Q(x)) R(f(x))] U(a)}
和析取范式
• 转换方法:一般方法 真值表方法
4.2 命题演算中的归结
定理证明的任务: 由前提A1 A2 ... An 推出结论B 即证明:A1 A2 ... AnB 永真 转化为证明: A1 A2 ... An ~B为永假式 归结推理就是:从A1 A2 ... An ~B出 发,使用归结推理规则来找出矛盾,最后证 明定理A1 A2 ... AnB的成立
证明:设子句:C1=LC1’,C2= ~L C2’,归结式C为:C=C1’ C2’ 因为: LC1’ <=> ~ C1’ L, ~L C2’ <=> L C2’ 所以 C1 C2 = (~ C1’ L) (L C2’) 根据假言三段论(P Q,Q R => P R) (~ C1’ L) (L C2’) => ~ C1’ C2’ ~ C1’ C2’ <=> C1’ C2’
4.1 引言
基于 Herbrand 域, Herbrand 给出了重要的定理, 为不可满足的公式判定过程奠定了基础。 Robinson给出了用于从不可满足的公式推出F 的归结推理规则,使定理机械证明取得了重 要的突破,达到了应用的阶段。
4.1 引言
• 证明的基本思想是: 设F1、…、Fn、G为公式,G为F1、…、Fn的 逻辑推论,当且仅当公式((F1…Fn)G) 是有效的 • 也可以采用反证法的思想: 设F1、…、Fn、G为公式,G为F1、…、Fn的 逻辑推论,当且仅当公式(F1…Fn G) 是不可满足的 • 归结法的本质上就是一种反证法,它是在归结 推理规则的基础上实现的: 为了证明一个命题P恒真,它证明其反命 题~P恒假,即不存在使得P为真的解释
子句形—化子句集-3
(5)化为前束形: – 把所有的全称量词移到公式的左边,并使每个 量词的辖域包含这个量词后面公式的整个部 分.即得前束形 – 上例变为: x y [~P(x) [[~P(y) P(f(x,y))] [Q(x,g(x))~P(g(x))]]] (6)把母式化为合取范式: – 上例变为: x y [[~P(x) ~P(y) P(f(x,y))] [~P(x) Q(x,g(x))] [~P(x) ~P(g(x))]]
子句形—化子句集-2
(3)变量标准化:重新命名变元名,使不同 量词约束的变元有不同的名字. x[~P(x) [y [~P(y) P(f(x,y))] w [Q(x,w) ~P(w)]]] (4)消去存在量词: x[~P(x) [y[~P(y)P(f(x,y))] [Q(x,g(x))~P(g(x))]]]
4.2化子句集的方法
6, 化为合取范式 即(ab) (cd) (ef)的形式
(x){[(~P(x) ~Q(x)) R(f(x))]U(a)} => (x){(~P(x) ~Q(x)) R(f(x))U(a)} => (x){[~P(x) R(f(x))U(a)] [~Q(x)) R(f(x))U(a)]}
第4章 归结原理及其应用
1930年Herbrand为定理证明建立了一种重要方 法,他的方法奠定了机械定理证明的基础。 机械定理证明的主要突破是1965年由 J.A.Robinson做出的,他建立了所谓的归结原 理,使机械定理证明达到了应用阶段。
4.1 引言
因此,为了证明一组公式蕴涵某个推论,可以 采用反证法的思想,即:F1、…Fn、G为公 式,G为F1、…Fn的逻辑推论,当且仅当公 式(F1∧…∧Fn∧ G)是不可满足的。这样 如果公式F1∧…∧Fn是无矛盾的,那么就证 明了 G的加入产生了矛盾,所以G就是与 F1∧…Fn无矛盾的。
4.2 命题演算中的归结
可以使用各种等价式将任意一个公式 G 转化为 一个合取范式。例如,可以把公式:转化为 如下的合取范式:
一个子句的合取范式(CNF形式)常常表示为 一个子句的集合,即: S= S 称为对应公式的子句集,其中每个元素都是 一个子句。把公式表示为子句集只是为了说 明上的方便。
子句上的归结
归结的例子
设公理集: P, (PQ) R, (ST) Q, T 求证:R 子句集: (1) P (2) ~P~QR (3) ~SQ (4) ~TQ (5) T (6) ~R(目标求反) 化子句集: (PQ) R => ~(PQ)R => ~P~QR (ST) Q => ~ (ST)Q => (~S~T)Q => (~SQ) (~TQ) => {~SQ, ~TQ}
子句形—化子句集-4
(7)消去全称量词: [[~P(x) ~P(y) P(f(x,y))] [~P(x) Q(x,g(x))] [~P(x) ~P(g(x))]] (8)消去连结词符号
相关文档
最新文档