人下智能是计算机科学的分支,它试图用机器模仿人的智能行为。目前,人工智能研究的各领域大都还远远不能同人甚至同动物的智能相提并论。专门用来视图、听声、辨别话音的计算机系统依然处于相当初级的阶段。然而在人工智能的某个领域里,即根据其个限定的范围内的知识或经验做出推理的方面,计算机程序不仅已经接近人的智力,而且在某些情况下甚至还有所超越。这些程序利用所收集到的事实、查找的规则以及有关此范围的其他知识,并且同使用这些规则的方法相配合来做出推理。它们能够解决诸如医疗诊断、矿藏勘探、油井分析这类某些专门领域里的课题。实质上,它们也不同于普通的计算机程序,因为其任务并不是运算解题,而常常是根据不完整乃至不确定的信息做出结论。研究工作者在实现这样的专家系统中发现,决定专家系统能力的主要因素是积累大量的知识,而不是复杂的推理方法。这些专家系统,以前仅仅局限于科研部门使用,现在正开始进入软件市场。人工智能程序正在被开发来应用于机器人、诊病、航天飞机的自动航行程序系统、F-16军用战斗机的飞行系统以及其他方面。

专家系统的实现

目前,并非一切知识领域都适合于实现专家系快、够格作为这类“知识工程”的课题,必须满足下列先决条件:(1)至少必须有一位被公认为在某个领域颇有造诣的专家;(2)此专家的本领必须主要来源于专门知识、判断能力与经验;(3)此专家应能够明确表达这种专门知识、判断力与经验,而且还要能就某专门课题实际说明应用上述知识、判断力和经验的方法;(4)此课题必须具有明确的应用范围。有的时候,专家系统可能并不完全符合上述先决条件,但也会实现。比如,在某个课题上应用的是某些专家而不是某个专家的本领。专家系统的结构是模件式的,有关某个范畴的事实与其他知识是同推理程序分开的,推理程序或者说就是应用这些事实的控制部分,而另一个部分——综合数据库则是与某特定课题的现状与历史有关的“领域”的部分。这几部分均为模件式的。为了便于在研制或使用过程中更好地利用专家系统,还需要有某种自然语言的接口,尽管引前并不普遍。在某些高级的专家系统中,还包括一个说明解释的模件,让用户对某个专家系统的结论做质疑,并且审核构成这些结论所依据的推理过程。

专家系统与普通的计算机程序在下列方面有所差异。普通的计算机程序,有关某个课题的知识和利用这些知识的方法是搅合在一起的,这样改变程序比较困难。而专家系统通常是把跟某课题有关的知识(知识库)、现行处理课题的信息(输入数据)、针对此课题应用上述知识的方法(推理丁具)三者明显分开。由于这个明确的界限,所以只要对知识库直接做修改,就可以改变程序,尤其是以规则为基础的专家系统,对知识库的规则直接做增强即可使专家系统发生变化。

对形成规则的要求

专家系统再现某范畴知识(事实与推断)最常使用的方法是按照形成规则去做(也可称为情况 - 动作规则或者如果 - 那么规则)。例如:如果航天飞机的电源损坏,而且备用电源有效,同时故障原因不明,那么就启用备用电源。

以规则为基础的系统,其工作过程是利用这些规则,说明其结果,并且根据情况的变化采用新规则。还可以通过直接的逻辑推理来工作,即以某种情况的起因为始推出答案;或者以几种可能的答案为假设的起点,再回溯寻求正确的起因;或者从现有的,支持某个特定假设的起因开始来进行推理。

并非所有的专家系统都是以规则为依据的。只有在总结归纳出多位专家的经验,并且由此而获得某个领域的相当丰富的专门知识时,以规则为基础的系统才格外适宜。然而,如果有更多的因果信息可资利用,那么采取其他方式可能更为可行。比如通过表示因果关系的圆弧,把多种状态节点(表示求解问题的实际系统各部分)联系成一体的网络,这样的网络容许系统工作于按情况解答课题的模式。附表中的Caduceus和Prospector就是这种以网络为基础的专家系统的实例。

实现专家系统的第一步是选择用于组织与控制解答某课题必经步骤的解题规范。一种常见的方法涉及的是构成原因串的如果 - 那么规则链。这些规则是由总数据库里的各种模式来操纵的,具体做法要看是正向的按推理求结果还是逆向的由假设求起因。这些模式或者同这些规则的“如果”(假设),或者同“那么”(结果)相配。规则翻译程序采用一种控制结构,有时经“中间规则”编译,去寻求可用的规则,并决定采用哪条规则。所采用的基本控制方式是从上至下式(由目标来驱动)、从下到上式(由数据来驱动)和二者结合式。这种结合式利用类似渐次收敛的过程,在某个中间点上连接从上至下和从下到上式的原因串,从而产生出结论。由数据来驱动的方式,在思考过程中有时具有将产生过多的与课题无直接关系的假设这个缺点。由目标来驱动的方式,其不足之处则表现在当可资利用的数据难以保证时,可能会固定于某组开始做出的假设,而难以转移到新的焦点上。

