人工智能技术导论——基于谓词逻辑的机器推理

一、一阶谓词逻辑

1、谓词、函数、量词  

设a1, a2, …, an表示个体对象, A表示它们的属性、状态或关系, 则表达式

A(a1, a2, …, an) 

在谓词逻辑中就表示一个(原子)命题。 例如,  
     (1) 素数(2), 就表示命题“2是个素数”。  
   (2)  好朋友(张三, 李四), 就表示命题“张三和李四是好朋友”。
一般地, 表达式

P(x1,x2,…,xn)

在谓词逻辑中称为n元谓词。其中P是谓词符号,也称谓词,代表一个确定的特征或关系(名)。x1,x2,…,xn称为谓词的参量或者项,一般表示个体。
       个体变元的变化范围称为个体域(或论述域),包揽一切事物的集合称为全总个体域。
为了表达个体之间的对应关系,我们引入通常数学中函数的概念和记法。例如我们用father(x)表示x的父亲,用sum(x,y)表示数x和y之和,一般地,我们用如下形式:

f(x1,x2,…,xn)

表示个体变元x1,x2,…,xn所对应的个体y,并称之为n元个体函数,简称函数(或函词、函词命名式)。其中f是函数符号,有了函数的概念和记法,谓词的表达能力就更强了。

例如,我们用Doctor(father(Li))表示“小李的父亲是医生”,用E(sq(x),y))表示“x的平方等于y”。


以后我们约定用大写英文字母作为谓词符号,用小写字母f,g, h等表示函数符号,用小写字母x, y, z等作为个体变元符号, 用小写字母a, b, c等作为个体常元符号。

我们把“所有”、“一切”、“任一”、“全体”、“凡是”等词统称为全称量词, 记为 ∀x; 把“存在”、“有些”、“至少有一个”、 “有的”等词统称为存在量词, 记为∃ x。

其中M(x)表示“x是人”, N(x)表示“x有名字”, 该式可读作“对于任意的x, 如果x是人, 则x有名字”。这里的个体域取为全总个体域。

如果把个体域取为人类集合, 则该命题就可以表示为

 同理, 我们可以把命题“存在不是偶数的整数”表示为

 其中G(x)表示“x是整数”, E(x)表示“x是偶数”。此式可读作“存在x, x是整数并且x不是偶数”。

不同的个体变元, 可能有不同的个体域。为了方便和统一起见, 我们用谓词表示命题时,一般总取全总个体域, 然后再采取使用限定谓词的办法来指出每个个体变元的个体域。 具体来讲,有下面两条:  
    (1) 对全称量词,把限定谓词作为蕴含式之前件加入, 即 ∀x(P(x)→…)。
    (2) 对存在量词, 把限定量词作为一个合取项加入, 即 ∃x(P(x)∧…)。  
这里的P(x)就是限定谓词。 我们再举几个例子。

例 5.1 不存在最大的整数, 我们可以把它翻译为

不存在一个整数x,总比所有的整数y都大


 任意的一个整数x,总有一个整数y比x大


例 5.2 对于所有的自然数, 均有x+y>x

例5.3 某些人对某些食物过敏

2、谓词公式 

定义1  
    (1) 个体常元和个体变元都是项。  
    (2) 设f是n元函数符号,若t1,t2,…,tn是项,则f(t1,t2,…,tn)是项。
    (3) 只有有限次使用(1), (2)得到的符号串才是项。

定义2  设P为n元谓词符号,t1,t2,…,tn为项,则P(t1,t2,…,tn)称为原子谓词公式,简称原子公式或者原子。
     从原子谓词公式出发,通过命题联结词和量词,可以组成复合谓词公式。下面我们给出谓词公式的严格定义,即谓词公式的生成规则。

