810 likes | 926 Views
欢迎使用本课件. 教材简介 : 名 称 : 人工智能原理与应用 作 者 : 张仰森 出版社 : 高等教育出版社 章 节 : 共十章. 主讲教师 : 宗春梅. 按照推理过程所用知识的确定性,推理可分为确定性推理和不确定性推理。 自然演绎推理和归结推理是经典的确定性推理,它们以数理逻辑的有关理论、方法和技术为理论基础,是机械化的、可在计算机上加以实现的推理方法。 本章在讨论有关推理的一般概念以及命题和谓词逻辑的基础上,介绍自然演绎推理方法和基于一阶谓词逻辑的归结推理方法。. 3.1 推理概述.
E N D
欢迎使用本课件 教材简介: 名 称:人工智能原理与应用 作 者:张仰森 出版社:高等教育出版社 章 节:共十章 主讲教师: 宗春梅
按照推理过程所用知识的确定性,推理可分为确定性推理和不确定性推理。按照推理过程所用知识的确定性,推理可分为确定性推理和不确定性推理。 自然演绎推理和归结推理是经典的确定性推理,它们以数理逻辑的有关理论、方法和技术为理论基础,是机械化的、可在计算机上加以实现的推理方法。 本章在讨论有关推理的一般概念以及命题和谓词逻辑的基础上,介绍自然演绎推理方法和基于一阶谓词逻辑的归结推理方法。
3.1 推理概述 3.1.1 推理的基本概念 推理是指从已知事实出发,运用已掌握的知识,推导出其中蕴含的事实性结论或归纳出某些新的结论的过程。其中,推理所用的事实可分为两种情况,一种是与求解问题有关的初始证据;另一种是推理过程中所得到的中间结论,这些中间结论可以作为进一步推理的已知事实或证据。 人工智能系统的构成: 推理机---一些程序来完成的; 综合数据库---存放有用于推理的事实或证据; 知识库---存放有用于推理所必须的知识。
3.1 推理概述 3.1.2 推理的方法及其分类 1. 按照推理的逻辑基础分类 可分为演绎推理、归纳推理和默认推理。 (1)演绎推理 演绎推理是从已知的一般性知识出发,推理出适合于某种个别情况的结论的过程。它是一种由一般到个别的推理方法。
3.1 推理概述 (2)归纳推理 归纳推理是从大量特殊事例出发,归纳出一般性结论的推理过程,是一种由个别到一般的推理方法。其基本思想是:首先从已知事实中猜测出一个结论,然后对这个结论的正确性加以证明确认,数学归纳法就是归纳推理的一种典型例子。 归纳推理又可分为: 从特殊事例考察范围看:完全归纳推理、不完全归纳推理; 从使用的方法看:枚举归纳推理、类比归纳推理。
(3)默认推理 默认推理又称缺省推理,是在知识不完全的情况下假设某些条件已经具备所进行的推理。也就是说,在进行推理时,如果对某些证据不能证明其不成立的情况下,先假设它是成立的,并将它作为推理的依据进行推理,但在推理过程中,当由于新知识的加入或由于所推出的中间结论与已有知识发生矛盾时,就说明前面的有关证据的假设是不正确,这时就要撤消原来的假设以及由此假设所推出的所有结论,重新按新情况进行推理 3.1 推理概述
2.按所用知识的确定性分类 按推理时所用知识的确定性来划分,推理可分为确定性推理、不确定性推理。 3. 按推理过程的单调性 按照推理过程中所推出的结论是否单调地增加,或者说按照推理过程所得到的结论是否越来越接近最终目标来分类,推理可分为单调推理与非单调推理。 3.1 推理概述
3.1.3 推理的控制策略 推理过程不仅依赖于所用的推理方法,同时也依赖于推理的控制策略。控制策略包括推理方向、搜索策略、冲突消解策略等;而推理方法则是指在推理控制策略确定之后,在进行具体推理时所要采取的匹配方法或不确定性传递算法等方法。 推理方向用来确定推理的驱动方式,即是数据(证据)驱动或是目标驱动。所谓数据驱动即指推理过程从初始证据开始直到目标结束,而目标驱动则是指推理过程从目标开始进行反向推理,直到出现与初始证据相吻合的结果。 按照对推理方向的控制,推理可分为正向推理、反向推理、混合推理及双向推理四种情况。 3.1 推理概述
正向推理是一种从已知事实出发、正向使用推理规则的推理方式,它是一种数据(或证据)驱动的推理方式,又称前项链推理或自底向上推理。正向推理是一种从已知事实出发、正向使用推理规则的推理方式,它是一种数据(或证据)驱动的推理方式,又称前项链推理或自底向上推理。 反向推理是一种以某个假设目标为出发点,反向运用推理规则的推理方式,它是一种目标驱动的推理方式,又称反向链推理或自顶向下推理。 混合推理是把正向推理和反向推理结合起来所进行的推理。 所谓双向混合推理是指正向推理和反向推理同时进行,使推理过程在中间的某一步骤相汇合而结束的一种推理方法。 3.1 推理概述
3.1.4 推理的冲突消解策略 推理过程中的冲突消解策略,就是确定如何从多条匹配规则中选出一条规则作为启用规则,将它用于当前的推理。 目前已有的多种冲突消解策略的基本思想都是对匹配的知识或规则进行排序,以决定匹配规则的优先级别,优先级高的规则将作为启用规则。 常用排序方法有如下几种: 3.1 推理概述
按就近原则排序 按知识特殊性排序 按上下文限制排序 按知识的新鲜性排序 按知识的差异性排序 按领域问题的特点排序 按规则的次序排序 按前提条件的规模排序 3.1 推理概述
3.2.1 命题 定义 3.1能够分辨真假的语句称作命题。 定义3.2一个语句如果不能再进一步分解成更简单的语句,并且又是一个命题,则称此命题为原子命题。 原子命题是命题中最基本的单位。我们一般用P、Q、R、…大写拉丁字母表示命题,而命题的真与假分别用“T”与“F”表示。 用大写英文字母表示的命题既可以是一个特定的命题,也可以是一个抽象的命题。前者称为命题常量,后者称为命题变量。对于命题变量而言,只有把确定的命题代入后,它才可能有明确的逻辑值(T或F)。 3.2 命题逻辑
3.2.2 命题公式 1. 连接词 ~:称为“非”或“否定”。 ∨:称为“析取”。 ∧:称为“合取”。 →:称为“条件”或者“蕴含”。 :称为“双条件”。P Q表示“P当且仅当Q”。 P Q P∨Q P∧Q P→Q P Q ~P T T T T T T F T F T F F F F F T T F T F T F F F F T T T 3.1 推理概述 表3.1 命题逻辑真值表
2.命题公式 定义3.3 以下面的递归形式给出命题公式的定义: (1)原子命题是命题公式。 (2)A是命题公式,则~A也是命题公式。 (3)若A和B都是命题公式,则A∧B、A∨B、 A→B、AB (4)只有按(1)—(3)所得的公式才是命题公式。 3.1 推理概述
命题公式的缺点: 无法把所描述的客观事物的结构和逻辑特征反映出来 不能把不同事物的共同特征反映出来 P:“张三是李四的老师”;仅用字母P看不出张三和李四之间的师生关系。 为了克服命题逻辑的局限性,引入了下面的谓词逻辑 3.1 推理概述
3.3.1 谓词与个体 在谓词逻辑中,将原子命题分解为谓词与个体两部分。 个体是指可以独立存在的物体,可以是抽象的或具体的。 谓词则是用于刻画个体的性质、状态或个体间的关系的。 例如:“李白是诗人” 可表示为:poet(LiBai) poet称为谓词,用以刻画“是诗人”;LiBai称为个体 3.3 谓词逻辑
一个谓词可以与一个个体相关联,此种谓词称作一元谓词,它刻画了个体的性质。一个谓词也可以与多个个体相关联,此种谓词称为多元谓词,它刻画了个体间的“关系”。一个谓词可以与一个个体相关联,此种谓词称作一元谓词,它刻画了个体的性质。一个谓词也可以与多个个体相关联,此种谓词称为多元谓词,它刻画了个体间的“关系”。 3.3 谓词逻辑
谓词的一般形式: P(x1,x2,…,xn ) 其中P是谓词,而x1,x2,…,xn是个体。谓词通常用大写字母表示,个体通常用小写字母表示。 项:在谓词中,个体可以是常量,也可以是变量,还可以是一个函数。例如,“小刘的哥哥是个工人”,可以表示为worker(brother(Liu)),其中brother(Liu)是一个函数。个体常数、变量和函数统称为项。 谓词的语义:由使用者根据需要人为地定义. 3.3 谓词逻辑
谓词的一般形式: P(x1,x2,…,xn ) 其中P是谓词,而x1,x2,…,xn是个体。谓词通常用大写字母表示,个体通常用小写字母表示。 项:在谓词中,个体可以是常量,也可以是变量,还可以是一个函数。例如,“小刘的哥哥是个工人”,可以表示为worker(brother(Liu)),其中brother(Liu)是一个函数。个体常数、变量和函数统称为项。 谓词的语义:由使用者根据需要人为地定义. 3.3 谓词逻辑
谓词的元数:谓词中包含的个体数目称为谓词的元数,例如P(x)是一元谓词,P(x,y)是二元谓词,而P(x1,x2,…,xn )则是n元谓词。 谓词的阶数:在谓词P(x1,x2,…,xn )中,若xi(i=1,2,…,n)都是个体常量、变元或函数,则称它为一阶谓词。如果某个xi本身又是一个一阶谓词,则称它为二阶谓词,依次类推。 谓词和函数的区别:谓词具有逻辑值“真”或“假”,而函数则是某个个体到另一个个体(按数学上的概念是自变量到因变量)之间的映射。 3.3 谓词逻辑
3.3.2 谓词公式 1.连接词 ~,∨,∧,→, 2.量词 为刻画谓词与个体间的关系,引入了两个量词:全称量词(x),和存在量词(x)。 3.谓词演算公式 定义3.4谓词演算中,由单个谓词构成的不含任何连接词的公式,叫做原子谓词公式。 3.3 谓词逻辑
由原子公式的定义出发,可定义谓词演算的合式公式如下。由原子公式的定义出发,可定义谓词演算的合式公式如下。 定义3.5可按下述规则得到谓词演算的合式公式: (1)原子谓词公式是合式公式。 (2)若A是合式公式,则~A也是合式公式。 (3)若A和B都是合式公式,则A∧B、A∨B、A→B、AB也都是合式公式。 (4)若A是合式公式,x是任一个体变元,则(x)A和(x)A也都是合式公式。 (5)只有按(1)—(4)所得的公式才是合式公式。 3.3 谓词逻辑
4. 量词辖域与约束变元 在一个公式中,如果有量词出现,位于量词后面的单个谓词或者用括弧括起来的合式公式称为量词的辖域。在辖域内与量词中同名的变元称为约束变元。 3.3 谓词逻辑
3.3.3 谓词公式的永真性和可满足性 1.谓词公式的解释 定义3.6设D为谓词公式P的个体域,若对P中的个体常量、函数和谓词按照如下规定赋值: (1)为每个个体常量指派D中的一个元素; (2)为每个n元函数指派一个从Dn到D的映射,其中 Dn={(x1,x2,…,xn)|x1,x2,…,xnD} (3)为每个n元谓词指派一个从Dn到{F,T}的映射; 则称这些指派为公式P在D上的一个解释。 3.3 谓词逻辑
例3.1设个体域D={1,2},求公式A=(x)(P(x)→Q(f(x),b))在D上的某一个解释,并指出在此解释下公式A的真值。例3.1设个体域D={1,2},求公式A=(x)(P(x)→Q(f(x),b))在D上的某一个解释,并指出在此解释下公式A的真值。 (详细的求解过程参见教材) 3.3 谓词逻辑
2.谓词公式的永真性 定义3.7如果谓词公式P,对个体域D上的任何一个解释都取得真值T,则称P在D上是永真的;如果P在每个非空个体域上均永真,则称P永真。 定义3.8如果谓词公式P对于个体域D上的所有解释都取得假值F,则称P在D上是永假的;如果P在每个非空个体域上均永假,则称P永假。 谓词公式的永假性又称为不可满足性或不相容性。 3.3 谓词逻辑
3.谓词公式的可满足性 定义3.9对于谓词公式P,如果至少存在一个解释使得公式P在此解释下的真值为T,则称公式P是可满足的。 按照定义3.9,对谓词公式P,如果不存在任何解释,使得P的取值为T,则称公式P是不可满足的。所以,谓词公式P永假与不可满足是等价的。若P永假,则也可称P是不可满足的。 3.3 谓词逻辑
3.3.4 谓词公式的等价性与永真蕴含 定义3.10设P与Q是两个谓词公式,D是它们共同的个体域。若对D上的任何一个解释,P与Q的取值都相同,则公式P和Q在域D上是等价的。如果D是任意个体域,则称P和Q是等价的,记作P Q。 常用的一些等价式参见教材 定义3.11对于谓词公式P和Q,如果P→Q永真,则称P永真蕴含Q,且称Q为P的逻辑结论,称P为Q的前提,记作P=>Q。 以后要用到的一些永真蕴含式参见教材 3.3 谓词逻辑
谓词逻辑中还有如下一些推理规则: (1)P规则:在推理的任何步骤上都可引入前提。 (2)T规则:推理时,如果前面步骤中有一个或多个永真蕴含公式S,则可把S引入推理过程中。 (3)CP规则:如果能从R和前提集合中推出S来,则可从前提集合推出R→S来。 (4)反证法:P=>Q,当且仅当P∧~QF,即Q为P的逻辑结论,当且仅当P∧~Q 是不可满足的。 推广之,可得如下定理。 定理3.1 Q为P1,P2,…,Pn的逻辑结论,当且仅当 (P1∧P2∧…∧Pn)∧~Q是不可满足的。 3.3 谓词逻辑
3.3.5 置换与合一 1. 置换 置换的定义 定义3.12置换是形如{t1/x1,t2/x2,…,tn/xn}的一个有限集。其中xi是变量,ti是不同于xi的项(常量,变量,函数),且xi xj(Ij),i,j=1,2,…,n 。 3.3 谓词逻辑
例如,{a/x,b/y,f(x)/z},{f(z)/x,y/z}都是置换。 不含任何元素的置换称为空置换,以ℇ表示。 置换乘法 置换乘法作用是将两个置换合成为一个置换。 定义3.13假设={t1/x1,t2/x2,…,tn/xn} ={u1/y1,u2/y2,…,um/ym} 是两个置换,则它们的乘积是一个新置换,其作用于公式E时,相当于先后λ对E的作用。它的定义如下: 3.3 谓词逻辑
先作置换{t1·/x1,t2·/x2,…,tn·/xn,u1/y1,u2/y2,…,um/ym}。先作置换{t1·/x1,t2·/x2,…,tn·/xn,u1/y1,u2/y2,…,um/ym}。 若yi{ x1,…,xn}时,先从上述集合中删除ui/yi 。 若ti·=xi时,再从上述集合中删除ti·/xi 。 删除以后剩下元素所构成的集合称作与的乘积,记作 ·。 置换结合率 一般地说,下列的置换结合律成立 ( ·) ·= ·( ·) 但除了空置换外,置换的交换律不成立。即只有·=· = 。 3.3 谓词逻辑
2. 合一 合一的概念 定义3.14设有公式集{E1,E2,…,En}和置换θ ,使 E1 θ= E2 θ=…=En θ 便称E1,E2,…,En是可合一的 ,且θ称为合一置换。 定义3.15若E1,E2,…,En有合一置换σ,且对E1,E2,…,En的任一置换都存在一个置换λ,使得θ= σ · λ ,则称σ是E1,E2,…,En的最一般合一置换,记为mgu。 3.3 谓词逻辑
最一般合一置换的求取算法 设有两个谓词公式: E1:P(x,y,z); E2:P(x,f(a),g(b)) 分别从E1与E2的第一个符号开始逐个向右比较,此时发现E1中的y与E2中的f(a)不同,则它们构成了一个不一致集: D1={y,f(a)} 当继续向右比较时,又发现中E1中的z与E2中g(b)不同,则又得到一个不一致集: D2={z,g(b)} 下面给出求公式{E1,E2}的最一般合一置换的算法: 3.3 谓词逻辑
(1)令W={ E1,E2 }。 (2)令 k=0,Wk=W,σk=ε;ε是空置换,它表示不作置换。 (3)如果Wk只有一个表达式,则算法停止,σk就是所要求的mgu。 (4)找出Wk的不一致集Dk。 (5)若Dk中存在元素xk和tk ,其中xk是变元,tk是项,且xk不在tk中 出现,则置: σk+1=σk ·{tk/xk } Wk+1=wk{tk/xk } k=k+1 然后转(3)。 (6)算法终止,W的mgu不存在。 可以证明,如果E1和E2可合一,则算法必停止于第(3)步。 3.3 谓词逻辑
例3.5设E1=P(a,v,f(g(y))),E2=P(z,f(a),f(u)),求E1和E2的mgu。例3.5设E1=P(a,v,f(g(y))),E2=P(z,f(a),f(u)),求E1和E2的mgu。 解题请参见教材 答案为:σ3= {a/z ,f(a)/v,g(y)/u} σ3就是E1和E2的mgu。 3.3 谓词逻辑
3.4.1 自然演绎推理的概念 自然演绎推理是指从一组已知为真的事实出发,直接运用命题逻辑或谓词逻辑中的推理规则推出结论的过程。 假言三段论的基本形式为 P→Q,Q→RP→R 它表示如果谓词公式P→Q和Q→R均为真,则谓词公式P→R也为真。 假言推理可用下列形式表示 P,P→Q Q 它表示如果谓词公式P和P→Q都为真,则可推得Q为真结论。 3.4 自然演绎推理方法
拒取式的一般形式为 P→Q,~Q ~P 它表示如果谓词公式P→Q为真且Q为假,则可推得P为假的结论。 2.4.2 利用演绎推理解决问题 在利用自然演绎推理方法求解问题时,一定要注意避免两种类型的错误:肯定后件的错误和否定前件的错误。 3.4 自然演绎推理方法
肯定后件的错误是指当P→Q为真时,希望通过肯定后件Q为真来推出前件P为真。这显然是错误的推理逻辑,因为当P→Q及Q为真时,前件P既可能为真,也可能为假。肯定后件的错误是指当P→Q为真时,希望通过肯定后件Q为真来推出前件P为真。这显然是错误的推理逻辑,因为当P→Q及Q为真时,前件P既可能为真,也可能为假。 否定前件的错误是指当P→Q为真时,希望通过否定前件P来推出后件Q为假。这也是不允许的,因为当P→Q及P为假时,后件Q既可能为真,也可能为假。 相关的例题请参见教材 3.4 自然演绎推理方法
3.4.3 演绎推理的特点 参见教材 3.4 自然演绎推理方法
研究用计算机实现定理证明的机械化,已是人工智能研究的一个重要领域。对于定理证明问题,如果用一阶谓词逻辑表示的话,就是要求对前提P和结论Q证明P→Q是永真的。然而,要证明这个谓词公式的永真性,必须对所有个体域上的每一个解释进行验证,这是极其困难的。为了化简问题,和数学上常采用的方法一样,我们考虑反证法。即,我们先否定逻辑结论Q,再由否定后的逻辑结论~Q及前提条件P出发推出矛盾,即可证明原问题。研究用计算机实现定理证明的机械化,已是人工智能研究的一个重要领域。对于定理证明问题,如果用一阶谓词逻辑表示的话,就是要求对前提P和结论Q证明P→Q是永真的。然而,要证明这个谓词公式的永真性,必须对所有个体域上的每一个解释进行验证,这是极其困难的。为了化简问题,和数学上常采用的方法一样,我们考虑反证法。即,我们先否定逻辑结论Q,再由否定后的逻辑结论~Q及前提条件P出发推出矛盾,即可证明原问题。 3.5 归结推理方法
3.5.1谓词公式与子句集 1.范式 前束形范式 一个谓词公式,如果它的所有量词均非否定地出现在公式的最前面,且它的辖域一直延伸到公式之末,同时公式中不出现连接词→及 ,这种形式的公式称作前束形范式。 例如,公式 ( x)(y)( z)(P(x)∧F(y,z)∧Q(y,z)) 即是一个前束形的公式。 3.5 归结推理方法
斯克林范式 从前束形范式中消去全部存在量词所得到的公式即为Skolem范式,或称Skolem标准型。 例如,如果用f(x)代替上面前束形范式中的y即得到Skolem范式: ( x) ( z)(P(x)∧F(f(x), z)∧Q(f(x), z)) Skolem标准型的一般形式是 ( x1)( x2)…( xn)M(x1,x2,…,xn) 其中,M(x1,x2,…,xn)是一个合取范式,称为Skolem标准型的母式。 3.5 归结推理方法
将谓词公式G化为Skolem标准型的步骤如下: (1)消去谓词公式G中的蕴涵(→)和双条件符号( ),以~A∨B代替A→B,以(A∧B)∨(~A∧~B)替换AB。 (2)减少否定符号(~)的辖域,使否定符号“~”最多只作用到一个谓词上。 (3)重新命名变元名,使所有的变元的名字均不同,并且自由变元及约束变元亦不同。 3.5 归结推理方法
(4)消去存在量词。这里分两种情况,一种情况是存在量词不出现在全称量词的辖域内,此时,只要用一个新的个体常量替换该存在量词约束的变元,就可以消去存在量词;另一种情况是,存在量词位于一个或多个全称量词的辖域内,这时需要用一个Skolem函数替换存在量词而将其消去。(4)消去存在量词。这里分两种情况,一种情况是存在量词不出现在全称量词的辖域内,此时,只要用一个新的个体常量替换该存在量词约束的变元,就可以消去存在量词;另一种情况是,存在量词位于一个或多个全称量词的辖域内,这时需要用一个Skolem函数替换存在量词而将其消去。 (5)把全称量词全部移到公式的左边,并使每个量词的辖域包括这个量词后面公式的整个部分。 (6)母式化为合取范式:任何母式都可以写成由一些谓词公式和谓词公式否定的析取的有限集组成的合取。 需要指出的是,由于在化解过程中,消去存在量词时作了一些替换,一般情况下,G的Skolem标准型与G并不等值。 3.5 归结推理方法
2.子句与子句集 定义3.16不含有任何连接词的谓词公式叫原子公式,简称原子,而原子或原子的否定统称文字。 定义3.17子句就是由一些文字组成的析取式。 定义3.18不包含任何文字的子句称为空子句,记为NIL。 定义3.199由子句构成的集合称为子句集。 3.5 归结推理方法
3.不可满足意义下的一致性 定理3.2 设有谓词公式G,而其相应的子句集为S,则G是不可满足的充分必要条件是S是不可满足的。 要再次强调:公式G与其子句集S并不等值,只是在不可满足意义下等价。 相关的例子参见教材中的例3.9 3.5 归结推理方法
4.P=P1∧P2∧…Pn的子句集 当P=P1∧P2∧…Pn时,若设P的子句集为SP,Pi的子句集为Si,则一般情况下,SP并不等于S1∪S2∪S3…∪Sn,而是要比S1∪S2∪S3…∪Sn复杂得多。但是,在不可满足的意义下,子句集SP与S1∪S2∪S3…∪Sn是一致的,即 SP不可满足S1∪S2∪S3…∪Sn不可满足 3.5 归结推理方法
3.5.2 Herbrand理论 1.H域 定义3.20 设谓词公式G的子句集为S,则按下述方法构造的个体变元域H。称为公式G或子句集S的Herbrand域,简称H域。 (1)令H0是S中所出现的常量的集合。若S中没有常量出现,就任取一个常量aD,规定H0={a}。 (2)令 Hi+1=Hi∪{S中所有的形如f(t1,…,tn)的元素} 其中f(t1,…,tn)是出现于G中的任一函数符号,而t1,…,tn是Hi中的元素。i=0,1,2,…。 3.5 归结推理方法
例3.10 求子句集S={T(x)∨Q(z),R(f(y))}的H域。 解 此例中没有个体常量,任意指定一个常量a作为个体常量;只有一个函数f(y),有: H0={a} H1={a,f(a)} H2={a,f(a),f(f(a))} …… H∞={a,f(a),f(f(a)),f(f(f(a))),…} 3.5 归结推理方法