包括某些推理规则以及置换合一等概念。但对于许多比较复

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
S(x,y)∨~M(y)∨I(f(x)),~S(x,y)∨~ M(y)∨E(x,f(x)),~I(z),S(a,b),M(b)} ③把新产生的集合S’化成子句集,即 S’= {~ S(x,y)∨~M(y)∨I(f(x)),~S(x,y)∨~M(y)∨ E(x,f(x)),~I(z), S(a,b), M(b) }
P[y,f(A)] 进一步消解得消解式为:P[y,f(y)]
18
可见这两个子句消解一共可得4个不同的消解式, 其中3个是消解P得到的,而另一个是由消解Q得 到的。
下面举几个对含有变量的子句使用消解的例子。
例1:
例2:
19
例3:
本节中所例举的对基子句和对含有变量的子句进行消 解的例子,其父辈子句和消解式列表示于表4.1。这些例 子表示出消解推理的某些常用规则。
}
12
3.4.2 消解推理规则
令L1为任一原子公式,L2为另一原子公式; L1 和L2具有相同的谓词符号,但一般具有不同的变 量。已知两子句L1∨α和~L2∨β如果L1和L2具 有最一般合一者σ,那么通过消解可以从这两个 父辈子句推导出一个新子句(α∨β)σ。这个新子句 叫做消解式。它是由取这两个子句的析取,然后 消去互补对而得到的。
27
④应用消解原理,力图推导出一个表示矛盾的空子
句NIL。该消解反演可以表示为一棵反演树,如 下图4.1所示,其根节点为NIL。因此,储蓄问题 的结论获得证明。
28
图 4.1 储蓄问题反演树
(4) 反演求解过程 从反演求解的举例中可以看出,用反演树求取
对某个问题的答案,其过程如下: (a) 把由目标公式的否定产生的每个子句添加到 目标公式否定之否定的子句中去。 (b) 按照反演树,执行和以前相同的消解,直至 在根部得到某个子句止。 (c) 用根部的子句作为一个回答语句。
20
表 4.1 消解推理常用规则
21
3.4.4 消解反演求解过程
1 基本思想 把要解决的问题作为一个要证明的命题,其目标
公式被否定并化成子句形,然后添加到命题公式 集中去,把消解反演系统应用于联合集,并推导出 一个空子句(NIL),产生一个矛盾,这说明目标 公式的否定式不成立,即有目标公式成立,定理 得证,问题得到解决。这与数学中反证法的思想 十分相似。
下面举出几个从父辈子句求消解式的例子:
13
(a)假言推理
父辈子句 消解式
(b) 合并
14
(c) 重言式
父辈子句 消解式
15
(d) 链式(三段论)
(e) 空子句(矛盾)
父辈子句 消解式
上各例可见,消解可以合并几个运算为一简单的推理规则 16
4.4.3 含有变量的消解式
为了对含有变量的子句使用消解规则,我们必须 找到一个置换,作用于父辈子句使其含有互补文 字。令父辈子句由{Li}和{Mi}给出,而且假 设这两个子句中的变量已经分离标准化。设{li} 是{Li}的一个子集,{mi}是{Mi}的一个子 集,使得集{li}和{~mi}的并集存在一个最 一般的合一者σ。消解两个子句{Li}和{Mi}, 得到的新子句:
于是上述命题写成下列形式:
结论:
25
用化为子句集的九步法,可把前提和结论化 为下列的子句集: S’={~S(x,y)∨~ M(y)∨I(f(x)),~S(x,y)∨~ M(y)∨E(x,f(x))} 其中,y=f(x)为Skolem函 数。而,~L=
={~I(z),S(a,b),M(b)}
26
以下按上述的四个步骤来对问题进行反演求解: ①否定L,即有 ~L = {~I(z),S(a,b),M(b)} ②把 ~ L添加到S’中去,即 S’={~L,S’}={~
数所使用的函数符号必须是新的,即不允许是公
式中已经出现过的函数符号。
7
如果要消去的存在量词不在任何一个全称量词的 辖域内,那么我们就用不含变量的Skolem函数即 常量。例如,(x)P(x)化为P(A),其中常量符号A 用来表示我们知道的存在实体。A必须是个新的 常量符号,它未曾在公式中其它地方使用过。
{{Li}-{li}}σ∪{{Mi}-{mi}}σ 就是这两个子句的消解式。
17
消解两个子句时,可能有一个以上的消解式,因 为有多种选择{li}和{mi}的方法。不过,在 任何情况下,它们最多具有有限个消解式。作为 例子,我们考虑两个子句:
P[x,f(A)]∨P[x,f(y)]∨Q(y) 和 ~P[z,f(A)]∨~Q(z) 如果取 {li}={P[x,f(A)]}, {mi}={~P[z,f(A)]} 那么得到消解式: P[z,f(y)]∨~Q(z)∨Q(y) 如果取 {li}={Q(y)},{mi}={~Q(z)} 那么得到消解式:P[x,f(A)]∨P[x,f(y)]∨~
如果用Skolem函数代替存在的x,我们就可以消去全 部存在量词,并写成:
从一个公式消去一个存在量词的一般规则是以一个
Skolem函数代替每个出现的存在量词的量化变量,
而这个Skolem函数的变量就是由那些全称量词所
约束的全称量词量化变量,这些全称量词的辖域
包括要被消去的存在量词的辖域在内。Skolem函
设公式L在逻辑上遵循公式集S,那么按照定义满足
S的每个解释也满足L。决不会有满足S的解释能
够满足~L的,所以不存在能够满足并集S∪{~
L}的解释。如果一个公式集不能被任一解释所
满足,那么这个公式是不可满足的。因此,如果
L在逻辑上遵循S,那么S∪{~L}是不可满足
的。可以证明,如果消解反演反复应用到不可满
前束形= (前缀) (母式) 全称量词串 无量词公式
9
(6)把母式化为合取范式 任何母式都可写成由一些谓词公式和(或)谓词公 式的否定的析取的有限集组成的合取。这种母式 叫做合取范式。我们可以反复应用分配律。把任 一母式化成合取范式。例如,我们把 A∨{B∧C}化为{A∨B}∧{A∨C}
10
(7)消去全称量词 到了这一步,所有余下的量词均被全称量词量化 了。同时,全称量词的次序也不重要了。因此, 我们可以消去前缀,即消去明显出现的全称量词。
而对于那些发展特别快的高级求解技术,如专家 系统、机器学习和规划系统等,则将在后续章节 讨论它们。
1
内容提要
3.4 消解原理 3.5 规则演绎系统 3.6 产生式系统 3.7 系统组织技术 3.8 不确定性推理 3.9 非单调推理
2
3.4 消解原理
化为子句集 消解推理规则 含有变量的消解式 消解反演求解过程
29
答案求取涉及到把一棵根部有NIL的反演树变换 为在根部带有可用作答案的某个语句的一颗证明 树。由于变换关系涉及到把由目标公式的否定产 生的每个子句变换为一个重言式,所以被变换的 证明树就是一棵消解的证明树,其在根部的语句 在逻辑上遵循公理加上重言式,因而也单独地遵 循公理。因此被变换的证明树本身就证明了求取 办法是正确的。下面讨论一个简单的问题,作为 例子:
足的子句集,那么最终将要产生空子句NIL。因
此,如果L在逻辑上遵循S,那么由并集S∪{~
L}消解得到的子句,最后将产生空子句;反之,
可以证明,如果从S∪{~L}的子句消解得到空
子句,那么L在逻辑上遵循S。
24
(3) 反演求解的举例 下面举个例子来说明消解反演过程: 前提:每个储蓄钱的人都获得利息。 结论:如果没有利息,那么就没有人去储蓄钱。 证明:令S(x,y)表示"x储蓄y" M(x)表示"x是钱" I(x)表示"x是利息" E(x,y)表示"x获得y"
4
1 子句集的求取
在说明消解过程之前,我们首先说明任一谓词演算公 式可以化成一个子句集。其变换过程由下列九 个步骤组成:
(1)消去蕴涵符号 只应用∨和~符号,以~A∨B替换A=>B。
(2)减少否定符号的辖域 每个否定符号~最多只用到一个谓词符号上, 并反复应用狄·摩根定律。例如: 以~A∨~B代替~(A∧B)以~A∧~B代替~ (A∨B)以(x){~A}代替~(x)A以(x){~A}代替~ (x)A以A代替~(~A)
讨论了一些简单搜索的基本原理,包括某些推理 规则以及置换合一等概念。但对于许多比较复杂 的系统和问题,如果采用上一章讨论过的搜索方 法,那么很难甚至无法使问题获得解决的。需要 应用一些更先进的推理技术和系统求解这种比较 复杂的问题。
本章讨论消解原理,规则演绎系统、产生式系统、 不确定性推理和非单调推理等,
(8)消去连词符号∧ 用{(A∨B), (A∨C)}代替(A∨B)∧(A∨C),以消 去明显的符号∧。反复代替的结果,最后得到一 个有限集,其中每个公式是文字的析取。任一个 只由文字的析取构成的合适公式叫做一个子句。
11
(9)更换变量名称 可以更换变量符号的名称,使一个变量符号不出 现在一个以上的子句中。例如,对于子集{~ P(x)∨~P(y)∨P[f(x,y)],~P(x)∨Q[x,g(x)],~ P(x)∨~P[g(x)]},在更改变量名后,可以得到子 句集: {~P(x1)∨~P(y)∨P[f(x1,y)], ~P(x2)∨Q[x2,g(x2)], ~P(x3)∨~P[g(x3)]
22
2 消解反演 (1) 反演求解的步骤
给出一个公式集S和自标公式L,通过反证或反演 来求证目标公式L,其证明步骤如下: (a)否定L,得~L; (b)把~L添加到S中去; (c)把新产生的集合{~L,S}化成子句集; (d)应用消解原理,力图推导出一个表示矛盾的空 子句NIL。
23
(2) 反演求解的正确性
例如:(z)(y)(x)P(x,y,z)被{(y)P(g(y),y,A)}代替,其 中g(y)为一Skolem函数。
8
(5)化为前束形 到这一步,已不留下任何存在量词,而且每个
全称量词都有自己的变量。把所有全称量词移到 公式的左边,并使每个量词的辖域包括这个量词 后面公式的整个部分。所得公式称为前束形。前 束形公式由前缀和母式组成,前缀由全称量词串 组成,母式由没有量词的公式组成,即
“如果无论约翰(John)到哪里去,菲多(Fido)也 就去那里,那么如果约翰在学校里,菲多在哪里 呢?”
30
很清楚,这个问题说明了两个事实,然后提出一个问题, 而问题的答案大概可从这两个事实推导出。这两个事实 可以解释为下列公式集S: ( x)[AT(JOHN,X)=>AT(FIDO,X)]和T(JOHN,SCHOOL) 如果我们首先证明公式( x)AT(FIDO,X)在逻辑上遵 循S,然后寻求一个存在x的例,那么就能解决“菲多在 哪里”的问题。关键想法是把问题化为一个包含某个存 在量词的目标公式,使得此存在量词量化变量表示对该 问题的一个解答。如果问题可以从给出的事实得到答案, 那么按这种方法建立的目标函数在逻辑上遵循S。在得到 一个证明之后,我们就试图求取存在量词量化变量的一 个例,作为一个回答。对于上述例题能够容易地证明 ( x)AT(FIDO,X) 遵循S。我们也可以说明,用一种比较简 单的方法来求取合适的答案。
5
(3)对变量标准化 在任一量词辖域内,受该量词约束的变量为一哑 元(虚构变量),它可以在该辖域内处处统一地被 另一个没有出现过的任意变量所代替,而不改变 公式的真值。合适公式中变量的标准化,意味着 对哑元改名以保证每个量词有其自己唯一的哑元。
6
(4)消去存在量词
Skolem函数: 在公式(y)[(x)P(x,y)]中,存在量词是在 全称量词的辖域内,我们允许所存在的x可能依 赖于y值。令这种依赖关系明显地由函数g(y)所定 义,它把每个y值映射到存在的那个x。这种函数 叫做Skolem函数。
3
第二章中讨论过谓词公式,某些推理规则以及置 换合一等概念。在这个基础上,能够进一步研究 消解原理(resolution principle)。有些专家把它叫 做归结原理。
消解是一种可用于一定的子句公式的重要推理规 则。一个子句定义为由文字的析取组成的公式(一 个原子公式和原子公式的否定都叫文字)。当消解 可使用时,消解过程被应用于母体子句对,以便 产生一个导出子句。例如,如果存在某个公理 E1∨E2和另一公理~E2∨E3,那么E1∨E3在逻 辑上成立。这就是消解,而称E1∨E3为E1∨E2 和~E2∨E3的消解式(resolvent)。
相关文档
最新文档