第1章 专家系统概述
专家系统的开发与成功应用至今已经有50年了.正如专家系统的先驱费根鲍姆 (FeigenbAum)所说:专家系统的力量是从它处理的知识中产生的,而不是从某种形式主义及其使用的参考模式中产生的.这正符合一句名言:知识就是力量.到20世纪80年代,专家系统在全世界范围内得到迅速发展和广泛应用.进入21世纪以来,专家系统仍然不失为一种富有价值的智能工具和助手.
专家系统实质上为一计算机程序系统,能够以人类专家的水平完成特别困难的某一专业领域的任务.在设计专家系统时,知识工程师的任务就是使计算机尽可能模拟人类专家解决某些实际问题的决策和工作过程,即模仿人类专家如何运用他们的知识和经验来解决所面临问题的方法、技巧和步骤.
11 专家系统的定义
长期以来,专家系统(expertsystem)是人工智能应用研究最活跃和最广泛的领域之一.自从1965年第一个专家系统 DENDRAL在美国斯坦福大学问世以来,经过20年的研究开发,到20世纪80年代中期,各种专家系统已遍布各个专业领域,取得很大的成功.现在,专家系统得到更为广泛的应用,并在应用开发中得到进一步发展.
构造专家系统的一个源头即与问题相关的专家.什么是专家?专家就是对某些问题有出众理解的个人.专家通过经验发展有效和迅速解决问题的技能.我们的工作就是在专家系统中“克隆”这些专家.
在定义专家系统之前,有必要介绍人工智能 (ArtificiAlintel
igence)、智能机器 (inel
gncie)itietssem)
tietmAhn和智能系统(nel
gnyt等的定义.定义11 智能机器是一种能够呈现出人类智能行为的机器,而这种智能行为涉及人类大脑思考问题、创造思想或执行各种拟人任务(AnthropomorphictAsks)的那种智力功能.
定义12 人工智能(学科)是计算机科学中涉及研究、设计和应用智能机器的一个分支;其近期主要目标在于研究用机器来模仿和执行人脑的某些智力功能,并开发相关智能理论和技术.
定义13 人工智能(能力)是智能机器所执行的通常与人类智能有关的智能行为,涉及学习、感知、思考、理解、识别、判断、推理、证明、通信、设计、规划、决策和问题求解等活动.
1950年图灵(Turing)设计和进行的著名实验 (后来被称为图灵实验,Turingtest),提出并部分回答了“机器能否思维”的问题,也是对人工智能的一个很好注释.定义14 智能系统是一门通过计算实现智能行为的系统.简而言之,智能系统是具有智能的人工系统(ArtificiAlsystemswithintel
igence).任何计算都需要某个实体(如概念或数量)和操作过程(运算步骤).计算、操作和学习是智能系统的要素.而要进行操作,就需要适当的表示.
智能系统还可以有其他定义.
定义15 从工程观点出发,把智能系统定义为一门关于生成表示、推理过程和学习策略以自动(自主)解决人类此前解决过的问题的学科.于是,智能系统是认知科学的工程对应物,而认知科学是一门哲学、语言学和心理学相结合的科学.
定义16 能够驱动智能机器感知环境以实现其目标的系统叫智能系统.
专家系统也是一种智能系统.
专家系统可能存在一些不同的定义.下面按我们的理解,给出专家系统的一个定义.
定义17 专家系统是一种设计用来对人类专家的问题求解能力建模的计算机程序.
专家系统是一个智能计算机程序系统,其内部含有大量的某个领域专家水平的知识与经
验,能够利用人类专家的知识和解决问题的方法来处理该领域问题.也就是说,专家系统是
一个具有大量的专门知识与经验的程序系统,它应用人工智能技术和计算机技术,根据某领
域一个或多个专家提供的知识和经验,进行推理和判断,模拟人类专家的决策过程,以便解
决那些需要人类专家处理的复杂问题,简而言之,专家系统是一种模拟人类专家解决领域问
题的计算机程序系统.
此外,还有其他一些关于专家系统的定义.这里首先给出专家系统技术先行者和开拓
者、美国斯坦福大学教授费根鲍姆1982年对人工智能的定义.为便于读者准确理解该定义
的原意,下面用英文原文给出:
定义18 Expertsystemis“Anintel
igentcomputerprogrAmthAtusesknowledgeAnd inferenceprocedurestosolveproblemsthAtAredif
icultenoughtorequiresignificAnthumAn expertisefortheirsolutions”ThAtis,AnexpertsystemisAcomputersystemthAtemulAtes thedecisionGmAkingAbilityofAhumAnexpert ThetermemulAtemeAnsthAttheexpertsysG temisintendedtoActinAl
respectslikeAhumAnexpert
下面是韦斯(Weis
)和库利柯夫斯基(Kulikowski)对专家系统的界定.定义19 专家系统使用人类专家推理的计算机模型来处理现实世界中需要专家做出解释的复杂问题,并得出与专家相同的结论.
人们为什么要开发与应用专家系统呢?要回答这个问题有必要对专家系统和人类专家进
行比较.专家为任何组织提供了有价值的资源,包括提供创造性思想、解决难题或者高效完
成日常事务的方法.他们的贡献可以增强组织的生产力,反过来也提高了其自身的市场竞争
力.然而,专家系统如何实现这种价值呢?可从表11中专家系统与人类专家的比较回答这
个问题.
表11 人类专家与专家系统的比较
因素 人类专家 专家系统
可用时间 工作日 全天候
地理位置 局部 任何可行地方
安全性 不可取代 可取代
耐用性 较次 较优
性能 可变 恒定
速度 可变 恒定(较快)
代价 高 偿付得起
表11的比较显示,建造专家系统主要有两个理由:代替人类专家和辅助人类专家.专家系统文献的调查也显示大多数组织赞成这两点理由是开发专家系统的动机.
有人声称,开发专家系统代替人类会产生不祥的影响,可能带来人类祖先想象的令人愤恨的景象,就跟他们看到工业革命的进程一样:以机器代替人.尽管这个潜在可能性存在,但使用专家系统代替人类工作的实践已经取得了并不那么倒霉的作用.开发专家系统来代替人类专家的工作主要理由是:让专家技术不受时间和空间的限制;促使需要专家的常规任务自动化;专家正在退休或者离开;专家太贵;在恶劣环境中也需要专家技术.有代表性的此类专家系统包括:法国的 ElfGAquitAine石油开采公司委托以加利福尼亚为基地的 TeknowlG edge公司开发的钻井顾问 (Dril
ingAdvisor,1983)专家系统,坎贝尔汤食公司 (CAmpbel
SoupCompAny)开发的厨师顾问(CookerAdvisor,1986)专家系统等.
辅助人类专家是专家系统最常见的应用.在这类应用中,该系统辅助人类专家进行常规或者平凡任务.例如,医生可能有大多数疾病的知识,但由于疾病太多医生仍需要专家系统支持以加快疾病的筛选过程.银行贷款员也能借此加快每天大量贷款申请的处理.在这两种应用情况下,在专家系统的辅助下人类专家都能充分完成任务.这种应用的目标就是改进当前实际总产量.开发专家系统来辅助人类专家的具体理由包括:辅助专家做常规工作以提高产量;辅助专家完成一些困难任务;让难以回想的专家信息重新可行.此类专家系统的实例主要有:数字设备公司 (DigitAlEquipmentCompAny,DEC)委托卡内基 梅隆大学 (CArnegieMel
onUniversity,CMU)开发的计算机辅助配置专家系统 XCON(最初叫R1,1980),辅助银行及其他借款机构进行决策的借款顾问 (Lending Advisor,1986)专家系统等.
专家系统作为机器可以持续工作,可以比人类专家工作日时间长得多.作为计算机程序,专家系统复制简便,可分应用到人类专家缺乏的不同地方.你可以把专家系统送到恶劣环境中,然后去睡大觉,因为在该恶劣环境中专家系统的技能不会受到伤害.
人类专家的技术会消失.随着死亡、退休或者工作调动,一个组织会失去专家的才干.一旦把人类专家的技术收入专家系统中,人类专家的技术就能为组织长期拥有,获得持续支持.组织也能按照训练模式使用专家系统,用来向新手传授人类专家技术.
专家系统能够比人类专家产生更持续的结果.人类决策受到许多冲突性因素的影响.例如,个人问题可能困住专家,阻碍多产.在紧急情况下,专家可能会由于时间压力或紧张而忘记一些重要的知识.在没有情感的1和0的世界,专家系统不会受这些分心事件的干扰.
人类专家解决问题的速度也受到许多因素的影响.相反地,专家系统保持稳定的速度,在许多情况下能比专家更快地完成任务.例如,开发用在信用清理机构 (CreditCleAringHouse,CHH)的专家系统,能够在服饰产业中辅助客户信用等级评价和限定美元的信用极限建议分配.这个系统对于过去需要三天才能完成的任务现在只需10s就够了.
人类专家总是昂贵的.他们要求高薪水或高服务费,并且由于缺乏人类专家不难达到他们的要求.相反地,专家系统相对而言就不昂贵.开发代价可能高,但在大多数情况下这种代价可以在专家系统投产后得到有效补偿.例如,授权助手(Authorizer’sAs
istAnt,AA)专家系统开发用来辅助美国快递(AmericAnExpres
)公司的信用卡申请处理.它帮助信用授权器在12个数据库中排序,以决定是否批准个人费用.这个系统缩短了处理信用卡客户购买授权请求所需的时间,将错误的信用决定的损失降为最小,并且改进了人为授权的整个商业性能.美国快递公司使用专家系统后产量增加20%,因而可使这笔开发代价在两年内获得回报.
12 专家系统的发展历史
我们曾经按时期来说明国际人工智能的发展过程 ,尽管这种时期划分方法有时难以严谨 ,因为许多事件可能跨接不同时期 ,另外一些事件虽然时间相隔甚远但又可能密切相关 .现在,我们又按时期来说明国际专家系统的发展过程 ,因为专家系统是人工智能的一个重要研究与应用领域 ,而且专家系统的发展和命运是与人工智能的发展和命运休戚与共的 .
1孕育时期(1956年以前)
人类对智能机器和人工智能的梦想和追求可以追溯到三千多年前.早在我国西周时代
(公元前1066年~公元前771年),就流传有关巧匠偃师献给周穆王一个歌舞艺伎的故事.
作为第一批自动化动物之一的能够飞翔的木鸟是在公元前400年~公元前350年制成的.在
公元前2世纪出现的书籍中,描写过一个具有类似机器人角色的机械化剧院,这些人造角色
能够在宫廷仪式上进行舞蹈和列队表演.这就是一个古典的“智能系统”,一个表现当时人类
专家构建的舞台角色的“专家系统”.
我们不打算列举三千多年来人类在追梦智能机器和人工智能道路上的万千遐想、无数实践和众多成果,而是跨越三千年转到20世纪.对于人工智能的发展来说,20世纪30年代和40年代的智能界,出现了两件最重要的事:数理逻辑和关于计算的新思想.弗雷治(FreG ge)、怀特赫德(WhiteheAd)、罗素(Rus
el
)和塔斯基(TArski)以及另外一些人的研究表明,推理的某些方面可以用比较简单的结构加以形式化.1948年维纳 (Wiener)创立的控制论 (cybernetics),对人工智能的早期思潮产生了重要影响,后来成为人工智能行为主义学派.数理逻辑仍然是人工智能研究的一个活跃领域,其部分原因是由于一些逻辑G演绎系统已经在计算机上实现过.不过,即使在计算机出现之前,逻辑推理的数学公式就为人们建立了计算与智能关系的概念.
丘奇(Church)、图灵和其他一些人关于计算本质的思想,提供了形式推理概念与即将发明的计算机之间的联系.在这方面的重要工作是关于计算和符号处理的理论概念.1936年,年仅26岁的图灵创立了自动机理论(后来人们又称为图灵机),提出一个理论计算机模型,为电子计算机设计奠定了基础,促进了人工智能,特别是思维机器的研究.第一批数字计算机(实际上为数字计算器)看来不包含任何真实智能.早在这些机器设计之前,丘奇和图灵就已发现,数字并不是计算的主要方面,它们仅是一种解释机器内部状态的方法.被称为人工智能之父的图灵,不仅创造了一个简单、通用的非数字计算模型,而且直接证明了计算机可能以某种被理解为智能的方法工作.
麦卡洛克(McCul
och)和皮茨(Pit
s)于1943年提出的“拟脑机器”(mindlikemAchine)是世界上第一个神经网络模型(称为 MP模型),开创了从结构上研究人类大脑的途径.神经网络连接机制,后来发展为人工智能连接主义学派的代表.
值得一提的是控制论思想对人工智能早期研究的影响.20世纪中叶,在人工智能的奠基者们人工智能研究中出现了几股强有力的思潮.维纳、麦卡洛克和其他一些人提出的控制论和自组织系统的概念集中讨论了“局部简单”系统的宏观特性.尤其重要的是,1948年维纳发表的控制论(或动物与机器中的控制与通讯)论文,不但开创了近代控制论,而且为人工智能的控制论学派(即行为主义学派)树立了新的里程碑.控制论影响了许多领域,因为控制论的概念跨接了许多领域,把神经系统的工作原理与信息理论、控制理论、逻辑以及计算联系起来.控制论的这些思想是时代思潮的一部分,而且在许多情况下影响了许多早期和近期人工智能工作者,成为他们的指导思想.
从上述情况可以看出,人工智能开拓者们在数理逻辑、计算本质、控制论、信息论、自动机理论、神经网络模型和电子计算机等方面做出的创造性贡献,奠定了人工智能发展的理论基础,孕育了人工智能的胎儿,也为专家系统的建立与发展提供了重要的理论基础和必不可少的重要条件.
2形成时期(1956~1970年)
到了20世纪50年代,人工智能已躁动于人类科技社会的母胎,即将分娩.1956年夏季,由年轻的美国数学家和计算机专家麦卡锡(McCArthy)、数学家和神经学家明斯基(MinG sky)、IBM公司信息中心主任朗彻斯特(Lochester)以及贝尔实验室信息部数学家和信息学家香农(ShAnnon)共同发起,邀请IBM公司莫尔(More)和塞缪尔(SAmuel)、MIT的塞尔夫里奇(Selfridge)和索罗蒙夫(Solomonf
)以及兰德公司和 CMU的纽厄尔(Newel
)和西蒙(SiG mon)共10人,在美国麻省的达特茅斯(DArtmouth)大学举办了一次长达2个月的研讨会,认真热烈地讨论用机器模拟人类智能的问题.会上,由麦卡锡提议正式使用了“人工智能”这一术语.这是人类历史上第一次人工智能研讨会,标志着人工智能学科的诞生,具有十分重要的历史意义.这些从事数学、心理学、信息论、计算机科学和神经学研究的杰出年轻学者,后来绝大多数都成为著名的人工智能专家,为人工智能和专家系统的发展做出了历史性的重要贡献.
最终把这些不同思想连接起来的是由巴贝奇 (BAbbAge)、图灵、冯 诺依曼 (Von NeummAn)和其他一些人所研制的计算机本身.在机器的应用成为可行之后不久,人们就开始试图编写程序以解决智力测验难题、数学定理和其他命题的自动证明、下棋以及把文本从一种语言翻译成另一种语言.这是第一批人工智能程序.对于计算机,促使人工智能发展的是什么?是出现在早期设计中的许多与人工智能有关的计算概念,包括存储器和处理器的概念、系统和控制的概念以及语言的程序级别的概念.不过,引起新学科出现的新机器的唯一特征是这些机器的复杂性,它促进了对描述复杂过程方法的新的更直接的研究(采用复杂的数据结构和具有数以百计的不同步骤的过程来描述这些方法).
人工智能的大多数早期工作本质上都是学术性的,其程序都是用来开发游戏.比较好的例子有香农(ShAnnon)的国际象棋程序和赛缪尔(SAmuel)的格子棋程序.尽管这些努力产生了一些有趣的游戏,但其真实目的在于为计算机编码加入人的推理能力,以期达到更好的理解.
这个早期阶段研究的另一个重要领域是计算逻辑.1957年诞生了第一个自动定理证明程序,称为逻辑理论家(LogicTheorist).
1965年,被誉为“专家系统和知识工程之父”的费根鲍姆所领导的研究小组,开始研究专家系统,并于1968年研究成功世界上第一个专家系统 DENDRAL,用于质谱仪分析有机化合物的分子结构.后来又开发出其他一些专家系统,为人工智能的应用研究做出开创性贡献.
1969年召开了第一届国际人工智能联合会议 (InternAtionAlJointConferenceonAI,IJG
CAI),标志着人工智能作为一门独立学科登上国际学术舞台 .1970年.fAI)创刊 .这些事件对开展人工智能国际学术活动和交流、促进
国际人工智能杂志 .
(lJ
lournAo
ionA
IttnernA
人工智能的研究和发展起到积极作用 .上述事件表明 ,人工智能经历了从诞生到形成的热烈时期 ,已形成为一门独立学科 ,为人工智能和专家系统建立了良好的学术和科技环境 ,打下了进一步发展的重要基础 .
3暗淡时期 (1966 ~1974年)
在形成期和后面的知识应用期之间 ,交叠地存在一个人工智能的暗淡 (低潮 )期.在取得 “热烈 ”发展的同时 ,人工智能也遇到一些困难和问题 .
一方面 ,由于一些人工智能研究者被 “胜利冲昏了头脑 ”,盲目乐观 ,对人工智能的未来发展和成果做出了过高的预言 ,而这些预言的失败 ,给人工智能的声誉造成重大伤害 .同时 ,许多人工智能理论和方法未能得到通用化和推广应用 ,专家系统也尚未获得广泛开发 .因此 ,看不出人工智能的重要价值 .追究其因 ,当时的人工智能主要存在下列三个局限性 :
(1)知识局限性
.早期开发的人工智能程序包含太少的主题知识 ,甚至没有知识 ,而且只采用简单的句法处理 .例如 ,对于自然语言理解或机器翻译 ,如果缺乏足够的专业知识和常识 ,就无法正确处理语言 ,甚至会产生令人啼笑皆非的翻译 .
(2)解法局限性
.人工智能试图解决的许多问题因其求解方法和步骤的局限性 ,往往使得设计的程序在实际上无法求得问题的解答 ,或者只能得到简单问题的解答 ,而这种简单问题并不需要人工智能的参与 .
(3)结构局限性
.用于产生智能行为的人工智能系统或程序存在一些基本结构上的严重局限 ,如没有考虑不良结构 ,无法处理组合爆炸问题 ,因而只能用于解决比较简单的问题 ,影响到推广应用 .
另一方面 ,科学技术的发展对人工智能提出新的要求甚至挑战 .例如 ,当时认知生理学研究发现 ,人类大脑含有1011个以上神经元 ,而人工智能系统或智能机器在现有技术条件下无法从结构上模拟大脑的功能 .此外 ,哲学、心理学、认知生理学和计算机科学各学术界 ,对人工智能的本质、理论和应用各方面 ,一直抱有怀疑和批评 ,也使人工智能四面楚歌 .
到了1970年,围绕人工智能的兴高采烈情绪被一种冷静的意识所替代 ;构建智能程序来解决实际问题是一个困难的挑战 .1971年英国剑桥大学数学家詹姆士 (Ame按照英国政府的旨意 ,发表一份关于人工智
Js)能的综合报告 ,声称 “人工智能不是骗局 ,也是庸人自扰 ”.在这个报告影响下 ,英国政府削减了人工智能研究经费 ,解散了人工智能研究机构 .在人工智能的发源地美国 ,连在人工智能研究方面颇有影响的 IBM,也被迫取消了该公司的所有人工智能研究 .人工智能包括专家系统研究在世界范围内陷入困境 ,处于低潮 ,由此可见一斑 .
4蓬勃发展时期 (20世纪70年代 ~80年代 )
后来 ,引导研究者们进入正确方向的 “灯塔 ”是一个称为 DENDRAL的专家系统程序 ,其开发过程从1965年开始 ,按照美国国家航空航天局 (NASA)的要求在斯坦福大学进行 .那时 ,NASA正打算发送一个无人太空飞船到火星上去 ,并需要开发一个能够执行火星土
展开