人工智能原理教学导案章归结推理方法谓词逻辑归结法基(精)
人工智能第6章 谓词逻辑与归结原理

• 以谓词为基础的谓词演算是一种形式语言,可 严密而精确地表达复杂的人类知识,并作为演 绎推理的重要基础。
• 谓词逻辑比命题逻辑有更强的表达能力:
–1、有概括能力;
–2、可以代表变化着的情况; –3、可以在不同的知识之间建立联系。
–连接 词: –量词:
全称量词
~ 否定(非); 合取(与); 析取(或); 蕴涵(IF......TH EN); 等价(双条件)
表示所有的,例如,对于所有个体x, 谓词F(x)均成立时,可表示为 x F ( x ) 表示存在某一些,例如,若存在某些个体x, 使谓词F(x)成立时,可表示为 x F ( x )
• 1、谓词逻辑有概括能力。
–表达:是一个城市,P1:代表“北京是一个城市”;P2:
代表“上海是一个城市”;P3:代表“天津是一个城市”; 即有多少个城市就要用多少个命题来表示。
–这些命题只要用一个谓词CITY(X)就可以表示,其中X是
北京、上海、天津……,于是,上述三个命题变成:P1:
CITY(北京); P2:CITY(上海);P3:CITY(天津)。
之; 再次之;, 最低。
6.1.4 逻辑谓词演算公式
• 不含任何连接词及量词的谓词公式,是谓词演算的基本
公式,称为原子公式。
• 由n元谓词F及其n个个体变量x1,x2,…xn组成的公式F
(x1,x2,…xn)是一个原子公式。
–进一步,可以把两个高级知识单元联成更高级的知识单元:
{[HUMAN(X)→LAWED(X)] →[COMMIT(X)→PUNISHED (X)]}表示:由于X是人,他要受到法律约束,如果这个人 犯了罪就一定要受到惩罚。
人工智能第6章 谓词逻辑与归结原理

• 当量词仅对谓词的个体(变量)起限定作用,即谓词名视
为常量时,称其为一阶谓词(First Order Predication
Logic ).
• 若量词对个体和谓词都有限定作用时,称其为高阶谓词。 – 例如: Qy Q(y) 是二阶谓词; xyP( x, y) 是一阶谓词。 • 通常我们约定连接词和量词的优先级为:~, , 最高; 次
–连接 词: –量词:
全称量词
~ 否定(非); 合取(与); 析取(或); 蕴涵(IF......TH EN); 等价(双条件)
表示所有的,例如,对于所有个体x, 谓词F(x)均成立时,可表示为 x F ( x ) 表示存在某一些,例如,若存在某些个体x, 使谓词F(x)成立时,可表示为 x F ( x )
由于事先不知道哪两个子句可以进行归结更不知道通过对哪些子句对的归结可以尽快地得到空子句因而必须对子句集中的所有子句逐对地进行比较对任何一对可归结的子句对都进行归结这样的效率是很低的
第六章 谓词逻辑与归结原理
• 6.1 一阶谓词逻辑基础 • 6.2 归结法(消解Resolution) • 6.3 归结反演系统
4. 若A是合式公式,x是个体变量,则x(A)、
x(A)是合式公式。
•
所有合式公式都是有限次应用规则1~4得到的。
(1)谓词公式的解释
• 在应用谓词逻辑解决问题时,必须对谓词公式进行解释,即 人为地给谓词公式指派语义。
• 一阶谓词公式P的解释可有多种,其中一些解释可使P为真,
而另一些解释则可使P为假。
• 推理过程:反复使用谓词演算的基本等价式及推理规则, 对已知谓词公式进行变换,得到所需逻辑结论的过程。
6.1.6 谓词公式的规范化
为了方便使用WFF进行定理证明和逻辑推理,需要把 WFF变换为便于使用的规范形式,称为WFF范式。典型的 范式包括:前束范式,SKOLEM范式。
人工智能第三章谓词逻辑与归结原理

