221—阶谓词逻辑表示的逻辑基础 自由变元与约束变元 ●辖域:指位于量词后面的单个谓词或者用括弧括起来的合式公式 ●约束变元:辖域内与量词中同名的变元称为约束变元 ●自由变元:不受约束的变元称为自由变元 例子:6x)(P(x,y)Q(x,y)∨R(x,y) 其中,(P(x,y)-→Q(x,y)是(x)的辖域 辖域内的变元x是受(x)约束的变元 R(x,y)中的x和所有的y都是自由变元 ●变元的换名: 谓词公式中的变元可以换名。但需注意 第一:对约束变元,必须把同名的约束变元都统一换成另外一个相同的名 字,且不能与辖域内的自由变元同名。 例,对x)P(x,y),可把约束变元x换成z,得到公式(z)P(z,y) 第二:对辖域内的自由变元,不能改成与约束变元相同的名字。 例,对(xP(x,y),可把y换成t,得到(xP(x,t),但不能换成x
⚫ 辖域:指位于量词后面的单个谓词或者用括弧括起来的合式公式 ⚫ 约束变元:辖域内与量词中同名的变元称为约束变元 ⚫ 自由变元:不受约束的变元称为自由变元 ⚫ 例子:( x)(P(x,y)→Q(x,y))∨R(x,y) ⚫ 其中,(P(x,y)→Q(x,y))是( x)的辖域 ⚫ 辖域内的变元x是受( x)约束的变元 ⚫ R(x,y)中的x和所有的y都是自由变元 ⚫ 变元的换名: ⚫ 谓词公式中的变元可以换名。但需注意: ⚫ 第一:对约束变元,必须把同名的约束变元都统一换成另外一个相同的名 字,且不能与辖域内的自由变元同名。 ⚫ 例,对( x)P(x,y),可把约束变元x换成z,得到公式( z)P(z,y)。 ⚫ 第二:对辖域内的自由变元,不能改成与约束变元相同的名字。 ⚫ 例,对( x)P(x,y),可把y换成t,得到( x)P(x,t),但不能换成x。 16
222谓词逻辑表示方法(1/2) ●表示步骤: (1)先根据要表示的知识定义谓词 (2)再用连词、量词把这些谓词连接起来 例21表示知识“所有教师都有自己的学生” 定义谓词:T(x):表示x是教师。 S(y):表示y是学生。 TS(x,y):表示x是y的老师。 表示知识: (Vx)(彐y)(T(x)→TS(x,y)∧S(y) 可读作:对所有x,如果x是一个教师,那么一定存在一个个体y,y的老 师是x,且y是一个学生
⚫ 表示步骤: ⚫ (1)先根据要表示的知识定义谓词 ⚫ (2) 再用连词、量词把这些谓词连接起来 ⚫ 例2.1 表示知识“所有教师都有自己的学生” 。 ⚫ 定义谓词:T(x):表示x是教师。 ⚫ S (y):表示y是学生。 ⚫ TS(x, y):表示x是y的老师。 ⚫ 表示知识: ⚫ ( x)( y)(T (x)→ TS(x, y) ∧S (y)) ⚫ 可读作:对所有x,如果x是一个教师,那么一定存在一个个体y,y的老 师是x,且y是一个学生。 17
222谓词逻辑表示方法(2/2) ●例22表示知识“所有的整数不是偶数就是奇数”。 定义谓词:I(x):x是整数,E(x):x是偶数,Ox):x是奇数 表示知识:(yx)(I(x)→E(x)VO(x) 例23表示如下知识: 王宏是计算机系的一名学生。 王宏和李明是同班同学。 凡是计算机系的学生都喜欢编程序。 定义谓词: COMPUTER(x):表示x是计算机系的学生。 CLASSMATE(xy):表示x和y是同班同学。 LIKE(x2y):表示x喜欢y 表示知识: COMPUTER(Wang Hong CLASSMATE(Wang Hong, Li Ming (V X)(COMPUTER()LIKE(X, programming))
⚫ 例2.2 表示知识“所有的整数不是偶数就是奇数” 。 ⚫ 定义谓词:I(x):x是整数,E(x):x是偶数,O(x):x是奇数 ⚫ 表示知识:( x)(I(x) → E(x)∨O(x)) ⚫ 例2.3 表示如下知识: ⚫ 王宏是计算机系的一名学生。 ⚫ 王宏和李明是同班同学。 ⚫ 凡是计算机系的学生都喜欢编程序。 ⚫ 定义谓词: ⚫ COMPUTER(x):表示x是计算机系的学生。 ⚫ CLASSMATE(x,y):表示x和y是同班同学。 ⚫ LIKE(x,y):表示x喜欢y。 ⚫ 表示知识: ⚫ COMPUTER(WangHong) ⚫ CLASSMATE(WangHong, Li Ming) ⚫ ( x)(COMPUTER(x)→LIKE(x, programming)) 18
223谓词逻辑表示的应用 机器人移盒子问题(1/6) 分别定义描述状态和动作的谓词 ●描述状态的谓词: TABLE(x):x是桌子 EMPTY(y):y手中是空的 AT(y,z):y在z处 HOLDS(y,w):y拿着w ON(w,x):w在x桌面上 变元的个体域: x的个体域是{a,b a y的个体域是{ robot} z的个体域是{a,b,e} w的个体域是{box}
⚫ 分别定义描述状态和动作的谓词 ⚫ 描述状态的谓词: ⚫ TABLE(x):x是桌子 ⚫ EMPTY(y):y手中是空的 ⚫ AT(y, z):y在z处 ⚫ HOLDS(y, w):y拿着w ⚫ ON(w, x):w在x桌面上 ⚫ 变元的个体域: ⚫ x的个体域是{a,b} ⚫ y的个体域是{robot} ⚫ z的个体域是{a,b, c} ⚫ w的个体域是{box} a b c 19
2.2.3谓词逻辑表示的应用 机器人移盒子问题(2/6) ⑩问题的初始状态: AT(robot, c) EMPTY(robot) ON(bOX, a) ⑩⑩ TABLE(a) TABLE(b) 问题的目标状态: AT(robot, c) EMPTY(robot ON(bOX, b) ⑩⑩⑩ TABLE(a) TABLE(b) 机器人行动的目标把问题的初始状态转换为目标状态,而要实现问题状态的转换需要完成一系列的操作
20 2.2.3 谓词逻辑表示的应用 机器人移盒子问题(2/6) 问题的初始状态: AT(robot, c) EMPTY(robot) ON(box, a) TABLE(a) TABLE(b) 问题的目标状态: AT(robot, c) EMPTY(robot) ON(box, b) TABLE(a) TABLE(b) 机器人行动的目标把问题的初始状态转换为目标状态,而要实现问题状态的转换需要完成一系列的操作