[内容提要]人工智能越来越多地在各个技术领域中采用。专家系统是人工智能应用最普遍的一种形式。如何描述人类的知识是专家系统的一个核心问题。本文介绍了专家系统的组织与设计,着重叙述专家系统中知识工程的描述及组织方法,并以最新的专家系统为例作了说明。
知识的设计实际是导出人工智能原则及研究工具的一种艺术。阐明知识并适当地利用它构造及解释推理的路径是个重要的问题。
我们自一类限定的问题开始,引入一个最简单的搜索过程,同时也揭示了它的局限性,然后我们一步步放宽对专家任务的限制,逐一讨论各种情况下的处理方法,如图1。
顺着条条分支中各种情况的次序,对基本思想的考虑越来越深入。第一个分支讨论分离一个搜索空间的组织法;第二个分支集中讨论不完全搜索法;第三分支考虑使得知识库本身更加有效的途径。这种划分主要是为了说明问题,实际系统可能兼有这些思想。
1.搜索空间小,知识及数据确凿。
表面上,这一要求看来非常宽,然而严密地调查一下,大多数实际任务不能符合这些要求。确凿的数据即不包含干扰及错误,可靠的知识则不需校正就可应用。数据及知识可靠的优点是系统的单调性。局部的结论通过推理系统叠加后可作为系统的推论,对新信息无需预先筛选,不需要发展多项论证,假如需用到一个以上的参考准则,则它们的次序是不重要的。数据与知识确定,系统就不需涉及随时间消逝的事实。解空间小的要求意味着无需处理计算机资源的限制,不需涉及与计苒效率有关的数据结构。只要解空间小,那么搜索一个解还是搜索所有可能的解就无关重要了。假如采用穷举搜索,则解空间的最大范围决定了取得解的时间。若考虑一个解需25毫秒,则在整整一天二十四小时内可相继考虑10!的解。穷举搜索的上限如此低是令人惊奇的。
求解这类问题的机构包括二个主要部分:存储器组织及推断方法。存储器的最简单组织可以是一个推理论据表(即规则),对许多问题这些规则可以描述为确定的昇法。有些系统力图使数据的存储方式最优,将事实的索引,组织得使最常用的存取路径效率较高。
2.数据或知识不可靠
有时专家需紧急地作出判断。所有数据并非全部可用,其中有些可能不可靠。有些知识可能不确切。这类困难在许多解释及诊断任务中是正常的。
例,MYCIN专家系统采用了不确定性推理。该系统用于抗菌素的选择,对NYCIN的要求是迅速作出如“A建议B”或“与D倾向于排除E”一类的推断。为此目的MYCIN用确定性因子来表明规则的有效率,提出了一个近似推断的模型。下述例子是MYCIN的知识库中的一条规则。
假如(1)感染是原生细菌,且
(2)培养区是一个无菌区,且
(3)有机体可能的入口是肠胃内的管道,则蕴含(0.7)的证据:有机体本身是细菌。数字“.7”在这条规则中指示了证据有效率为0.7,但不是绝对确定的。假设的“真实性”是证据确定性因子的代数和,这就使得证据可以组合起来证实或否定某一假设。
研究不确定推理的另一种方法是模糊逻辑,由扎德(Zadeh)等人作了论述。在模糊逻辑中如“X is a large number”(X是一个大数)。这样的一个句子被解释为一种以模糊集标识的不精确的表示。模糊集是具有相应可能值的一个数集,如:
模糊命题:X is a large number。
模糊集为:(X∈[0,10] ,1)
(X∈[10,1000] ,2)
({X>1000},7)
即“X可能比10小”其可能性是0.1,在10与1000之间有0.2的可能性等等。为了表示命题的不精确含义,模糊值是预测的。
模糊逻辑研究模糊集的推理法则,其关于不确实数据推理的实用性取决于对模糊命题中软数据的解释是否合适。
引入不精确概念的描述方法有多种,关于这些改进逻辑对智能系统的实用性,人工智能研究者之间,意见很不一致。
3.时变数据
某些专家任务涉及到推断状态随时间的变化。人工智能中考虑到这一点的最简单的一个方法是麦卡瑟(MaCarthy)及海斯(Hayes)提出的状态算法。该法用于表示动作的次序及它们的效果。其中心思想是一并计入同一范畴中其他模拟对象的“状态”,例公式:
(on Block-1 Table-2 Situation-2)
表示了这样的事实:在状态2中,积木块1在工作台2上。其关键的特征是,状态为分离的。这种离散性反映了可以步骤分明地使用这种算法。按照状态算法,动作被表示为一个函数,其论域及变量都是状态。
VM系统(输氧装置管理系统)是用来解释生理监控系统的病人数据。VM监控需要机械辅助呼吸的病人在外科手术后的过程。随着病人状态的好转,需作各种调整与改变,例去掉机械输氧器改用气瓶为病人供氧。
VM具体说明了适用于处理时变数据的知识,在VM中这些知识组织成几类规则:变换规则、初始化规则、状态规则及治疗规则。VM周期性地采集自测量仪器来的信息然后反复运用它的法则。变换规则用于检测何时病人状态变化,例病人何时开始用气瓶呼吸。下面是变换规则的一个例子:
假如(1)先前的情况是“辅助的”,且
(2)呼吸速率已稳定了20分钟,且
(3)I/E比数已稳定了20分钟,则病人为“CMV”(有拉制的强制输氧)。
这一法则调制着“辅助方式”与“CMV方式”之间的转换。当转换规则的前提被满足就进入一个新的方式。
方式改变时,VM运用初始化规则修正它的信息以适应新的方式(例修正测量预期值及最大允许极限)。规则中为了确定新的预期及新方式信息需涉及到病人最近的历史,以下是这类规则的一个片段:
假如(1)病人从“辅助”转换至“气瓶”或者
(2)病人从“CMV”转换至“气瓶”
则期望情况如下表:
4.解空间很大但可被分解
许多数据分析任务中,只找到数据的一个解释是不够的,常需找到与数据相符的每一个解释。在危险性高的应用中,例分析有毒物质或医学诊断,这种保守的态度是应该的。通常的做法是考虑所有可能的情况并淘汰那些与数据不符的解释。这种方法称为扬弃法推理并已早就成为著名的哲理。
DENDRAL程序也许是最有名的采用扬弃法推理的人工智能程序。它事先将扬弃过程编入产生一试验的循环里。
GAI也是一个数据解释程序。它根据对分子碎片的测量推断完整的分子结构,图2是关于一个分子的数据的例子。上部表示一个分子被分成可测长度的碎片。标着A及B的切割圆周的线指明分子被酶(分别命名为A及B)分割的位置。GAI所涉及的所有分子是线段型的或圆形的,这意味着所有分子碎片是线性小片可以首尾相连地依次排列起来。
有时多个分子结构符合所得到的数据,这类问题中首要的任务是建立一个能实际工作的可以生成所有可能解的产生程序。在分子图形中由四个碎片的任一个开始,顺时针或逆时针地绕着圆读出位置及碎片,就可生成等价表达式:(1A2B3A4B),(2B3A4B1A),(1B4A3B2A)。同一分子能写出八种等价的表达式。
有效使用产生一试验方法的关键是尽可能早地扬弃一批不适应的候选方案。GAI已用于可能的候选方案数目是几十亿的问题中,因为扬弃规则对排除一批解相当有效,使相当庞大的问题仅需几秒的计算机时。若有扬弃规则存在,解空间被称作是可分解的。
5.子问题的分离
有许多问题蕴含着很大的搜索空间,常见的困难是找不到能实现尽早扬弃的程序。设计及规划问题就具有这类性质,因为根据设计或计划的一个片断常常无法说出这一片断是否是完整解的一部分。
本节讨论一种最基本的不采用尽早扬弃来求解问题的方法。其主要思想是使某一考虑方面突出起来并可使它划分为几个子问题。在简单的情况下,子问题空间是可以被固定划分的。
麦克德莫特(Mcdermott)提出的R1程序采用固定分离子问题的方法处理VAX计算机系统的构型。其输入是用户的订单而输出是一组表示订单上组件之间空间关系的图形。这一任务包含了设计的—个实质性步骤。
构型的任务可看成时间上相互关联很强的一系列子问题。R1将构型问题分解为六个按次序的子问题:
(1)判定用户订购单是否有整体性的错误(如失配项、重要先决条件短缺)。'
(2)将相应组件安置在中央处理器的机壳中。
(3)将插件盒安置在单母线的扩展机壳中并将相应的组件安置在这些插件盒上。
(4)在机壳上安装面板。
(5)安装底板。
(6)接电缆。
在R1中与每个子任务相联系的是一组实现该子任务的规划,例对于第三个子任务有:
假如最近的实际操作是选配一个电源,且
单母线接插部件已被装入机壳,且
它在机壳中占有的位置及联接关系是已知的,且
在机壳中存在所需的空间,且
已存在一个有效的电源,且
没有H7101稳压器
则在清单中添加一个H7101稳压器。
R1约有800条关于VAX系统构型的规则。它还使用了一个数据库,描述约400个组件的特性。
6.子问题的不固定划分
在制订规划时,要求运行方式多样并结构化,则子问题的分割必须体现计划的可变结构。自顶向下求精的方法可以改进划分以吻合每个问题。该法的处理步骤是:
(1)每个问题的划分由多个概念项组成;
(2)求解问题的过程中,这些概念项被联结并求值;
(3)这些概念项被分配给固定的预先确定的分割级并检查其是否适应;
(4)问题自顶向下求解,即自最概化的到最具体的;
(5)在向下移至下一级较具体的分割级之前,完成本级的求解;
(6)每一级中以与问题无关的次序求解子问题,建立一个关于中间分割状态的局部序列。
一个早期的机器人规划程序ABSTRIPS采用了这种方法,它为机器人在房间里移动物体制订规划。ABSTRIPS的设计目标是提供一种分割使在求解问题的有效性方面得到重大改进。这种分割又与基础级规划不同。
基础级规则由一个数(称为极限值)来指明操作的前提。例某一机器人规划提出下列的极限值分配:
Type and Color 4
In Room 3
Plugged In and Unplugged 2
Next To 1
将目标的型式及颜色确定为高极限值,因为机器人没有改变它们的操作。
可能的规划空间是所有由这些基础级规划构成的集合、最概化的计划是一个仅包含较离极限概念的计划。
在ABSTRIPS中规划由设定极限为最大开始,由目标反向进入每一级规划。极限值低于当前级的前提是不能被规划程序认识的,它们将在后面的过程中被考虑。一级计划完成之后,级数减一又在较低级上开始规划,上一级的规划方案用来指导下一级的建立。例,规划的最初方案确定机器人通过房间的路线。在更详细具体的方案中包括了关门及开门的步骤。按此方法由概化的规划变换成具体的规划,对不同的问题概化计划序列是不同的,以适应不同的子问题。
7.相互影响的子问题
自上而下求精的一个根本性困难是问题求解过程没有反馈。本节探索一种方法以不同的原则指导推理过称作为最小约束原则。其基本思想是不过早地、武断地作出判断而推迟到具有足够的信息时,基于最小约束原则的推理要求具有下述功能。
(1)能知道什么时候已具有作出决定的足够信息;
(2)当不能得到信息时有能力中止子问题求解过程;
(3)有能力在子问题之间游动,当信息有效时重新开始工作;
(4)能够联结不同子问题的信息。
图3表示NOAH系统中这类推理方式的一个例子。NOAH是一个机器人规划系统,它使用最小约束方法确定按计划操作的时序。
在图3中,NOAH从二个子目标开始:绘天花板及梯子。这二个子目标的计划并行地展开并出现矛盾。假如先绘梯子,则是潮的,我们不能绘天花板。换句话说,描绘梯子的这一步违反了描绘天花板的前提(用到梯子)。子目标之间的相互影响给NOAH提供关于任务的足够信息。假如任意规定步骤并先画梯子,就必须有绕湿梯子等它干的步骤,该求解方案就不是最优的。
另一例子是MOLGEN系统,它为设计分子遗传学实验使用了这种型式的推理方法。
8.需要推测
推测是启发式方法的一部分。例在产生式系统中,产生程序推测出部分解才能使系统进行试验。下列的情况则推测尤其重要:
(1)许多问题的求解需处理不完善的知识,在求解过程的父些阶段也许不能决定最好的选择,在这种情况下不作推测则不可能完成求解。
(2)搜索空间可能有十分稠密的解,但没有必要找到全部解,则采用推测十分有效。
(3)在求解收敛很快的情况下,推测也是有用的。
推测的困难在于识别错误的推测并从中退出来。
EL系统是具有推测结构的系统之一,它用于电路分析。它采用二个主要方法:前向推理法及“理论叙述”法。
前向推理使用电路定律根据一些节点的参数计算另一节点的参数。EL系统仅用到了欧姆定律、克希雷夫定律。图4描述一个电阻按梯形联结的电路,分析的任务是确定电路中全部节点的电压及阻抗。采用电路的符号推理与求解串并联电阻网络的方程式相比要简单得多。分析由引入变量e表示梯形网络尾端未知的结点电压开始。由此得到通过R6的电流为e/5,然后由克希霍夫定律,同一电流流过电阻R5,在其左边电压为2e。这一电压加于R4两端,再由欧姆定律算出通过它的电流。用符号表示未知项运用电路定律一直到所有的电压能用e确定地表示出来。此时我们有:
8 e=10 V, e=5/4 V
有时为了表示未知的电路参数,分析电路时需要引入一个以上的参变量。
EL保留着有关它演绎及假设的全部纪录,假若某一判断有基原假设的支持,就被确认,没有充分的支持就弃废。被弃废的判断得到支持而恢复称作拣回。图5表示在数据库中这一过程的一个例子。A1,B1及C1为当前库中的基原数据,假如A1及A2为共享的关于设备状态的假定,图5的上部表示当A1存在时论据存在,箭头用来指明支持关系。(根据A2的判断用虚线表示,表明它们存在于数据库中但被弃废了。)图的下部表示若A1是弃废的而A2被拣回时发生的情况。
EL的一个重要的功能是它有收回试验性假定的能力。
9.多路推理
当我们解释如何求解一个问题时,往往使人看起来自始至终遵循着一条很直接的、合理的途径。给出一个令人误解的印象,好像问题求解是顺着单线推理。实际上重要的或稍微精细的推理存在于可能使用多路推理的求解过程中。上述的一些系统在以下两个方面使用了多路推理从而增强了它们的功能。
(1)加宽一个不完善搜索的可达范围;
(2)联合分离模型的作用。
HEARSAY-Ⅱ系统在对付大空间搜索要求与有限计算资源之间的矛盾中实现一个启发式的搜索。由于同时引入了几个计算求值程序减少了因证明不充分而丢失一个正确解的几率。
SYN系统给出一个多模型联合的典型例子。它是一个电路综合程序用于确定电路元件的数值。其组织思想是电路多视图思想,相当于电气工程中的等效电路思想。例由二个电阻串联组成的分压器可以看作一个电阻,当计算分压器上的电流时往往这样,另一种视图则将它看成二个电阻,当计算分压器中点电压时就必须这样。采用探索电路等效形式的方法,SYN有能力在不需大量代数变换的情况下分析相当复杂的电路。
10.知识源解
求解问题中采用多路推理的重要辅助手段是利用多个知识源。语言理解系统HEARSAY-II采用概率排序器协调不同的知识源。
语言的产生包括一系列转换:由谈话者的动机出发,通过语义及语法结构的选择至发出声音,为了理解语言HEARSAY-Ⅱ系统必须逆转这一过程。
在HEARSAY-Ⅱ中,用于理解语言的知识被组织成一组相互有关的知识源群,如图6的箭头所示,该知识源群合作搜索一个多级局部解的空间。他们提取声学参数,将声学段落分类为语音级,识别字,分解成语以及产生并评价未被发现的字及音节的假设。知识源群通过称为“黑板”的总数据库联系,它拥有几个信息级,这些级是系统非匀质的抽象空间。级之间的主要联系是合成:字群由字合成,字由音节合成等等。在黑板上假设一群实体,然后动员知识源群建立并修改黑板上的假设,纪录级与级之间证据的支持以及给予可靠性验证。
11.提高表达的效率
当知识库较大时,采用均一表达而引起效率的损失将变成不容忽视。未来的专家系统将具有越来越大的知识库,注意到这一点是重要的。
通过改变知识的表达、改善专家系统的性能有三个主要的思想:
(1)使用专门的数据结构;
(2)知识编译;
(3)为识别的经济性进行知识变换。
数据结构对补偿效率是有益的,选择及建立有效的数据结构是极大多数计算机科学课程的主要部分。
所谓知识编译是指将一种知识模型变换为另一种更有效的知识模型。限于篇幅不允许对技术问题作详细讨论。下面列举的一些例子可揭示这种思想的广泛性。
例1,Burton提出一个用于取得ATN语法(上下士先联系的语法)并编译成可执行的编码,编译后的语法可实现句子分析,比前述采用解释程序库的方法要快得多。
例2,Forgy指导一项研究使产生式系统编译成“结点程序”网络而更加有效。编译程序利用了产生式系统的二个特点:结构相似性及暂时性冗余,结构相似性是指许多产生过程包含着相似的条件;暂时性冗余是指各次产生过程仅改变存储器中少数内容而极大多数数据在各次循环中没有变化。Forgy的分析表明由于编译了产生过程及对计算机硬件作了一些简单的改变,速度可提高几个数量级。
例3,EMYCIN为另一个对产生规则知识库进行编译的系统。它的规则编译程序集中在规则的相似模式试验方面排除冗余,以及将它们编译为LISP码的判断树。
例4,用于语言识别的HARPY系统,借助于编译形式的知识完成试图寻找语音与解释集之间的最佳配合的迅速探索过程。
知识编译思想的希望在于它使得专家系统迖立及调试过程中能够利用很普通的知识表达方法。在任何时候知识库可以被变换并根据需要再行编译。这方面的技术还刚刚开始探索。
关于有效性的讨论中,已假定知识库的设计者需预料到将使用知识,以及为有效表达需作如何安排。为了衡量这种表达方式改变的有效程度,有人制订了识别系统经济性的条件。
识别经济性的恵想及知识编译思想、在其广泛使用之前还存在许多理论及实际问题有待解决。
[Artificial Intelligence,18(1982年)]