第5 章
知识表示与推理 
知识与智能之间有着密切的关系。人类的智能活动主要是获得并运用知识,因此,知识
是智能的基础。为了使计算机具有智能,能模拟人类的智能行为,就必须首先使它具有知
识。但是,人类的知识需要用适当的形式表示,才能存储到计算机中并被运用。因此,知识
的表示就成为人工智能中一个十分重要的研究课题。
本章首先介绍知识与知识表示的概念,然后介绍产生式、框架等人工智能领域应用广泛
的知识表示方法,体会人工智能中符号主义学派的研究思想,同时为后面介绍专家系统和知
识图谱等技术奠定基础。
5.1 知识与知识表示概述
对于知识,很难给出一个明确的定义,只能从不同侧面加以理解,不同的人有不同的理
解。1994年,图灵奖获得者、知识工程之父费根鲍姆认为:知识是经过消减、塑造、解释和
转换的信息。英国著名教育学家伯恩斯坦(BasilBernstein)认为:知识是由特定领域的描
述、关系和过程组成的。从知识库的观点来看,知识是某领域中所涉及的各有关方面的一种
符号表示。
一般认为,知识是人们在长期的生活及社会实践中、在科学研究及实验中积累起来的对
客观世界的认识和经验。人们把在实践中获得的信息有机地组合在一起,就形成了知识。
一般来说,把有关信息、关联在一起所形成的信息结构称为知识。
5.1.1 知识
信息之间有多种关联形式,其中用得最多的一种是用“如果……那么……”表示的关联
形式。在人工智能中,这种知识被称为规则,它反映了信息之间的某种因果关系。例如,我
国北方的人们经过多年的观察发现,每当冬天即将来临,就会看到大雁一群一群地向南方飞
去,于是把“大雁向南飞”和“冬天就要来了”这两个信息关联在一起,得到了如下知识:“如
果大雁向南飞,那么冬天就要来了。”又如,“雪是白色的”也是一条知识,它反映了“雪”与“白
色”之间的一种关系。在人工智能中,这种知识被称为事实。
知识是有不同类型的,从不同的角度、不同的侧面对知识有着不同的分类方法。首先, 
从内容上,知识可以分为原理(客观)性知识和方法(主观)性知识,其中,原理性知识具有抽
象概括性,而方法性知识则具有通用性;从形式上,知识可以分为显式知识和隐式知识;从逻
辑思维角度,知识可以分为逻辑型知识和直觉型知识;从可靠性上,知识可以分为理论知识
和经验知识。 

87
第
5 
章 知识表示与推理

知识的要素是指构成知识的必需元素。在这里,重点关注的是一个人工智能系统所处
理的知识的组成成分。

一般而言,人工智能系统的知识包含事实、规则、控制和元知识等几类。

(1)事实。包括事物的分类、属性、事物间关系、科学事实、客观事实等,它是有关问题
环境的一些事物的知识,常以“…… 是……” 的形式出现,也是最低层的知识。例如,雪是白
色的,人有四肢。
(2)规则。指事物的行动、动作和联系的因果关系知识。这种知识是动态的,常以“如
果…… 那么……” 的形式出现,例如启发式规则“如果下雨,则出门带伞或穿雨衣”。
(3)控制。指当有多个动作同时被激活时选择哪一个动作执行的知识。控制是有关问
题的求解步骤、规划、求解策略等技巧性知识。
(4)元知识。是关于如何使用规则、解释规则、校验规则、解释程序结构的知识。元知
识是有关知识的知识,是知识库中的高层知识。元知识与控制知识有时会有重叠。
知识的特性包括如下4方面。

1. 
知识的相对正确性
知识是相对正确的,也就是说,知识的正确性需要一定的前提条件。知识是人类对客观
世界认识的结晶,并且受到长期实践的检验。因此,在一定的条件及环境下,知识是正确的。
“一定的条件及环境”是必不可少的,它是知识正确性的前提。因为任何知识都是在一定的
条件及环境下产生的,因而也就只有在这种条件及环境下才是正确的。例如,牛顿力学定律
在一定的条件下才是正确的。又如,1+1=2是一条妇幼皆知的正确知识,但它也只是在十
进制的前提下才是正确的;如果是二进制,它就不正确了。

