- 签证留学 |
- 笔译 |
- 口译
- 求职 |
- 日/韩语 |
- 德语
即使知识表示语言是一阶的,在定理证明中通用的搜索策略对实际系统而言也常常效率很差。然而,将推理看做定理证明,这样带来的理论上的简洁性,仍旧具有很多有吸引力的特点。综合的知识表示系统试图在保持定理证明系统的理论框架的同时,在一些任务上,还获得程序性推理在高效率方面的优势。
在开始时,合一和反证法的思想可以应用于很多系统。但是,一个综合的系统并不能完全依赖于这些技术。相反,特定形式的推理可以用更有效的专用技术来实现。例如,分析一个知识表示系统中类型层次结构的实现。我们先前看到的类型层次结构可以表示为公理[例如,Vx.DOG(x)>MAMMAL(x)]、图或者语义网络。这些技术形式上可能是等价的,但实际上会产生完全不同的计算性质。
将这些技术综合在一起的一种方法是,假定一种受限量词逻辑相似的类型化逻辑。类型层次结构可用语义网络结构预先定义。其中,“DOG”是“MAMMAL”的子类型,而后者又是“ANIMAL”的子类型,而“Fidol”预先定义成集合“DOG”的一个成员。已知这些知识,该知识库表示断言“All animals have a mother”的结果如下:
(MOTHER(?x:ANIMAL, Sk1(?x)) <-)
其中,符号?x:ANIMAL表示一个类型为“ANIMAL”的变量。通过扩展合一算法,可以推出这种表达式。这样,只要两个项类型兼容,它们就可以合一。也就是说,只要“Fidol”是集合“ANIMAL”的成员,?x:ANIMAL与“Fido1”就可以合一。这个条件可以用图1所示的语义网络一步一步来检查。这样,对于查询“Whether Fido has a mother”(Fido是否有妈妈)[即MOTHER(Fi-dol,?y)],只用一个合一步骤就可以得到证明。
图1 一个小型的层次体系
程序性的方法使我们可以写出高度优化的程序,这些程序比用公理的方法完成相同的工作要快得多。综合的表示方法可以用类型信息的语义网络对信息进行更直觉的表示,并允许其他非演绎算法在语义网络上执行。