第一部分;第3章AI编程基础 3.2一阶谓词逻辑 3.2.1谓词 3.2.2量词 3.2.3谓词逻辑的合式公式 32.4自由变元与约束变元 3.2.5谓词公式的解释 3.2.6含有量词的等价式和蕴含式 3.2.7谓词逻辑中的推论规则 3.2.8谓词公式的范式与斯柯林标准形 2004.11.3 A|程序设计 26
2004.11.3 AI程序设计 26 第一部分:第3章 AI编程基础 3.2 一阶谓词逻辑 3.2.1 谓词 3.2.2 量词 3.2.3 谓词逻辑的合式公式 3.2.4 自由变元与约束变元 3.2.5 谓词公式的解释 3.2.6 含有量词的等价式和蕴含式 3.2.7 谓词逻辑中的推论规则 3.2.8 谓词公式的范式与斯柯林标准形
第一部分:第3章AI编程基础 3.2.1谓词 在谓词逻辑中,命题是用谓词表示的,一个谓词可分为谓词名与 个体这两个部分。个体表示某个独立存在的事物或者某个抽象的概 念;谓词名用于刻画个体的性质、状态或个体间的关系。 例如,对于“老张是教师”这个命题,用谓词可表示为 Teacher ( Zhang)。其中 Teacher是谓词名, Zhang是个体,“ Teacher 刻画了“ Zhang"的职业是教师这一特征。又如"5>3″这个不等式 可用谓词表示为 Greater(5,3),这里 Greater刻画了5与3之间 的“大于”关系。 2004.11.3 A|程序设计 27
2004.11.3 AI程序设计 27 第一部分:第3章 AI编程基础 3.2.1 谓词 在谓词逻辑中,命题是用谓词表示的,一个谓词可分为谓词名与 个体这两个部分。个体表示某个独立存在的事物或者某个抽象的概 念;谓词名用于刻画个体的性质、状态或个体间的关系。 例如,对于“老张是教师”这个命题,用谓词可表示为Teacher ( Zhang )。其中Teacher是谓词名,Zhang是个体,“Teacher” 刻画了“Zhang”的职业是教师这一特征。又如,“5>3”这个不等式 可用谓词表示为Greater(5,3),这里Greater刻画了5与3之间 的“大于”关系
第一部分:第3章AI编程基础 3.2.1谓词 谓词的一般形式是:P(x1,x2,…,xn 其中,P是谓词名,x1,x2,…,x是个体。谓词名通常用大写的英文字 母表示,个体通常用小写的英文字母表示个体可以是常量,也可以 是变元,还可以是一个函数。 例如,对于“x<5",可表示为Less(x,5),其中x是变元。又如,对于 “小王的父亲是教师”,可表示为 Teacher( father(Wang),其中 father (Wang)是一个函数 在用谓词表示客观事物时,谓词的语义是由使用者根据需要人为地 定义的。例如对于谓词Sx),既可以定义它表示“x是一个学生”,也 可以定义它表示“x是一只船”或者别的什么。 当谓词中的变元都用特定的个体取代时,谓词就具有一个确定的真 值:T或F。 2004.11.3 A|程序设计 28
2004.11.3 AI程序设计 28 第一部分:第3章 AI编程基础 3.2.1 谓词 谓词的一般形式是:P (x1 , x2 , ..., xn ) 其中,P是谓词名,x1 , x2 , ..., xn是个体。谓词名通常用大写的英文字 母表示,个体通常用小写的英文字母表示,个体可以是常量,也可以 是变元,还可以是一个函数。 例如,对于“ x<5" ,可表示为Less (x , 5 ),其中x是变元。又如,对于 “小王的父亲是教师” ,可表示为Teacher (father(Wang)),其中father (Wang)是一个函数。 在用谓词表示客观事物时,谓词的语义是由使用者根据需要人为地 定义的。例如对于谓词S(x),既可以定义它表示“ x是一个学生” ,也 可以定义它表示“ x是一只船”或者别的什么。 当谓词中的变元都用特定的个体取代时,谓词就具有一个确定的真 值:T或F
第一部分:第3章AI编程基础 3.2.1谓词 谓词中包含的个体数目称为谓词的元数。例如P(x)是一元谓词,P(x,y) 是二元谓词,P(x12x2,…,xn)是n元谓词。 在谓词P(x1x2…,xn)中,若x(i=1,…,n都是个体常量、变元或函数,称 它为一阶谓词。如果某个x,本身又是一个一阶谓词,则称它为二阶谓词。 余者类推。 个体变元的取值范围称为个体域。个体域可以是有限的,也可以是无 限的。例,若用Ⅰ(x)表示“x是整数”,则个体域是所有整数,是无限的。 谓词与函数表面上很相似,容易混淆,其实这是两个完全不同的概念。 谓词的真值是“真”或“假”,而函数的值是个体域中的某个个体,函 数无真值可言,它只是在个体域中从一个个体到另一个个体的映射。 个体常量、个体变元、函数统称为“项”。 2004.11.3 A|程序设计 29
2004.11.3 AI程序设计 29 第一部分:第3章 AI编程基础 3.2.1 谓词 谓词中包含的个体数目称为谓词的元数。例如P (x)是一元谓词,P (x, y) 是二元谓词,P(x1 , x2 , ..., xn )是n元谓词。 在谓词P (x1 , x2 , ..., xn )中,若xi (i = 1, ..., n)都是个体常量、变元或函数,称 它为一阶谓词。如果某个xi本身又是一个一阶谓词,则称它为二阶谓词。 余者类推。 个体变元的取值范围称为个体域。个体域可以是有限的,也可以是无 限的。例,若用I (x)表示“ x是整数” ,则个体域是所有整数,是无限的。 谓词与函数表面上很相似,容易混淆,其实这是两个完全不同的概念。 谓词的真值是“真”或“假” ,而函数的值是个体域中的某个个体,函 数无真值可言,它只是在个体域中从一个个体到另一个个体的映射。 个体常量、个体变元、函数统称为“项”
第一部分:第3章AI编程基础 3.2.2量词 怎样来刻画谓词与个体之间的这两种不同的关系呢?为此我们引 入了一个新的概念量词。量词有两种:全称量词和存在量词。 全称量词(x),读作“对于所有的x”,它表示“对个体域中的所有 (或任一个个体x;另一个是存在量词(3x),读作“存在x,它表示 “在个体域中存在个体x”。 符号“(xP(x)表示命题:“对于个体域中所有的个体x,谓词P(x) 均为T。谓词P(x)称为的辖域或作用范围。 符号“(3x)Q(x)表示命题:“对于个体域中存在某些个体使谓词Q(x) 为T。谓词Q(x)称为的辖域或存在范围 2004.11.3 A|程序设计
2004.11.3 AI程序设计 30 第一部分:第3章 AI编程基础 3.2.2 量词 怎样来刻画谓词与个体之间的这两种不同的关系呢?为此我们引 入了一个新的概念——量词。量词有两种:全称量词和存在量词。 全称量词(∀x) ,读作“对于所有的x” ,它表示“对个体域中的所有 (或任一个)个体x;另一个是存在量词(∃x) ,读作“存在x” ,它表示 “在个体域中存在个体x” 。 符号“(∀x)P(x)”表示命题:“对于个体域中所有的个体x,谓词P(x) 均为T” 。谓词P(x)称为的辖域或作用范围。 符号“(∃x)Q(x)”表示命题:“对于个体域中存在某些个体使谓词Q(x) 为T”。谓词Q(x)称为的辖域或存在范围