您现在的位置: 精品资料网 >> 管理信息化 >> 人工智能 >> 资料信息

人工智能-基于知识的系统(PDF 21页)

所属分类:
人工智能
文件大小:
1169 KB
下载地址:
相关资料:
人工智能
人工智能-基于知识的系统(PDF 21页)内容简介
内容摘要
第1 7章 基于知识的系统
17.1 面对现实世界
既然我们已经学习了用逻辑来进行表示和推理,并且用一些比较简单的例子演示了它的使
用,那么我们要问它是否能被应用到“现实世界”问题中呢? A I研究已经发现诸如医疗诊断,
税金咨询和设备设计等方面的应用典型地需要大量的随手可得的主题知识。这些应用强调知识
的重要性促使我们使用基于知识的系统来描述对大量知识库进行推理的程序。已经描述的方法
能“按比例增大”以使其在实际应用中表现好吗?与这个问题相关的推理方法的一些理论特性
是什么?在本章中,要解决其中一些问题,并讨论在现实应用中已经证明对实际推理是有用的一些方法。
逻辑推理系统有三个主要的理论特性:合理性、完备性和易处理性。为了确信一个推导的
结论是“真的”,需要合理性。为了确信推论最终将产生真的结论,需要完备性。为了确信推
论是可行的,需要易处理性。关于谓词演算,归结反驳是合理的和完备的。归结反驳能被用来
证明,如果一个合式公式 ω被一合式公式集∆逻辑涵蕴,那么它是完备的;否则,归结反驳过
程可能永不能终止。因此,我们不能用归结作为一个完全的决策过程 (decision pro c e d u re)。进
一步讲,可以证明没有其他方法总能告诉我们什么时候一个合式公式 ω不是由合式公式集合∆
逻辑地派生,什么时候是。因此,我们说谓词演算是不完全决策的。当然,不完全决策性导致
了谓词演算固有的不易于处理性。
但是情形变得更糟。即使对那些归结反驳终止的问题,那个过程也是 N P难题 — 就像对
一阶谓词演算的任何合理和完备推理过程一样 [ B ö rger 1989]。因此,虽然很多推理问题能被公
式化为归结反驳问题,但对非常大的问题,该方法是不易处理的,这个事实导致很多人对在大
规模推理问题中使用正式的逻辑方法感到绝望(例如,见 [Schwartz 1987, McDermott 1987])。
然而,由于人类自己进行复杂推理, 一定有启发性的和特定的公式允许易处理的计算。
研究人员已经探索了各种方式以使推理更有效。首先,我们能在坚持推理规则的合理性前,
使用那些可能偶尔(我们很少希望)会“证明”一个不正确的公式过程。第二,在坚持完备性
前,使用不能保证找到正确公式证据的过程。这两种修改可以使推理更有效。第三,我们能使
用一种比完全谓词演算表达力弱的语言。下面要讨论的一个表达力弱的语言的例子仅仅使用了
H o r n子句。使用H o r n子句的推理典型地讲更有效,它们可以满足很多应用。
17.2 用H o r n子句进行推理
前面,我把H o r n子句定义为至多有一个正文字的子句。如果有至少一个负文字和一个正文
字,H o r n子句就能被写为一个蕴含,它的前项是正文字的一个合取,它的后项是单个正文字,
这样一个子句称为一个规则。在子句中可以没有负文字,在这种情况下,我们把它记为一个蕴
含,它的前项为空,后项是一个单一正文字,这样一个子句被叫做一个事实。或者在子句中可
能没有正文字,在这种情况下,我们记作后项为空、前项是一个正文字列表的蕴含,这样的子
句称为一个目标。H o r n子句形成P R O L O G编程语言的基础[Colmerauer 1978,Clocksin & Mellish
1987, Sterling & shapiro 1986,Bratko 1990]。在P R O L O G语言中,这些子句用作该语言的语句,
写成如下格式:
..............................