• 所以要考虑置换与合一。即对变量 作适当的替换。
《人工智能》第三章 谓词逻辑与归结原理
置换
• 置换:可以简单的理解为是在一个谓词公式中用 置换项去置换变量。
• 定义: 置换是形如{t1/x1, t2/x2, …, tn/xn}的有限集合。其 中,x1, x2, …, xn是互不相同的变量,t1, t2, …, tn是 不同于xi的项(常量、变量、函数);ti/xi表示用ti 置换xi,并且要求ti与xi不能相同,而且xi不能循环 地出现在另一个ti中。
例如: {a/x,c/y,f(b)/z}是一个置换。 {g(y)/x,f(x)/y}不是一个置换。
《人工智能》第三章 谓词逻辑与归结原理
置换的合成
• 设={t1/x1, t2/x2, …, tn/xn}, ={u1/y1, u2/y2, …, un/yn},是两个置换。 则与的合成也是一个置换,记作·。它是从集合
• 最一般合一求取方法
– 令W={F1,F2} – 令k=0,W0=W, σ0=ε – 如果Wk已合一,停止, σk=mgu,否则找Dk – 若Dk中存在元素vk和tk,其中,vk不出现在tk中,转下一
步,否则,不可合一。 – 令σk+1= σk.{tk/vk},Wk+1=Wk{tk/vk}=W σk+1 – K=k+1转第3步。
《人工智能》第三章 谓词逻辑与归结原理
谓词归结子句形
• 子句与子句集
– 文字:不含任何连接词的谓词公式。 – 子句:一些文字的析取(谓词的和)。 – 空子句:不含任何文字的子句。记作NIL或
□ – 子句集:所有子句的集合。 – 对于任何一个谓词公式G,都可以通过
人工智能导论课件:第四章 谓词逻辑与归结原理

谓词逻辑
是一种形式语言,具有严密的理论体系 是一种常用的知识表示方法, 例:
City(北京) City(上海) Age(张三,23) (X)(Y)(Z)(father(X, Y)father(Y,
Z)gf(X, Z)
6
归结原理
归结原理是一种定理证明方法,1965年由 J.A.Robinson提出,从理论上解决了定理证明 问题。当时被认为是人工智能领域的重大突破。
例如:令E为p(x,y,f(a))
={b/x,f(x)/y},则 E= ?
E=p(b,f(x),f(a)) 此例显示了同时置换的含义. 可以看到E是
在E上的作用,也就是将E中的(i=1, ,n)同时换成相 应的ti所得到的公式.
34
ห้องสมุดไป่ตู้
置换乘法
定义 令 ={s1/y1,,sm/ym}, ={t1/x1,,tn/xn},则与的复合是
32
置换
定义: 置换是形如{t1/x1,,tn/xn}的有限集,其中xi是 互不相同的变量,ti是不等于xi的项,且xi与ti互不循环 出现. 如果ti都是不含变量的项(基项),称该置换为基置换. 若={ },则称为空置换(表示不做置换),记为.
例如:1) {a/x,g(y)/y,f(g(b))/z}是一个置换? (是, 但不是基置换).
F1F2…Fn~W为永假,可以通过证明F所 对应的子句集S=S0∪{~W}是不可满足的。
22
命题: P|=F P{F}是不可满足的。 证明: ① 若P {~F}是不可满足的,则 P|= F ② 若P|=F 则 P {~F}是不可 满足的。(反证法)
23
归结原理
基本思想 将待证明的逻辑公式的结论(F),通过 等值公式转换成附加前提,再证明该逻 辑公式是不可满足的。
人工智能原理教案02章 归结推理方法2.4 归结原理