经常使用的最早的专家系统之一是Dendral。它是由斯坦福大学的E. A. 费根堡(Edward. A. Feigenbaum)和J. 列德伯格(Joshua Lederberg)于六十年代末研制的,用来从质谱图数据产生有机物分子的结构式,其过程要求(1)由质谱图数据划定范围;(2)产生出可能的几种结构;(3)预测出这几种结构的质谱图;(4)将结果与数裾进行比较。这种以规则为基础的系统,自数据起按正向 - 环扣 - 环地

推断,表明人工智能最常见的解题方式是“计划→产生→检测”。作为有机化学的咨询工具,Dendral业已使用十五年以上,而且有相当多的文章里都曾列举过它。Dendral是当前在质谱分析中为人们所公认的电脑专家。

另一种最著名的专家系统是Mycin,系斯坦福大学的E. 肖特列费(Edward Shortliffe)于七十年代中期设计的,用来诊断细菌性传染病和施治抗菌疗法的一种问答式系统。Mycin表现出专家依据状态 - 结论规则判断病因的能力,把患者的数据同假定的传染病相联系,而且同时对每条规则提供出专家的“必然”估计。这种专家系统从假设的诊断结果出发,逐次回溯,利用规则去判断有关结论的确定性的因素,这些结论是以先前的确定性因素为基础,以便审视这些证据能否支持某种诊断的结论。倘若没有足够的信息缩小假设的范围,这种系统便会向医生索取补充数据,以便全面评价全部假设。一旦完成这些工作,Mycin根据所有这些十分准确的论断提出相应的治疗措施。

还有一种以规则为基础的专家系统R1,它极为成功地根据不同规格和部件的订单为VAX计算机系列(小型机系列)构形。R1的原始形式于1979年由卡内基 – 梅隆大学的约翰 · 麦克窦茅特(John Mc-Dermott)为数字设备公司研制的。由于这种构形方式既无需从头开始,又无需重复以前的步骤,所以它的途径是把大题化成下列小题,按次序逐一去做:(1)纠正订单中的错误;(2)把部件放入中央处理单元;(3)把程序逻辑单元接入通用总线,并把部件接入程序逻辑单元;(4)把底板接入通用总线;(5)为底板定线;(6)布线。构形过程中每步骤中,下一步如何进行,通常有几条规则可供使用。R1能够从中选择一条最适合的具有“如果”含义的规则,这条规则以此假设为根据,并对目前的状态更有针对性(R1是用OPS5,一种专供编制规则的语言编写而成的)。此专家系统现有供VAX系列小型计算机使用的一千二百条规则,同时伴随约千个VAX系列部件的信息,所以总计约有对于DPD-11(小型计算机)和VAX部件约二千五百条规则与经验。

专家系统的体系结构

专家系统按照其功能可分为看病、作计划等等。可是,对现有的专家系统所作的分析表明,按上述分类而得的具体的系统体系结构相同之处甚少。如果不考虑具体功能,我们可以考虑专家系统要处理的各种课题的复杂程度与结构,并且试图决定对于不同性质的课题,哪种结构最好。各种专家系统进行推理所采用的方法都是要缩短在全部可能成立的答案中寻找正确结论所耗费的时间。依靠周密的运算检索是行不通的,因为可能得到的结果的数量会急剧扩张,也就是所谓的排列组合激增,即使当要考虑在内的因素很少时也是如此。人工智能研究工作者所使用的检测这种排列组合激增的方法是利用“检索区间”,在此区间内必能得到答案。专家系统必须予以考虑的每个新的变量均会增加检索区间的范围,而每当详尽程度得到补充就会使检索区间的范围扩大。研究人员主要用以下两种方法:一是在检索区间可能的答案中寻求最有效的检索途径;二是在所有可能的答案中,寻求把检索局限在较小的容易得到答案的范围内的途径。硬件和专门设计的算法对于第一种方法有益,第二种方法则要求高级的控制结构,由于排列组合激增的问题,所以可以采用的有效办法是把大题化小,把一个大课题化成若干小的检索空间,分别对这些小空间作处理。检索这些小空间所花费的总时间常比检索一个大空间所需要的时间短得多。但是,归根到底,由于排列组合激增随之而来的可能的答案数量的激增,硬件的进展还是只限于它们所能提供的方面。许多人工智能研究工作者认为,预计今后十年内将研制成功的第五代计算机,对于人工智能来说,速度比现有的计算机快千万次乃至百万次,但是依然不能处理需要广博的知识与经验的现实世界中复杂的课题,除非它们具有先进的控制结构去缩小其捡索空间以及具有新的逻辑处理能力,能够从可能的答案中筛选出正确结果。

专家系统的局限性

斯坦福大学探索程序研究机构的勃鲁斯 · 勃恰南(Bruce Buchanam),麻省理工学院人工智能研究室的兰特 · 台维斯(Randy Davis)指出现有的专家系统的局限性。这些局限性是:

