人工智能基础——知识的表示方法,语义网络表示方法
语义网络以个体为中心的组织知识的语义联系实例联系泛化联系聚集联系属性联系以谓词或关系为中心组织知识的语义联系以关系(谓词)为中心组织知识的语义联系连接词在语义网络中的表示方法合取析取否定蕴含变元和量词在语义网络中的表示方法以个体为中心的组织知识的语义联系实例联系泛化联系聚集联系属性联系以谓词或关系为中心组织知识的语义联系以关系(谓词)为中心组织知识的语义联系连接词在语义网络中的表示方法合取析取否定蕴含变元和量词在语义网络中的表示方法语义网络:采用网络形式表示人类知识的方法,一个带有标识的有向图,图中的结点表示物体,事件或者是属性值。(AKO与此时所说的无关,直接忽略)
结点一般分为实例结点和类结点(模板,相当于编程中的类)两种类型。结点之间的有向弧(有的还带有标识,包括直线)表示结点之间的联系。
基本命题的语义网络表示:1.以个体为中心组织知识的语义联系。实例联系:用于表示类结点数所属实例结点之间的联系。标识符为:ISA例如“张三是一名老师”可以表示为如图2.3所示的语义网络。值得注意的是:实例结点与类结点是多对多的关系,一个实例可以属于多个类结点,因为这个实例可以包含多个类的属性,同样的,一个类是可以拥有多个实例的。泛化联系:用于表示一种类结点(如鸟)与更抽象的类结点(如动物)之间的联系,通常用AKO(akindof)表示。聚集联系:用于表示某一个体与其组成成分之间的联系,通常用(part-of)表示。聚集联系基于概念的分解性,将高层概念分解为若干低层概念的集合。这里,可以把低层概念看作是高层概念的属性,例如,“两只手是人体的一部分”表示为如下图所示的语义网络:
属性联系:表示个体、属性及属性值之间的联系。通常用有向弧表示属性,用这些弧指向的结点表示各自的值。例如:“John的性别是男性,年龄为30岁,身高180cm,职业是程序员。”可以表示为:
以谓词或关系为中心组织知识的语义联系
以关系(谓词)为中心组织知识的语义联系:除了把对象当作结点之外,如果还把关系R也作为语义的结点,其对应的关系语义便可以用语义网络表示。例如:小李和小王是朋友,可以用关系Friend(Li,Wang)(其实就是一个谓词)来表示。语义网络如图所示:连接词在语义网络中的表示方法:合取:在语义网络中,合取通过引入合取结点来表示。合取关系网络其实就是由与结点引出的弧构成的网络。
析取:通过引入或结点表示:否定:引入非结点。对于基本联系的否定,可以直接采用非ISA,非AKO,以及非part-of的有向弧来标注。对于一般结点,则需要通过引进非结点来表示。
蕴含:引入关系结点蕴含,从关系结点出发,一条弧指向命题的前提条件,记为ANTE,另一条弧指向该规则的结论,记为CONSE。变元和量词在语义网络中的表示方法:
存在零次在语义网络中直接用ISA弧表示,而全称量词就需要用分块来表示。
对于量词的表示方法,首先用谓词公式表示出来,然后根据谓词公式画出语义网络。
GS:表示全称量化的一般事例,可以说是所有全称量化实例的集合G:某个具体的全程量化实例,这里是全称量化狗FROM:可以理解为是辖域,其实应该是G这个断言本身(G有两个部分,一个刚才已经说到,另一个就是代表全称量词的特殊弧(任意符号),S1是一个特定的分割,表示Adoghasbittenapostman.
[人工智能] 第3章 基于谓词逻辑的知识表示与机器推理技术
[人工智能]第3章基于谓词逻辑的知识表示与机器推理技术3.2谓词逻辑简介3.2.1基于命题逻辑的知识表示3.2.2谓词逻辑3.2.3基于谓词逻辑的知识表示3.3自然演绎推理3.4归结演绎推理3.4.1子句集3.4.2命题逻辑中的归结原理3.4.3替换与合一3.4.4谓词逻辑中的归结原理3.4.6归结策略3.5归结原理与Prolog语言3.2谓词逻辑简介3.2.1基于命题逻辑的知识表示用大写字母来表示命题特定命题----命题常量抽象命题(含未知参数x)----命题变量从符号上无法表达不同对象的相同特征>>发展了谓词逻辑
3.2.2谓词逻辑谓词形如P(x1,x2,…,xn)命题函数:谓词公式如果一个谓词公式中所有的个体变量都被量化,或者所有的变量都用常量代替,这时谓词公式就变成了一个命题
3.2.3基于谓词逻辑的知识表示任意+蕴含存在+合取
3.3自然演绎推理从一组用谓词公式表示的事实出发,利用常用的逻辑等价式对公式进行等价变换,再使用推理定律以及推理规则推出结论,这一过程称之为自然演绎推理
逻辑等价式/推理定律
优点:证明的过程比较自然,容易理解缺点:容易出现中间结论的组合爆炸,针对复杂实际推理问题时效率较低
3.4归结演绎推理归结反演本质上是一种反证法,即要证明命题Q在前提F下为真,只需要证明反命题恒假
3.4.1子句集文字:原子谓词公式及其否定原子谓词公式称为正文字原子谓词公式的否定称为负文字任何文字的析取式称为子句如果一个子句包含n个文字,则称为n文字子句只含一个文字的子句称为单元子句不包含任何文字的子句称为空子句表示:Nil(空子句永假)由子句构成的集合称为子句集。子句集中子句和子句之间的关系是合取关系,所以,子句集就是一个合取范式。
求谓词公式的子句集步骤P74消去存在量词,同时要进行变量替换:一种情况是存在量词不在全称量词的辖域内,此时消去存在量词,并用一个新的个体常量符号代替原存在量词辖域内的约束变量(Skolem常量)另一种情况是存在量词出现在全称量词的辖域内,此时消去存在量词,并用一个全称量词约束的变量的函数代替存在量词辖域内的约束变量(Skolem函数)
小结Skolem标准型与原公式一般不等价一个公式的子句集就是该公式的Skolem标准型的另一种表达形式消去存在量词的过程使谓词公式的子句集与原谓词公式并不等价在不可满足性上谓词公式和它的子句集是等价的,即如果谓词公式不可满足,则其子句集也一定不可满足,反之亦然
3.4.2命题逻辑中的归结原理P77互补文字归结式亲本子句消解基
归结的结果不受顺序的影响
定理3.4归结式是其亲本子句的逻辑结果归结反演方法:可以用证明子句集的不可满足性的方法,证明原谓词公式的否定是不可满足的,从而证明原谓词公式是永真
利用归结反演方法证明定理的具体步骤:P78
3.4.3替换与合一替换是形如θ={t1/x1,t2/x2,…,tn/xn}的有限集合F根据θ进行替换称为F在θ下的例或特例
一个谓词公式的任何例都是它的逻辑结论
替换的符合θ·λP79例3.11P79
合一一个公式集的合一不是唯一的最一般合一差异集
求最一般合一的算法P81最一般合一也不是唯一的合一算法是完备的,也可以判断公式集的最一般合一是否存在
3.4.4谓词逻辑中的归结原理二元归结式/归结式的亲本子句/归结文字定义3.23因子/单因子
3.4.6归结策略广度优先搜索策略进行归结相同层之间两两归结
归结策略的完备性
深度优先搜索策略是先产生第一层的归结项,然后用某些第一层或0层的子句进行归结,得到第二层的归结项,以此类推
删除策略是完备的。即对于不可满足的子句集,使用删除策略进行归结,最终必导出空子句。
目标公式否定所得的子句及其后裔字句组成的字句集即为支持集
支持集策略实际是一种目标制导的反向推理。
支持集策略是完备的。
线性归结策略:在归结过程中,除第一次归结都用给定的子句集中的子句外,其后每次归结则至少要有一个亲本子句是上次归结的结果
线性归结策略是完备的,高效的。
单元归结策略:在归结过程中,每次参加归结的两个亲本子句中必须至少有一个为单元子句
单元归结策略是不完备的,但效率高
祖先过滤形策略:参加归结的两个子句,要么至少有一个是初始子句集中的子句,要么一个是另一个的祖先是完备的是线性输入策略的改进
3.5归结原理与Prolog语言Prolog语言就是以Horn子句逻辑为基础的程序设计语言
Prolog程序的运行是一种从问题语句(目标语句)开始的线性归结过程
Prolog规则和事实可连续排列在一起,其顺序可随意安排,但同一谓词名的事实或规则必须集中排列在一起
问题不能与规则及事实排在一起,它作为程序的目标要么单独列出,要么在程序运行时临时给出
其问题就相当于主程序,其规则就相当于子程序,其事实就相当于数据
特点:推理方式为反向推理控制策略是深度优先,且有回溯机制
正向推理:F-规则反向推理:B-规则所谓双向演绎推理,即分别从基于事实的F-规则正向推理出发,也从基于目标的B-规则逆向推理出发,同时进行双向演绎推理。
人工智能 —— 归结演绎推理
什么是归结演绎推理归结演绎推理是一种基于逻辑“反证法”的机械化定理证明方法。其基本思想是把永真性的证明转化为不可满足性的证明。即要证明P→QP→QP→Q永真,只要能够证明P∧﹁QP∧﹁QP∧﹁Q为不可满足即可。
谓词公式不可满足的充要条件是其子句集不可满足。因此,要把谓词公式转换为子句集,再用鲁滨逊归结原理求解子句集是否不可满足。如果子句集不可满足,则P→QP→QP→Q永真
逻辑学基础(1)谓词公式的永真性
如果谓词公式P对非空个体域D上的任一解释都取得真值T,则称P在D上是永真的;如果P在任何非空个体域上均是永真的,则称P永真。
(2)谓词公式的可满足性
对于谓词公式P,如果至少存在D上的一个解释,使公式P在此解释下的真值为T,则称公式P在D上是可满足的。
(3)谓词公式的范式
范式是公式的标准形式,公式往往需要变换为同它等价的范式,以便对它们进行一般性的处理。在谓词逻辑中,根据量词在公式中出现的情况,可将谓词公式的范式分为以下两种。
前束范式
任一含有量词的谓词公式均可化为与其对应的前束范式Skolem范式
任一含有量词的谓词公式均可化为与其对应的Skolem范式子句和子句集谓词公式化为子句集鲁滨逊归结原理(消解原理)基本思想:
检查子句集S中是否包含空子句,若包含,则S不可满足。若不包含,在S中选择合适的子句进行归结,一旦归结出空子句,就说明S是不可满足的。(1)命题逻辑中的归结原理:
设C1C_1C1与C2C_2C2是子句集中的任意两个子句,如果C1C_1C1中的文字L1L_1L1与C2C_2C2中的文字L2L_2L2互补,那么从C1C_1C1和C2C_2C2中分别消去L1L_1L1和L2L_2L2,并将二个子句中余下的部分析取,构成一个新子句C12C_{12}C12。其中,C12C_{12}C12称为C1C_1C1和C2C_2C2的归结式,C1C_1C1和C2C_2C2称为C12C_{12}C12的亲本子句。
(2)谓词逻辑中的归结原理:
设C1C_1C1和C2C_2C2是两个没有公共变元的子句,L1L_1L1和L2L_2L2分别是C1C_1C1和C2C_2C2中的文字。如果L1L_1L1和L2L_2L2存在最一般合一σσσ,则称C12=(C1σ−L1σ)U(C2σ−L2σ)C_{12}=({C_1σ}-{L_1σ})U({C_2σ}-{L_2σ})C12=(C1σ−L1σ)U(C2σ−L2σ)为C1C_1C1和C2C_2C2的二元归结式,而L1L_1L1和L2L_2L2为归结式上的文字。
归结反演(1)归结反演证明定理:
步骤:
(1)将已知前提表示为谓词公式FFF。
(2)将待证明的结论表示为谓词公式QQQ,并否定得到﹁Q﹁Q﹁Q。
(3)把谓词公式集{F,﹁Q}{F,﹁Q}{F,﹁Q}化为子句集SSS。
(4)应用归结原理对子句集SSS中的子句进行归结,并把每次归结得到的归结式都并入到SSS中。如此反复进行,若出现了空子句,则停止归结,此时就证明了QQQ为真。
(2)归结反演求解问题:
步骤:
(1)已知前提FFF用谓词公式表示;
(2)把待求解的问题QQQ用谓词公式表示,并否定QQQ,再与ANSWERANSWERANSWER构成析取式(﹁Q∨ANSWER)(﹁Q∨ANSWER)(﹁Q∨ANSWER)
(3)把谓词公式集{F,(﹁Q∨ANSWER)}{F,(﹁Q∨ANSWER)}{F,(﹁Q∨ANSWER)}化为子句集SSS。
(4)对SSS应用归结原理进行归结;
(5)若得到归结式ANSWERANSWERANSWER,则答案就在ANSWERANSWERANSWER中。
归结演绎推理的应用(1)归结反演证明定理:
(2)归结反演求解问题: