按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
诓┺龋ㄏ缕濉⒔┲醒扒笕∈げ呗浴W畛醯哪J绞侗鸪绦颍ɡ绱视锖头诺拇驶惚砗途浞ū恚┒际且酝臣品椒ㄎ〉摹5谴映ぴ兜墓鄣憧矗庑┰缙诘娜魏纬绦颍济挥兄っ饕话闳现D獬绦蛑械男揽煨拍睢V辽伲男味涎Ч奈枇寺罂ㄎ⒚鞅喑逃镅訪ISP,它是作为一种功能的编程语言引入的,用于处理可怕的符号表,成为今天基于知识的系统的一种最强大的编程语言。
在一般方法失败以后,AI研究者们传播了一种预设的“语法信息处理”程序。AI的第二阶段(1963-1967)以专业程序的发展为特点。这样的专业程序,例如有求解简单代数问题的STUDENT,进行类似物体的模式识别的ANALOGY,等等。麻省理工学院的马尔文·闵斯基是这个时期的头面人物,他放弃了进行心理学模拟的主张:“目前的探索,其特点是聪明地选取问题从而得到复杂智能活动的幻象来进行的预设求解。成功的实用编程方法依赖于专业知识,这个思想首次被加以强调,成为后来基于知识的系统的中心概念。
对于问题求解的一般原理的追求,在理论计算机科学中仍在继续:J.A.罗宾逊引入了所谓的以预测逻辑演算和赫布兰德的完全性定理为基础的求解原理,允许用逻辑反驳程序去发现证明。
在AI中推动实用和专业编程方法,在第三个阶段(1967-1972)得到了加速发展。其标志是构造出专业系统、知识表示方法和对于自然语言的兴趣。发明了在数学应用中取得成功的MACSYMA程序的J.摩西描述了AI中范式的变化:“事实上,1967年是我的精神的转折点,那时候我充分地感受到一般原理的旧思想必须放弃……并抓住了我称作专业技能至上的证据。”
这一时期的另一个著名例子是DENDRAL程序,它运用了质谱学中化学家的专业知识,以发现分子的结构式。这个阶段中的一个范式的例子变成了机器人的SHRDLU程序,机器人可以操纵不同组件组成的小世界。这种系统可以用英语理解和回答关于这个组件世界的问题,执行操作这个组件世界的指令,并把次序划分为一系列操作,理解干了什么并为什么这样干,并用英语描述它的行动。
在第四阶段(1972-1977),知识的描述、组织和处理成为了把工程学和AI哲学结合起来的中心范式。米彻尔·费根鲍姆引入了“知识工程”这一术语,用于所谓专家系统的发展。一个例子是用于医学诊断的MYCIN程序,它模拟了一个具有细菌感染专业医学知识的内科医生。
一种新的知识表示方法是马尔文·闵斯基提出的框架概念。一种用于符号性知识处理的新的编程语言是PROLOG(“逻辑编程”),它可以与LISP相比拟。
AI的第五阶段(1977-1986)被说成是托马斯·库恩的意义上的“常规”阶段,指的是专家系统范式正在运行并实现了商业化。一些工具发展起来,以建设诸如大规模汽车生产使用的新专家系统。AI正在从实验室和哲学家的研究中崛起,正在变成世界性的知识工业的关键性技术。
接下去,我们重点讨论专家系统,因为这里看来具有最令人感兴趣的哲学问题。一个专家系统是一种计算机程序,其中已经装入了知识和能力,使得它可以在专家水平上进行操作(例如化学中的DENDRAL和医学中的MYCIN)。人类专家的推理过程示意在图5.4中。
一些专家系统甚至可以揭示为何它们拒绝一定的推理途径而选择其他的途径。设计者们在努力工作以实现这一点,因为他们知道,专家系统的最终运用取决于它对于使用者的可信度。如果它的行为是透明的、可解释的,那么它的可信度就会增加。
但是,与人不一样,专家系统的知识是限于某种专业信息基础的,而没有关于世界的概括性、结构性知识。因此,专家系统在数字计算机的约定程序和人之间发挥着某种中间功能(图5.5)。
一个专家系统包括如下的组件:知识基础、问题求解组件(推理系统)、解释组件、知识获取组件和对话组件。它们的协调示意在图5.6中。
知识是专家系统运行中的关键性因素。知识具有两种类型:第一种类型是领域事实,它们书写在该领域的教科书和杂志中;对于一个领域的实践同样重要的是第二种知识,叫做启发性知识,是在该领域中的良好实践和进行判断的知识。正是实验性的知识,猜测高超艺术为一位专家经过多年工作所能获得的。
顺便说一下,知识库与数据库不同。例如,一位医生的数据库是关于病人的记录,包括病人历史、重要症状的测量、所开药物和药物反应。这些数据必定要通过医生的医学知识来解释,以进一步进行诊断并制订医治方案。知识库是医生在他的医学教育中和在实习阶段、高级训练阶段、专业训练阶段和医学实践中学会的东西。它包括事实、倾向、信念和启发性知识。
启发性知识是最难获得的,因为专家很少自觉地认识到它是什么。所以,跨学科训练的知识工程必须去获得专家的规则,将其表示为编程语言,并植入工作程序中。这个专家系统的组件叫做知识获取。它在专家系统的知识处理过程中的中心功能示意在图5.7中。
最重要的知识表示方法是产生系统、逻辑、框架和语法网络。除了知识以外,专家系统还需要一种推理程序,一种用以理解和作用于知识和问题数据及其组合的推理方法。这些程序是独立于特定的知识库的,是建立在多种哲学方法论基础上的,为此我们将在后面分析几个专家系统的例子。
专家系统的解释组件的任务是向使用者解释程序的步骤。问题“如何”也就是要对该系统导出的事实或断言进行解释;问题“何时”则是要求,指出一个系统的问题或秩序的前提。
对话组件处理专家系统与使用者的通信。自然语言的处理器当然可以使甚至未受过专门训练的使用者也容易接受。
从技术的观点看,专家系统的局限性是显然的。首先是知识表示问题。所论领域的知识如何表示为计算机记忆装置中的数据结构并为问题求解所接受?其次是知识利用问题。推理器应该如何设计?第三是知识获取问题。获得知识是如何可能的?这对于自动的问题求解是非常重要的,以使得计算机容易将人的专业知识转移到符号数据结构中。
专家系统的最后一个也是最重要的问题是哲学问题。如何将专家系统的专业知识库与关于世界的一般化结构化的知识结合起来?这种一般化结构化的知识会影响人的专家的决策和行动。
因此,当医生作出进行手术的决策时,还将考虑到有关病人的生活条件(家庭、工作等)的非对象性以及他对于生命的态度。特别是,例如在当今有关死亡尊严的争论中,对于生和死这种基本问题;医生的总体态度和见识也是融入到他的决策中的,尽管立法上在寻求建立一般的行为标准,但对此却是难以进行规范的。例如,在法律的专家系统中也表现出同样的问题。法官会置规范系统的自治性于不顾,最终将发现某种可能决策的正式范围,在此他将倾向于他自己关于生命和世界的观点。对于这种主观性影响,不要抱怨缺乏客观性,而是要看作一种作出更为人道的医学和裁决的机会。不过,对此并没有排除,未来的计算机科学应该去进一步地扩展以专家系统为基础知识,这种知识今天还是非常专业化的。当然,根本性的局限也是明显的,是专家系统的本质所导致。
专家系统是问题求解程序的技术实现。因此,实际上存在着的专家系统可以由特定的要解决的问题来进行分类。图5.8示意了专家系统最重要问题的类型。
输入
问题类型
输出
测量数据、症状等
→分类或诊断→
规则/模式的识别
约束
→设计→
满足性质的对象
初始态、目标态
→计划→
将初始态转变到目标态的行动顺序
初始态
→模拟→
未来的后果状态
图5.8专家系统的问题类型
一类已经深入分析过的问题涉及到“诊断”,例如医学中的诊断。这种专家系统的输入由测量的数据、症状等等所构成,它在结果中提供了从数据规则中识别出来的模式。另一类问题涉及到“设计”。此问题是如何发现在相应约束下的产物。计划问题的解答要求某种行动序列,把初始态转变成目标态。模拟问题从模型的初始态出发,必须计算其后续状态并进行评价。
问题求解策略是由产生规则推导出来的,这里必须由所谓的规则解释者进行选取。如果有几种规则是可用的,冲突求解策略将决定哪一条规则是适用的。例如,可能的规则可以用优先性和一般性的程度整理出次序。然后,选取具有最高程度的优先性或专业性的规则就可能是合适的。
在推理中的规则组合可以由所谓前向和后向链接来实现。前向链接从一定的数据和事实A出发,运用此演绎机制直至推导出一定的目标D(图5.9)。
从方法论的观点看,专家系统的前向和后向链接程序,只不过是众所周知的古典逻辑学家和哲学家帕波斯的发现确证的必要性或充足理由的方法。不足为奇的是,几乎所有专家系统的推理策略都是以众所周知的哲学方法论为基础的。
今天,AI中运用的大多数哲学理论都不是直接从哲学文献中获取来的,但是这无损于它们的哲学意义。然而,有一些著名专家系统的作者却是直接受到了哲学家的影响。
要弄明白AI是哲学逻辑和方法论,人们只要仔细考虑一些专家系统。它们的问题分类决定了何种策略适合