(1)专门知识的范围狭窄。因为编制与维持一座大型知识库是困难的,所以只有很少的专家系统包括数量可观的知识范围。值得注意的例外是Internist,它可以处理约五百种疾病的症状和诊断。但是,这种包治百病的功能只是把疾病与症状之间的联系相当表面化地表现出来而已。

(2)表达事实与相关关系经验的语言尚有限。某些知识,尤其是没有直接的“如果 - 那么”推理过程的经验,用现行的经验表达语言很难有效地表示出来。

(3)输入与输出的表达是相对的程式化的语言。用户必须用一种定义严格的形式语言来说明课题。

(4)专家系统对于原因的阐述是程式化的,有局限性的,往往比不上此系统对于判断或者结论的阐述。

(5)专家系统的创立费力麻烦。目前,一项“知识工程”(专家系统)必须是对人类此领域内专家的经验进行精炼,同时经过繁复的过程把其编制为知识库。某些情况下,为现有的专家系统创立知识获取系统是这样做的,即由人工专家直接向其知识库增添内容,比如台维斯博士在斯坦福大学扩展Mycin的知识库时所搞的Teiresias。

(6)专家系统需要一名专家做“知识之王”。专家系统研制工作者目前的能力仅限于保持其知识库的统一性和解决重叠项目之间的矛盾。这样,尽管多位专家可以对某项专家系统做出贡献,但是必有一位专家保持绝对的支配权力,确保知识库的质量。

(7)专家系统的性能脆弱。专家系统大都不能很好处理交叉知识学科的课题,而且一旦某课题超出其能力或者越出其范围,它们一般也不具备解决的知识。

(8)专家系统要求有一定知识水平的技术人员操作。操作某个人工智能系统常常是某个专家系统的研制人员或者是具备相当知识的其他人才。他们对于某个课题能适当地提出相应的问题并且会从似乎有理的解答中提炼出恰如其分的答案来。专家系统开发人员大都不能同他们的程序建立起良好的接口关系。

尽管如此,即使有上述局限性,专家系统依然已经取得显著的成功。人们业已研制出来供表达格式化经验知识的可塑分类研究法,而且用这种方法表达以应用经验为基础的联想而成的五种专家系统现已成为例行的解决实际课题的工具。这五种专家系统是Dendral,Macsyma,Molgen,R1,Puff,其中,前三种均拥有重要的用户,这些用户与这些系统的设计师只保持最低限度的接触。Macsyma实际上正由麻萨诸塞州坎布里奇市的Symbolics公司销售,这家公司生产最适合使用人工智能语言LISP的计算机(有些人并不把Macsyma当做专家系统,因为其使用变换方程的算法。但是,在决定要使用的变换算法中,它应用数学知识和直观推断)。Dendral是用来分析化学测量数据,确定潜在的分子结构的,它在上面五种专家系统中历史最长,应用最广。R1是数字设备公司内部使用,为VAX系列小型计算机构形,据报道每年可为该公司节约几百万美元。该公司现正研制R1的后续系统XSEL,这是保证指令在其被存入以前得到修正的程序。其他还有十余种专家系统已经完成或者已经通过试验阶段(见附表)。

广阔的前景

还有许多正处于研制阶段的专家系统。这些系统的应用范围包括诊病、开处方、自动诊断、化学实验数据整理、化学合成、生物合成、探矿、探油、绘图、造表、信号分析、估价军事威胁、摧毁战术目标、防空、空中交通管制、电路分析、超大规模集成电路设计、诊断设备故障、计算机构形、语言识别、计算机辅助教学、知识库存取与管理、设计专家系统等。

专家系统的应用范围看来是无什么界限的。这些系统的设计与构成的本质正在起变化。以规则为基础的系统,其不足之处日趋明显:并非所有的知识领域均可,成以经验为基础的联系,这种联系趋向于高度偶然性的关系,但是对于突出结构的功能是不相宜的。

更新型的专家系统正在增添有关因果关系与结构的知识。这些系统与现有系统相比较,灵活性提高,常常能提供正确答案,足以被应用于自主系统而不只是充当智能的助手。另一项变化是不以规则为基础的系统日趋增多,这种系统采用语义网络、语义框架和其他表达知识的结构。它们往往更好地适合于因果关系的模型。这些系统通过提供知识的表达方式,更适用于具体的专门课题,而且也可简化推理的过程。还有采用所谓的“黑板”式的新型专家系统,把以规则为基础的和不以规则为基础的部分相互结合,以渐进的方式,利用形成其特定专门程序的每个分段构成最终的总答案。

专家系统的成长,联系到业已增强的计算机的能力以及人们日益广泛地使用计算机,可能将向每个人邊供实际上享用各种专门知识的机会,而由此必将使人类社会发生意义深远的变化。

2.1.1

2.1.2

(IEEF Spectrum,1983年第8期)

————————

*本文作者是美国航空与航天局(NASA)阿迈斯研究所人工智能应用研究部主任,美国控制学会、美国电气电子工程师学会系统、控制论分会华盛顿区主席。长期在NASA从事自动化研究,曾为该局与美国国家标准局完成一系列有关人工智能与机器人学的报告。