苏轼看到王安石写的诗句“西风昨夜过园林,吹落黄花满地金”时,认为王安石写错了。
因为他知道春天的花败落时花瓣才会落下来,而黄花(即菊花)的花瓣最后是枯萎在枝头的, 
所以便非常自得地续写了两句诗纠正王安石的错误:“ 秋花不比春花落,说与诗人仔细吟”。
后来,苏轼被王安石贬到黄州(今湖北省黄冈市)任团练副使,见到这里果真有落瓣的菊花, 
才知道自己错了。

2. 
知识的不确定性
由于现实世界的复杂性,信息可能是精确的,也可能是不精确的、模糊的;关联可能是确
定的,也可能是不确定的。这就使知识并不总是只有“真”和“假”这两种状态,而是在“真”和
“假”之间还存在许多中间状态,也就是说,存在为“真”的程度问题,这就是知识的不确定性。

3. 
知识的可表示性
知识的可表示性是指知识可以用适当形式(如语言、文字、图形、神经网络等)表示,这样
才能被存储、传播。

4. 
知识的可利用性
知识的可利用性是指知识可以被利用。这是显而易见的,每个人每天都在利用自己掌
握的知识解决各种问题。

5.1.2 
知识表示
在知识处理中总要问到以下问题:如何表示知识,怎样使机器能懂这些知识,能对之进


88
人工智能概论

行处理,并能以一种人类能理解的方式将处理结果告诉人们。知识表示是人工智能研究中
最基本的问题之一。

知识表示(knowledgerepresentation)就是对人类的知识进行形式化或者模型化,以便
计算机能够存储、管理和提供访问。知识表示的目的是能够让计算机存储和使用人类的知
识。知识表示方法是面向计算机的知识描述或表达形式和方法,是一种数据结构与控制结
构的统一体,既考虑知识的存储又考虑知识的使用。知识表示可看成是一组事物的约定,把
人类知识表示成机器能处理的数据结构,是知识工程的核心领域。

同一知识可采用不同的表示方法,不同的表示方法可能产生不同的效果。知识表示的
目的在于通过有效的知识表示,使人工智能程序能利用这些知识做出决策,获得结论。

已有的知识表示方法大都是在进行某项具体研究时提出来的,各有其针对性和局限性。
本章介绍常用的一阶谓词逻辑、产生式、框架等知识表示方法,其他一些知识表示方法(如状
态空间、语义网络等)将在后续章节进行介绍。


5.一阶谓词逻辑
2 

一阶谓词逻辑是一种早期的、经典的知识表示方法。逻辑表示是一种最早得到使用的
知识表示方法,运用命题演算、谓词演算的概念描述知识。一阶谓词逻辑表示法是一种基于
数理逻辑的表示方法。

一个陈述句称为一个断言,而具有真假意义的断言称为命题。命题的真值,这里用T 
表示命题的意义为真,用F表示命题的意义为假。一个命题不能同时既为真又为假。一个
命题可在一定条件下为真,而在另外一些条件下为假。命题可以分为简单命题和复合命题。
简单命题就是最简单的、不能再分的原子命题。复合命题是指由多个简单命题通过联结词
组合而成的命题。

常用的联结词如下: 

(1)∧:合取,表示与、并且。
(2)∨:析取,表示或者。
(3)..:否定,表示非、取反。
(4)→:蕴涵,表示生成。
(5)≡:等价。
1所示
。
上述联结词的真值表如表5.
表5.常用联结词的真值表

1 

P Q 
..
P 
P∧
Q 
P∨
Q 
P→
Q 
T T F T T T 
T F F F T F 
F T T F T T 
F F T F F T 

表5.1中从左到右,第1列是
P 
的值,第2列是
Q 
的值;第3列是
P 
的否定值;第4列


第
5 
章 知识表示与推理

89
是
P 
和
Q 
的合取值,当且仅当
P 
和
Q 
都为真的时候合取值为真,否则为假;第5列是
P 
和
Q 
的析取值,当且仅当
P 
和
Q 
都为假的时候析取值为假,否则为真;第6列为
P 
与
Q 
的蕴

