人工智能:3.2    推理的逻辑基础




人工智能:3.2    推理的逻辑基础


 


3.2.1        
谓词公式的解释


在命题逻辑中,命题公式的一个解释就是对该命题公式中各个命题变元的一 次真值指派 。有了命题公式的解释 ,就可以根据这个解释求出该命题公式的真值。但谓词逻辑则不同,由于谓词公式中可能包含有个体常量、个体变元或函数,因 此,不能像命题公式那样直接通过真值指派给出解释。必须先考虑个体常量和函
数在个体域下的取值,然后才能根据常量与函数的具体取值为谓词分别指派真  假。下面给出谓词公式的解释的定义。


D 是谓词公式 P 的非空个体域,若对 P 中的个体常量、函数和谓词按如


下规定赋值


(1)      为每个个体常 量指派 D 中的一个元素


(2)      为每个 n 元函数指派一个从 D
n
D 的一个映射


(3)     
为每个 n 元谓词指派一个从 D n{F,T} 的一个映射则称这些指派为 P D 上的一个解释。



3.1    设个体 D
{1 2} ,求公 A
( x)( $ y)P (x,y) D 上的解释,并指出在每一种解释下公 A
的真值


   由于公 A 中没有包含个体常量和函数,因此可以直接为谓词指派


 


45







人工智能技术与方法


值,设真值指派如下


 




P(1,1)

P(1,2)

P(2,1)

P(2,2)

T

F

T

F

这就是公式 A D
上的一个解释。从这个解释可以看出 x 1
y 1
时,有 P (x y
) 的真值为 T


x
2 y l
时,有 P (x y
) 的真值为 T


即对 x D 上的任意取值,都存在 y 1 使 P (x y ) 的真值为 T ,因此,在此解释下公式 A 的真值为 T


需要注意,一个谓词公式在其个体域上的解释不是唯一的。例如,对于公式


A ,若给出另一组真值指派


 




P(1,1)

P(1,2)

P(2,1)

P(2,2)

T

T

T

F

这也是公式 A D 上的一个解释。从这个解释 可以看出 x 1
y 1 时,有 P
(x y ) 的真值为 T


x
2 y
1 时,有 P
(x y ) 的真值为 F


同样,


x
1 y
2 时,有 P
(x y ) 的真值为 T


x
2 y
2 时,有 P
(x y ) 的真值为 F


即并非在 D
上的任意 x ,都能使 P (x
y ) 的真值总是为 T
。因此,在此解释下公式


A 的真值为 F


实际上, A D 上共有 16 种解释,这里就不再一一列举。


3. 2      设个体 D
{l 2} ,求公 B
( x)P (f (x )
a)
D
上的解释,并指出在该解释下公 A 的真值


解  设对个体常 a
和函 f (x) 的真值指派如


 




a

f (1)

f (2)

1

1

2

对谓词的真值指派如下


 


 


46







3    基本推理原


 




P(1,1)

P(1,2)

P(2,1)

P(2,2)

T

F

这里,由于已知指派 a 1 ,所以 P (1 2) P (2 2) 不可能出现,故没有给它们指派真值。上述指派是公式 B D 上的一个解释。在此解释下,有以下情况


x 1 时 ,P (1 1) T


x
2
时 ,P
(2 1)
T


即对
x D
上的任意取值,且 a 指派为 1 时,都使 P
(f(x
)
a)
的真值为 T
,因此, 在此解释 下公式 B 的真值为 T


由上面的例子可以看出,谓词公式的真值都是针对某一个解释而言的,它可能在某一个解释下真值为 T ,而在另一个解释下真值为 F


 


3.2.2        
谓词公式的永真性与可满足性


为了以后推理的需要,下面先定义谓词公式的永真性、永假性、可满足性与不可满足性。


如果谓词公式 P
对非空个体域 D 上的任一解释都取得真值 T ,则称 P
D 上是永真的 如果 P 在任何非空个体域上均是永真的,则称 P 永真。由此定义可以看出,要判定一个谓词公式为永真,就必须对每个非空个体域上的每个解释逐一进行判断。当解释的个数有限时,尽管工作量大 ,但毕竟还可以判定 当解释个数无限时,就很难判定了。


对于谓词公式 P ,如果至少存在 D 上的一个解释,使公式 P 在此解释下的真


值为 T
,则称公式 P
D 上是可满足的。谓词公式的可满足性也称为相容性。如果谓词公式
P 对非空个体域
D 上的任一解释都取真值
F ,则称 P D 上是永假的如果 P
在任何非空个体域上均是永假的,则称 P
永假。谓词公式的永假性又称不可满足性或不相容性。


 


3.2.3        
谓词公式的范式


范式是公式的标准形式,公式往往需要变换为同它等价的范式,以便对它们作一般性的处理。在谓词逻辑中,根据量词在公式中出现的情况可将谓  词公式的


 


47







人工智能技术与方法


范式分为两种。


1.     前束范式


F 为一谓词公式,如果其中的所有量词均非否定地出现在公式的最前面, 而它们的辖域为整个公式,则称
F 为前束范式。一般地,前束范式可写成


(Q1x 1) (
Qnx n)M(x 1
x 2 x n)


其中, Qi
i 1 2 n
)为前缀,它是一个由全称量词或存在量词组成的量词串, M (x
1
x
2 x
n
)
为母式,它是一个不含任何量词的谓词公式。例如,


( x)( y)( $ y)[P(x)Q(y,z)R
(x ,
z)]


2.   Skolem 范式


如果前束范式中所有的存在量词都在全称量词之前,则称这种形式的谓词公式为 Skolem 范式。例如, ( $
x)(
$ z)( y)[P (x )Q(y ,z)R
(x ,z)]
Skolem 范式。


 