定义3
         (1)原子公式是谓词公式。
         (2)若A,B是谓词公式,则A,A∧B,A∨B,A→B,  A↔B, ∀xA,  ∃xA也是谓词公式。
         (3)只有有限步应用(1),(2)生成的公式才是谓词公式。
        由项的定义,当t1,t2,…,tn全为个体常元时,所得的原子谓词公式就是原子命题公式(命题符号)。所以,全体命题公式也都是谓词公式。谓词公式亦称为谓词逻辑中的合适(式)公式,记为Wff。

紧接于量词之后被量词作用(即说明)的谓词公式称为该量词的辖域。例如:  
     (1)   ∀xP(x)。
     (2)   ∀x(H(x)→G(x, y))。
     (3)   ∃xA(x)∧B(x)。
其中(1)中的P(x)为∀x的辖域, (2)中的H(x)→G(x, y)为∀x的辖域, (3)中的A(x)为∃x的辖域, 但B(x)并非 ∃x的辖域。

量词后的变元如 ∀x,  ∃y中的x,y称为量词的指导变元(或作用变元), 而在一个量词的辖域中与该量词的指导变元相同的变元称为约束变元, 其他变元(如果有的话)称为自由变元, 例如(2)中的x为约束变元, 而y为自由变元, (3)中A(x)中的x为约束变元, 但 B(x)中的x为自由变元。例如(3),一个变元在一个公式中既可约束出现, 又可自由出现, 但为了避免混淆, 通常通过改名规则, 使得一个公式中一个变元仅以一种形式出现。

约束变元的改名规则如下:  
     (1) 对需改名的变元, 应同时更改该变元在量词及其辖域中的所有出现。  
     (2) 新变元符号必须是量词辖域内原先没有的, 最好是公式中也未出现过的。例如公式   ∀xP(x)∧Q(x)可改为∀yP(y)∧Q(x), 但两者的意义相同。  
     在谓词前加上量词, 称作谓词中相应的个体变元被量化, 例如∀xA(x)中的x被量化,  ∃yB(y)中y被量化。如果一个谓词中的所有个体变元都被量化, 则这个谓词就变为一个命题。例如, 设P(x)表示“x是素数”,则  ∀xP(x),  ∃xP(x)就都是命题。这样我们就有两种从谓词(即命题函数)得到命题的方法:一种是给谓词中的个体变元代入个体常元, 另一种就是把谓词中的个体变元全部量化。

需要说明的是,仅个体变元被量化的谓词称为一阶谓词,如果不仅个体变元被量化,而且函数符号也被量化,这样的谓词称为二阶谓词。本书只涉及一阶谓词。

把上面关于量化的概念也可以推广到谓词公式。于是,我们便可以说,如果一个公式中的所有个体变元都被量化,或者所有变元都是约束变元(或无自由变元),则这个公式就是一个命题。特别地,我们称∀xA(x)为全称命题,∃xA(x)为特称命题。对于这两种命题,当个体域为有限集时(设有n个元素),有下面的等价式:
                       ∀xA(x)⇔A(a1)∧A(a2)∧…∧A(an)
                       ∃xA(x)⇔A(a1)∨A(a2)∨…∨A(an)

这两个式子也可以推广到个体域为可数无限集。

定义4  设A为如下形式的谓词公式:

B1∧B2∧…∧Bn

其中Bi(i=1,2,…,n)形如L1∨L2∨…∨Lm,Lj(j=1,2,…,m)为原子公式或其否定,则A称为合取范式。
例如:
 (P(x)∨Q(y))∧(乛P(x)∨Q(y)∨R(x,y))∧(乛Q(y)∨乛R(x,y))
 就是一个合取范式。

定义5  设A为如下形式的命题公式:    

 B1∨B2∨…∨Bn

其中Bi(i=1,2,…,n)形如L1∧L2∧…∧Lm,Lj(j=1,2,…,m)为原子公式或其否定,则A称为析取范式。
例如:
(P(x)∧乛Q(y)∧R(x,y))∨(乛P(x)∧Q(y))∨(乛P(x)∧R(x,y))
就是一个析取范式。













猜你喜欢

转载自www.cnblogs.com/wkfvawl/p/12112035.html