2.4 归结原理本节在上节的基础上,进一步具体介绍谓词逻辑的归结方法。
谓词逻辑的归结法是以命题逻辑的归结法为基础,在Skolem 标准性的子句集上,通过置换和合一进行归结的。
下面先介绍一些本节中用到的必要概念:一阶逻辑:谓词中不再含有谓词的逻辑关系式。
个体词:表示主语的词谓词:刻画个体性质或个体之间关系的词量词:表示数量的词个体常量:a,b,c个体变量:x,y,z谓词符号:P,Q,R量词符号:,归结原理正确性的根本在于,如果在子句集中找到矛盾可以肯定命题是不可满足的。
2.4.1 合一和置换置换:置换可以简单的理解为是在一个谓词公式中用置换项去置换变量。
定义:置换是形如{t1/x1, t2/x2, …, t n/x n}的有限集合。
其中,x1, x2, …, x n是互不相同的变量,t1, t2, …, t n是不同于x i的项(常量、变量、函数);t i/x i表示用t i置换x i,并且要求t i与x i不能相同,而且x i不能循环地出现在另一个t i中。
例如{a/x,c/y,f(b)/z}是一个置换。
{g(y)/x,f(x)/y}不是一个置换,原因是它在x和y之间出现了循环置换现象。
置换的目的是要将某些变量用另外的变量、常量或函数取代,使其不在公式中出现。
但在{g(y)/x,f(x)/y}中,它用g(y)置换x,用f(g(y))置换y,既没有消去x,也没有消去y。
若改为{g(a)/x,f(x)/y}就可以了。
通常,置换用希腊字母θ、σ、α、λ来表示的。
定义:置换的合成设θ={t1/x1, t2/x2, …, t n/x n},λ={u1/y1, u2/y2, …, u n/y n},是两个置换。
则θ与λ的合成也是一个置换,记作θ·λ。
它是从集合{t1·λ/x1, t2·l/x2, …, t n·λ/x n, u1/y1, u2/y2, …, u n/y n}即对ti先做λ置换然后再做θ置换,置换xi中删去以下两种元素:i. 当t iλ=x i时,删去t iλ/x i(i = 1, 2, …, n);ii. 当y i∈{x1,x2, …, x n}时,删去u j/y j(j = 1, 2, …, m)最后剩下的元素所构成的集合。
人工智能第三章归结推理方法

归结推理是人工智能中实现自动化推理的重要方法之一。 它能够将复杂的逻辑问题转化为计算机可处理的简单形式, 并通过计算机程序实现自动化推理。
知识表示与推理
在人工智能中,知识表示和推理是两个核心问题。归结推 理作为一种逻辑推理方法,为知识的表示和推理提供了有 效的工具。
专家系统与智能决策
专家系统和智能决策是人工智能的重要应用领域。归结推 理在这些领域中发挥着重要作用,能够帮助专家系统和智 能决策系统实现更加准确、高效的决策。
推理步骤不同
演绎推理通常包括大前提、小前提和结论三个步骤,而归结推理则 通过逐步缩小问题范围来逼近结论。
与归纳推理方法的比较
推理基础不同
归纳推理是基于对个别事物的观察和总结,得出一般性结论的推理方法;而归结推理则是基于已知事实和规 则,通过逻辑推导得出结论的推理方法。
结论的确定性不同
归纳推理得出的结论通常具有一定的或然性,因为个别事物的观察可能无法完全代表整体;而归结推理得出 的结论则具有必然性,只要前提真实且推理过程正确,结论就一定成立。
线性归结与锁归结
线性归结
通过消除冗余子句和简化归结过程,提 高归结效率。线性归结方法将子句按照 一定顺序排列,每次只考虑两个子句进 行归结,从而降低了归结的复杂性。
锁归结
在归结过程中引入锁机制,避免对已经归 结过的子句进行重复归结。锁归结方法通 过标记已归结的子句,确保每个子句只被 归结一次,从而提高了归结效率。
并行化处理
利用并行计算技术,同时处理多个子句的归结。并行化处 理方法能够充分利用计算资源,加速整个归结过程。
05 归结推理方法与其他推理 方法的比较与演推理方法的比较推理方向不同
演绎推理是从一般到特殊的推理过程,而归结推理则是从特殊到 一般的推理过程。
人工智能第3章谓词逻辑与归结原理

