人工智能16-17.ppt

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第16章 谓词演算中的归结 合一 谓词演算归结 完备性和合理性 把任意的合式公式转换为子句的形式 用归结证明定理 回答提取 等式谓词 补充读物和讨论 16.1 合一 合式公式( ? ξ1, ξ2, …, ξn ) ( λ 1 ∨ λ 2 ∨ … ∨ λ k )可缩写为λ 1 ∨ λ 2 ∨ … ∨ λ k ,其中λ 1 , λ 2 … λ k 是可能包含变量ξ1, ξ2, …, ξn 的文字。也就是说,仅仅去掉了全称量词,并假定λ i 中任何变量全称量化。这种缩写形式的合式公式叫做子句。有时用集合符号{λ 1 , λ 2 … λ k }表达一个子句,并假定集合中的元素是析取的。 如果两个字句的文字相匹配但是互补,我们能归结它们——就像在命题演算中一样。如果一个子句中有一个文字λ( ξ)( ξ是一个变量),而另一个子句中有互补文字? λ( τ), τ是不含ξ的某个项,我们能把第一个子句中的所有ξ用τ代替,然后对互补文字进行命题归结以产生那两个子句的归结式 16.1 合一 举例:考虑两个子句P(f(y), A) ∨ Q(B,C)和?P(x,A) ∨R(x,C) ∨S(A,B)。用f(y)代替第二个子句中的x产生R(f(y),C) ∨S(A,B) ∨ Q(B,C)。 用一个被称为合一的方法计算适当的置换。合一在AI中是一个极其重要的方法,为了描述它,必须先考虑一下置换。 一个表达式项可能是变量符号、对象常量或者函数表达式,后者包含函数常量和表达式项。一个表达式的置换实例通过置换那个表达式的变量项而得到。因此,P[x, f(y),B]的四个置换实例是: P[z, f(w),B] P[x, f(A),B] P[g(z), f(A),B] P[C, f(A),B] 16.1 合一 上面第一个实例称为原始文字的字母变种(alphabetic variant),因为我们仅仅用另外的变量代替了P[x, f(y),B]中出现的变量。第四个叫基例(ground instance),因为文字中没有一项包含变量(一个基项是不包含任何变量的项) 我们能通过一组有序对s={τ 1 /ξ1, τ 2 /ξ2, …, τ n /ξn }来表达任何置换。 τ i /ξi对意思是说τ i 项替换在整个置换范围内的ξi的每次出现。而且,变量不能被一个包含相同变量的项代替。前面的四个实例的置换是: s1={z/x, w/y} s2={A/y} s3={g(z)/x, A/y} s4={c/x, A/y} 16.1 合一 用ωs来指称一个使用置换s的表达式ω的一个置换实例。两个置换s1和s2的组合用s1s2指称,它指的是这个置换通过先把s2应用到s1各项,再加上不含出现在s1中变量的所有s2对而得到 UNIFY的基础是分歧集(disagreement set)的思想。一个非空的表达式集合W的分歧集由下面的方法得到: 16.2 谓词演算归结 假如 γ 1和γ 2是两个子句(表示为文字集合)。如果γ 1中有一个原子φ, γ 2中有一个文字? ψ ,并使φ和ψ有一个最一般合一式,那么这两个子句有一个归结式ρ,它通过把置换μ与γ 1和γ 2减去互补其文字的并集而达到 16.3 完备性和合理性 谓词演算的归结是合理的。也就是说,如果ρ是两个子句φ和ψ的归结式,那么{φ , ψ} ╞ ρ。这个事实的证明不比命题归结的合理性证明难。就如同在命题演算中一样,归结的完备性相对更难一些。 16.4 把任意的合式公式转换为子句形式 就象在命题演算中一样,任何合式公式可以被转化为子句形式。 1)消除蕴含符号 2)减少否定符号的范围 3)变量标准化:由于量词范围内的变量像“哑元”,因此它们能被更名,以使每个量词有它自己的变量符号 ( x)[?P(x) ∨ (x)Q(x)]可以改写为( x)[?P(x) ∨ ( y)Q(y)] 4)取消存在量词 例如,在( x) [ ( y)Height(x,y)]中,存在量词在一个全称量词范围内,因此,y的“存在”可能依赖x的值。如果上式的含义是“每个人x有身高y”,那么很明显身高与人有关。用某个未知的函数h(x)显式定义这个依赖关系,h(x)把x的每个值映射为存在y值。这样的一个函数叫Skolem函数。如果把Skolem函数用在y存在的位置,就能取消存在量词,并写为: 16.4 把任意的合式公式转换为子句形式 如果要被消除的存在量词不在任何全称量词的范围内,那么我们用一个没有参数的Skolem函数。它只是一个常量。因此( x)P(x)成为P(Sk),常量符号Sk用来指向我们知道存在的那个项。另外,Sk是一个新的符号常量且没有用在其他函数中,这是必要的。 为了从一个合式公式

文档评论(0)

整理王 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档