复杂性中的思维物质-第31部分
按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
但是,与人不一样,专家系统的知识是限于某种专业信息基础的,而没有关于世界的概括性、结构性知识。因此,专家系统在数字计算机的约定程序和人之间发挥着某种中间功能(图5.5)。
一个专家系统包括如下的组件:知识基础、问题求解组件(推理系统)、解释组件、知识获取组件和对话组件。它们的协调示意在图5.6中。
知识是专家系统运行中的关键性因素。知识具有两种类型:第一种类型是领域事实,它们书写在该领域的教科书和杂志中;对于一个领域的实践同样重要的是第二种知识,叫做启发性知识,是在该领域中的良好实践和进行判断的知识。正是实验性的知识,猜测高超艺术为一位专家经过多年工作所能获得的。
顺便说一下,知识库与数据库不同。例如,一位医生的数据库是关于病人的记录,包括病人历史、重要症状的测量、所开药物和药物反应。这些数据必定要通过医生的医学知识来解释,以进一步进行诊断并制订医治方案。知识库是医生在他的医学教育中和在实习阶段、高级训练阶段、专业训练阶段和医学实践中学会的东西。它包括事实、倾向、信念和启发性知识。
启发性知识是最难获得的,因为专家很少自觉地认识到它是什么。所以,跨学科训练的知识工程必须去获得专家的规则,将其表示为编程语言,并植入工作程序中。这个专家系统的组件叫做知识获取。它在专家系统的知识处理过程中的中心功能示意在图5.7中。
最重要的知识表示方法是产生系统、逻辑、框架和语法网络。除了知识以外,专家系统还需要一种推理程序,一种用以理解和作用于知识和问题数据及其组合的推理方法。这些程序是独立于特定的知识库的,是建立在多种哲学方法论基础上的,为此我们将在后面分析几个专家系统的例子。
专家系统的解释组件的任务是向使用者解释程序的步骤。问题“如何”也就是要对该系统导出的事实或断言进行解释;问题“何时”则是要求,指出一个系统的问题或秩序的前提。
对话组件处理专家系统与使用者的通信。自然语言的处理器当然可以使甚至未受过专门训练的使用者也容易接受。
从技术的观点看,专家系统的局限性是显然的。首先是知识表示问题。所论领域的知识如何表示为计算机记忆装置中的数据结构并为问题求解所接受?其次是知识利用问题。推理器应该如何设计?第三是知识获取问题。获得知识是如何可能的?这对于自动的问题求解是非常重要的,以使得计算机容易将人的专业知识转移到符号数据结构中。
专家系统的最后一个也是最重要的问题是哲学问题。如何将专家系统的专业知识库与关于世界的一般化结构化的知识结合起来?这种一般化结构化的知识会影响人的专家的决策和行动。
因此,当医生作出进行手术的决策时,还将考虑到有关病人的生活条件(家庭、工作等)的非对象性以及他对于生命的态度。特别是,例如在当今有关死亡尊严的争论中,对于生和死这种基本问题;医生的总体态度和见识也是融入到他的决策中的,尽管立法上在寻求建立一般的行为标准,但对此却是难以进行规范的。例如,在法律的专家系统中也表现出同样的问题。法官会置规范系统的自治性于不顾,最终将发现某种可能决策的正式范围,在此他将倾向于他自己关于生命和世界的观点。对于这种主观性影响,不要抱怨缺乏客观性,而是要看作一种作出更为人道的医学和裁决的机会。不过,对此并没有排除,未来的计算机科学应该去进一步地扩展以专家系统为基础知识,这种知识今天还是非常专业化的。当然,根本性的局限也是明显的,是专家系统的本质所导致。
专家系统是问题求解程序的技术实现。因此,实际上存在着的专家系统可以由特定的要解决的问题来进行分类。图5.8示意了专家系统最重要问题的类型。
输入问题类型输出
测量数据、症状等→分类或诊断→规则/模式的识别
约束→设计→满足性质的对象
初始态、目标态→计划→将初始态转变到目标态的行动顺序
初始态→模拟→未来的后果状态
图5.8专家系统的问题类型
一类已经深入分析过的问题涉及到“诊断”,例如医学中的诊断。这种专家系统的输入由测量的数据、症状等等所构成,它在结果中提供了从数据规则中识别出来的模式。另一类问题涉及到“设计”。此问题是如何发现在相应约束下的产物。计划问题的解答要求某种行动序列,把初始态转变成目标态。模拟问题从模型的初始态出发,必须计算其后续状态并进行评价。
问题求解策略是由产生规则推导出来的,这里必须由所谓的规则解释者进行选取。如果有几种规则是可用的,冲突求解策略将决定哪一条规则是适用的。例如,可能的规则可以用优先性和一般性的程度整理出次序。然后,选取具有最高程度的优先性或专业性的规则就可能是合适的。
在推理中的规则组合可以由所谓前向和后向链接来实现。前向链接从一定的数据和事实A出发,运用此演绎机制直至推导出一定的目标D(图5.9)。
从方法论的观点看,专家系统的前向和后向链接程序,只不过是众所周知的古典逻辑学家和哲学家帕波斯的发现确证的必要性或充足理由的方法。不足为奇的是,几乎所有专家系统的推理策略都是以众所周知的哲学方法论为基础的。
今天,AI中运用的大多数哲学理论都不是直接从哲学文献中获取来的,但是这无损于它们的哲学意义。然而,有一些著名专家系统的作者却是直接受到了哲学家的影响。
要弄明白AI是哲学逻辑和方法论,人们只要仔细考虑一些专家系统。它们的问题分类决定了何种策略适合于问题求解。一般地说,一种策略的目的也就是减少问题的复杂性。
DENDRAL程序所涉及的任务,是从数据中决定出分子的结构,数据中包含着化合物的分子式和化合物的质谱。输出整理成有序的表格,列出各种可能的结构式。其问题求解的策略被称作“产生和检验”,其算法是产生出与给定的分子式一致的有机分子的拓扑结构,以及产生出分子中的化学键最可能从何处断裂的规则。简言之,我们可以说,该程序是采用尽早修剪掉坏的分枝的方法来减少求解生成树的复杂性。方法论上,它涉及某种确证标准。
一般地,如下的要点具有重要性,而不论其化学应用如何:
a)有某个形式对象的集合,其中包含了解答。
b)有某种产生机制,例如某种对于该集合的完整计数过程。
c)有某种检验,例如判断所鉴定出的某种产生出来的元素是否在解答集中。
这种一般方法由如下的算法来定义,例如由如下的遵从丘奇定理的递归函数来定义:
函数GENERATE-AND…TEST(SET):
如果要检验的集合SET为空,
那么失败,
否则让ELEM是SET的“如下”元素;
如果ELEM是目标元素,
那么将其作为解答,否则对于集合SET在没有元素ELEM情况下重复这一函数。
对于翻译成AI编程语言LISP,必须引入一些递归辅助函数,例如GENERATE(产生一定集合的某个元素),GOALP(是判断函数,如果论据是解答集的一部分则提供T(真),否则NIL),SOLUTION(为“输出”准备的解答元素),和REMOVE(提供集合减去给定元素)。当设计一张符号表时,考虑到LISP中通常的缩写,例如 DE(定义)、COND(条件)。EQ(方程)、T(真)以及LISP的约定(例如括号规则),如下的算法在LISP中是可接受的:(DE GENERATE…AND…TEST(SET)(COND((EQ SET NIL)’FAIL)
(T(LET(ELEM(GENERATE SET))
(COND((GOALP ELEM)(SOLUTION ELEM))
(T(GENERATE-AND-TEST
REMOVE ELEM SET)))))))
对于给定的化学分子式,所有的化学结构都系统地产生出来,例如对于C5H12,第一步是:
一些化学结构被排除了,因为它们是不稳定的或相矛盾的。下一步,计算出相应的质谱并与经验上确定的质谱进行比较。这个比较也就是检验过程。GENERAIE-AND-TEST从而在技术上实现了一种方法论,排除了不可能的假定并检验可能的变体。
META…DENDRAL程序是设计来改进DENDRAL程序的,涉及何种分子键将在质谱仪中被打破。所以META-DEN-DRAL运用了DENDRAL程序再加上确证的预测标准,这被亨佩尔批判地分析过。
帮助医生进行诊断感染的MYCIN程序,是一种后向链接的演绎系统。MYCIN的知识库中,大约有300种血液细菌感染生成方式。下面是一个典型例子:
如果感染的类型是基本的细菌血症,怀疑的入侵点是胃肠道,培养部位是一处无菌部位,那么这就表明此种有机体是拟肠杆菌。
运用这样的知识,MYCIN进行后向运行。对于所有100种诊断假设,MYCIN试图逼近从实验室结果和临床观察获得的基本事实。由于MYCIN工作在推论往往不确定的领域中,它的设计者把看来合情概率推理的理论与基本的产生装置结合起来。该理论用来为与/或(AND/OR)树中每一个结论建立起所谓的确定性因子(图5.10)。
这里,Fi是使用者指定给一事实的确定性因子,Ci表明一结论的确定性因子,Ai是产生规则所预期的可信度。确定性因子在AND节点和OR节点处指向前面的式子进行计算。如果一个确定性因子为0.2或更小,相应事实的真假被看作是未知的,就规定其值为0。
该程序计算出归纳合理性的大小取决于保证事实的多少。这种方式使我们想起鲁道夫·卡纳普的归纳理论。卡纳普自然是不相信培根的普遍归纳结论的。结论总是演绎性的。对此不需要波普尔式忠告,否则专家系统不会运行。然而,像MYCIN系统中所用的概率测量则使得该系统对于使用者更透明。
另一方面,也可以这样说,在此采用了“假说和检验”策略的波普尔纲领,即产生出最有趣的假说并进行严峻检验。有这样的程序,有助于用统计数据构造起线性的因果解释。另一些程序运用昔日哲学家的知识,归纳推理是单调的,即意味着从一组前提归纳地导出的结论,可能并不是前提的协调拓展。例如,鸟会飞,吱吱叫是鸟,于是推论出吱吱叫会飞,但是它不会飞,如果我知道吱吱叫是鸵鸟。
另一种策略是将复杂问题分解成简单部分或复杂性较小的子问题,例如乔治·波利亚的启发性数学手册《如何求解》中就使用了这种策略。因此,应用领域必须允许分解为独立的部分。但是,显然,相关性复杂网络并不总能分解而不改变系统的原先状态。例如,人类环境的生态网络或精神病医生必须要分析的复杂的心灵相关性。系统并非总是其部分之加和。
科学哲学中的一些划界可以翻译为以知识为基础的系统的性质。