谓词演算与消解(归结)原理_图文
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
plus(two,three) equal(plus(two,three)) 彐xfoo(x,two,plus(two,three)) ∧equal(plus(two,three),five)
3.2.2 谓词演算的语义
谓词演算的语义提供了确定合式表达式真值的形式 基础。表达式的真值依赖于常元、变元、谓词、 函词到论域中的映射,在论域中的关系的真假决 定了相应表达式的真假。
3.3 推理规则产生谓词演算表达式
3.3.1 推理规则
推理规则:实际上是一个从其他谓词演算命题产生新 的谓词演算命题的机械方法。亦即推理规则产生基 于给定逻辑断言的句法形式的新命题。当每个由逻 辑表达式集S上的推理规则产生的命题X都是S的逻辑 结果,则称该逻辑规则是合理的。
S: X human(X) => mortal(X).
human(Socrates).
X: mortal (Socrates).
假言推理和消解原理都是合理的推理规则的例子。
假言推理:如果命题P,P => Q为真,应用假言推理 得出Q为真。
S: X human(X) => mortal(X).
human(Socrates).
X: mortal (Socrates).
。 7)如果… 11)如果对于在解释I下的X的每一个指派,S的值为T
,则 X S为T,否则为F。 12)如果在解释I下存在X的一个指派使得S的值为T,
3.2.2 谓词演算的语义
变元:likes(george,X)
这个变元名可以由任何其他变元名代替,不会改 变表达式的意思。
变元的量词约束是谓词演算语义的重要部分
human(Socrates) => mortal(Socrates)
? human(X)
Socrates
合一 算法
3.ຫໍສະໝຸດ Baidu.2 合一
是判断两个谓词表达式匹配所需的一种代入算法 合一表明了两个或多个表达式在什么条件下可以称 为等价的。
伪代码写的函数 Unify 用于计算两个谓词表达式的最一般合一
3.2.1 谓词的语法和命题
一个量词后面紧跟着一个变元和一个命题。例如: X likes (X, ice_cream). 彐Y friends (Y, peter).
全称量词 , 表明命题对于变元的变域中的所有的 值都为真。
存在量词彐, 表明该命题对于变元的变域中的一些 值为真。
3.2.1 谓词的语法和命题 例:命题
{bill/X, (mother bill)/Y}
3.4 应用 :一个基于逻辑的金融投资辅助决策程序
一位有三个人需赡养,有$22000存款,每年有$25000的稳定收 入的投资者的情况,可产生一个由下列命题组成的逻辑系统 :
1.savings (inadequate) => investment (savings).
在谓词演算中,变元有两种约束使用的方法:
在特定解释下,命题对变元的变域中的所有常元指派 为真,则称该变元是全称性变元。代表全称量词的符号 是 ,括号常常用于表示量词的约束范围
存在性变元。至少存在变元的变域中的一个值使包含 变元的表达式为真时,表达式才为真。代表存在量词 的符号是彐
3.2.2 谓词演算的语义
谓词演算的字母表组成: (1)英文字母组合,包括大写与小写 (2)数字集合0,1,…,9 (3)下划线 如:George fires bill xxxx
3.2 谓词演算
谓词演算符号包括: 1.真值符号 true 和 false。 2.常元符号,第一个字符为小写字母的符号表达式。 3.变元符号,第一个字符为大写字母的符号表达式。 4.函词符号,第一个字符为小写字母的符号表达式, 函 词有一个元数, 指出从定义域中映射到值域中的每个元 素。
then return FAIL else return {E2/E1}; E2是一个变元: if E2在E1中出现 then return FAIL else return {E1/E2}; 其他情况: % E1和E2都是表
3.3.2 合一
begin HE1:= E1的第一个元素; HE2:= E2的第一个元素; SUBS1:= unify (HE1, HE2); if SUBS1 = FAIL then return FAIL TE1:= apply (SUBS1, E1的后半部) TE2:= apply (SUBS1, E2的后半部) SUBS2:= unify (TE1, TE2 ), if SUBS2 = FAIL then return FAIL else return SUBS1与SUBS2 的合成 end
3.3.3 合一的一个例子
通过以下调用来跟踪算法的运行过程: unify ((parents X (father X) (mother bill)), (parents bill (father bill) Y )) 第一次调用: unify (parents, parents) 这次调用成功, 返回代入集 { }。 第二次调用: unify (X, bill) 这次调用成功,返回代入 {bill / X }。
friends (bill, richard). friends (bill, george).
项
friends (father (david), father (andrew))
helps (bill, george).
helps (richard, bill).
3.2.1 谓词的语法和命题
与谓词相关的一个正整数称为元数或“参数数目”, 具有相同的名但元数不同的谓词是不同的。
真值true和false也是原子命题。
任何原子命题都能够用逻辑操作符将其变成谓词演 算的命题。用的联结词也和命题演算一样: ∨,∧, ~, => 和=。
当一个变元在一个命题中作为参数出现时,它代表 的是域中不特定的对象。谓词演算包括两个符号, 量词(全称量词)和彐(存在量词), 用于限定 包含变元的命题的含义。
置换律:(P=>Q) = (~Q=>~P)
3.2 谓词演算 命题演算中,P,Q代表一定的命题,如: P:星期四下雨 而谓词:Weather(X,Y)代表日期与天气的关系 Weather(Tuesday,Rain)
可以操纵命题演算表达式 允许包含变元 Weather(X,Rain)
3.2 谓词演算 3.2.1 谓词的语法和命题
function unify (E1, E2) ; begin case
… end %end case end
3.3.2 合一
case
E1, E2 或者是常元或者是空表: %递归终止。 If E1 = E2 then return { }
else return FAIL; E1是一个变元: if E1在E2中出现
3.1 命题演算 3.1.2 命题演算的语义
—如两个命题表达式 在任何真值指派下都有相同的值 ,则称为是等价的
(P 29 )表2.2所示的真值表证明: P=>Q 与 ~P ∨Q 等价。
—对于命题表达式 P,Q,R
~ (~P)=P ; (P∨Q) = (~P=>Q)
3.1 命题演算
否定律:~ (P∨Q) = (~P∧~Q)
3.2 谓词演算
原子命题:是一个n元谓词,后跟n个项,用括号括起来
并用逗号分开。 常元符
例:
号
谓词符号
likes (george, kate). likes (X, george).
likes (george, susie). likes (X, X).
likes (george, sarah, tuesday).
谓词演算与消解(归结)原理_图文.ppt
3.1 命题演算
3.1.1 符号和命题
命题演算的符号:是命题符号,命题符号代表命题, 是关于现实世界的能分辨真假值的陈述句。 命题符号 :P,Q,R,S,T
命题演算的符号: 真值符号:True, false 联结词:∨,∧,~,=>,= 通过联结词可把多个命题组成合成的命题,也称 为合式公式。
否定与全称量词、存在量词之间的关系 。 对于谓词 P, Q, 变元 X, Y有: ~彐X P(X) = X ~P(X) ~ X P(X) = 彐X ~P(X) 彐X P(X) = 彐Y P(Y) X Q(X) = Y Q(Y) X (P(X)∧Q(X) ) = X P(X)∧ Y Q(Y) 彐X (P(X)∨Q(X) ) = 彐X P(X)∨彐Y Q(Y)
2.savings (adequate)∧income (adequate ) => investment (stocks).
3. Savings (adequate)∧income (inadequate) => investment (combination).
4. X amountsaved (X)∧彐Y(dependents (Y)∧ greater (X, minsavings (Y))) => savings (adequate).
3.2.2 谓词演算的语义
谓词演算表达式的真值 设有表达式E和在非空论域D上对E的一个解释I,E的
真值按以下规律决定: 1)一个常元的值是根据I指派给它的D的一个元素。 2)一个变元的值是根据I指派给它的D的一个元素集合
。 3)一个函词的值是根据由I指派给它的参数值计算得
到的D的元素。 4)真值符号true的值是T,false的值是F。 5)原子命题的值或者为T,或者为F,取决于解释I。 6)如果一个命题的值为F,则其否定式为T,否则为F
~ (P∧Q) = (~P∨~Q)
分配律:P∨(Q∧R) = (P∨Q)∧(P∨R)
分配律:P∧(Q∨R)=(P∧Q)∨(P∧R)
交换律:(P∧Q) = (Q∧P)
交换律:(P∨Q) = (Q∨P)
结合律:((P∧Q)∧R) = (P∧(Q∧R))
结合律:((P∨Q)∨R) =(P∨(Q∨R))
例如:
friends ( george, susie )
friends ( george, kate )
3.2.2 谓词演算的语义
一个论域D上的解释: 假设论域D是一个非空集合,在D上的一个解释把论域D的 实体指派给一个谓词演算表达式的每一个常元、变元、谓词 及函词符号,于是有: 1)每一个常元指派了D的一个元素。 2)对每一个变元,指派D的一个非空集合,这是该变元的 变域。 3)每个n元谓词P定义在论域D中的n个参数上,并定义了 从Dn到{T,F}的一个映射。 4) 每个m元函词f定义在论域D的m个参数上,并定义了从 Dm到{T,F}的一个映射。 在一种解释下,一个表达式的意义是在该解释下的一个真 值指派。
以两个谓词演算表达式为参数,若这两个表达式可以 合一, 则返回最一般合一代入,否则返回 FAIL。
3.3.2 合一
首先,它递归地试图对表达式的初始成分合一。如果成 功, 这次合一返回的任何代入式被用到两个表达式的剩 下部分, 然后以这两个表达式为参数。
终止条件是两个参数之一为一个符号 (谓词名, 函词名, 变元, 常元 ), 或两个表达式的每一元素都已匹配了。
3.3.3 合一的一个例子
在此基础上又调用: unify (((father bill) (mother bill)), ((father bill) Y )) 导致调用: (1) unify((father bill),(father bill)) unify (father, father) unify (bill, bill) unify (( ), ( )) 所有的调用都成功,返回空代入集 { }。 (2) unify ((mother bill), Y)
5. X amountsaved (X) ∧彐Y (dependents (Y) ∧ ~greater (X, minsavings (Y))) => savings (inadequate).
3.4 应用
3.2.2 谓词演算的语义
谓词演算的语义提供了确定合式表达式真值的形式 基础。表达式的真值依赖于常元、变元、谓词、 函词到论域中的映射,在论域中的关系的真假决 定了相应表达式的真假。
3.3 推理规则产生谓词演算表达式
3.3.1 推理规则
推理规则:实际上是一个从其他谓词演算命题产生新 的谓词演算命题的机械方法。亦即推理规则产生基 于给定逻辑断言的句法形式的新命题。当每个由逻 辑表达式集S上的推理规则产生的命题X都是S的逻辑 结果,则称该逻辑规则是合理的。
S: X human(X) => mortal(X).
human(Socrates).
X: mortal (Socrates).
假言推理和消解原理都是合理的推理规则的例子。
假言推理:如果命题P,P => Q为真,应用假言推理 得出Q为真。
S: X human(X) => mortal(X).
human(Socrates).
X: mortal (Socrates).
。 7)如果… 11)如果对于在解释I下的X的每一个指派,S的值为T
,则 X S为T,否则为F。 12)如果在解释I下存在X的一个指派使得S的值为T,
3.2.2 谓词演算的语义
变元:likes(george,X)
这个变元名可以由任何其他变元名代替,不会改 变表达式的意思。
变元的量词约束是谓词演算语义的重要部分
human(Socrates) => mortal(Socrates)
? human(X)
Socrates
合一 算法
3.ຫໍສະໝຸດ Baidu.2 合一
是判断两个谓词表达式匹配所需的一种代入算法 合一表明了两个或多个表达式在什么条件下可以称 为等价的。
伪代码写的函数 Unify 用于计算两个谓词表达式的最一般合一
3.2.1 谓词的语法和命题
一个量词后面紧跟着一个变元和一个命题。例如: X likes (X, ice_cream). 彐Y friends (Y, peter).
全称量词 , 表明命题对于变元的变域中的所有的 值都为真。
存在量词彐, 表明该命题对于变元的变域中的一些 值为真。
3.2.1 谓词的语法和命题 例:命题
{bill/X, (mother bill)/Y}
3.4 应用 :一个基于逻辑的金融投资辅助决策程序
一位有三个人需赡养,有$22000存款,每年有$25000的稳定收 入的投资者的情况,可产生一个由下列命题组成的逻辑系统 :
1.savings (inadequate) => investment (savings).
在谓词演算中,变元有两种约束使用的方法:
在特定解释下,命题对变元的变域中的所有常元指派 为真,则称该变元是全称性变元。代表全称量词的符号 是 ,括号常常用于表示量词的约束范围
存在性变元。至少存在变元的变域中的一个值使包含 变元的表达式为真时,表达式才为真。代表存在量词 的符号是彐
3.2.2 谓词演算的语义
谓词演算的字母表组成: (1)英文字母组合,包括大写与小写 (2)数字集合0,1,…,9 (3)下划线 如:George fires bill xxxx
3.2 谓词演算
谓词演算符号包括: 1.真值符号 true 和 false。 2.常元符号,第一个字符为小写字母的符号表达式。 3.变元符号,第一个字符为大写字母的符号表达式。 4.函词符号,第一个字符为小写字母的符号表达式, 函 词有一个元数, 指出从定义域中映射到值域中的每个元 素。
then return FAIL else return {E2/E1}; E2是一个变元: if E2在E1中出现 then return FAIL else return {E1/E2}; 其他情况: % E1和E2都是表
3.3.2 合一
begin HE1:= E1的第一个元素; HE2:= E2的第一个元素; SUBS1:= unify (HE1, HE2); if SUBS1 = FAIL then return FAIL TE1:= apply (SUBS1, E1的后半部) TE2:= apply (SUBS1, E2的后半部) SUBS2:= unify (TE1, TE2 ), if SUBS2 = FAIL then return FAIL else return SUBS1与SUBS2 的合成 end
3.3.3 合一的一个例子
通过以下调用来跟踪算法的运行过程: unify ((parents X (father X) (mother bill)), (parents bill (father bill) Y )) 第一次调用: unify (parents, parents) 这次调用成功, 返回代入集 { }。 第二次调用: unify (X, bill) 这次调用成功,返回代入 {bill / X }。
friends (bill, richard). friends (bill, george).
项
friends (father (david), father (andrew))
helps (bill, george).
helps (richard, bill).
3.2.1 谓词的语法和命题
与谓词相关的一个正整数称为元数或“参数数目”, 具有相同的名但元数不同的谓词是不同的。
真值true和false也是原子命题。
任何原子命题都能够用逻辑操作符将其变成谓词演 算的命题。用的联结词也和命题演算一样: ∨,∧, ~, => 和=。
当一个变元在一个命题中作为参数出现时,它代表 的是域中不特定的对象。谓词演算包括两个符号, 量词(全称量词)和彐(存在量词), 用于限定 包含变元的命题的含义。
置换律:(P=>Q) = (~Q=>~P)
3.2 谓词演算 命题演算中,P,Q代表一定的命题,如: P:星期四下雨 而谓词:Weather(X,Y)代表日期与天气的关系 Weather(Tuesday,Rain)
可以操纵命题演算表达式 允许包含变元 Weather(X,Rain)
3.2 谓词演算 3.2.1 谓词的语法和命题
function unify (E1, E2) ; begin case
… end %end case end
3.3.2 合一
case
E1, E2 或者是常元或者是空表: %递归终止。 If E1 = E2 then return { }
else return FAIL; E1是一个变元: if E1在E2中出现
3.1 命题演算 3.1.2 命题演算的语义
—如两个命题表达式 在任何真值指派下都有相同的值 ,则称为是等价的
(P 29 )表2.2所示的真值表证明: P=>Q 与 ~P ∨Q 等价。
—对于命题表达式 P,Q,R
~ (~P)=P ; (P∨Q) = (~P=>Q)
3.1 命题演算
否定律:~ (P∨Q) = (~P∧~Q)
3.2 谓词演算
原子命题:是一个n元谓词,后跟n个项,用括号括起来
并用逗号分开。 常元符
例:
号
谓词符号
likes (george, kate). likes (X, george).
likes (george, susie). likes (X, X).
likes (george, sarah, tuesday).
谓词演算与消解(归结)原理_图文.ppt
3.1 命题演算
3.1.1 符号和命题
命题演算的符号:是命题符号,命题符号代表命题, 是关于现实世界的能分辨真假值的陈述句。 命题符号 :P,Q,R,S,T
命题演算的符号: 真值符号:True, false 联结词:∨,∧,~,=>,= 通过联结词可把多个命题组成合成的命题,也称 为合式公式。
否定与全称量词、存在量词之间的关系 。 对于谓词 P, Q, 变元 X, Y有: ~彐X P(X) = X ~P(X) ~ X P(X) = 彐X ~P(X) 彐X P(X) = 彐Y P(Y) X Q(X) = Y Q(Y) X (P(X)∧Q(X) ) = X P(X)∧ Y Q(Y) 彐X (P(X)∨Q(X) ) = 彐X P(X)∨彐Y Q(Y)
2.savings (adequate)∧income (adequate ) => investment (stocks).
3. Savings (adequate)∧income (inadequate) => investment (combination).
4. X amountsaved (X)∧彐Y(dependents (Y)∧ greater (X, minsavings (Y))) => savings (adequate).
3.2.2 谓词演算的语义
谓词演算表达式的真值 设有表达式E和在非空论域D上对E的一个解释I,E的
真值按以下规律决定: 1)一个常元的值是根据I指派给它的D的一个元素。 2)一个变元的值是根据I指派给它的D的一个元素集合
。 3)一个函词的值是根据由I指派给它的参数值计算得
到的D的元素。 4)真值符号true的值是T,false的值是F。 5)原子命题的值或者为T,或者为F,取决于解释I。 6)如果一个命题的值为F,则其否定式为T,否则为F
~ (P∧Q) = (~P∨~Q)
分配律:P∨(Q∧R) = (P∨Q)∧(P∨R)
分配律:P∧(Q∨R)=(P∧Q)∨(P∧R)
交换律:(P∧Q) = (Q∧P)
交换律:(P∨Q) = (Q∨P)
结合律:((P∧Q)∧R) = (P∧(Q∧R))
结合律:((P∨Q)∨R) =(P∨(Q∨R))
例如:
friends ( george, susie )
friends ( george, kate )
3.2.2 谓词演算的语义
一个论域D上的解释: 假设论域D是一个非空集合,在D上的一个解释把论域D的 实体指派给一个谓词演算表达式的每一个常元、变元、谓词 及函词符号,于是有: 1)每一个常元指派了D的一个元素。 2)对每一个变元,指派D的一个非空集合,这是该变元的 变域。 3)每个n元谓词P定义在论域D中的n个参数上,并定义了 从Dn到{T,F}的一个映射。 4) 每个m元函词f定义在论域D的m个参数上,并定义了从 Dm到{T,F}的一个映射。 在一种解释下,一个表达式的意义是在该解释下的一个真 值指派。
以两个谓词演算表达式为参数,若这两个表达式可以 合一, 则返回最一般合一代入,否则返回 FAIL。
3.3.2 合一
首先,它递归地试图对表达式的初始成分合一。如果成 功, 这次合一返回的任何代入式被用到两个表达式的剩 下部分, 然后以这两个表达式为参数。
终止条件是两个参数之一为一个符号 (谓词名, 函词名, 变元, 常元 ), 或两个表达式的每一元素都已匹配了。
3.3.3 合一的一个例子
在此基础上又调用: unify (((father bill) (mother bill)), ((father bill) Y )) 导致调用: (1) unify((father bill),(father bill)) unify (father, father) unify (bill, bill) unify (( ), ( )) 所有的调用都成功,返回空代入集 { }。 (2) unify ((mother bill), Y)
5. X amountsaved (X) ∧彐Y (dependents (Y) ∧ ~greater (X, minsavings (Y))) => savings (inadequate).
3.4 应用