1、1第二章 描述逻辑基础概述本章简单介绍了表示、推理知识的形式语言:描述逻辑。首先,给出了 DL 基本概念的简短综述;然后,介绍了句法和语义,包括应用在系统中或在文献中提到的基本结构,以及这些结构被用来建造知识库的方法;最后,定义了典型的推理问题,展现了它们是如何相互联系的,并且描述了解决这些问题的不同方法。在本章中只简单提到的一些主题在接下来的章节中会有更为详细地介绍。2.1 简介在前一章中已经概略提到,DLs 是知识表示体系族的最近才使用的名字,首先,通过定义该领域内的相关概念(terminology ) ,表示一个应用领域(the”world”)的知识;然后,使用这些概念指明出现在该领域(
2、the world description)内的对象和个体的性质。正如 DL 的名字所显示的,这些语言的特点之一在于,不像他们的前辈一样,他们装备了一个形式的、基于逻辑的语义。另外一个显著的特点在于以推理为中心服务作为重点:推理允许我们从知识库中的外层知识得到蕴含在其内部的知识。DL 支持出现在很多智能信息处理系统的应用中的推理模式,它也是人们用来构建和理解世界的:概念和个体的分类。概念的分类确定了给定的术语(terminology)中概念间的子概念/ 父概念的关系(在DL 中称为包含) ,而且分类允许我们以包含层级的形式去构造术语。这种层级为不同概念间的联系提供了有用的信息,而且能被用来提高
3、其他推理服务。个体的分类确定了一个给定的个体是否总是一个概念的实例(也就是说,这种实例关系是否由个体的描述和概念的定义来暗示) ,这样就提供了个体性质的有用信息,更为有用的是,实例关系可以触发那些想知识库中插入附加事实的规则的应用。因为 DL 是知识表示的一种形式,而且在知识表示中,我们通常假设一个知识表示系统总能在一个合理的时间内回答用户的查询,所以,DL 研究者所感兴趣的这个推理过程,即决策过程,不管肯定或否定回答,总之是要结束的,这一点与一阶理论证明是不同的。答案在有限时间内给出,并不意味着这个有限时间是合理的,所以,调查一个包含决策推理问题的 DL 的计算复杂度是很重要的。推理问题的确
4、定度和复杂度依赖于正在使用的 DL 的表达能力,一方面,表达能力很强的 DLs 可能会使得推理问题很复杂,或者根本没法确定;另一方面,表达能力很弱的 DLs(包含有效的推理过程)可能无法准确表示给定应用中的重要概念。正如前一章中提到的,调查 DLs 的表达能力和他们的推理问题的复杂性的折衷,已经是 DL 研究的最重要的主题之一。DL 是由所谓的“结构化层级网络 ”(Brachman,1977b;1978)发展而来的,结构化层级网络是为了克服早期语义网络和框架的歧义性提出的,语义网络和框架最早是在 KL-ONE 系统中实现的(Brachman and Schmolze,1985) 。下面这三点,
5、首先在 Brachman 的有关结构化层级网络的著作中被提出,在很大程度上影响了 DLs 的接下来的发展: 基本的依照造句法构建的模块有原子概念(一元谓词) 、一元角色(二元谓词)和个体(常量) 。 因为它使用了一个相当小的构建复杂概念和角色的构造器(知识完备的)集合,语言的表达能力被束缚了。 在推理过程的帮助下,概念和个体的内部知识能够被自动地推理。特别地,概念间的包含关系以及个体和概念间的实例关系起到了重要的作用。这与语义网络中的由用户明显给出的 IS_A 关系是不一样的,包含关系和实例关系是由概念的定义以及个体的性质推出的。在第一个基于逻辑的语义学应用于KL-One -like知识表示语
6、言之后,像包含这样的推理问题也能够有一个准确的意义,这导致了此类语言的计算特性的第一次正式调查。结果证明,早期DL系统使用的语言的表达能力太强,这使得包含问题无法确定。第一个最坏情况复杂度调查结果显示,即便对于表达能力很差的语言,包含问题也是难于处理的(也就是说,不是多项式级可以解决的) ,正如前一章中提到的,这本书是KL-One -like知识表示语言中的推理的最坏情况复杂度的彻底调查的开始(详情见第三章)。但是,后来的研究表明,推理的难处理性(最坏情况下复杂度是非多项式级的)并没有妨碍DL在应用中的有用性,在实现一个基于DL 的系统时,只要使用那些复杂的最优化技术,就可以2了(见第九章)。
7、可是,实现一个基于DL的系统时,基本的推理算法的有效实现并不是唯一的问题。一方面,起源系统服务(比如说分类,也就是说,构建一个terminology中定义的所有概念间的包含层级)也必须被最优化;另一方面,一个DL系统还需要一个好的使用者和好的应用程序接口(详情见第七章)。大多数实现的DL系统提供了一种规则语言,规则语言可以被看作一种非常简单的,但是有效的应用编程机制(详情见2.2.5)。2.2节介绍了DL的基本形式。经由一个原型的例子,首先介绍了描述概念的形式(也就是描述语言),然后,定义了Tbox 和Abox的形式。接下来,介绍了基本的推理问题,并展示了它们是如何相互联系的。最后,定义了许多
8、实现的DL系统中可用的规则语言。2.3节描述了DLs中解决基本的推理问题的算法,在简短地概述了结构化包含算法之后,重点解释了tableau-based算法,最后,评论了基于terminology的推理问题。最后,2.4节描述了一些附加的语言构造器,也就是那些虽然没有被包括在2.2节中介绍的描述语言的原型族系中,但是在文献中被考虑到了,以及在某些DL 系统中是可用的。2.2 基本形式的定义基于 DL 的知识表示系统提供了建立知识库、推理知识库中的内容以及处理这些内容的工具,图2.1 概略地描绘出了这样一个系统的结构(关于 DL 系统的更多信息见第八章) 。一个知识库(KB)包含了两部分:TBox
9、 和 ABox。TBox 介绍术语,也就是一个应用领域的词汇表,而 Abox 中则包含了根据这个词汇表的命名个体的声明。这个词汇表包含了表示个体的集合的概念(concept) ,以及表示个体之间二元关系的角色(roles) ,除了原子概念和角色(概念和角色名)之外,所有的DL系统都允许它们的使用者构建复杂的概念和角色描述。Tbox可以被用来将名字分配给复杂的描述,用来构建描述的语言是每个DL系统的特性,而且不同的系统是通过它们的描述语言区分开来的,描述语言有一个model-theoretic语义,这样,TBox和Abox中的陈述就可以用一阶逻辑的公式来区分,或者在有些时候,使用这个公式(it指
10、代什么)的简单扩展。一个 DL 系统不仅要存储 terminologies 和 assertions,而且还要提供 terminologies 和 assertions 的推理服务。terminology 的典型的推理任务,是要 确定一个描述是否是可以满足的(也就是说是没有矛盾的) ,或者一个描述是否比另外一个更加概括,即第一个是否包含第二个。ABox 的重要问题是要弄清楚它的陈述(assertions)集合是否是一致的,也就是说,它是否有一个模型,而且 Abox 中的陈述是不是使得一个特定的个体是一个给定概念描述的实例。描述的可满足性检查和陈述集合的一致性检查,在确定一个知识库是否有意义时,
11、是很重要的。通过包含性测试,我们可以根据 terminology 中的概念的一般性,把这些概念组织成一个3层级结构,一个概念描述也可以被认为是一个我们感兴趣的对象集合的查询,这样,通过实例测试,我们就可以取回满足查询的个体了。在任何一个应用中,一个知识表示系统都是被嵌入到一个更大的环境中的,该环境中的其他组件通过查询和修改知识库来与知识表示组件相联系,也就是通过增加和取消概念、角色以及陈述达到的。规则(rules)就是增加陈述的束缚机制,是逻辑的核心形式的扩展,它仍然是被逻辑地解释的。但是,包括提供应用程序接口的很多系统,都有定义好的逻辑语义的功能,通过提供一个escape hatch ,应用
12、程序就可以任意地操作知识库了。2.2.1 描述语言基本的描述有原子概念和原子角色,通过使用概念构造器,复杂的描述可以在基本描述的基础上归纳性地构建,在抽象符号中,我们使用字母 A、B 代表原子概念,使用字母 R 代表原子角色,使用C、D 代表概念描述,描述语言因为它们本身提供的构造器的不同而不同,下面,我们将讨论 AL 语言族中各种各样的语言,AL 语言(定语语言) ,作为有实用价值的最小的语言,在Schmidt-SchauB and Smolka,1991中被介绍过。该族系中的其他语言都是 AL 语言的扩展。2.2.1.1 AL 语言的基本描述AL 语言中的概念描述根据下面的语法规则构成:C
13、,D A (原子概念) (全局概念) (底层概念)A (原子否定形式)CD (交集) (值束缚)R. (有限制的存在变量)需要注意的是,在 AL 语言中,否定只能被应用于原子概念,而且,在某角色的存在变量的范围内,只允许全局变量使用。因为历史的原因,AL 语言的子语言中,不允许否定应用于原子概念的被称为FL-, FL-的子语言中,不允许使用有限制的存在变量的,叫 FL0。为了给 AL 语言中描述的概念一个形象的例子,我们假设 Person 和 Female 是原子概念,那么,PersonFemale 和 Person Female 就是 AL 语言中描述的概念,很直观的,有一些人是女人,而有些
14、人不是女人。另外,如果我们假设 hasChild 是一个原子角色,我们可以使用概念和 表示那些有一个孩子的人,以及那些所有的.PersonhaCildFemalhsCild.Person孩子都是女孩的人。使用底层概念,我们也可以用 描述那些没有孩子的人。.PrsonhsCild为了定义 AL 语言中概念的形式语义,我们使用解释 I,I 包含一个非空集合 (解释的领域) ,I以及一个解释功能,解释功能分配给每一个原子概念 A 一个集合 ,分配给每一个角色 R 一个II二元关系 。通过下面的诱导定义,解释功能被扩展为概念描述。IIRTIIA)(4IIIDC)( ),.(|. IIII CbRabR
15、|)( IIIT如果对于所有的解释 I 都有 ,那么,我们说这两个概念 C、D 是等价的,写做 ,IID DC例如,回到概念语义的定义,我们可以很容易地证明 和StudenhasilFemlhasild是等价的。).(StudenFemalhasCild2.2.1.2 AL 语言族系如果我们给 AL 语言另外添加构造器,就可以获得表达能力更强的语言,概念的合并(用字母 U表示)写做 ,并且解释为 。DCIIIDC)(完全的存在变量(用字母 表示)写做 ,解释为R.,需要注意的是, 允许任何概念出现在存在变量),.(|).( IIII babR CR.的范围内,这一点是和 不同的。TR数量限制(
16、用字母 N 表示)写做 (至少的限制) (最多的限制) ,此处的 n 是非负的nn整数,它们可以被分别解释为 和baIII ),()(,这里的“|.|”表示集合的势。从语义的观点来看,数量限banRIII ,)(制中的数字译码是非实质的?,但是,对于推理的复杂度分析来说,n 是由二进制(或十进制)表示,还是由字符串表示,是有关系的,因为二进制(十进制)表示更为简洁、紧凑。任何概念的否定(用字母 C 表示,complement)写做 ,解释为 。CIIC)(举个例子,使用这些附加的构造器,我们可以描述那些或者最多有一个孩子,或者至少有三个孩子,并且其中一个是女孩的人:。).3(1( Femalh
17、sildhasildhasildPerson通过以上提到的构造器的任意子集,扩展 AL 语言,可以生成一个特殊的 AL 语言,我们用字符串的形式给命名 ALUNC,名字中的字母代表相应的构造器的存在。例如,AlN 是 AL 语言的扩展,其中包含了完全的存在变量和数量限制(要了解如何扩展命名方案,以得到表达能力更强的DLs,参见关于 DL terminology 的附录) 。但是,从语义的观点来看,并不是所有的语言都是与其他的不同的,语义学强制规定了两个等式,和 ,因此,合并以及完全的存在变量可以使用否定来表达,)(DCCR反过来说,结合使用合并以及完全存在的变量,给我们提供了一种表示否定概念的
18、可能(通过它们的equivalent negation normal form,见2.3.2节) 。因此,我们假设w.l.o.g.,那么在每个包含否定和vice versa的语言中,合并以及完全存在的变量是可以使用的。接下来。 。 。不难看出,用这种方法得到的这八种语言事实上不是成对等价的,结果是,我们不能区分含有否定的AL语言,和含有合并以及完全的存在变量的与之相对应的AL语言,同样的,在语言的名字中,我们可以使用C代替U,例如,我们可以用ALC代替ALU, ALCN代替ALUN。52.2.1.3 谓词逻辑的片断:描述语言概念的语义,把描述语言看作是一阶谓词逻辑的片断,因为,一个解释I在集合
19、 上给每一个原I子概念和原子角色分别分配了一个一元关系和二元关系,所以,我们可以把原子概念和原子角色看作一阶和二阶谓词。那么,任何概念C都可以被有效地翻译成带有一个自由变量x的谓词逻辑形式c(x),对于每个解释I,满足c(x)的 元素的集合就是 :原子概念A被翻译成A(x)形式;交集、合并、IIC否定构造器被分别翻译成逻辑的联合、分离和否定;如果概念C已经被翻译成谓词逻辑形式c(x),而且R是一个原子角色,那么,数量限定和存在变量由这种形式表示 )(),(.)(. xyRx,C在这里,y是一个新的变量,数量限制由这种形式表示: jinn yyxRyxyxn ),(.),(.,)(11 jiR
20、1需要注意的是,此处的等价谓词“=”只用来描述数量限制,没有数量限制的概念可以被翻译为没有等价的形式。有人可能会认为,既然概念可以被翻译成谓词逻辑,那就没有必要再定义特殊的语法了,但是,从以上的翻译可以看出,数量限制是比较特殊的,不含变量语法的描述逻辑更为准确。在2.3节中可以看到,这也容易地促进了算法的发展。关于一阶谓词片断和描述逻辑联系的更多分析见第4章。2.2.2 Terminologies我们已经知道了如何组织复杂的概念描述,以便描述对象的类别,现在,我们介绍一下术语公式(terminological axioms) ,它是对于如何将概念和角色互相联系起来做出陈述的,那么,我们挑选出定
21、义作为特殊的公式,把 terminology 作为定义的集合,通过这种方法,我们可以将原子概念作为缩写词或者复杂概念的名字。如果 terminology 中的定义含有循环,我们可以使用固定点语义使得他们意义明确,我们只讨论那些存在固定点模型的 terminologies。2.2.2.1 terminological 公式在最一般的情况下,terminological axioms 的形式: 或者 ,这里)(SRDC)(SRDCC,D 是概念(而 R,S 是角色) 。第一类公式就称为包含,第二类的公式称为等价,为了简化说明,下面我们只介绍含有概念的公式。公式的语义都是根据我们的期望定义的,如果解
22、释 I 满足 ,那么 ,还有,如果II解释 I 满足 ,那么 。假设 T 是一个公式的集合,那么,如果解释 I 满足 T 中的每一IIDC个公式,也就是说 I 满足 T,如果解释 I 满足一个公式(一个公式集合) ,那么,我们说解释 I 就是这个公式(一个公式集合)的一个模型,如果两个公式或者两个公式集合有同样的模型,那么它们就是6等价的。2.2.2.2 定义左边是一个原子概念的公式就是一个定义,定义被用来为复杂的描述给出符号化的名字,例如,通过公式 ,我们给出了等式右边的名称 Mother 的描述,符PersonhasCildWomnMther.号化的名字可以在其他的描述中被用作缩写词,举个
23、例子,如果我们像定义 Mother 那样类似地定义Father,那么,就可以这样定义 Parent: 。FatherMt定义的集合必须是意义明确的,我们把一个有限的定义集合 T 叫做一个 terminology 或者 TBox,这里符号化的名字不允许被多次定义,也就是说,在 T 中,每一个原子概念 A 都只能最多有一次出现在等式左边,图 2.2 给出了有关家庭关系的概念的 terminology。假设 T 是一个 terminology。我们把出现在 T 中的原子概念分成两个集合,名字符号 NT(那些出现在某些公式左边的概念) ,以及基本符号 NB(那些指出现在公式右边的概念) 。名字符号经常
24、被称为被定义的概念,而基本符号被称为基本概念。我们希望 terminology 根据基本符号来定义名字符号,关于这一点我们将在这里作为为详细地介绍。T 的基本解释是只解释基本符号的,假设 J 是这样一个基本解释,如果同时解释名字符号的 I 和J 是在同一个领域上的(也就是说, ,并且 I 和 J 的基本符号是一致的) ,那么,I 就是 J 的一I个扩展,换句话说,如果我们知道了基本符号代表什么,那么,T 就是可以定义的,那么,名字符号的意义也就是完全可以定义的,很明显,如果 terminology 是可以定义的,那么,每一个和它等价的terminology 也就是可以定义的。terminolo
25、gy 是否可以定义的问题,和它的定义是否是循环是联系在一起的,例如,一个terminology 只包含这样一个公式(2.1) .HumanhasPretAnimlHua包含了一个循环,一般地说,在 terminology 中,我们如下定义循环,假设 A、B 是出现在 T 中的原子概念,如果 B 出现在 A 的定义的右边,那么,我们说 A 直接使用了 B,我们也把使用传递闭包称为直接使用,如果 T 中存在使用自己定义自己的原子概念,则 T 中包含循环,否则,T 被称为非循环的。如果 terminology 中包含循环,就不能存在唯一的扩展,我们来考虑一下,比如说,只包含公式(2.1)的 term
26、inology,在这里, Human是一个名字符号,Animal 和 hasParent 都是基本符号,对于一种用 hasParent 把每个动物和它的先人联系起来的解释,以公式( 2.1)被满足的方式来解释 Human,很多扩展都是可能的:在其他的解释扩展中,Human可以作为一些物种,被解释为所有动物的集合,7或者是动物的其他集合,只要每个动物都包含它的先人就可以了。?相反的,如果 T 是非循环的,那么它就是可以定义的,原因是,对于出现在定义的右边的名字,可以使用它们的定义来代替,反复地进行这个过程,就可以对名字符号进行扩展了,因为定义的集合中不存在循环,所以替代的过程终将结束,最后我们得
27、到一个 T,其中只包含 AC形式的定义,C中只有基本符号而没有名字符号,我们把 T称为 T 的扩展,需要注意的是,在基本的 terminology 中,扩展的大小是以指数级增长的,图 2.2 中的家庭 TBox 是非循环的,因此,我们可以得到相应的扩展,如图 2.3 所示。命题 2.1 假设 T 是一个非循环的 terminology,而 T是它的扩展,那么()T 和 T有着同样的名字符号和基本符号。()T 和 T是等价的。()T 和 T都是可以定义的。证明:如果 T1是一个 terminology,我们假设 AB 和 CD 是 T1中的定义,B 出现在 C 中,C是把每个出现在 C 中的 B
28、 用 D 来替换而得到的,再假设 T2是通过将 T1中的 AC 替换为 AC得到的,那么,两个 terminology 就有了一样的名字符号和基本符号,因为 T2是通过 T1得到的,这两个terminology 就有了一样的模型,因为 T正是通过类似上面的代替步骤得到的,这就证明了()和()成立。现在假设 J 是基本符号的解释,如果 T中有 A 的定义 AC,那么,我们通过设置 ,JI把 J 扩展到同样覆盖名字符号的解释 I,很明显的,I 是 T的模型,而且它也是 T的模型 J 的唯一的扩展,这就说明了 T是可以定义的,而且,因为 T 和 T是等价的,所以也是可以定义的。在某种意义上,更为详细
29、,以及根据基本符号唯一地定义名字符号,这是非循环的 terminology的特性。当然,有些循环的 terminology 也是可以定义的,让我们考虑一下包含公式(2.2)).(.ARBA的这样一个例子,该例是循环的,但是,因为 和底层概念是等价的,所以,公式).(AR(2.2)就和非循环的公式8(2.3)BRA.是等价的,这个例子对一般情况来说,是很典型的。定理 2.2 每一个可以定义的 ALC-terminology 和非循环的 terminology 都是等价的。这个定理是Beths Definability Theorem(模型建议逻辑K n,如Schild1991年所阐述的,是ALC
30、的一个符号变量)的再定义。2.2.2.3 循环 terminology 的固定点语义使用我们已经学到的那些一阶逻辑的语义,只有基本的非循环的terminology才是可以定义的,按照Nebel 1991 ,我们将把这种语义称为描述语义,以与下面介绍的固定点语义相区别。提出固定点语义,是因为事实上存在的那些直观的循环定义是有意义的,而且这些直观的知识可以通过最大或最小固定点语义表述。例2.3 假设我们想要详细说明“只有男性后代的人”(简称Momo)这个概念,特别地,把“只有儿子的人”称为Mos,那么,Mos可以不含循环地被定义为。ManhsCildanMos.但是,对于Momo,我们想要描述关于
31、角色hasChild的传递闭包的filler,这里很自然地要使用Momo的迭代定义,一个只有男性后代的人他自己本身是个男人,而且他的孩子也是只有男性后代的男人:(2.4)omilm.为了能够得到想要表达的意思,我们必须在一个合适的固定点语义下解释这个定义,下面我们将给出最大固定点语义来解释这个直观的知识。当我们想要为迭代的结构(如二叉树)建立模型时,循环也会出现在定义中。例2.4 假设我们有这样一个集合,集合中的对象是树,还有一个对象间的二元关系has-branch,这个关系把一棵树和它的子树相联系,那么,所谓二叉树,就是最多有两个子树,而且本身又是二叉树的树: BinaryTebrchasb
32、rnchasTreBinary .2通过Momo的定义,固定点语义能够产生我们想要的意思,但是,对于这个例子我们必须要使用最小固定点语义。现在,我们给出固定点语义的形式定义。在一个terminology T中,每一个名字符号A都会在公式AC的左边出现一次,因此,我们可以把T看作是一个映射,这个映射联系了名字符号A和概念描述T(A)=C,如果使用这种符号,当且仅当 ,解释I是T的一个模型,这个特点有固定点等IA)(式的特性,我们使用这种相似性,来介绍映射的族系,如果一个解释是这样一个映射的固定点,那么这个解释就是T的一个模型。假设T是一个terminology,J是T的基本解释,我们用Ext J
33、表示J的所有扩展的集合,用T J: ExtJExt J表示I到T J(I)的映射,而T J(I)是由 定义的,其中A是名字符号。IITJ)()(现在,如果 ,也就是说,对于所有的名字符号A来说,有 ,那么,I是T J的)(I )(IJ一个固定点,这意味着,对于T中所有的定义AC,我们有 ,这说明I是TIITI CJ)(的模型,这证明了下面的结果。命题2.5 如果T是一个terminology,I是一个解释,J是对于T的基本符号来说I的限制,那么,当且仅当I是T J的一个固定点时,I是T的一个模型。根据前面的证明,如果每一个基本解释J都有唯一的扩展(也就是说T J的一个固定点) ,那么,T就是可
34、以定义的。9例2.6 为了更形象地体会一下为什么循环的terminologies是不可以定义的,我们来讨论只包含公式(2.4)的terminology ,让我们来考虑考虑如下定义的基本解释JMomT这意味着,查里斯王朝没有灭绝,而詹姆斯王朝却存在最后一位成员。我们想要确定一下 的固定点,需要注意的是,一个没有孩子的人,也就是没有角色MomJThasChild的承载者的个体,无论Momo怎么解释,这个个体总是 的解释,因此,如MomhasCild.果I是J的扩展的固定点,那么, 就在 中,因此也就在 中,我LasteIsil).( Io们断定每一个詹姆斯都是Momo。那么,检查是否是固定点就很容
35、易了,除詹姆斯王朝之外,如果某一个查里斯是Momo,那么,查里斯王朝中在他之前和在他之后的所有成员都是Momo,我们可以容易地检查到,在整个领域内解释Momo的I 2扩展也是一个固定点,而且不存在其它的固定点。为了使得循环的T可以定义,如果映射T J的固定点不止一个,那么,我们必须挑选出T J一个特殊的固定点,最后,我们定义J的扩展中的一个偏序“” ,如果对于T中的每一个名字符号A,都有,那么,我们说II ,在上面的例子中,Momo是唯一的名字符号,因为IIA,所以,I 1I 2。21TTMom如果对于T J中的其他固定点I ,都有II,那么I是最小固定点(lfp) 。对于一些基本解释J来说,
36、如果I是T J的最小固定点,I就是T的最小固定点模型。在最小固定点语义下我们只承认T的最小固定点模型作为扩展的解释。最大固定点(gfp) ,最大固定点模型,以及最大固定点语义的定义类似。在例Momo中,I 1 是T J的最小固定点,而I 2是最大固定点。2.2.2.4 固定点模型的存在性并不是每一个terminology都存在最小和最大固定点模型。例2.7 作为一个简单的例子,我们来考虑公式(2.5)A如果I是这个公式的一个模型,那么, ,这个式子暗含着一个谬论: 。IIAI这样,包含公式(2.5)的terminology不可能有任何的模型,因此也就不会有最大固定点或最小固定点模型了。也存在这
37、样的情况,就是模型(即固定点)存在,但不存在最小的或最大的,举个例子,一个terminology只包含一个公式(2.6)AR.假设J是基本解释 ,并且 ,那么,有两个固定点扩展I 1和I 2,定义为,baJ),(abRJ和 ,但是,根据“”它们是不可比较的。1aAT2T为了识别具有对每个基本解释,存在一个最小固定点扩展和最大固定点扩展的特性terminologies,我们利用格理论的结果,回想一下,如果元素的每个族系有一个最小的上限,那么10格子是完全(complete)的。在Ext J中我们介绍了偏序“” ,对于Ext J中的解释族 ,我们定义 作为 的Ii)( iI0ipointwise集
38、合,也就是说,对于每个名字符号A,我们有 ,那么, 就是 的最小上iIiA0 i界,这说明(Ext J,)是一个完全的格。在格(L, )上,如果当xy时,f(x) f(y),那么函数f:LL是单调的,Tarskis Fixpoint Theorem指出,对于完全格上的单调函数,固定点集合是非空的,而且固定点集合本身形成一个完全格,特别地,存在一个最小固定点和最大固定点。如果对于terminologyT所有的基本解释J,映射T J是单调的,我们就定义T是单调的,根据Tarskis Theorem,这样的terminology有最大和最小固定点,但是,要应用这个理论,我们必须能够确认termino
39、logy 是单调的,下面是一个简单的造句法规则,如果terminology 中不出现否定形式,我们就称这个terminology 是 negation free,通过对概念描述深度的归纳,我们可以检查得知每一个不含否定的ALCN-terminology都是单调的。定理2.8 如果T是一个不含否定的terminology,J是一个基本解释,那么存在 J的扩展,分别是T的最小固定点和最大固定点。不含否定的terminology ,并不是拥有最小固定点和最大固定点的最一般的terminology ,正如我们在定理2.1中指出的,非循环的terminology是可以定义的,这样对于一个给定的基本解释,
40、只允许有一个作为模型的扩展,这个模型既是最小固定点模型,也是最大固定点模型。如果我们注意一下循环和否定之间的相互影响,就可以得到有关最小固定点和最大固定点存在性的,更为精确的规则。最后,我们把terminology T 和一个依赖图G T联系起来,这个图的节点是T中的名字符号,如果T包含公式AC,那么T中每次出现名字符号 A, 图G T中就存在一条从A到A的弧 ,弧被标记为正的或负的,如果A 出现在C 中,在有偶数个否定的范围内,则A到A的弧是正的;如果A 出现在有奇数个否定的范围内,则A到A 的弧是负的。如果图G T中有一条从A i到A i+1的弧(i=1,n-1),那么 节点序列 A1,A
41、 n就是一条路经,如果A 1=An,那么这条路径式循环的。定理2.9 如果T 是一个terminology ,图G T中每一个循环都包含偶数个否定的弧,那么, T 是单调的。我们把满足这个定理的前提的terminology,称为语义单调。2.2.2.5 含有包含公式的 terminology对于某些概念,我们可能不能完全定义,既然是这样,我们仍然可以使用包含为概念成员资格提供必需的条件,把左边是公式的包含关系称为专门化。例如,如果一个(男性)知识工程师认为在我们的示例TBox(图2.2)中“女人”的定义是不能让人满意的,但是,如果他同时认为自己不能更为详细地定义概念“女人”,那么,他可以要求每
42、一个女人都是一个人,使用专门化。 (2.7) PersonWma如果我们也允许terminology 中出现专门化,那么,即使它是非循环的,这个terminology 也丧失了可以定义的特性。如果每个公式的左边是原子概念,那么公式集T就是一个一般化的terminology,而且每个原子概念至多出现在一个公式的左边。接下来,我们将把一般化的terminology T转化为规则的terminology , 只包含定义,因此,T从某种意义上说, 和T是等价的,具体解释如下。我们是这样从T得到 的,为T 中的每一个专门11化 挑选一个新的基本符号 ,然后用 来代替 , 是T的标准化。CAACA如果TB
43、ox中包含专门化(2.7),那么标准化过程包含了定义。PersonWmaon很直观的,附加的基本符号 ,代表在人们中区分出女人的性质,这样,标准化得到了包含女人定义的一个TBox,这和家庭TBox中的定义是类似的。定理2.10 假设一般化的terminology T和相应的标准化的terminology T 的每个模型就是T的模型。 对于T的每个模型I,存在一个和I有一样范围的 的模型 ,在T的原子概念和原子角色上,I和I是一致的。证明:首先需要声明的是, 的模型 满足 ,这里暗含着 ,反TI IIII CAA)( IICA过来说,如果I是T的模型,那么通过 定义,I的扩展 就是 的模型,因为
44、 ,暗含TII,因此, 满足 。IIIII CAAI这样,理论上,包含公式并没有增强terminology的表达能力,但是,实际应用中,包含公式是一个将术语转变为不能完全定义的terminology的方便的方法。2.2.3 世界描述除了 TBox 以外,知识库的第二部分,是世界描述或者 ABox。2.2.3.1 个体的断言ABox 中,根据概念和角色,我们可以描述一个应用领域中的事件的特殊状态。ABox 中的一些概念和角色的原子,可能被定义为 TBox 中的名字,在 ABox 中,我们通过给出个体名字来介绍他们,并且还会给出这些个体的性质,用符号 a,b,c 来表示这些个体的名字,使用概念 C
45、 和角色 R,就可以做出下面两类判断 C(a)和 R(b,c)。第一种,称为概念判断,表明 a 属于 C,第二种,称为角色判断,表明对于 b,c 是角色 R 的承载者。比如说,如果 PETER,PQUL 和 MARY 是个体的名字,那么Father(PETER)意味着 PETER 是一位父亲,hasChild(MARY, PQUL)意味着 PQUL 是 MARY 的一个孩子。一个用 A 表示的 ABox,是含有这些判断的有限集合,图 2.4 给出了 ABox 的一个例子。从一个简化的角度来看,ABox 是只拥有一元关系和二元关系的关系数据库的一个实例,但是,和经典数据库的“封闭的语义世界”相反
46、的是,因为标准的知识表示系统,被应用于一个我们不能认为知识库中的知识是完全的环境中,所以 ABox 的语义是“开放的语义世界” ,TBox 要利用 ABox 中12的概念和角色的语义关系,这在数据库语义中是没有相对应的部分的。通过扩展个体的名字的解释,我们给 ABox 一个语义,那么,从现在开始,解释 不仅),(I映射原子概念和角色到集合和关系,而且还可以把每一个个体的名字 a 映射到元素 。我们假I设不同的个体的名字表示不同的对象,因此,这个映射必须遵守唯一名字的假设,也就是说,如果a,b 是不同的名字,那么, 。如果 ,那么解释 I 满足概念判断 C(a),如果IbaIICa,那么解释 I
47、 满足角色判断 R(a,b)。如果解释满足 ABox 中的每一个判断,那么我们就IIR),(说这个解释满足 ABox A,既然这样,我们说 I 是判断或者 ABox 的模型。最后,如果 I 不仅满足判断 或者 ABox A,还是 T 的模型,那么,I 根据 TBox T 满足判断 或者 ABox A。这样,A 和 T 的模型就是一个具体世界的抽象,这个世界中概念被解释为 TBox 需求的领域的子集,概念、以及根据角色规定它们与其他概念的关系的个体的成员资格,要遵守 ABox 中的判断的规定。2.2.3.2 描述语言中的个体的名字有的时候,不仅在 ABox 中使用个体的名字(也称为名词)很方便,
48、而且在描述语言中使用起来也很方便,某些部署个体的概念构造器,出现在系统中,并有文献对其进行研究,其中最基本的是“集合” (或者其中之一)构造器,写做a 1,an,这里 a1,an 是个体的名字,正如我们所期望的,这样的一个集合概念被解释为。 (2.8),.,.11InIInaa例如,使用描述语言中的集合,我们可以定义联合国安理会的常任理事国的概念,CHINA,FRANCE,RUSSIA,UK,USA。在含有合并构造器“”和单独元素构造器a的语言中,集合为描述任意的有限集增加了足够的表示能力,根据等式 2.8 的集合构造器的语义,概念a 1,an和a 1a n是等价的。另外的一个包含个体的名字的构造器是基于角色 R 的“fills”构造器 R:a,这个构造器的语义被定义为, (2.9)),(|: IIII RadaR也就是,R:a 代表那些以 a 作为角色 R 的承载器的对象,对于一个含有单元素集合以及完全的存在变量的描述语言来说, “fills”没有增加任何新的东西,因为等式 2.9 暗含 R:a 和 是等价