人工智能第3章谓词逻辑与归结原理
1、谓词逻辑是什么?
谓词逻辑(Predicate Logic)是一种通用的符号化语言,用来表达
和分析各种谓词命题(Propositional Statements)的逻辑关系。
它可以
用来表达抽象概念和客观真理,并以精确的形式描述这些概念和真理。
谓
词逻辑最重要的功能是,它能够发现和解决各种类型的逻辑问题,这在人
工智能中显得尤为重要。
2、归结原理是什么?
归结原理是一种认识论。
它提出的基本原则是,如果要获得B给定A,应当给出一个充分陈述,即必须提供一系列真实可信的参数,以及由此产
生B的能力证明,在这种情况下A必须是正确的。
因此,归结原理会被用
来推理。
例如,通过归结原理,如果一个具体的概念被认为是正确的,那
么人们可以得出结论,即所有概念的结果也是正确的。
人工智能谓词逻辑及归结原理

反演求解的正确性 设公式L在逻辑上遵循公式集S,那么按照定义 满足S的每个解释也满足L。决不会有满足S的 解释能够满足~L的,所以不存在能够满足并 集S∪{~L}的解释。如果一个公式集不能被 任一解释所满足,那么这个公式是不可满足的 。因此,如果L在逻辑上遵循S,那么S∪{~ L}是不可满足的。可以证明,如果消解反演 反复应用到不可满足的子句集,那么最终将要 产生空子句NIL。因此,如果L在逻辑上遵循S
消解反演求解过程
消解反演
反演求解的步骤
给出一个公式集S和目标公式L,通过反证或反 演来求证目标公式L,其证明步骤如下: (1)否定L,得~L; (2)把~L添加到S中去; (3)把新产生的集合{~L,S}化成子句集; (4)应用消解原理,力图推导出一个表示矛盾 的空子句NIL。
消解反演求解过程
反演求解的举例
"菲多在哪里"例题的反演树
从消解求取答案例题的反演树 修改证明树
修改证明树
"菲多在哪里"例题的修改证明树
反演求解的举例
已知:①会朗读的人是识字的; ②海豚都不识字; ③有些海豚是很机灵的。
证明:有些很机灵的东西不会朗读。
把问题用谓词逻辑描述如下: 已知: ①( x)(R(x)→L(x))
化成子句集
①~ pass(x,computer)∨~ win(x,prize)∨happy(x) ②~ study(y)∨pass(y,z) ③~ lucky(u)∨pass(u,v) ④~ study(zhang) ⑤lucky(zhang) ⑥~ lucky(w) ∨ win(w,prize) ⑦~happy(zhang)
谓词逻辑与归结原理
消解原理基本知识
• 合取范式:仅由有限个简单析取式构成的合取式,
人工智能原理教案02章 归结推理方法2.5 归结过程控制策略

2.5归结过程控制策略从命题逻辑和谓词逻辑的归结方法中我们可以看出,当使用归结法时,若从子句集S出发做所有可能的归结,并将归结式加入S中,再做第二层这样的归结,…直到产生空子句的这种盲目的全面归结的话,同样会产生组合爆炸问题。
这种无控制的盲目全面归结导致大量的不必要的归结式的产生,严重的是,它们又将产生下一层的更大量的不必要的归结式的产生。
于是,如何给出控制策略,以使系统仅选择合适的子句对其做归结来避免多余不必要的归结式的出现,或者说少做些归结但仍然导出空子句来,这已经成为一个重要的问题。
归纳起来,归结过程策略控制的要点如下:a)要解决的问题:归结方法的知识爆炸。
b)控制策略的目的:归结点尽量少c)控制策略的原则:删除不必要的子句,或对参加归结的子句做限制d)给出控制策略,以使仅选择合适的子句对其做归结。
避免多余的、不必要的归结式出现。
2.5.1删除策略归类:设有两个子句C和D,若有置换σ使得CσD成立,则称子句C把子句D归类。
画外音:可以理解为,由于小的可以代表大的,所以小的吃掉大的了。
若对S使用归结推理过程中,当归结式C j是重言式和Cj j被S中子句和子句集的归结式C i(i<j)所归类时,便将C j 删除。
这样的推理过程便称做使用了删除策略的归结过程。
删除策略的主要想法是:归结过程在寻找可归结子句时,子句集中的子句越多,需要付出的代价就会越大。
如果在归结时能把子句集中无用的子句删除掉,就会缩小搜索范围,减少比较次数,从而提高归结效率。
删除策略对阻止不必要的归结式的产生来缩短归结过程是有效的。
然而要在归结式C j产生后方能判别它是否可被删除,这部分计算量是要花费的,只是节省了被删除的子句又生成的归结式。
尽管使用删除策略的归结,少做了归结但不影响产生空子句,就是说删除策略的归结推理是完备的。
删除策略=>完备;但是,完备的归结推理采用删除策略不一定都有效。
删除策略是完备的意思是,采用归结策略进行的归结过程没有破坏归结法的完备性。
人工智能原理教案新部编本02章 归结推理方法2.6 Herbrand定理