3.2.4        
置换与合一


在不同谓词公式中,往往会出现谓词名相同但其个体不同的情况,此时推理过程是不能
直接进行匹配的,需要先进行置换。例如,可根据全称固化推理和假言推理由谓词公式


W1(A ) (
x)(W1(x)
® W2(x ))


推出 W2(A ) 。谓词 W
1(A ) 可看作是由全称固化推理推出的,其中 ,A 是任意个体常量。要使用假言推理,首先需要找到项 A
对变元 x 的置换,使 W1(A ) W1(x) 一致。这种寻找项对变元的置换,使谓词一致的过程叫做合一的过程。下面讨论置换与 合一的有关概念与方法。


1.     置换


置换(Substitution)
可以简单理解为在一个谓词公式中用置换项 去替换变量。置换是形如


{t1/x 1 t2/x2 t n/x n}


的有限集合。其中, t1 t2 t n是项x 1 x 2 x
n
是互不相同的变元 ti/x i


表示用 ti 置换 x
i
,并且要求 ti x
i
不能相同 x i 也不能循环地出现在另一个
ti 中。


 


48







3    基本推理原


用项 A 替换函数表达式中的变量 x ,记作 Es ,即表示一个表达式 E 用一个置换 s


而得到的表达式的置换。例如,表达式 P [x
f(y
) B ] 4
个置换分别为


s1={z/x W/y }


s2={A /y }


s3={q(z)/x
A /y }


s4={C/x A
/y}


Es 来表示一个表达式 E 用置换 s 所得到的表达式的置换,于是,可分别得到
P [x f(y ) B
] 4
个置换的例子


P
[x f(y ) B
]s1=P
[z
f( W) B
]


P
[x f(y ) B
]s2=P
[x
f(A ) B
]


P [x f(y ) B
]s3=P
[q(z)
f(A ) B
]


P
[x f(y ) B
]s4=P
[C
f(A ) B
]


2.     置换的合成


θ={t1/x1 t2/x2 tn/xn} λ={u1/y 1 u2/y 2 un/y n 
} 是两 个置换,则θλ的合成也是一个置换,记 θλ。它是从集合


{t1 λ/x 1 t2 λ/x 2 tn λ/x n u1/y 1 u2/y 2 un/y n }


中删去以下两种元素


(1) 

tiλ x i 时,删去 tiλ/xi  
(i 1 2 n)


(2) y i Î{x 1 x 2 x n} 时,删去 uj/yj ( j 1 2 m ) 最后剩下的元素所构成的集合。


例如,设θ={ f (y )/x z/y } λ={a/x b/y y /z} ,求θλ的合成。先求集合


{
f (b/y)/x
(y /z)/y
a/x b/y y
/z}



{ f (b)/x
y /y a/x b/y y
/z}


其中 f (b)/x 中的 f(b) 是置换λ作用于 f(y
) 的结果y /y 中的 y
是置换λ作用于 z 的结果。在该集合中 y /y
满足定义中的条件(1) ,需要删除a/x b/y
满足定义中的条


(2) ,即 x
y 置换已包含于θ中, 也需要删除。最后得到


θλ={f(b)/x y /z}


置换满足结合律,但一般不满足交换律。设 E 为一表达式, s1 s2 s3 为三个置


 


49







人工智能技术与方法


换,则有


 


 


3.     合一






 


 


(Es 1)s2=E
(s1s2)


(s1s2s3)=s1(s2s3)


s1 s2 s2 s1







合一(Unifier) 可以简单地理解为寻找项对变量的置换,使两个谓词公式一致。设有公式集 F {F 1F
2 F
n
}
,若存在一个置换θ,可使 F
1 θ=F
2
θ= F nθ,则θ F
的一个合一者,称 F 1 F 2 F n是可合一的。例如,设有公式集 F


{P (x y
f(y )) P
(a g(x ) z)} ,则θ={a/x g(x )/y f(g(a))/z}
是它的一个合一。


4.     最一般合一


一般来说,一个公式集的 合一不是唯一的。设 σ是公式集 F 的一个合一,如果对  F   的任一个合一 θ都存在一个置换λ,使得 θ=σλ,则称σ是一个最一般合一 (Most General Unifier MGU) 。一个公式集的最一般合一是唯一的。若用最一般合一去置换那些可合一的谓词公式,可使谓词公式产生的例更一般化,这有利于归结过程的灵活使用。下面给出 寻找到公式集的 最一般合一的 算法


(1)      同时从每个公式的第一个符号向右开始比较


(2)      直到发现第一个不相同的符号为止


(3)      用其元素组成集合,称分歧集


(4)      如此下去,可以找到多个分歧 集


(5)      这些分歧集的合成,就是公式集的最一般合一。


3.3    求公式 F
={P (a x f (g(y ))) P (z h(z u) f (u))} 的最一般合一


  (1) F 0 =F F 0 不是单一表达式,分歧 D 0 ={a z} ,则置θ1={a/z}



F 1 =F
0 θ1= {P (a x
f (g(y))) P
(a h(a u) f
(u))}


(2)   F 1  不是单一表达式 ,分歧集 D 1 ={x h(a u)} ,则置换θ2 = θ1 {h(a u)/x } ={a/z


h(a u)/x } ,得


F 2 =F1θ2={P (a h(a u) f (g(y ))) P (a h(a u) f(u))}


(3)   F 2  不是单一表达式,分歧集 D 2 ={g(y ) u} 则置换θ3 = θ2 { g(y)/u}=


{a/z h(a g(y))/x g(y )/u} ,得


 


50











 





ETC注销ETC充值ETC客服ETC扣费查询


ETC发行合作

发表回复