涵式,当且仅当
P 
为真、
Q 
为假的时候蕴涵式的值为假,否则为真。

谓词演算是指用谓词表达命题。带有参数的命题包括实体和谓词两个部分。谓词公式

的一般形式是

P(x1,)

x2,…,

xn 

其中,
P 
是谓词符号(简称谓词);i1,2,…,是参数项,简称项,可以是常量、变量、
数等。例如,谓词WH表示是白的,而实体s代表白雪,实体c代表煤炭,那么WH(s)=T,(函) WH(c)=F 。通过谓词对参数进行演算,演算的结果要么为真,要么为假。

除了谓词和项外,一阶谓词逻辑中还有一个很重要的概念,那就是量词。一阶谓词逻辑中
主要有两个量词,分别是全称量词和存在量词。一般地,使用.表示对于某个论域中的所有
(任意一个)个体
x 
都有P(x)的值为T,使用.表示某个论域中至少存在一个个体
x 
使P(x) 
的值为T。上述两个符号分别是A(al 
的首字母) eit的首字母) 

xi(=n) 

和E(xs进行翻转得到的。

在谓词演算中,如果限定不允许在谓词、连词、量词和函数名位置上使用变量进行量化
处理,且参数项不能是谓词公式,则这样的谓词演算是一阶的。一阶谓词演算不允许对谓
词、连词、量词和函数名进行量化。

以下是谓词公式的一些例子: 

(1)“我喜爱音乐和绘画”,使用了合取的联结词
:
LIKE(I,PAINTING)
I,MUSIC)∧LIKE(

(2)“小明打篮球或踢足球”,使用了析取: 
PLAYS(XIAOMING,BASKETBALL)∨PLAYS(XIAOMING,FOOTBALL)
(3)“机器人不在5号房间内”,使用了否定
:
..INROOM(ROBOT,r5)
(4)“所有的机器人都是灰色的”,使用了全称量词: 
(.x)[ROBOT(x)→COLOR(x,GRAY)
]
采用一阶谓词逻辑表示的优点如下
:


(1)符号简单,描述易于理解。
(2)自然、严密、灵活、模块化。
(3)具有严格的形式定义和理论基础。
(4)基于归结法的推理,保证推理过程和结果的正确性
。
采用一阶谓词逻辑表示的缺点如下
:
(1)没有提供组织知识信息的方法。
(2)无法使用启发式规则。
(3)浪费时间、空间,容易产生组合爆炸,严重的时候会导致根本无法计算。
5.产生式与产生式系统
3 

产生式是人工智能中使用最广泛的知识表示方法之一。产生式表示法又称为产生式规
则表示法。产生式规则”这一术语是由美国数学家波斯特(E.Post)在1943年首先提出


90
人工智能概论

的。产生式通常用于表示事实、规则以及它们的不确定性度量,适合表示事实性知识和规则
性知识。目前产生式表示法已被应用于很多领域,成为人工智能中应用最广泛的一种知识
表示方法。

1965 年,知识工程之父、斯坦福大学教授费根鲍姆和同校的化学家莱德伯格等合作,开
发了世界上第一个专家系统程序DENDRAL 。在这个专家系统中就使用了产生式的知识
表示方法。“IntheKnowledgeliesthepower.”是费根鲍姆的名言。知识只有被人所发掘
和掌握时才能产生能量。


5.3.1 
产生式表示法
产生式可以用来表示确定性规则、不确定性规则以及确定性事实、不确定性事实。

1. 
确定性规则
使用产生式表示确定性规则,其基本形式如下: 
IF 
P 
THEN 
Q 

或者

P→
Q 

其中,
P 
是产生式的前提,用于指出该产生式是否可用的条件;
Q 
是一组结论或操作, 
用于指出当前提
P 
所指示的条件满足时,应该得出的结论或应该执行的操作。上面的产生
式的含义是:如果前提
P 
被满足,则结论
Q 
成立或执行
Q 
所规定的操作。

例如: 
r1:如果动物会飞并且动物会下蛋,那么,该动物是鸟类
r

其中,1是该产生式规则的编号,“动物会飞并且动物会下蛋”是前提P,该(“) 动物是鸟
类”是结论Q。

2. 
不确定性规则
与确定性规则相比,不确定性规则增加了一个置信度,放在规则的最后面。
例如,在医学专家系统MYCIN 中有这样一条产生式规则: 

如果该微生物的染色斑是革兰氏阴性, 
该微生物的形状呈杆状, 
病人是中间宿主
那么该微生物是绿脓杆菌(0.6) 

该不确定性规则表示:当前提条件中列出的各项都得到满足时,结论“

该微生物是绿脓
杆菌”可以相信的程度为0.6表示知识的强度。

6。这里用0.

3. 
确定性事实
确定性事实一般用三元组表示。三元组是一种非常简单又非常高效的知识表示方式。
三元组不仅在专家系统中使用很广泛,在目前的知识图谱中也被广泛使用,作为事实的存储
方式。

三元组有以下两种情况: 

.(对象,属性,值) 
.(关系,对象1,对象2) 

91
第
5 
章 知识表示与推理

其中,( 对象,属性,值)表示对象的某个属性具有指定的值,而(关系,对象1,对象2)则
表示对象1和对象2具备指定的关系。

例如,“老李的年龄是45 岁”可以表示为(LaoLi,Age,45), 这里使用的是(对象,属性, 
值)这种表示方式。“老李和老王是朋友”则可以表示为(Friend,LaoLi,LaoWang), 这里使
用的是(关系,对象1,对象2)这种表示方式。

4. 
不确定性事实
不确定性事实一般用四元组表示,与表示确定性事实的三元组相比,多了一个置信度。
例如,“ 表示为(aLi,e,0.这里的置信度为0.表

老李年龄很可能是45 岁” LoAg45,8), 8, 
示很可能。“老李和老王不大可能是朋友”则可以表示为(1), 这
1表示可能性比较小。
Friend,LaoLi,LaoWang,0.

里用置信度0.
产生式和一阶谓词逻辑中蕴涵式的主要区别如下: 

(1)蕴涵式表示的知识只能是精确的,而产生式表示的知识可以是不确定的。
(2)蕴涵式是一个逻辑表达式,逻辑值只有真、假。
(3)蕴含式的匹配要求是精确的,而产生式的匹配可以是不确定的。
(4)产生式的前提条件和结论都可以是不确定的,因此其匹配也可以是不确定的。
产生式和程序设计语言中的条件语句(也就是if语句)的主要区别如下: 
(1)前件结构不同。产生式的前件可以是一个复杂的结构;而传统程序设计语言中的
左部仅仅是一个布尔表达式,其值为真或假。
(2)控制流程不同。产生式系统中满足前提条件的规则被激活后,不一定被立即执行, 
能否执行还将取决于冲突消解策略;传统程序设计语言中的控制流程则严格地从一个条件
语句向下一个语句传递。
5.3.2 
产生式系统
把一组产生式规则放在一起,让它们互相配合、协同作用,一个产生式规则生成的结论
可以供另一个产生式规则作为已知事实使用,以
求得问题的解,这样的系统称为产生式系统。一
般来说,一个产生式系统主要由以下3部分组成: 
规则库、综合数据库和推理机。

产生式系统的架构如图5.

1所示。

1. 
规则库
用于描述相应领域中产生式规则的集合称为图5.产生式系统的架构

1 

规则库,也称为知识库。显然,规则库是产生式系
统求解问题的基础,因此,需要对规则库中的知识进行合理组织和管理,检测并排除冗余及
矛盾的知识,保持知识的一致性。采用合理的结构形式,可使推理避免访问那些与求解当前
问题无关的知识,从而提高求解问题的效率。

2. 
综合数据库
综合数据库又称为事实库、上下文、黑板等,用于存放问题的初始状态、原始证据、推理
中得到的中间结论及最终结论等信息。当规则库中某条产生式规则的前提可与综合数据库


92
人工智能概论

的某些已知事实匹配时,该产生式规则就被激活,并把它推出的结论添加到综合数据库中, 
作为后面推理的已知事实。综合数据库的内容是不断变化的,这和教师在课堂教学过程中
黑板的情况是类似的。

3. 
推理机
推理机由一组程序组成。除了推理算法,推理机还控制整个产生式系统的运行,实现对
问题的求解。

推理机主要完成以下工作: 

(1)推理。
(2)冲突消解。
(3)执行规则。
(4)检查推理终止条件。
首先来看第(1)步。推理是指按一定的策略从规则库中选择与综合数据库中的已知事
实进行匹配。所谓匹配,是指把规则的前提条件与综合数据库中的已知事实进行比较。如
果两者一致或近似一致且满足预先规定的条件,则称为匹配成功,相应的规则可被使用;否
则称为匹配不成功。

第(2)步是冲突消解。如果匹配成功的规则不止一条,称为发生冲突。此时,推理机必
须调用解决冲突的相应策略进行消解,以便从匹配成功的规则中选出一条执行。

第(3)步是执行规则。如果某一规则的右部是一个或多个结论,则把这些结论添加到综
合数据库中;如果规则的右部是一个或多个操作,则执行这些操作。对于不确定性知识,在
执行每一条规则时还要按一定的算法计算结论的不确定性程度。

第(4)步是检查推理终止条件。推理机检查综合数据库中是否包含了最终结论,从而决

定是否停止系统运行。
产生式规则适合表达具有因果关系的过程性知识,是一种非结构化的知识表示方法。
产生式系统的主要优点如下: 

(1)模块性。各条规则相互独立。
(2)自然性。符合因果形式,它也是最重要、最广泛使用的形式。
(3)统一性。规则具有统一的格式。
(4)有效性。既可表示确定性的知识,又可表示不确定性知识;既可表示启发式知识, 
又可表示过程式知识。
目前,已建造成功的专家系统大部分用产生式规则表达其过程性知识。图5.
是MYCIN 医学专家系统,右边是Xcon专家系统,这两个系统均为产生式系统。
2中左边


图5.使用产生式的专家系统

2 


第
5 
章 知识表示与推理

93
但是,产生式系统也有很多缺点,主要如下: 

(1)表达能力低,相当于简单的if…then结构,复杂问题表示不方便。
(2)适合因果关系的过程式知识,不适合结构性的知识(结构性的知识采用框架等其他
方法更好)。
(3)规则选择效率低。规则之间的约束及相互作用导致系统效率较低,规则之间的联
系必须通过全局数据库建立,而如果规则库很大,则扫描时间会很长,系统效率会急剧下降。
(4)控制策略不灵活,系统效率取决于激活规则的顺序。
(5)不能自主学习,系统无法自动更新规则库。
(6)缺乏知识的分层表示。
5.框架
4 


框架(frame)是人工智能中经典的知识表示方法之一。1975 年,美国著名的人工智能
学者明斯基提出了框架理论。该理论的依据是:人们对现实世界中各种事物的认识都以一
种类似于框架的结构存储在记忆中。

框架理论的提出基于这种现象:当面临一个新事物时,人们一般会从记忆中找出一个
合适的框架,并根据实际情况对其细节加以修改、补充,从而形成对当前事物的认识。框架
为知识的结构化表达提供了一种自然的表示方法,即数据结构。框架可与过程性知识(产生
式规则)结合。

首先来看框架的例子———教室。一个人走进一个教室之前,就能依据以往对“教室”的
认识,想象到这个教室一定有四面墙,有门、窗、天花板和地板,有课桌、凳子、讲台、黑板、多
媒体教学设备等。尽管他对这个教室的细节还不清楚,但对教室的基本结构是可以预见的。
因为通过以往看到的教室,人们已经在记忆中建立了关于教室的框架。该框架不仅指出了
相应事物的名称(教室), 而且指出了事物各有关方面的属性(例如,有四面墙,有课桌,有黑
板,有投影等)。通过对该框架的查找,很容易得到教室的各个特征。在他进入教室后,经观
察得到了教室的大小、门窗的个数、桌凳的数量、颜色等细节。把这些具体信息填入教室框
架中,就得到了教室框架的一个具体事例。这是他关于这个具体教室的视觉形象,称为事例
框架。

框架是一种描述所讨论对象(一个事物、事件或概念)属性的数据结构。一个框架由若
干个被称为槽(so的结构组成, fct)。

lt) 每一个槽又可以根据实际情况划分为若干个侧面(ae
一个槽用于描述所讨论对象某一方面的属性,而一个侧面则用于描述该属性中包含的一个
子项目。槽和侧面所具有的值分别被称为槽值和侧面值。

图5.-槽-这是框架结构的3个层次。可以

3给出了框架的组成和层次结构:框架侧面, 
看出: 

(1)一个框架可以有任意有限数目的槽。
(2)一个槽可以有任意有限数目的侧面。
(3)一个侧面可以有任意有限数目的侧面值。
槽或侧面的值既可以是数值、字符串、布尔值,也可以是一个满足某个给定条件时要执
行的动作或过程,还可以是另一个框架的名称,从而实现一个框架对另一个框架的引用,表


94
人工智能概论


图5.框架的基本结构

3 

示出框架之间的横向联系。在一个用框架表示知识的系统中一般都含有多个框架,一个框
架一般都含有多个槽和侧面,分别用不同的框架名称、槽名称及侧面名称表示。对于框架、
槽及侧面,都可以为其附加一些说明性的信息,一般是一些约束条件,用于指出什么样的值
才能填入槽和侧面中。约束条件是任选的,当不指出约束条件时,表示没有约束。

—其定义如图5.a)

