知识表示结构
专家系统运作的基础是某一领域专家的经验和知识,如何将燃气轮机的具体知识准确地加以描述,使其具有通用性、可理解性及可扩充性是本章研究的核心论题。首先本章简要介绍几种常见的知识表示方法,然后结合实例讨论本文采用的知识表示方法。
§1 知识及知识表示方法分类
1. 知识 关于知识的定义有多种说法,有人认为知识是经过加工、整理和改造后的信息;有人认为知识是由特定领域的描述、关系和过程组成;而海叶斯-罗斯(Heyes -Roth)则给出知识的公式性描述:知识=事实+信念+启发式。
2. 知识表示 知识表示是知识的符号化过程,是专家系统的核心课题。知识表示的主要任务是设计出各种数据结构作为某一领域专家知识的载体。
3. 知识表示方法分类 知识表示方法一般常用的有以下四种:
a. 语义网络
b. 产生式规则
c. 框架
d. 谓词逻辑表达式
§2 几种知识表示方法的比较
一、语义网络表示法
语义网络是知识的图解表示,如图3-1所示,它由节点和描述节点之间关系的链连接而成。
节点用以表示对象和描述部分。对象是客观存在的物质实体,如“压气机”、“涡轮”,“叶片”等;对象也可以是无形的抽象实体,如行动、事件等。描述部分提供有关对象的附加信息,如“变形”提供了关于“叶片”的附加信息。
链连接对象和描述部份,链可以表示任何关系,通常链分为三类:(1) Is-a链,常用于表示类和实例之间的关系。如图3-1中节点“MS6001B型”是节点“燃气轮机”的一个实例。(2) Has-a链,表示节点之间的所属关系。如图3-1中节点“压气机”、“涡轮”则属于“MS6001B型”节点。(3) 自定义链用于表示除上述两种关系外的所有关系,如图3-1中节点“变形”同“外来杂物”之间的关系用自定义链Caused-by表示。由于自定义链的存在,使得所有关系均可用上述三种方法表示。
<shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"></shapetype><stroke joinstyle="miter"></stroke><formulas></formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f><lock v:ext="edit" aspectratio="t"></lock><shape id="_x0000_i1025" style="WIDTH: 288.75pt; HEIGHT: 147.75pt" type="#_x0000_t75" o:ole=""></shape><imagedata src="file:///C:%5CDOCUME~1%5CRoger%5CLOCALS~1%5CTemp%5Cmsohtml1%5C03%5Cclip_image001.wmz" o:title=""></imagedata>
图3-1 语义网络表示实例
二、谓词逻辑表示法
谓词逻辑是在命题逻辑的基础之上发展起来的一种知识表示方法。它将一个原子命题分解为“谓词”和“个体词”两个部分,例如:“X是一种燃气轮机”这样一个命题,在谓词逻辑中可用GASTURBINE(X)表示。其中GASTURBINE是谓词,X是个体词,是一个变量,可用它代表燃气轮机家族中的任一种型号。谓词有一元和多元之分,有n个个体词的谓词称为n元谓词,如命题“燃气轮机包括主机和辅机两大部分”可用二元谓词GASTURBINE(MAIN,ACCESSORY)表示,其中MIAN代表主机,ACCESSORY代表辅机。
由于谓词逻辑是在命题逻辑的基础之上发展起来的,所以命题逻辑演绎的等价式以及相应的推理规则、量词使用规则、蕴含式均适用于谓词逻辑的演绎推理,所不同的是对命题逻辑的演绎式均以量词加以量化。
三、产生式系统
产生式系统(Production System)是一个基于规则的系统,它用一组产生式规则来表示领域专家的知识。
产生式规则主要用于描述有关问题的状态转移,性质变化以及因果关系等过程性知识,每一条规则都是一个“条件(产生)行动”或“证据(产生)结论”,所以叫产生式,其规则的表达形式为:
如果(IF) A 则(THEN) B
式中A表示规则的条件(前提)部分,B表示规则的行动(结论)部分,它表明事物满足了什么样的条件,会产生什么样的行动,或满足了什么样的前提(证据),会得到什么样的结论。凡是有直接因果关系的知识,都可以用产生式规则来表示。
在燃气轮机系统的故障诊断中,专家们也常常根据某些故障现象来判断哪个机组部件发生了故障,并确定应当采取什么样的处理方法。
燃机电厂的机组管理人员,判定运行中的发电机组发生内部故障的判据是:发电机组开关自动跳闸、发电机组差动保护动作、发电机组的仪表有急剧升降变化、且有相应的声光报警。对于这些知识和经验,可以通过二条产生式规则来表示,即
Rule1:如果 发电机组自动跳闸 且
发电机组差动保护器动作 且
发电机组仪表有急剧升降变化 且
有声光报警
则 机组内部故障
Rule2:如果 机组内部故障
则 机组全停
图3-3 产生式规则的直观表示
用类似的方法,还可以建立其它规则。
四、框架表示法
框架理论首先由Minsky于1975年提出,作为视觉理解、自然语言对话和其他复杂行为的基础。框架的一种表示方法是把它表示成一个嵌套的连接表,在最高层,框架结构是这样的:
(<框架名> (<槽名1>…) (<槽名2>…)…)
在下一层中,每一个槽具有同样的结构:
(<槽名> (<侧面名1>…) (<侧面名2>…)…)
每一个侧面又包含若干值:
(<侧面名> (<值1>…) (<值2>…)…)
因此一个框架可以拥有任意数目的槽,每个槽又可以包含任意数目的侧面,每个侧面又可以包含任意数目的值。给出一条燃气轮机结构知识如下:
主机系统包括压气机、燃烧室、涡轮;压气机有出口温度参数和叶片部件;涡轮有出口温度参数和出口压力参数;每一参数值有过高、过低二种异常状态描述;叶片有磨损、变形、断裂三种状态。
这条知识用框架可以简单的表示如下
(框架名 主机系统)
(<槽名1 压气机> (<侧面1 出口温度>(<值1 过低>
<值2 过高>〕〕
(<侧面2 叶片> (<值1 磨损>
<值2 变形>
<值3 断裂>〕〕〕
(<槽名2 涡轮> (<侧面1 出口温度>(<值1 过低>
<值2 过高>〕〕
(<侧面2 出口压力>(<值1 过低>
<值2 过高>〕〕〕
(<槽名3 燃烧室>)………
〕
图3-4 简单框架表示
上述表示属于传统的框架方法,但是足以说明框架方法对结构化知识表示的有效性,目前框架知识表示应用十分广泛。
五、几种知识表示方法的比较
语义网络表示能够较全面详细地反映客观事物,但是其结构非层次化,不能清晰地表达对象之间的界面,且语义网络本质上是一种有向图,图的存贮需要大量空间,其搜索效率也不高。
谓词逻辑表示法的优点是精确程度高、逻辑性强。但是它试图用逻辑函数来描述客观事物的各种状态,在状态空间较大的问题求解过程中,动态数据库同知识库操作的匹配以及操作序列的确定会导致时空方面的膨胀,即所谓知识的组合爆炸。
产生式规则的最大优点是自然性,能够方便地表达专家的经验类浅层知识,而且还可以附加可信度因子(CF-certainty factor)来表征专家经验的可靠性程度,从而使得不精确推理能够实现,其形式很符合人类的思维逻辑。但是表达方式较简单,对知识的解释能力不够,对于复杂的结构化深层知识则显得力不从心,因为人类专家的知识并非仅仅是“if-then”的形式。
框架则是一种结构化、层次化很强的知识表达方式,由于其特有的“框架-槽-侧面-框架…”型嵌套结构,使得框架能从多个方面、多重属性表示任意复杂层次的对象,而侧面中的若干值域又可以定量地反应对象层次中各元素的属性。同时每个框架形成独立的知识单元,这种知识单元上的操作相对独立,从而框架表示具有一定的模块性,有利于知识的扩充。相对于产生式系统而言,它适合于描述对象的结构化原理知识,或者说专家的深层次知识。框架表示也有它的缺点,如图3-4所示,就是规模过于庞大、复杂,要表达一条知识,必须以维持庞大的框架结构为代价。关于这一点,后文会作详细分析。
为了清楚地了解几种表达方式的特点,综合以上分析,以表格的形式描述如下:
知识表达方式 |
优点 |
适合于何种知识 |
不足之处 |
语义网络 |
自然性、全面性 |
深层知识 |
非层次化、界面不 清晰、空间开销大 |
谓词逻辑 |
精确性、逻辑性 |
深、浅层知识 |
易导致组合爆炸 |
产生式 |
自然性 |
浅层知识 |
解释能力有限 |
框架 |
层次化、表达能力强 |
深层知识 |
空间开销大、 结构复杂 |
表3-1 几种知识表达方式比较
燃气轮机结构复杂,影响其性能的因素众多,而且诸因素之间往往存在着一个或多个因果链;另外,燃气轮机从结构原理上讲存在着较强的层次性,必须寻找一种知识表示方式能够将燃气轮机复杂的内部结构知识及诸多性能之间的因果关系准确完整地表示出来,这种知识的多态性要求相应知识表达方式具有多样性。
鉴于以上分析,本文中我们采用产生式同框架相结合的知识表达方式,根据框架表示规模大、结构复杂的缺点,提出了知识元间的关联思想,并以此为基础提出了逻辑框架的概念。以逻辑框架描述燃气轮机的结构化原理等深层知识,以基于框架的产生式规则来描述专家经验等浅层知识,充分发挥两种知识描述方式的优点。浅层知识以深层知识为基础,同样,专家的经验则是建立在专家的结构化原理性知识的基础之上,而描述浅层知识的产生式规则基于描述深层知识的逻辑框架表示法之上,逻辑框架与产生式相结合是专家知识和经验的完美再现。
§3 燃气轮机的知识表示
前两节讨论了几种知识表达方式,并确认本系统采用框架与产生式相结合的知识表达方式,本节我们进一步讨论这种复合型描述方式如何描述燃气轮机专家的经验和知识。
§3-1 燃气轮机专家知识的分类
燃气轮机专家有偏重于设计型的,也有偏重于运行和操作型的,相应地燃气轮机知识也分为以结构化原理知识为主的深层知识和以实际运行经验为主的浅层知识,这里“深层”与“浅层”只反映在不同的实践环境下,根据实际需要对事物不同侧面的认识,与知识和经验的认识深度、正确性程度无关。事实上,这两类知识在专家身上是并存的,只不过由于实际分工的不同,其侧重点不同而已。
以MS6001B型机组为例,如图3-5所示,它包括如下几个主要系统:
主机系统
润滑油系统
进口可转导叶系统
冷却空气与密封空气系统
燃料系统
进气与排气系统
通风加热系统
启动系统
液压供给系统
水冲洗系统
而图3-5中的每一个系统又包含若干个子系统,如主机系统包括压气机、燃烧室、涡轮。每一子系统又包括若干个对象(参数或部件),如压气机包括温度、压力、叶片等等,而每一对象又处于不同的状态,如温度有过高、过低等状态,叶片有完好、磨损、断裂等状态。燃气轮机的这种多级多层次树形结构是其结构化原理性知识的体现,属于深层知识。以主机系统为例,其层次性树形结构如图3-6所示。
燃机专家的经验,之所以称之为浅层知识,是因为经验本身并不涉及燃气轮机的结构原理,有下述关于航空燃气轮机的专家经验:
当压气机效率变化太大时,可能是下述几种原因造成:
1. 压气机叶片磨损
<shape id="_x0000_i1026" style="WIDTH: 300pt; HEIGHT: 173.25pt" type="#_x0000_t75" o:ole=""></shape><imagedata src="file:///C:%5CDOCUME~1%5CRoger%5CLOCALS~1%5CTemp%5Cmsohtml1%5C03%5Cclip_image003.wmz" o:title=""></imagedata>
图3-5 MS6001B型燃机主要系统
<shape id="_x0000_i1027" style="WIDTH: 421.5pt; HEIGHT: 243pt" type="#_x0000_t75" o:ole=""></shape><imagedata src="file:///C:%5CDOCUME~1%5CRoger%5CLOCALS~1%5CTemp%5Cmsohtml1%5C03%5Cclip_image005.wmz" o:title="" croptop="-2377f"></imagedata>
图3-6 主机系统树形层次结构
2. 压气机叶片被外来物损伤
3. 进气导流器结冰
4. 压气机喘振
5. 进气导流器和整流器转动机构工作不正常