教师学科教案[ 20 – 20 学年度第__学期]任教学科:_____________任教年级:_____________任教老师:_____________xx市实验学校2.6 Herbrand定理Herbrand定理是归结原理的理论基础,归结原理的正确性是通过Herbrand定理来证明的。
同时归结原理是Herbrand 定理的具体实现,利用Herbrand定理对公式的证明是通过归结法来进行的。
本节简单地描述了Herbrand定理的基本思想和相关预备知识,最后给出Herbrand定理的一般形式。
公式G永真:对于G的所有解释,G都为真。
公式G永假(矛盾):没有一个解释使G为真。
2.6.1 Herbrand 定理概述问题:一阶逻辑公式的永真性(永假性)的判定是否能在有限步内完成?1936年图灵(Turing)和邱吉(Church)互相独立地证明了:"没有一般的方法使得在有限步内判定一阶逻辑的公式是否是永真(或永假)。
但是如果公式本身是永真(或永假)的,那么就能在有限步内判定它是永真(或永假)。
对于非永真(或永假)的公式就不一定能在有限步内得到结论。
判定的过程将可能是不停止的。
"2.6.1.1 Herbrand 定理思想要证明一个公式是永假的,采用反证法的思想(归结原理),就是要寻找一个已给的公式是真的解释。
然而,如果所给定的公式的确是永假的,就没有这样的解释存在,并且算法在有限步内停止。
因为量词是任意的,所讨论的个体变量域D是任意的,所以解释的个数是无限、不可数的,要找到所有的解释是不可能的。
Herbrand 定理的基本思想是简化讨论域,建立一个比较简单、特殊的域,使得只要在这个论域上(此域称为H域),原谓词公式仍是不可满足的,即保证不可满足的性质不变。
H域和D域关系的如下图表示:图2-1 H域与D域关系示意图t2-1_swf.htm2.6.1.2 H域H域的定义:设S为给定公式G的子句集,定义在论域D上,H0为S中的常量集。
人工智能原理课程教学大纲-精品课程