再看框架的另一个例子——教师框架, 4(所示。该框架共有9个槽,分
别描述了“教师”9个方面的情况,或者说关于“教师”的9个属性。在每个槽里都指出了一
些说明性的信息,用于对槽的取值给出某些限制。“范围”指出槽的值只能在指定的范围内
挑选,如“职称”槽,它的值只能是“教授”“副教授”“讲师”“助教”中的某一个,不能是“工程
师”等别的职称;“缺省”表示当相应的槽不指定具体值时,就以默认值作为槽值,这样可以节
省一些填写槽值的工作。例如,对“性别”槽,当不指定“男”或“女”时,就默认是“男”,这样对
于男性教师就可以不填这个槽的槽值。


图5.教师框架的定义与教师事例框架

4 


第
5 
章 知识表示与推理

95
对于这个教师框架,当把具体的信息填入槽或侧面后,就得到了相应框架的一个事例框
架,如图5.所示。

4(b) 

下面看另一个例子———地震。关于自然灾害的新闻报道中所涉及的事实经常是可以预
见的,这些可预见的事实就可以作为代表所报道的新闻的属性。例如,将一则地震消息用框
架表示如下:“ 某年某月某日,0级地震, 则三项

某地发生6.若以膨胀注水孕震模式为标准, 
地震前兆中的波速比为0.水氡含量为0.60 。

45,5所示。
43,地形改变为0.
”
自然灾害事件框架如图5.



图5.自然灾害事件框架

5 

在图5.地震框架是自然灾害事件框架的子框架。地震框架中的值也可以是一个

5中, 
子框架,例如图5.

5中的地形改变就是一个子框架。

框架表示法最突出的特点是便于表达结构性的知识,能够将知识的内部结构关系及知
识间的联系表示出来,因此它是一种结构化的知识表示方法。产生式系统中的知识单元是
产生式规则,这种知识单元粒度太小,难于处理复杂问题,也不能将知识间的结构关系表示
出来。产生式规则只能表示因果关系,而框架表示法不仅可以表示因果关系,还可以表示更
复杂的关系(例如一般和特殊、包含与被包含等关系)。

在框架表示法中,把一个槽的值指定为另一个框架的名称,就可以实现不同框架间
的联系,建立表示复杂知识的框架网络。在框架网络中,下层框架可以继承上层框架的
槽值,也可以进行补充和修改,这样不仅减少了知识的冗余,而且较好地保证了知识的一
致性。

5.自动推理
5 


推理就是按某种策略由已知判断推出另一判断的思维过程。在推理中,已知判断是指
包括已掌握的与求解问题有关的知识以及关于问题的已知事实,推理的结论是由已知判断
推出的新判断。自动推理由程序实现,称为推理机。

推理的基本任务是从一种判断推出另一种判断。根据不同的依据,推理有不同的分类