当前位置:
文档之家› 第3章 基于谓词逻辑的机器推理2
第3章 基于谓词逻辑的机器推理2
完备性
我们希望得出结论 S(A) 。如果Q(A) 或者R(A) 是真 的则S(A) 是真的,然而它们其中必有一个是真的, 因为要么P(A)是真的要么 P( A) 是真的。
2
第三章 基于谓词逻辑的机器推理
3. 4 归结演绎推理
1、归结原理
不幸的是用假言推理规则进行推理不能得出S(A) 。问题在于 x P( x) R( x) 不能转换成Horn子句 形式,也就不能应用假言推理。这意味着利用假言 推理的证明过程是不完备的:存在由知识库限定的 语句不能被该过程推导得出。
p q 相同,
用相应的析取语句代替蕴含语句。 例:x { y P(x,y) ¬ y[Q(x,y) R(x,y)]} 由第一步可得: x {¬ y P(x,y) ¬ y[¬Q(x,y) R(x,y)]}
缩小否定符号
的辖域:否定符号只允许用到原子
14
语句上。反复运用摩尔定律,消去大量的否定符号:
x (y Dog( y) Owns( x, y)) AnimalLove r ( x) Dog( y) Owns( x, y)) AnimalLove r ( x)) AnimalLove r ( x)) AnimalLove r ( x)) AnimalLove r ( x))
x Person( x ) y Heart( y) Has( x, y)
为了说明每人都有心脏,而且不需要相同的心脏, 我们用一个函数来表示每人的心脏:
x Person( x) Heart( F ( x)) Has( x, F ( x))
18
第三章 基于谓词逻辑的机器推理
3. 2 归结演绎推理
25
第三章 基于谓词逻辑的机器推理
3. 2 归结演绎推理
r ( x) Animal ( y) Kills( x, y) C: AnimalLove
D: E:
False
Kills( Jack, Tuna) Kills(Tom, Tuna)
Cat(Tuna)
( x) F: Cat( x) Anim al
A:
x Dog( x) Owns( Jack, x) x (y Dog( y) Owns( x, y)) AnimalLove r ( x)
B:
r ( x) y Animal ( y) Kills( x, y) C: x AnimalLove
D:
E:
Kills( Jack, Tuna) Kills(Tom, Tuna)
9
第三章 基于谓词逻辑的机器推理
3. 4 归结演绎推理 对于上面的知识库可以转换为:
合取标准型
P( w) Q( w) P( x) R( x) Q( y ) S ( y ) R( z ) S ( z )
蕴含标准型
P( w) Q( w) True P( x) R( x) Q( y ) S ( y ) R( z ) S ( z )
x ((y
x ((y ( Dog( y) Owns( x, y)) x ((y Dog( y) Owns( x, y)) x y (Dog( y) Owns( x, y)
B:
Dog( y) Owns( x, y)
AnimalLove r ( x)
Cat(Tuna)
x Cat( x) Animal ( x)
23
F:
第三章 基于谓词逻辑的机器推理
3. 2 归结演绎推理
现在我们将这些语句转换成蕴含标准型。我们用简 写P 来表示 : Ture P A1:Dog(D)
A2:Owns (Jack, D)
24
第三章 基于谓词逻辑的机器推理
3. 2 归结演绎推理
26
第三章 基于谓词逻辑的机器推理
3. 2 归结演绎推理
现在的问题就是要证明Kills (Tom, Tuna)是真的。
其中F是以前知识库中没有的函数,叫做Skolem 函 数。通常,当存在量词处于某一个全称量词的辖域中 时,我们用 Skolem 函数来取代存在量词变量,否则 我们就用常量来取代。 Skolem 函数将所有的存在量 词都消去,然后我们把全称量词也消去。剩下的变量 都是全称量词变量。
19
第三章 基于谓词逻辑的机器推理
12
第三章 基于谓词逻辑的机器推理
3. 2 归结演绎推理
5、 标准型的转换
下面我们将看到任意一个一阶逻辑语句都可被转 化为蕴含标准型 ( 或合取标准型 ) 。我们将一步步给 出转化成标准型的过程,并说明在转化的同时没有 改变语句的意义。
13
5.2.1子句集(3)
消除蕴含符号:由于 p q 与
3. 2 归结演绎推理
转换为合取式:例如用(a c) (b c) 代替 (a b) c ,将
(a b) c 转换成 (a b c) , (a b) c 转换成
(a b c) 。这就是合取标准型
转换为蕴含标准型:对于每个析取,将有否定符号的集 中在一起作为蕴含的一边,其余的作为另一边:
True P ( x ) R ( x )
w / x
True S ( x ) R ( x )
R( z ) S ( z )
x / A, z / A
True S ( A)
11
第三章 基于谓词逻辑的机器推理
3. 4 归结演绎推理 4、完备的推理程序 采用消解规则的推理链比采用假言推理的推理链功 能要强大,但它仍然不是完备的。例如,如果知识 库为空,我们希望证明 P P 这条语句是永真的 ,但我们无法对一个空知识库使用消解规则,因此 我们无法证明。 一种采用消解原理的完备的推理过程就是反证。其 思想就是为了证明P ,假设P是假的然后由此推出矛 盾。如果能够推出矛盾,则表示知识库涵蕴 P。
No animal lover kills an animal.
Either Jack or Tom killed the cat, who is named Tuna. Did Tom kill the cat?
22
第三章 基于谓词逻辑的机器推理
3. 2 归结演绎推理
首先我们用一阶逻辑来表达这些:
量词左移:在影响语句意思的情况下把所有的量词 移到语句的最左边,按它们出现的顺序排列。例如: 用 xp Nhomakorabea代替 p
x q 不会改变语句的真
假,因为 p 与 x 无关。
第三章 基于谓词逻辑的机器推理
3. 2 归结演绎推理
消除存在量词(Skolemize):Skolemization 是一种消 除存在量词的过程。考虑“每个人都有心脏”:
(a b c d ) 转换为 (a b c d )
这是蕴含标准型。
20
5.2.1子句集(15)
蕴含等价式 双重否定律、 摩根定律、 量词转换律
消去蕴含词和等值词
使否定词仅作用于 原子公式 使量词间不含 同名指导变元
没有蕴含词、等值词 “¬”作用原子谓词
存在指定、 依赖关系
8
第三章 基于谓词逻辑的机器推理
3. 4 归结演绎推理
2、消解的标准型
在消解规则的第一种形式中,每条语句都是析取 ,整个知识库可看作是这些析取的合取,因此这种 形式也称为合取标准型。 在消解规则的第二种形式中,每个语句都是一个 蕴含语句,它的左边由原子语句的合取组成的,右 边是原子语句的析取。我们成这种形式为蕴含标准 型。
(resolution algorithm)。
4
第三章 基于谓词逻辑的机器推理
3. 4 归结演绎推理
消解:一种完备的推理过程
前面我们曾经提到消解推理:
,
, 或者等价于
注意到假言推理不能推导出新的蕴涵语句,因 此消解规则的表达能力比假言推理规则强。
第三章 基于谓词逻辑的机器推理
3. 4 归结演绎推理 1、归结原理
完备性 假设我们有如下的知识库:
x P( x) Q( x)
x P( x) R( x)
x Q( x) S ( x) x R( x) S ( x)
1
第三章 基于谓词逻辑的机器推理
3. 4 归结演绎推理
1、归结原理
=> x { y ¬ P(x,y) y [Q(x,y) ¬ R(x,y)]}
15
变量标准化:对于类似于 (x P( x)) (x Q( x)) 的语句,改变其中一个的变量名。
x { y ¬ P(x,y) y [Q(x,y) ¬ R(x,y)]} 问题:不同辖域的相同变元对应的约束相同吗? => x { y ¬ P(x,y) z[Q(x,z) ¬ R(x,z)]}
5
第三章 基于谓词逻辑的机器推理
3. 4 归结演绎推理
消解推理规则
我们对上面的简单的消解规则进行扩展:对于任 意长度的两个析取式,如果其中一个析取式中的某 一项( pi)能够与另一个析取式中的某一项( qk)的否定 合一,则可推出两个析取式中的所有项(不包括 pi 和 qk )的析取。
6
第三章 基于谓词逻辑的机器推理
消去存在量词
消去全称量词 化公式为合取范式
没有量词( 、 ) 合取范式
全称指定
分配律
2
第三章 基于谓词逻辑的机器推理
3. 2 归结演绎推理 6、证明举例
现在我们将通过一个例子来看看怎样用消解规则来进行证明。 假设我们有:
Jack owns a dog.
Every dog owner is an animal lover.
3
第三章 基于谓词逻辑的机器推理
3. 4 归结演绎推理