人工智能原理课程教学大纲-精品课程《人工智能原理》课程教学大纲课程编号:100226 学分: 2 总学时: 32 实验学时:11(课外)大纲执笔人:苗夺谦、张红云、武妍、赵才荣大纲审核人:一、课程性质与目的课程性质:专业必修课人工智能是计算机科学的一个重要分支,是一门前沿和交叉学科,它的研究领域十分广泛,涉及到智能化智能体、定理证明、博弈、自然语言理解、智能检索、机器学习、机器人、模式识别等领域。
这门课程主要讲述知识与知识表示、确定性推理、不确定性推理、搜索策略、对抗搜索、机器学习等方面内容。
主要研究如何用计算机来模拟人类智能,即如何用计算机实现诸如问题求解、规划推理、模式识别、知识工程、自然语言处理、机器学习等只有人类才具备的“智能。
教学目的:1.使学生对该学科的发展历程,它的主要研究领域,针对各种问题的解决思路和途径有一个初步的了解和认识。
2.使学生了解人工智能的基本概念、基本理论和基本技术,对知识表示、问题搜索原理、知识推理等各方面的内容有准确、全面的掌握。
3.使学生了解人工智能的主要应用,结合具体的应用系统,使学生对高级搜索技术、神经网络、专家系统、机器学习等人工智能技术及应用有比较感性的认识。
4.使学生最后对人工智能在计算机科学与技术发展中的地位和作用有总体的把握和认识。
二、课程面向专业计算机科学与技术与信息安全专业三、课程基本要求通过课堂教学,要求学生了解人工智能的发展状况与研究内容,掌握基本概念、基本原理方法和重要算法,掌握人工智能的一些主要思想和方法,熟悉典型的人工智能系统——专家系统和简单的推理方法。
四、毕业要求达成方式五、实验基本要求学会用启发式搜索求解问题,学会基本的神经网络方法,学会构造简单的专家系统和推理系统,使学生初步具备用经典的人工智能方法解决一些简单实际问题的能力。
六、课程基本内容(一)绪论1. 本课程的内容、目标、先修要求和教学考试方法。
2. 人工智能的定义、发展概况及相关学派和他们的认知观,3. 人工智能的研究和应用领域,4. 本课程的主要内容和编排(二)知识表示的基本技术1. 知识与知识表示的定义;2. 状态空间表示法;3. 知识的逻辑表示;4. 本体论工程。
人工智能第三章归结推理方法

