基本描述逻辑(Basic Description Logics)摘要本章将DL作为一种表示知识和推理的正式语言进行介绍。
首先,对DL的思想作简要介绍。
然后,引入语法和语义,覆盖系统中将要用到的基本构造子,以及这些构造子用于构建知识库的用法。
最后,定义了典型的推理问题,展示它们是如何相互关联的,并描述解决这些问题的不同方法。
本章中一些简要提及的问题,将在接下来几章中进行详细介绍。
2.1 绪论如上章所勾画的,DL是知识表示形式语义化的的最新名词,它首先定义领域的相关概念(术语),然后用这些概念说明领域中对象和个体的属性。
正如描述逻辑名字所述,这些语言的一个特征就是,不像其他的前辈,它们采用形式的、基于逻辑的语义。
另一个显著的特征就是其具有推理能力:能根据明确表示的知识中得到潜在的知识。
DL支持许多智能信息处理系统中的推理模式,人们也经常采用这种推理模式来理解世界:进行概念和个体的分类。
概念的分类决定了给定术语中概念间的子概念/父概念的关系(DL中称作包含关系),因此允许我们构造术语的包含层次。
这种层次对于不同概念间的关系提供有用信息,并能加速其他推理服务。
个体间(或对象)的分类决定了给定个体是否是一个确定概念的实例(即,该实例关系被个体和概念定义描述所暗含)。
因此,他能提供单个个体属性的有用信息。
进一步的,实例关系可能引发可加入到知识库中附加的应用规则。
由于DL是一个知识表示形式化,并且在KR中,我们可以假设一个KR系统能在合理时间内回答用户的一系列问题,推理过程DL研究者感兴趣于决策过程,即,不像一阶逻辑定理提供者,这些过程应该总能中止,无论是对于正面回答还是负面回答。
由于保证在给定时间内给出答案并不意味着答案会在合理时间内给出,因此考虑一个给定DL的计算复杂度是可判定推理问题的重要事务。
推理问题的可判定性和复杂度取决于手边DL的表示能力。
一方面非常富有表示力的Dls通常拥有高复杂度的推理问题,或者是不可判定的。
另一方面,非常弱的DLs (带高效推理过程)可能不能有效表示一个给定应用中的重要概念。
正如上章所述,衡量DLs的表示力和复杂度是DL研究中的最重要的一个问题。
描述逻辑从称作“结构化继承网络”中延伸过来,其用于克服早期语义网络和框架的模糊性,并且在KL-ONE系统中首次被实现。
接下来的三个思想,首先被Brachmans的工作在结构化继承网络中被提出,很大程度上影响了后来DLs的发展:➢基本的寓意构造模块是原子概念(一元谓词),原子规则(二元谓词),和个体(常量)。
➢语言的表示能力限制于它采用构造子中一个相对较小的集合(认识论上足够的),来构造复杂的概念和作用。
➢概念和个体的潜在知识能在推理过程的自动推理得到。
尤其的概念间的包含关系和个体与概念间的实例关系骑着非常重要的作用:不像语义网络中的IS-A链接完全由用户引入,包含关系和实例关系从概念定义和个体属性中推理得到。
在第一个如KL-ONE的基于一阶逻辑的KR语言被提出后,推理问题如包含也可有精确意义,这导致诸如此类语言计算属性的首次研究。
早期的DL系统表达能力太强,导致包含问题的不可判定性。
首个坏情况的复杂结果证明包含问题是难以处理的[Levesque and Brachman, 1987; Nebel, 1988]。
正如上章所述,工作的起始点是对KL-ONE语言中推理的坏情况复杂度的全面调查(详见第三章)。
后面将证明,然而,推理的不可处理性并不禁止DL应用与实践,假设采用了富有经验的优化技术(见9章)。
当实现一个DL系统时,基本推理算法的有效实现并不是唯一问题。
一方面,延伸的系统服务(如分类,即,构造概念间的包含层次)也同样必须被优化[Baader1994].另一方面,需要一个好的用户和应用编程接口。
最近实现的DL系统是为一个规则语言,可被看做一个非常简单但有效的编程机制提供。
2.2节引入了DL的基本形式化。
通过一个原型的例子,首先介绍描述概念的形式语义(即描述语言),然后介绍术语(TBox)和断言形式语义。
接下来,介绍基本的推理问题并证明他们见的相互关系。
最后,定义洗过实现的DL系统中可获得的规则语言。
2.3节描述DLs中解决基本推理问题的算法。
在简要概况结构化的包含算法后,集中介绍基于场景的算法。
最后,对推理问题的术语进行评价。
最后2.4节中描述在2.2节中介绍的描述语言原型家族中未包含的其他的语言构造子,这些构造子在一些DL系统中可获得。
2.2 基本形式语义定义基于DL的知识表示系统提供了建立知识库、内容推理以及操纵的便利性。
图2.1概述了DL系统的结构:知识库(KB)包含两部分,TBox和ABox。
TBox引入了术语(terminology),即,应用领域中的词汇,而ABox中包含了术语中的个体的断言(assertions)。
词汇包含了概念(concepts),它代表了个体集合,而角色(roles)表示了个体间的二进制关系。
除了原子概念和角色(概念和角色名字),所有的DL系统允许他们的用户构造概念和角色的复杂描述。
构建描述的语言是每个DL系统的特性。
该描述语言具有模型-理论语义。
因此,在TBox和ABox中的陈述能被一阶逻辑中的公式标识,从某种角度上看,稍有扩展。
一个DL系统不仅存储了术语和断言,而且提供推理它们的服务。
典型的术语推理任务是决定一个描述是可满足的(即,不互相矛盾的),或者一个描述是否比另一个更通用,即是说,第一个是否包含第二个。
ABox的重要问题是查明它的断言集是否是一致的,即是说,它是否有一个模型,而在ABox中断言认为一个特殊的个体是一个给定描述概念的实例。
描述的可满足性检查和断言的一致性检查对于决定一个知识库是否有用非常有用。
利用包含测试,我们能将术语概念根据它们的通用性组织成层次。
一个概念描述可被想做一个查询,描述用户感兴趣的对象集合。
因此,利用实例测试,我们能获得满足该查询的个体。
在任何应用中,一个KR系统嵌入到一个更大的环境里。
其它的组建与KR部件通过查询知识库并修改它(添加或删减概念、角色和断言)进行交互。
一个严格的添加断言的机制是规则。
规则是对逻辑核心形式语义的扩展,它仍能被逻辑上解释。
然而,许多系统,除了提供应用编程接口外(其由良好定义逻辑语义的函数组成),通过可以任意方式运行在KB上的应用程序提供了撤离舱口。
2.2.1描述语言单元化的描述是原子概念(atomic concepts)和原子角色(atomic roles)。
复杂的描述可利用概念构造子(concept constructors)来从这两者上构造。
抽象表示上,用A 和B 表示原子概念,R 表示原子角色,C 和D 表示概念描述。
概念语言根据它们提供的构造子区分。
下面我们将讨论来自于AL-语言家族中的不同语言。
AL (归属语言)被[Schmidt1991]作为一种实际兴趣的最小语言被引入。
该家族的其他语言是AL 的扩展。
2.2.1.1 基本的描述语言ALAL 中的概念描述依据下列语义规则:值得一提的是,在AL 中,否定只能被用于原子概念,并且只有顶层概念被允许放在存在量词范围内作用与角色。
由于历史原因,通过否定原子否的AL 子语言称作FL -,进一步通过否定存在量词的FL -称作FL 0。
给定可以在AL 中表示的例子,我们假设Person 和Female 是原子概念。
那么Person Female Person Female ⌝和是FL -描述的概念。
如果另外我们假设hasChild 是一个原子角色,那么可组成..Person hasChild T Person hasChild Female ∃∀和概念,表示有一个小孩的和所有小孩是女孩的人。
利用底概念(bottom concept),我们可描述那些没有小孩的人的概念.Person hasChild ∀⊥.为了定义AL-概念的形式语义,我们考虑解释I ,其包含非空集合I∆(解释的概念)和一个解释函数,其对每个原子概念A 赋予一个集合I I A ⊆∆,对每个原子角色R 赋予一个二元关系。
解释函数通过通过以下延伸定义扩展到概念描述:如果对于所有解释I 有I IC D =,我们称两个概念C,D 等价,并记为C D ≡。
2.2.1.2 The family of AL-Language可以获得更富有表达的语言,如果我们添加更多的构造子。
合并(union)概念(以字母U 表示)写作C D ,解释为:完全存在量词(Full existential quantification)(用字母ε表示)写作.R C ∃,解释为:注意到.R C ∃与.R ∃T 区别在于(后者?)允许在存在量词范围中发生任意概念。
数字限定(Number restrictions)(用字母N 表示)写作nR ≥(至少限制)和nR ≤(至多限制),其中n 表示一个非负的整数。
他们解释为:其中||表示集合的势。
从语义角度,数字限制的编码数是不重要的。
然而,对于推理的复杂度分析,n 可以解释为二元概念或者是字符串长度。
任意概念的否定(negation)(以字母C 表示),写作C ⌝,解释为:利用附加的构造子,我们能描述那些至多由一个孩子和至少有3个小孩的以及其中一个是女孩的人:通过上述构造子的任意子集对AL 扩展,可以得到一个特殊的AL 语言。
我们对每个AL 语言通过一个字符串组合命名:这些语言从语义角度上看并不是相互不同的。
譬如2.2.1.3 Description languages as fragments of predicate logic从概念的语义出发,描述语言可看做一阶谓词逻辑的片段。
由于解释I 对每个原子概念和角色分别当作I∆上的一元和二元关系进行赋值,我们能将原子概念和角色看做一元和二元谓词。
那么,任意概念C 能被翻译成一个谓词逻辑公式()C x φ,x 为自由变量,从而对每个解释I ,满足()C x φ的I ∆元素集合就是I C 。
一个原子概念A 被翻译成公式A(x);构造子交集、并集和否定可被翻译成逻辑合取、析取以及否定;如果C 已经翻译为()C x φ,而R 是原子角色,那么值限制和存在量词通过如下公式进行捕获其中y是一个新的变量;数字限制被表示为如下公式:值得一提的是,需要用到等于谓词=来表示数字限制,同时没有数字限制的概念可被翻译成等于自由的公式。
可能会有疑问,一些概念既然可以被翻译成谓词逻辑,那么就不再需要一个特殊的语法了。
然而,上述翻译证明了尤其是对于数字限制,变量自由的描述逻辑语法更简练。
从2.3节可以看出,描述逻辑很容易发展为算法。
更精确的分析一阶谓词逻辑片段和DLs之间的联系,详见第四章。
2.2.2术语我们已经看到我们如何能形成概念的复杂描述来描述对象的类。