• 概述 • 命题逻辑的归结法 • 谓词归结子句形 • 归结原理 • 归结过程的策略控制 • Herbrand定理
《人工智能原理》第三章 归结推理方法
归结 推理
命题 逻辑
谓词逻 辑
Herbrand 定理
数理 逻辑
命题逻辑 归结
基本 概念
谓词逻辑 归结原理
Skolem标准形、 子句集
C1ΛC2 → C12 ,注意:反之不一定成立。
《人工智能原理》第三章 归结推理方法
命题逻辑的归结法
• 归结过程 p87
– 将命题写成合取范式 – 求出子句集 – 对子句集使用归结推理规则 – 归结式作为新子句参加归结 – 归结式为空子句□ ,S是不可满足的(矛盾),原
命题成立。
•(证明完毕) • 谓词的归结:除了有量词和函数以外,其余和
《人工智能原理》第三章 归结推理方法
3.1.1 命题
• 命题:能判断真假(不是既真又假)的陈述句。
简单陈述句描述事实、事物的状态、关系等性质。
例如:1. 1+1=2 • 2. 雪是黑色的。 • 3. 北京是中国的首都。 • 4. 到冥王星去渡假。
判断一个句子是否是命题,有先要看它是否是陈述句,而后看它的 真值是否唯一。以上的例子都是陈述句,第4句的真值现在是假, 随着人类科学的发展,有可能变成真,但不管怎样,真值是唯一 的。因此,以上4个例子都是命题。
前提引入 假言推理 引入否定结论 拒取式 前提引入 简化⑤ ⑥ ⑦合取
《人工智能原理》第三章 归结推理方法
命题逻辑的归结法
• 建立子句集(例如P86/3.5 3.6)
✓ 合取范式:命题、命题和的与, 如: PΛ( P∨Q)Λ( ~P∨Q)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
人工智能原理教案章归结推理方法谓词逻辑归结法基(精)
————————————————————————————————作者:————————————————————————————————日期:
2
3 2.3 谓词逻辑归结法基础
由于谓词逻辑与命题逻辑不同,有量词、变量和函数,所以在生成子句集之前要对逻辑公式做处理,具体的说就是要将其转化为S kolem 标准形,然后在子句集的基础上再进行归结,虽然基本的归结的基本方法都相同,但是其过程较之命题公式的归结过程要复杂得多。
本节针对谓词逻辑归结法介绍了Skolem 标准形、子句集等一些必要的概念和定理。
2.3.1 Skolem 标准形
Skolem 标准形的定义:
前束范式中消去所有的存在量词,则称这种形式的谓词公式为Skolem 标准形,任何一个谓词公式都可以化为与之对应的Skolem 标准形。
但是,Skolem 标准形不唯一。
前束范式:A 是一个前束范式,如果A 中的一切量词都位于该公式的最左边(不含否定词),且这些量词的辖域都延伸到公式的末端。
Skolem 标准形的转化过程为,依据约束变量换名规则,首先把公式变型为前束范式,然后依照量词消去原则消去或者略去所有量词。
具体步骤如下:
将谓词公式G 转换成为前束范式
前束范式的形式为:
(Q 1x 1(Q 2x 2…(Q n x n M(x 1,x 2,…,x n
4 即: 把所有的量词都提到前面去。
注意:由于所有的量词的辖域都延伸到公式的末端,即,最左边量词将约束表达式中的所有同名变量。
所以将量词提到公式最前端时存在约束变量换名问题。
要严守规则。
约束变量换名规则:
(Qx M (x ) (Qy ) M (y )
(Qx M (x,z ) (Qy ) M (y,z )
量词否定等值式:
~(x M (x ) (y ) ~ M (y )
~(x M (x ) (y ) ~ M (y )
量词分配等值式:
(x ( P (x ) ∧Q (x ) (x P (x ) ∧ (x Q (x )
(x ( P (x ) ∨ Q (x ) (x P (x ) ∨ (x Q (x )
消去量词等值式:设个体域为有穷集合(a1, a2, …an )
(x P (x ) P (a1) ∧ P (a2) ∧ …∧ P (an )
(x P (x ) P (a1) ∨ P (a2) ∨ … ∨ P (an )
量词辖域收缩与扩张等值式:
( x ( P (x ) ∨ Q ( x P (x ) ∨ Q
5
(x ( P (x ) ∧ Q ( x P (x ) ∧ Q
(x ( P (x ) → Q (x P (x ) → Q
(x ( Q → P (x ) Q → (x P (x )
(x ( P (x ) ∨ Q (x P (x ) ∨ Q
(x ( P (x ) ∧ Q (x P (x ) ∧ Q
(x ( P (x ) → Q (x P (x ) → Q
(x ( Q → P (x ) Q → (x P (x )
消去量词
量词消去原则:
1
消去存在量词"",即,将该量词约束的变量用任意常量(a, b 等)、或全称变量的函数(f(x,
g(y 等代替。
如果存在量词左边没有任何全称量词,则只将其改写成为常量;如果是左边有全程量词的存在量词,消去时该变量改写成为全程量词的函数。
2 略去全程量词"",简单地省略掉该量词。
Skolem 定理:
谓词逻辑的任意公式都可以化为与之等价的前束范式,但其前束范式不唯一。
注意:公式G 的SKOLEM 标准形同G 并不等值。
6 例题2-2
将下式化为Skolem 标准形:
~(x(yP(a, x, y →(x(~(yQ(y, b→R(x
解:
第一步,消去→号,得:
~(~(x(yP(a, x, y ∨(x (~~(yQ(y, b ∨R(x
第二步,~深入到量词内部,得:
(x(yP(a, x, y ∧~(x ((yQ(y, b ∨R(x
= (x(yP(a, x, y ∧(x ((y ~Q(y, b ∧~R(x
第三步,全称量词左移,(利用分配律),得
(x( (yP(a, x, y ∧(y(~Q(y, b ∧~R(x
第四步,变元易名,存在量词左移,直至所有的量词移到前面,得:
(x( (yP(a, x, y ∧(y(~Q(y, b ∧~R(x
= (x ( (yP(a, x, y ∧(z(~Q(z, b ∧~R(x
= (x (y (z (P(a, x, y ∧~Q(z, b ∧~R(x
由此得到前述范式
第五步,消去""(存在量词),略去""全称量词
7
消去(y ,因为它左边只有("x ,所以使用x 的函数f(x 代替之,这样得到:
(x(z( P(a, x, f(x ∧~Q(z, b ∧~R(x
消去(z ,同理使用g(x 代替之,这样得到:
(x ( P(a, x, f(x ∧~Q(g(x, b ∧~R(x
则,略去全称变量,原式的Skolem 标准形为:
P(a, x, f(x ∧~Q(g(x, b ∧~R(x
2.3.2子句集
文字:不含任何连接词的谓词公式。
子句:一些文字的析取(谓词的和)。
子句集:所有子句的集合
对于任一个公式G ,都可以通过Skolem 标准形,标准化建立起一个子句集与之相对应。
因为子句不过是一些文字的析取,是一种比较简单的形式,所以对G 的讨论就用对子句集S 的讨论来代替,以便容易处理。
子句集S 可由下面的步骤求取:
1. 谓词公式G 转换成前束范式
2.
消去前束范式中的存在变量,略去其中的任意变量,生成SKOLEM 标准形
8 3. 将SKOLEM 标准形中的各个子句提出,表示为集合形式
教师提示:为了简单起见,子句集生成可以理解为是用","取代S KOLEM 标准形中的"Λ",并表示为集合形式 。
注意:SKOLEM 标准形必须满足合取范式的条件。
即,在生成子句集之前逻辑表达式必须是各"谓词表达式"或"谓词或表达式"的与。
定理
谓词表达式G 是不可满足的当且仅当 其子句集S 是不可满足的 公式G 与其子句集S 并不等值,但它们在不可满足的意义下是一致的。
因此如果要证明A1∧A2∧A3→B ,只需证明G =
A1∧A2∧A3∧~B 的子句集是不可满足的,这也正是引入子句集的目的。
注意:公式G 和子句集S 虽然不等值,但是它们的之间一般逻辑关系可以简单的说明为:G 真不一定S 真,而S 真必有G 真,即,S
G 。
在生成SKOLEM 标准形时将存在量词用常量或其他变量的函数代替,使得变量讨论的论域发生了变化,即论域变小了。
所以G 不能保证S 真。
定理的推广
对于形如G = G 1Λ G 2Λ G 3Λ …Λ G n
的谓词公式,G 的子句集的求取过程可以分解成几个部分单独处理。
如果G i 的子句集为S i ,则
有 S' = S 1 ∪ S 2 ∪ S 3 ∪ …∪
S n ,虽然G 的子句集不为S',但是可以证明:
9 S G 与S 1 ∪ S 2 ∪ S 3
∪ …∪S n 在不可满足的意义上是一致的。
即S G 不可满足 S 1 ∪ S 2 ∪S 3 ∪ …∪ S n 不可满足
由上面的定理,我们对SG 的讨论,可以用较为简单的S1 ∪ S2 ∪ S3 ∪ …∪ Sn 来代替。
为方便起见,也称S1 ∪ S2 ∪ S3 ∪ …∪ Sn 为G 的子句形,即:
SG =S1 ∪ S2 ∪ S3 ∪ …∪
Sn 。
根据以上定理可对一个谓词表达式分而治之,化整为零,大大减少了计算复杂度。
例2-3
对所有的x,y,z 来说,如果y 是x 的父亲,z 又是y 的父亲,则z 是x 的祖父。
又知每个人都有父亲,试问对某个人来说谁是它的祖父?
用一阶逻辑表示这个问题,并建立子句集。
解:
这里我们首先引入谓词:
P(x, y 表示x 是y 的父亲
Q(x, y 表示x 是y 的祖父
ANS(x 表示问题的解答
于是有:
对于第一个条件,"如果y 是x 的父亲,z 又是y 的父亲,则z 是x 的祖父",一阶逻辑表达式如下:
10 A1:(x(y(z(P(x, y ∧P(y, z→Q(x, z
则把A1化为合取范式,进而化为Skolem 标准形,表示如下:
S A1:~P(x ,y ∨~P(y, z ∨Q(x, z
对于第二个条件:"每个人都有父亲",一阶逻辑表达式如下:
A2:(y(xP(x, y
化为Skolem 标准形,表示如下:
S A2:P(f(y, x
结论:某个人是它的祖父
B :(x(yQ(x, y
否定后得到子句:
S ~B :~Q(x, y ∨ANS(x
则得到的相应的子句集为:{ S A1,S A2,S ~B }
解毕。