当前位置: 首页 > 新闻 > 信息荟萃
编号:5545
人工智能智能系统指南原书第三版电子式.pdf
http://www.100md.com 2020年11月13日
第1页
第4页
第19页
第22页
第43页
第51页

    参见附件(5156KB,68页)。

     《计算机科学丛书:人工智能·智能系统指南(原书第3版)》是一本很好的人工智能入门书籍,内容丰富、浅显易懂。作者根据自己多年的教学、实践经验,并结合实际代码、图示、案例等讲解了人工智能的基本知识。

    前言

    这本书的主要目的与第1版相同,即为读者提供一本能实际了解计算机智能领域相关知识的书。它适合作为一个学期课程的入门教程,学生需要具备一些微积分的知识,不要求具备编程的经验。

    在涵盖内容方面,本书引入了关于数据挖掘的新的一章,并展示了智能工具在解决复杂实际问题中的新应用。主要的变化如下:在新的“数据挖掘和知识发现”一章中,我们介绍了大型数据库中知识发现不可或缺的一部分-数据挖掘。涉及将数据转换为知识的主要技术和工具,包括统计方法、数据可视化工具、结构化查询语言、决策树和购物篮分析。同时还展示了几个数据挖掘应用的实例。

    在第9章中,增加了采用自组织神经网络进行聚类分析的新的实例。

    最后,我们还扩展了本书的参考文献和参考书目,更新了附录中的人工智能工具和厂商列表。

    内容简介

    全书共分10章,主要内容包括:基于规则的专家系统、不确定性管理技术、模糊专家系统、基于框架的专家系统、人工神经网络、进化计算、混合智能系统、知识工程、数据挖掘等。另外,本书还提供了一个人工智能相关术语表和包含商业化的人工智能工具的附录。

    《计算机科学丛书:人工智能·智能系统指南(原书第3版)》既可以作为计算机科学相关专业本科生的入门教材,也可以作为非计算机科学专业读者的自学参考书。

    章节详解

    本书一共包含10章。

    第1章简要介绍了人工智能的历史,从20世纪中期诞生人工智能的思想并在60年代设立了远大目标并积极实现到20世纪70年代早期理想破灭和资金投入大幅削减;从20世纪70年代第一代专家系统(DENDRAL,MYCIN,PROSPECTOR)的诞生到20世纪八九十年代专家系统技术的成熟和其在不同领域的广泛应用;从20世纪40年代简单的二元神经元模型的提出到20世纪80年代人工神经网络领域的复苏;从20世纪60年代模糊集理论的提出和它的存在被西方忽视到20世纪80年代日本生产出大量模糊用户产品,以及20世纪90年代软计算和文字计算在世界范围内的广泛接受。

    第2章提供了基于规则的专家系统概述。作者简要介绍了知识的概念,以及专家用产生式规则表示知识的过程。作者介绍了专家系统开发团队的主要成员和基于规则系统的结构。分析了专家系统的基本特性,并指出专家系统不是万无一失的。然后回顾了前向链接和后向链接推理技术,并讨论了冲突消解策略。最后分析了基于规则的专家系统的优缺点。

    第3章展示了专家系统使用的两种不确定性管理技术:贝叶斯推理和确信因子。作者分析了不确定知识的主要来源,并简要回顾了概率理论。作者考虑了可累积论据的贝叶斯方法并开发一个简单的基于贝叶斯方法的专家系统。然后讨论确信因子理论(贝叶斯推理的常用替代方法),并开发一个基于论据推理的专家系统。最后,比较贝叶斯推理和确信因子理论并分析它们的适用范围。

    第4章介绍了模糊逻辑并讨论其背后的哲学思想。首先介绍模糊集的概念,考虑如何在计算机里表示一个模糊集并介绍了模糊集的操作。作者还定义了语言变量和模糊限制语(hedge)。然后作者叙述了模糊规则,并解释了经典规则和模糊规则的主要区别。该章主要研究两种模糊捕理技术:Mandani法和Sugeno法,并就它们适宜的应用领域给出建议。最后介绍开发一个模糊专家系统的主要步骤,并通过构建和调试模糊系统的具体过程来阐明其理论。

    第5章概述了基于框架的专家系统。介绍了框架的概念,并讨论如何将框架用于知识表达,以及阐明继承是基于框架系统的基本特征,还讨论了方法、守护程序和规则的应用。最后通过一个实例来介绍基于框架的专家系统的开发。

    第6章介绍了人工神经网络,并讨论了机器学习的基本思想。叙述作为一个简单的计算单元的感知器的概念,并讨论了感知器的学习规则,还探索了多层神经网络,以及讨论了如何提高反向传播学习算法的计算效率。然后介绍循环神经网络,思考Hopfield网络训练算法和双向联想记忆(BAM)。最后介绍自组织神经网络并探讨Hebbian学习规则和竞争学习。

    第7章概述了进化计算,其中包括遗传算法、进化策略和遗传编程。首先介绍了开发一个遗传算法的主要步骤,讨论遗传算法的工作机制,并通过具体的遗传算法应用阐明其理论。然后叙述一个进化策略的基本概念,比较了进化策略和遗传算法之间的不同。最后考虑遗传编程以及它的实际应用。

    第8章讨论了结合不同智能技术的混合智能系统。首先介绍一种新型的专家系统-神经专

    家系统,它将神经网络和基于规则的专家系统结合起来。然后考虑一个功能上等同于Mamdani模糊推理模型的神经-模糊系统,以及一个功能上等同于Sugeno模糊推理模型的自适应神经模糊推理系统(ANFIS)。最后讨论进化神经网络和模糊进化系统。

    第9章讨论了知识工程。首先讨论智能系统可以解决什么样的问题,并介绍知识工程过程的6个主要阶段。然后展示了专家系统、模糊系统、神经网络和遗传算法的典型应用。作者演示了如何构建智能系统来解决诊断、选择、预测、分类、聚类和优化问题。最后讨论了混合神经-模糊系统在决策支持和时序预测方面的应用。

    第10章介绍了数据挖掘的概貌,讨论了将数据转换为知识的主要技术。首先,宽泛地定义了数据挖掘,并解释了在大型数据库中进行数据挖掘和知识发现的过程。介绍了一些统计学方法,包括主成分分析,并讨论了它们的局限性。随后展示了关系数据库中结构化查询语言的应用,介绍了数据仓库和多维数据分析。最后,介绍了最流行的数据挖掘工具-决策树和购物篮分析。

    本书还包括一个术语表和一个附录。术语表包含了300余条用于专家系统、模糊逻辑、神经网络、进化计算、知识工程以及数据挖掘领域的定义。附录中提供了商业化的人工智能工具的列表。

    人工智能智能系统指南原书第三版电子式截图

    书 书 书

    计算机科学丛书

    人工智能

    智能系统指南 ( 原书第 3版)

    A r t i f i c i a k I n t e k k i g e n c e :AGu i d et o

    I n t e k k i g e n t S y s t e ms ,T h i r dE d i t i o n

    ( 澳)Mi c h a e k N e g n e v i t s k y著

    陈 薇 等译 本书是一本很好的人工智能入门书籍,内容丰富、浅显易懂。作者根据自己多年的教学、实践经验,并结合实际代码、图示、案例等讲解了人工智能的基本知识。

    全书共分1 0章,主要内容包括:基于规则的专家系统、不确定性管理技术、模糊专家系

    统、基于框架的专家系统、人工神经网络、进化计算、混合智能系统、知识工程、数据挖掘

    等。另外,本书还提供了一个人工智能相关术语表和包含商业化的人工智能工具的附录。

    本书既可以作为计算机科学相关专业本科生的入门教材,也可以作为非计算机科学专业

    读者的自学参考书。

    Mi c h a e kN e g n e v i t s k y :A r t i f i c i a kI n t e k k i g e n c e :A G u i d et oI n t e k k i g e n tS y s t e m s ,T h i r dE d i t i o n

    ( I S B N9 7 8  1  4 0 8 2  2 5 7 4  5 ) .

    C o p y r i g h t ? 2 0 1 1b yP e a r s o nE d u c a t i o nL i m i t e d .

    T h i s t r a n s k a t i o no f A r t i f i c i a k I n t e k k i g e n c e :AG u i d et oI n t e k k i g e n t S y s t e m s ,T h i r dE d i t i o n( I S B N

    9 7 8  1  4 0 8 2  2 5 7 4  5 )i s p u b k i s h e db ya r r a n g e m e n t w i t hP e a r s o nE d u c a t i o nL i m i t e d .

    A k k r i g h t s r e s e r v e d .

    本书中文简体字版由英国 P e a r s o nE d u c a t i o n培生教育出版集团授权出版。

    封底无防伪标均为盗版

    版权所有,侵权必究

    本书法律顾问 北京市展达律师事务所

    本书版权登记号:图字:0 1  2 0 1 1  4 2 5 5

    图书在版编目( C I P ) 数据

    人工智能:智能系统指南 ( 原书第3版)( 澳)尼格尼维斯基 ( N e g n e v i t s k y ,M. )著;

    陈薇等译.—北京:机械工业出版社,2 0 1 2  7

    ( 计算机科学丛书)

    书名原文:A r t i f i c i a k I n t e k k i g e n c e :AG u i d et oI n t e k k i g e n t S y s t e m s T h i r dE d i t i o n

    I S B N9 7 8  7  1 1 1  3 8 4 5 5  7

    Ⅰ. 人… Ⅱ. ①尼… ②陈… Ⅲ. 人工智能 Ⅳ. T P 1 8

    中国版本图书馆 C I P数据核字 ( 2 0 1 2 )第1 0 4 4 9 0号

    机械工业出版社 ( 北京市西城区百万庄大街2 2号 邮政编码 1 0 0 0 3 7 )

    责任编辑:高婧雅

    印刷

    2 0 1 2年8月第 1版第 1次印刷

    1 8 5 m m× 2 6 0 m m ·2 0  7 5印张

    标准书号:I S B N9 7 8  7  1 1 1  3 8 4 5 5  7

    定价:4 9  0 0元

    凡购本书,如有缺页、倒页、脱页,由本社发行部调换

    客服热线:( 0 1 0 )8 8 3 7 8 9 9 1 ;8 8 3 6 1 0 6 6

    购书热线:( 0 1 0 )6 8 3 2 6 2 9 4 ;8 8 3 7 9 6 4 9 ;6 8 9 9 5 2 5 9

    投稿热线:( 0 1 0 )8 8 3 7 9 6 0 4

    读者信箱:h z j s j @h z b o o k  c o m! A r t i f i c i a k I n t e k k i g e n c e ,3 E

    人工智能 ( A r t i f i c i a k I n t e k k i g e n c e ,A I )是计算机学科的一个分支,被认为是2 1世纪三大尖端

    技术 ( 基因工程、纳米科学、人工智能)之一。“ 人工智能”一词最初是在 1 9 5 6年达特茅斯学

    院研讨会上提出的。从那以后,研究者们发展了众多理论和原理,人工智能的概念也随之扩展。

    在经历了辉煌和低谷之后,近3 0年来,人工智能的研究取得了迅速的发展,在很多领域 ( 例如

    工程、医疗、财经、商业和管理等)都获得了广泛应用。人工智能的研究逐渐成熟,已成为一

    个独立的分支,无论在理论和实践上都已自成一个系统。

    本书作者 Mi c h a e k N e g n e v i t s k y 是澳大利亚塔斯马尼亚大学电气工程和计算机科学系教授。他

    的许多研究课题都涉及人工智能和软计算,一直致力于电气工程、过程控制和环境工程中智能

    系统的开发和应用。他著有2 0 0多篇论文、两本书,并获得了四项发明专利。

    本书是一本很好的人工智能入门书籍,内容丰富、浅显易懂、适应面广。美国、德国、日本

    等多所大学的计算机相关专业都采用本书作为教材或主要教学参考书。与第2版相比,第3版引

    入了关于 “ 数据挖掘”的新的一章,并展示了智能工具在解决复杂实际问题中的新应用。第 3

    版还扩展了本书的参考文献和参考书目,并更新了附录中的人工智能工具和厂商列表。通过本

    书的学习,相信读者一定会对人工智能的完整知识体系有全面的了解。

    陈薇组织并参与了本书的翻译和审校工作,参加翻译工作的还有闫秋玲、黄威靖、欧高炎、刘璐。由于译者水平有限,译文中疏漏和错误之处在所难免,欢迎广大读者批评指正。

    陈 薇

    2 0 1 2年于北京大学3%' A r t i f i c i a k I n t e k k i g e n c e ,3 E

    这本书的主要目的与第1版相同,即为读者提供一本能实际了解计算机智能领域相关知识的

    书。它适合作为一个学期课程的入门教程,学生需要具备一些微积分的知识,不要求具备编程的

    经验。

    在涵盖内容方面,本书引入了关于数据挖掘的新的一章,并展示了智能工具在解决复杂实

    际问题中的新应用。主要的变化如下:

    在新的 “ 数据挖掘和知识发现”一章中,我们介绍了大型数据库中知识发现不可或缺的一

    部分— — —数据挖掘。涉及将数据转换为知识的主要技术和工具,包括统计方法、数据可视化工

    具、结构化查询语言、决策树和购物篮分析。同时还展示了几个数据挖掘应用的实例。

    在第9章中,增加了采用自组织神经网络进行聚类分析的新的实例。

    最后,我们还扩展了本书的参考文献和参考书目,更新了附录中的人工智能工具和厂商

    列表。

    Mi c h a e k N e g n e v i t s k y

    2 0 1 0年9月于澳大利亚

    塔斯马尼亚州 霍巴特市1%' A r t i f i c i a k I n t e k k i g e n c e ,3 E

    “ T h eo n k yw a yn o t t os u c c e e di sn o t t ot r y . ”

    — — —E d w a r dT e k k e r

    又是一本人工智能的书……我已经见过很多同类的书,为什么还要理会它?它有什么与众

    不同之处?

    每年,有成百上千本书和博士论文拓展着计算机或人工智能的知识体系。专家系统、人工神

    经网络、模糊系统以及进化计算是应用于智能系统的主要技术,数百个工具支持着这些技术,数

    以千计的科学论文不断推进着该学科的发展。本书中的任何章节的内容都可以作为一本书的主

    题。然而,我想写一本能够阐述智能系统基础的书,更为重要的原因是,我想消除大家对人工智

    能理论的畏惧心理。

    大多数人工智能文献是采用计算机科学的专业术语进行描述的,其中充斥着大量复杂的矩

    阵代数和微分方程,这当然给人工智能理论带来了令人敬佩的资本,但同时也令非计算机科学

    的科学家对其敬而远之。不过,这种情况已经有所改变!

    个人电脑已经成为我们日常生活中不可或缺的部分,我们将它用于打字机和计算器、日历

    和通信系统、交互式数据库以及决策支持系统。并且我们还渴望更多。我们希望计算机智能化!

    我们发现智能系统正快速地走出实验室,而我们也想更好地利用它。

    智能系统的原理是什么?它是如何构建的?智能系统的用处是什么?我们该如何选择适当的

    工具构建智能系统?这些问题都可以在本书中找到答案。

    与许多介绍计算机智能的书不同,本书将智能系统背后的奥妙简单明了地展示给读者。它

    是基于作者多年来给没有多少微积分知识的学生授课时所用的讲义而编写的,读者甚至不用学

    习任何编程语言就可轻松理解!书中的素材已经经过笔者 1 5年的教学实践的检验,写作中也考

    虑了学生们提出的典型问题和建议。

    本书是一本计算机智能领域的入门书籍,内容包括基于规则的专家系统、模糊专家系统、基

    于框架的专家系统、人工神经网络、进化计算、混合智能系统、知识工程和数据挖掘。

    总体来说,本书可作为计算机科学、计算机信息系统和工程专业的本科生的入门教材。我在

    教学过程中,会要求学生开发小型的基于规则和基于框架的专家系统,设计一个模糊系统,探究

    人工神经网络,采用遗传算法求解一个简单的优化问题,并开发混合的神经模糊系统。他们使用

    一些专家系统的核心程序 ( X p e r t R u k e 、E x s y sC o r v i d和 V i s u a k R u k eS t u d i o ) 、MA T L A B的模糊逻辑

    工具箱以及 MA T L A B的神经网络工具箱。我们选择这些工具的原因是它们能够便利地演示教学

    中的原理。然而,本书并不局限于任何特定的工具,书中给出的例子可以轻松地在不同的工具中

    实现。

    本书也适合非计算机科学专业的相关人士自学。对于他们来说,本书提供了进入基于知识的系统和计算智能的前沿领域的钥匙。事实上,本书面向的专业读者群十分广泛:工程师和科学

    家、管理人员和商人、医生和律师,也就是所有面临挑战而无法用传统的方法解决问题的人,所

    有想了解计算机智能领域巨大成就的人。本书将帮助你实际了解智能系统的用途,发现与你的

    工作密切相关的工具,并最终学会如何使用这些工具。

    希望读者能与我共同分享人工智能和软计算学科所带来的乐趣,并从本书中获益。

    读者可以访问 h t t p : w w w . b o o k s i t e s . n e t n e g n e v i t s k y 获得更多的信息。

    Mi c h a e k N e g n e v i t s k y

    2 0 0 1年2月于澳大利亚

    塔斯马尼亚州 霍巴特市

    Ⅵ( ) + A r t i f i c i a k I n t e k k i g e n c e ,3 E

    本书一共包含1 0章。

    第1章简要介绍了人工智能的历史,从2 0世纪中期诞生人工智能的思想并在6 0年代设立了

    远大目标并积极实现到2 0世纪7 0年代早期理想破灭和资金投入大幅削减;从2 0世纪7 0年代第

    一代专家系统 ( D E N D R A L 、MY C I N 、P R O S P E C T O R )的诞生到2 0世纪八九十年代专家系统技术

    的成熟和其在不同领域的广泛应用;从2 0世纪 4 0年代简单的二元神经元模型的提出到 2 0世纪

    8 0年代人工神经网络领域的复苏;从 2 0世纪 6 0年代模糊集理论的提出和它的存在被西方忽视

    到2 0世纪8 0年代日本生产出大量模糊用户产品,以及2 0世纪9 0年代软计算和文字计算在世界

    范围内的广泛接受。

    第2章提供了基于规则的专家系统概述。作者简要介绍了知识的概念,以及专家用产生式规

    则表示知识的过程。作者介绍了专家系统开发团队的主要成员和基于规则系统的结构。分析了

    专家系统的基本特性,并指出专家系统不是万无一失的。然后回顾了前向链接和后向链接推理

    技术,并讨论了冲突消解策略。最后分析了基于规则的专家系统的优缺点。

    第3章展示了专家系统使用的两种不确定性管理技术:贝叶斯推理和确信因子。作者分析了

    不确定知识的主要来源,并简要回顾了概率理论。作者考虑了可累积论据的贝叶斯方法并开发

    一个简单的基于贝叶斯方法的专家系统。然后讨论确信因子理论 ( 贝叶斯推理的常用替代方

    法) ,并开发一个基于论据推理的专家系统。最后,比较贝叶斯推理和确信因子理论并分析它们

    的适用范围。

    第4章介绍了模糊逻辑并讨论其背后的哲学思想。首先介绍模糊集的概念,考虑如何在计算

    机里表示一个模糊集并介绍了模糊集的操作。作者还定义了语言变量和模糊限制语 ( h e d g e ) 。然

    后作者叙述了模糊规则,并解释了经典规则和模糊规则的主要区别。该章主要研究两种模糊推

    理技术:Ma m d a n i 法和 S u g e n o 法,并就它们适宜的应用领域给出建议。最后介绍开发一个模糊

    专家系统的主要步骤,并通过构建和调试模糊系统的具体过程来阐明其理论。

    第5章概述了基于框架的专家系统。介绍了框架的概念,并讨论如何将框架用于知识表达,以及阐明继承是基于框架系统的基本特征,还讨论了方法、守护程序和规则的应用。最后通过一

    个实例来介绍基于框架的专家系统的开发。

    第6章介绍了人工神经网络,并讨论了机器学习的基本思想。叙述作为一个简单的计算单元

    的感知器的概念,并讨论了感知器的学习规则,还探索了多层神经网络,以及讨论了如何提高反

    向传播学习算法的计算效率。然后介绍循环神经网络,思考 H o p f i e k d网络训练算法和双向联想记

    忆 ( B A M) 。最后介绍自组织神经网络并探讨 H e b b i a n学习规则和竞争学习。

    第7章概述了进化计算,其中包括遗传算法、进化策略和遗传编程。首先介绍了开发一个遗

    传算法的主要步骤,讨论遗传算法的工作机制,并通过具体的遗传算法应用阐明其理论。然后叙

    述一个进化策略的基本概念,比较了进化策略和遗传算法之间的不同。最后考虑遗传编程以及

    它的实际应用。

    第8章讨论了结合不同智能技术的混合智能系统。首先介绍一种新型的专家系统— — —神经专家系统,它将神经网络和基于规则的专家系统结合起来。然后考虑一个功能上等同于 Ma m d a n i

    模糊推理模型的神经 -模糊系统,以及一个功能上等同于 S u g e n o模糊推理模型的自适应神经模

    糊推理系统 ( A N F I S ) 。最后讨论进化神经网络和模糊进化系统。

    第9章讨论了知识工程。首先讨论智能系统可以解决什么样的问题,并介绍知识工程过程的

    6个主要阶段。然后展示了专家系统、模糊系统、神经网络和遗传算法的典型应用。作者演示了

    如何构建智能系统来解决诊断、选择、预测、分类、聚类和优化问题。最后讨论了混合神经 -模

    糊系统在决策支持和时序预测方面的应用。

    第1 0章介绍了数据挖掘的概貌,讨论了将数据转换为知识的主要技术。首先,宽泛地定义

    了数据挖掘,并解释了在大型数据库中进行数据挖掘和知识发现的过程。介绍了一些统计学方

    法,包括主成分分析,并讨论了它们的局限性。随后展示了关系数据库中结构化查询语言的应

    用,介绍了数据仓库和多维数据分析。最后,介绍了最流行的数据挖掘工具— — —决策树和购物篮

    分析。

    本书还包括一个术语表和一个附录。术语表包含了3 0 0余条用于专家系统、模糊逻辑、神经

    网络、进化计算、知识工程以及数据挖掘领域的定义。附录中提供了商业化的人工智能工具的

    列表。

    本书的网站地址为 h t t p : w w w . b o o k s i t e s . n e t n e g n e v i t s k y 。

    Ⅷ,--. A r t i f i c i a k I n t e k k i g e n c e ,3 E

    在本书的出版过程中,我直接或间接地得到了很多人至诚的帮助。我首先要感谢 V i t a k yF a y 

    b i s o v i c h博士,他不仅对我在软计算领域的研究提出了许多建设性的意见,还在我过去3 0年间的

    奋斗生涯中与我建立了真诚的友谊并给予了我大力支持。

    我还要感谢许许多多为本书提出评论和有益建议的检阅人,感谢 P e a r s o nE d u c a t i o n的编辑

    们,特别是 K e i t hMa n s f i e k d 、O w e nK n i g h t 、L i z J o h n s o n和R u f u s C u r n o w ,他们帮助我完成了本书的

    出版发行工作。

    我要感谢我在澳大利亚塔斯马尼亚大学的本科生和研究生们,特别是我以前的博士生 T a n

    L o cL e 、Q u a n gH a 、S t e v e nC a r t e r 和 Ma r kL i m ,他们对新知识的渴求对我来说既是挑战也是激励。

    我想感谢美国波士顿大学的 S t e p h e nG r o s s b e r g 教授、德国马德堡大学的 F r a n kP a k i s 教授、日

    本广岛大学的 H i r o s h i S a s a k i 教授、美国罗切斯特理工学院的 Wa k t e r Wo k f 教授以及东京工业大学

    的 K a o r uH i r o t a 教授,他们为我提供了在学生中对书的内容进行测试的机会。

    我还要衷心地感谢 V i v i e n n eMa w s o n和 Ma r g a r e t E k d r i d g e 博士对本书初稿的审读工作。

    尽管本书的第1版出版了十多年,但是已经有很多人用过它并向我提出了宝贵的意见和建

    议,由于人数众多,在此不能一一致谢,但我至少要感谢那些提出了特别有益建议的人们:Ma r 

    t i nB e c k( 英国普利茅斯大学) 、Mi k eB r o o k s( 澳大利亚阿德莱德大学) 、G e n a r dC a t a k a n o( 美国

    哥伦比亚大学) 、Wa r r e nd uP k e s s i s( 南非比勒陀利亚大学) 、S a k a hA m i nE k e w a( 埃及美洲大学) 、Mi c h a e k F a n g( 中国浙江大学) 、J o h nF r o n c k o w i a k( 美国曼达尔学院) 、P a t r i c kB .G i b s o n( 加拿大

    温莎大学) 、L e vG o k d f a r b( 加拿大 N e wB r u n s w i c k大学) 、S u s a nH a k k e r( 美国威斯康星大学) 、E v o r H i n e s( 英国沃里克大学) 、P h i k i pH i n g s t o n( 澳大利亚埃迪斯科文大学) 、S a mH u i( 美国斯

    坦福大学) 、Y o n g-H y u kK i m ( 韩国光云大学) 、D a v i dL e e( 英国赫特福德郡大学) 、A n d r e w

    N u n e k p e k u( 加纳大学) 、V a s i k eP a k a d e( 英国牛津大学) 、L e o nR e z n i k( 美国罗切斯特理工学

    院) 、S i m o nS h i u( 中国香港理工大学) 、B o r i sS t i k m a n( 美国科罗拉多大学) 、T h o m a sU t h m a n n

    ( 德国美因茨约翰尼斯·古腾堡大学) 、A n n eV e n a b k e s( 澳大利亚维多利亚大学) 、B r i g i t t eV e r 

    d o n k( 比利时安特卫普大学) 、K e nV o k k m a r( 美国西南密苏里州立大学) 、K o kWa i Wo n g( 新加

    坡南洋理工大学)以及 G e o r g i o sN .Y a n n a k a k i s( 丹麦哥本哈根信息技术大学) 。--0 A r t i f i c i a k I n t e k k i g e n c e ,3 E

    译者序

    第3版前言

    第1版前言

    本书概要

    致谢

    第1章 基于知识的智能系统概述 1 !!!

    1  1 智能机 1 !!!!!!!!!!!!!

    1  2 人工智能的发展历史,从 “ 黑暗时代”

    到基于知识的系统 3 !!!!!!!!

    1  2  1 “ 黑暗时代” ,人工智能的诞生

    ( 1 9 4 3年 ~ 1 9 5 6年) 3 !!!!!

    1  2  2 人工智能的上升期,远大目标积

    极实现的年代 ( 1 9 5 6年 ~ 2 0世纪

    6 0年代晚期) 4 !!!!!!!!

    1  2  3 没有履行的诺言,来自现实的

    冲击 ( 2 0世纪6 0年代晚期 ~

    2 0世纪7 0年代早期) 5 !!!!!

    1  2  4 专家系统技术,成功的关键

    因素 ( 2 0 世纪7 0 年代早期~ 2 0 世纪

    8 0 年代中期) 5 !!!!!!!!

    1  2  5 如何使机器学习,神经网络

    的重生 ( 2 0世纪8 0年代

    中期至今) 8 !!!!!!!!!

    1  2  6 进化计算,在尝试中学习

    ( 2 0世纪7 0年代早期至今) 9 !!

    1  2  7 知识工程的新纪元,文字计算

    ( 2 0世纪8 0年代后期至今) 9 !!

    1  3 小结 1 1 !!!!!!!!!!!!!

    复习题 1 3 !!!!!!!!!!!!!!

    参考文献 1 3 !!!!!!!!!!!!!

    第2章 基于规则的专家系统 1 6 !!!!!

    2  1 知识概述 1 6 !!!!!!!!!!!

    2  2 知识表达技术— — —规则 1 6 !!!!!!

    2  3 专家系统研发团队的主要参与者 1 8 !!

    2  4 基于规则的专家系统的结构 1 9 !!!!

    2  5 专家系统的基本特征 2 0 !!!!!!!

    2  6 前向链接和后向链接推理技术 2 1 !!!

    2  6  1 前向链接 2 2 !!!!!!!!!

    2  6  2 后向链接 2 3 !!!!!!!!!

    2  7 ME D I AA D V I S O R :基于规则的专家

    系统实例 2 5 !!!!!!!!!!!

    2  8 冲突消解 2 9 !!!!!!!!!!!

    2  9 基于规则的专家系统的优点和缺点 3 1 !

    2  1 0 小结 3 2 !!!!!!!!!!!!!

    复习题 3 3 !!!!!!!!!!!!!!

    参考文献 3 4 !!!!!!!!!!!!!

    第3章 基于规则的专家系统中的

    不确定性管理 3 5 !!!!!!!!

    3  1 不确定性简介 3 5 !!!!!!!!!

    3  2 概率论基本知识 3 6 !!!!!!!!

    3  3 贝叶斯推理 3 9 !!!!!!!!!!

    3  4 F O R E C A S T :论据累积的贝叶斯方法 4 1 !

    3  5 贝叶斯方法的偏差 4 6 !!!!!!!!

    3  6 确信因子理论和基于论据的推理 4 7 !!

    3  7 F O R E C A S T :确信因子的应用 5 1 !!!

    3  8 贝叶斯推理和确信因子的对比 5 2 !!!

    3  9 小结 5 3 !!!!!!!!!!!!!

    复习题 5 3 !!!!!!!!!!!!!!

    参考文献 5 4 !!!!!!!!!!!!!

    第4章 模糊专家系统 5 6 !!!!!!!!

    4  1 概述 5 6 !!!!!!!!!!!!!

    4  2 模糊集 5 7 !!!!!!!!!!!!

    4  3 语言变量和模糊限制语 6 0 !!!!!!

    4  4 模糊集的操作 6 3 !!!!!!!!!

    4  5 模糊规则 6 6 !!!!!!!!!!!

    4  6 模糊推理 6 8 !!!!!!!!!!!

    4  6  1 Ma m d a n i  s t y k e推理 6 8 !!!!!!

    4  6  2 S u g e n o  s t y k e 推理 7 3 !!!!!! 4  7 建立模糊专家系统 7 5 !!!!!!!!

    4  8 小结 8 2 !!!!!!!!!!!!!

    复习题 8 3 !!!!!!!!!!!!!!

    参考文献 8 3 !!!!!!!!!!!!!

    参考书目 8 4 !!!!!!!!!!!!!

    第5章 基于框架的专家系统 8 6 !!!!!

    5  1 框架简介 8 6 !!!!!!!!!!!

    5  2 知识表达技术— — —框架 8 7 !!!!!!

    5  3 基于框架的系统中的继承 9 1 !!!!!

    5  4 方法和守护程序 9 4 !!!!!!!!

    5  5 框架和规则的交互 9 7 !!!!!!!!

    5  6 基于框架的专家系统实例:B u yS m a r t 9 9 !

    5  7 小结 1 0 8 !!!!!!!!!!!!!

    复习题 1 0 9 !!!!!!!!!!!!!!

    参考文献 1 0 9 !!!!!!!!!!!!!

    参考书目 1 1 0 !!!!!!!!!!!!!

    第6章 人工神经网络 1 1 1 !!!!!!!!

    6  1 人脑工作机制简介 1 1 1 !!!!!!!

    6  2 作为简单计算元素的神经元 1 1 3 !!!

    6  3 感知器 1 1 4 !!!!!!!!!!!!

    6  4 多层神经网络 1 1 7 !!!!!!!!!

    6  5 多层神经网络的加速学习 1 2 3 !!!!

    6  6 H o p f i e k d网络 1 2 6 !!!!!!!!!

    6  7 双向联想记忆 1 3 1 !!!!!!!!!

    6  8 自组织神经网络 1 3 3 !!!!!!!!

    6  8  1 H e b b i a n学习 1 3 3 !!!!!!!

    6  8  2 竞争学习 1 3 6 !!!!!!!!!

    6  9 小结 1 4 1 !!!!!!!!!!!!!

    复习题 1 4 3 !!!!!!!!!!!!!!

    参考文献 1 4 3 !!!!!!!!!!!!!

    第7章 进化计算 1 4 5 !!!!!!!!!!

    7  1 进化是智能的吗 1 4 5 !!!!!!!!

    7  2 模拟自然进化 1 4 5 !!!!!!!!!

    7  3 遗传算法 1 4 6 !!!!!!!!!!!

    7  4 遗传算法为什么可行 1 5 3 !!!!!!

    7  5 案例研究:用遗传算法来维护调度 1 5 4 !!

    7  6 进化策略 1 6 0 !!!!!!!!!!!

    7  7 遗传编程 1 6 1 !!!!!!!!!!!

    7  8 小结 1 6 7 !!!!!!!!!!!!!

    复习题 1 6 7 !!!!!!!!!!!!!!

    参考文献 1 6 8 !!!!!!!!!!!!!

    参考书目 1 6 9 !!!!!!!!!!!!!

    第8章 混合智能系统 1 7 0 !!!!!!!!

    8  1 概述 1 7 0 !!!!!!!!!!!!!

    8  2 神经专家系统 1 7 1 !!!!!!!!!

    8  3 神经 -模糊系统 1 7 6 !!!!!!!!

    8  4 A N F I S 1 8 2 !!!!!!!!!!!!

    8  5 进化神经网络 1 8 8 !!!!!!!!!

    8  6 模糊进化系统 1 9 2 !!!!!!!!!

    8  7 小结 1 9 5 !!!!!!!!!!!!!

    复习题 1 9 6 !!!!!!!!!!!!!!

    参考文献 1 9 7 !!!!!!!!!!!!!

    第9章 知识工程 1 9 8 !!!!!!!!!!

    9  1 知识工程简介 1 9 8 !!!!!!!!!

    9  1  1 问题评估 1 9 8 !!!!!!!!!

    9  1  2 数据和知识获取 1 9 9 !!!!!!

    9  1  3 原型系统开发 2 0 0 !!!!!!!

    9  1  4 完整系统开发 2 0 1 !!!!!!!

    9  1  5 系统评价和修订 2 0 1 !!!!!!

    9  1  6 系统集成和维护 2 0 1 !!!!!!

    9  2 专家系统可以解决的问题 2 0 2 !!!!

    9  3 模糊专家系统可以解决的问题 2 0 9 !!!

    9  4 神经网络可以解决的问题 2 1 4 !!!!

    9  5 遗传算法可以解决的问题 2 2 6 !!!!

    9  6 混合智能系统可以解决的问题 2 2 9 !!!

    9  7 小结 2 3 6 !!!!!!!!!!!!!

    复习题 2 3 7 !!!!!!!!!!!!!!

    参考文献 2 3 9 !!!!!!!!!!!!!

    第1 0章 数据挖掘和知识发现 2 4 1 !!!!

    1 0  1 数据挖掘简介 2 4 1 !!!!!!!!

    1 0  2 统计方法和数据可视化 2 4 3 !!!!!

    1 0  3 主成分分析 2 4 7 !!!!!!!!!

    1 0  4 关系数据库和数据库查询 2 5 5 !!!!

    1 0  5 数据仓库和多维数据分析 2 5 8 !!!!

    1 0  6 决策树 2 6 5 !!!!!!!!!!!

    1 0  7 关联规则和购物篮分析 2 7 1 !!!!!

    1 0  8 小结 2 7 7 !!!!!!!!!!!!

    复习题 2 7 8 !!!!!!!!!!!!!!

    参考文献 2 7 9 !!!!!!!!!!!!!

    术语表 2 8 1 !!!!!!!!!!!!!!!

    附录 人工智能工具和经销商 2 9 5 !!!!!

    索引 3 1 0 !!!!!!!!!!!!!!!!

    Ⅺ第1 章 Artificial Intelligence, 3E

    基于知识的智能系统概述

    本章讨论何为智能以及机器能否真正实现智能化。

    1郾 1摇 智能机

    哲学家们两千多年来一直致力于理解和解决宇宙的两大问题: 人类是如何思考的? 人类以

    外的物体是否也能够思考? 至今, 这两个问题依旧没有答案。

    一部分哲学家接受由计算机领域的科学家提出的计算方法, 认可人类所做的任何事情机器

    都能够做到的观点。 另一部分哲学家则非常反对这一观点, 认为一些高级复杂的行为 (例如爱、创新、 道德判断) 远超出了任何机器的能力范围。

    哲学的特质允许这些争论一直存在。 但事实上, 工程师和科学家们已经造出了具有 “智能冶

    的机器。 何为 “智能冶? 下面是来自 《柯林斯基础英语词典》 的定义:

    (1) 智能是人类理解和学习事情的能力。

    (2) 智能是思考和理解事情的能力, 而非本能或机械地做事情。

    — — — 《柯林斯基础英语词典》 2008 年版

    按照第一条定义, 智能是专属于人类的一个品质, 但第二条定义更具弹性, 指出只要具有思

    考和理解能力就具有智能, 而不限制主体是人还是物。 而定义里的 “思考冶 是什么意思呢? 再

    次看词典中的定义:

    思考是使用大脑考虑问题或创建新想法的活动。

    — — — 《柯林斯基础英语词典》 2008 年版

    为了能够思考, 人或物需要拥有像大脑那样的一个器官, 依赖它去学习、 理解事物, 去处理

    问题和做出决策。 因此智能可以定义为 “学习和理解事物、 处理问题并做出决策的能力冶。

    计算机能否智能化, 即机器能否思考, 这一问题源于人工智能的 “黑暗时代冶 (20 世纪 40

    年代晚期开始)。 作为一门科学, 人工智能 (Artificial Intelligence, AI) 的目标是使机器像人那

    样具有智能去做事情 (Boden, 1977)。 因此, 关于 “机器能否思考冶 这一问题的答案对人工智

    能这一学科至关重要。 答案本身不是 “能冶 或 “不能冶 之类的简单判断, 而必定是模糊的。 我

    们从常识中也能得出这个结论: 比如一部分人在某些方面比其他人聪明; 日常生活中做出的抉

    择有些是明智的, 有些则很愚蠢的; 有人可能精通复杂的数学、 工程问题, 但对于哲学或历史却

    一窍不通; 有人善于赚钱, 而有人更善于花钱。 虽然人类中的每一个成员都具有学习和理解事

    物、 处理问题并做出决策的能力, 但比较起来, 这种能力在每一个领域都不均等。 所以, 如果机

    器能够思考, 一部分机器在某些方面也许比另一部分机器聪明。

    英国数学家阿兰·图灵 (Alan Turing) 在50 多年前撰写的论文 “计算机器和智能化冶 (Tur鄄

    ing, 1950) 是关于机器智能方面最早和最有影响的文章之一。 图灵的思想经住了时间的考验,到现在为止仍是通用的。

    阿兰·图灵在20 世纪 30 年代早期重新发现了中心极限定理, 他也由此开始了科学生涯。

    1937 年, 他发表了可计算数字的论文, 在这篇文章中提出了通用机器的概念。 之后在二战期间,他在破解德国军用编码机 Enigma 的工作中担任了重要角色。 第二次世界大战结束后, 他设计了

    “自动计算机器冶, 并设计了第一个国际象棋比赛程序, 后来在曼彻斯特大学的计算机上得以实

    12 摇 摇 摇 摇 誗 第1 章 基于知识的智能系统概述

    现。 图灵关于通用机的理论概念和译码的实践经验使他在人工智能的关键性基础问题方面取得

    进展。 他曾经提出这样的问题: 是否存在不需经验的思考? 是否存在不需交流的思考? 是否存在

    不使用的语言? 是否存在生命之外的智能? 显然, 这些问题都是人工智能中的基础问题— — —

    “机器能否思考?冶 的不同表达。

    图灵并没有对机器和思考进行定义, 而是设计了一个游戏— — —图灵模拟游戏, 用游戏阐述

    他对机器和思考的理解, 从而避免了关于定义的异议。 图灵认为, 与其问 “机器能否思考冶, 不

    如问 “机器能否通过智能行为测试冶。 他曾经预测, 到公元 2000 年时, 计算机能够通过程序与

    人进行5 分钟对话, 并有30%的机会使对话的人认为对方不是计算机, 而是人。 图灵将计算机

    智能行为定义为在认知任务中达到人类行为水平的能力。 换句话说, 如果对话者依据所提问题

    的答案无法判断对方是人还是机器, 计算机就通过了测试。

    图灵模拟游戏包括两个阶段。 在第一阶段, 如图1郾 1 所示, 一个审讯员和一男一女分别被安

    排在单独的空间, 他们只能通过远程终端之类的中介进行交流。 审讯员的目标是通过对另外两

    个人提问, 根据他们的回答来判断谁是男的、 谁是女的。 游戏规则是男士要尽力让审讯员认为他

    是女士, 而女士则需向审讯员证明她是女士。

    游戏的第二个阶段, 如图1郾 2 所示, 用一台计算机代替男士, 计算机的任务和第一阶段中男

    士的任务一样。 对计算机编程时, 为了更好地模拟人类, 故意让计算机犯错或提供模糊的答案。

    如果计算机成功 “骗过冶 审讯员的次数和男士成功 “骗过冶 审讯员的次数一致, 则认为计算机

    通过了智能行为测试。

    图1郾 1摇 图灵模拟游戏: 第一阶段

    摇 摇

    图1郾 2摇 图灵模拟游戏: 第二阶段

    对于人的身体模拟在智能测试中并不重要。 因此, 图灵测试中, 审讯员看不见、 触不到、 听

    不到计算机, 因此不会受计算机的外表或声音的干扰。 但是为了辨别出计算机, 审讯员可以问任

    何问题, 甚至是过激的问题。 例如, 审讯员可以让人和计算机做复杂的数学计算, 如果一方提供

    了正确答案, 并且比对方速度快, 可以判断这一方就是计算机。 因此, 计算机必须知道何时故意

    出错、 何时延迟回答。 审讯员也可能会问双方关于短篇小说、 诗歌、 绘画方面的问题, 由此可以

    推断出一方具有的明显的人类专属的情绪特征。 当面对这一类问题时, 计算机就必须模拟人类

    对事物的感性理解。

    图灵测试很通用, 原因是测试具备了两个显著特征:

    荫 由于使用终端进行人机交互, 这一测试让我们对智能有客观的衡量标准, 避免了对人类智

    能本质的争论, 并排除了偏向人类的可能性。

    荫 测试本身独立于实验细节。 既可以像前述的进行两阶段测试, 也可以变成一个阶段的测

    试, 从一开始就让审讯员对人与机器进行判断。 审讯员既可以提任何领域的任何问题, 也

    可以只关注答案本身。

    2

    3第1 章 基于知识的智能系统概述 誗 3 摇 摇 摇 摇

    图灵相信到20 世纪末, 能够通过对数字计算机编程来完成测试游戏。 尽管现代计算机还没

    有通过图灵测试, 但已经为我们提供了基于知识的系统的评估和验证基础。 通过与人类专家行

    为对比, 已经对一些狭窄专业领域的具有智能的程序进行了评估。

    我们的大脑具有1018

    位的容量, 能够每秒处理1015

    位的信息。 到2020 年, 也许一块方糖大小

    的芯片就足以模拟人脑, 也许会有计算机能够通过图灵测试游戏。 但是, 我们真的想让计算机在

    做数学计算时, 像人一样又慢又会出错吗? 实际上, 智能机应该能够帮助人类进行决策、 搜索信

    息、 控制复杂对象, 最终理解单词含义。 也许没有必要片面追求使计算机像人一样聪明这一既抽

    象又艰涩的目标。 为了构建一套智能机系统, 我们必须去捕捉、 组织和使用某个狭窄专业领域的

    人类专家知识。

    1郾 2摇 人工智能的发展历史, 从 “黑暗时代冶 到基于知识的系统

    人工智能成长为一门科学, 历经三代研究者的努力。 这一节就来介绍每一代研究者对人工

    智能学科所做的贡献和重大事件。

    1郾 2郾 1摇 “黑暗时代冶, 人工智能的诞生 (1943 年 ~1956 年)

    Warren McCulloch 和 Walter Pitts 在1943 年发表了人工智能领域的开篇之作。 McCulloch 拥有

    哥伦比亚大学的哲学和医学学位, 后来在伊利诺伊大学的精神病学系担任基础研究实验室的主

    任。 他在对中枢神经系统的研究中提出了大脑神经元模型, 最早为人工智能做出了主要贡献。

    McCulloch 和年轻的数学家 Walter Pitts 合作, 提出了人工神经网络模型, 这个模型假定每个

    神经元有两个状态: 开、 关 (McCulloch and Pitts, 1943)。 并证明他们的神经网络模型实际上等

    价于图灵机, 并且任何可计算函数都可以由相连的神经元网络进行计算。 同时揭示了简单的网

    络结构具有学习功能。

    神经元网络模型从理论和实验两个方面激发了对大脑模型的研究。 但是, 实验结果清晰地

    表明将神经元限制为两个状态是不正确的。 事实上, 神经元具有明显的非线性特征, 而非简单的

    二元状态。 即使如此, McCulloch 是人工智能领域继阿兰·图灵之后的第二个创始人, 为神经计

    算和人工智能网络 (Artificial Neural Networks, ANN) 奠定了基础。 人工神经网络的研究在20 世

    纪70 年代经历了衰退, 在20 世纪80 年代后期重新复苏。

    蕖摇 EDVAC 是一个存储程序的机器。

    人工智能的第三个奠基人是聪明的匈牙利籍数学家John von Neumann。 他在1930 年加入了普

    林斯顿大学, 在数学物理系任教。 他是阿兰·图灵的同事和朋友。 在第二次世界大战期间, von

    Neumann 在建造原子弹的 “曼哈顿项目冶 中担任重要角色, 并成为宾夕法尼亚大学的 ENIAC

    (Electronic Numerical Integrator and Calculator, 电子数字集成计算器) 项目的顾问, 参与设计了

    EDVAC 计算机 ( Electronic Discrete Variable Automatic Computer, 电子离散变量自动计算机)蕖。

    McCulloch 和 Pitts 所提出的神经网络模型使 von Neumann 受到启发。 因此, 在1951 年, 当来自普

    林斯顿大学数学系的两个研究生 Marvin Minsky 和 Dean Edmonds 建造第一台神经网络计算机时,von Neumann 鼓励并资助了他们。

    在第一代研究者中, 不得不提 Claude Shannon。 他毕业于麻省理工学院并于1941 年加入贝尔

    实验室。 Shannon 继承了阿兰·图灵的观点, 认为可以使机器智能化。 在1950 年, 他发表了一篇

    关于让机器下象棋的文章, 文章指出一盘典型的棋赛大约有10120

    次的移动 (Shannon, 1950)。 即

    44 摇 摇 摇 摇 誗 第1 章 基于知识的智能系统概述

    使一台新的 von Neumann 式计算机每微秒就能测试一种走法, 移动第一步也得花上 3 伊 10106

    年。

    因此, Shannon 论证了在寻找解决方案时使用启发式策略的必要性。

    另一位人工智能奠基人 John McCarthy 也来自普林斯顿大学。 他从普林斯顿大学毕业后去达

    特茅斯学院工作。 他说服了 Marvin Minsky 和 Claude Shannon 在达特茅斯学院组织一个暑期研讨

    会。 在1956 年, 他们召集了对机器智能、 人工神经网络和自动理论感兴趣的研究者, 参加由

    IBM 赞助的研讨会。 尽管研讨会仅有10 人参加, 但这次会议却促成了人工智能学科的诞生。 在

    之后的20 年里, 参加过达特茅斯学院研讨会的学者及他们的学生在人工智能领域一直起主导

    作用。

    1郾 2郾 2摇 人工智能的上升期, 远大目标积极实现的年代 (1956 年 ~20 世纪60 年代

    晚期)

    在人工智能学科的发展早期, 可以用热情巨大、 想法大胆, 但成果很少来形容。 当时, 计算

    机被用来做常规数学计算才几年时间, 而人工智能领域的研究者却已在论证计算机的本领远超

    过这些。 这真是一个有远大目标并积极付诸实现的年代。

    John McCarthy 作为达特茅斯学院研讨会的组织者之一, 也是 “人工智能冶 这一术语的发明

    者, 从达特茅斯学院转到了麻省理工学院。 他设计了高级语言 LISP。 LISP 是早期编程语言之一

    (FORTRAN 仅比它早了两年), 到今天还有人在用。 在 1958 年, McCarthy 发表了论文 “基于常

    识的程序冶, 文中提出了一个名为 “建议采纳者冶 (Active Taker) 的程序, 用于搜索一般性问题

    的解决方案 (McCarthy, 1958)。 McCarthy 论证了设计和生成程序的方法, 他以驾车去机场为例,采用这个程序基于几个简单的规则设计了驾驶计划。 更重要的是, 程序无须变动, 就可以接受来

    自不同专业领域的新的规则, 即可以接受新知识。 因此, “建议采纳者冶 是第一个真正集成了知

    识表达和推理的核心法则的基于知识的系统。

    达特茅斯学院研讨会的另一个组织者 Marvin Minsky 也加入了麻省理工学院。 他不像 McCar鄄

    thy 那样专注于形式逻辑, 而是建立了一套反逻辑的观点, 以处理知识表达和推理。 他的框架理

    论为知识工程做出了主要的贡献 (Minsky, 1975)。

    由 McCulloch 和 Pitts 开创的神经计算和人工神经网络的早期研究得以继续。 随着学习方法的

    改进和提高, Frank Rosenblatt 证明了感知器收敛理论, 并论证他的学习算法能够调整感知器的连

    接程度 (Rosenblatt, 1962)。

    GPS (General Problem Solver, 通用问题解决方案) 是在这个大胆假设年代最具野心的项目

    之一 (Newell and Simon, 1961; 1972)。 卡内基 - 梅隆大学的 Allen Newell 和 Herbert Simon 设计

    了一个通用程序, 用于模拟人类在解决问题时的方法。 GPS 也许是第一个尝试将解决问题的技术

    和数据分开的程序。 它使用了现在已被称为手段-目的分析 (means鄄 ends analysis) 的技术。 New鄄

    ell 和 Simon 假定可以用状态去定义问题。 手段 - 目的的作用是判断问题的当前状态和期望状态

    或目标状态的差距, 并选择操作算子去达到目标状态。 如果从当前状态不能直接到达目标状态,就要建立一个更接近目标状态的新状态, 重复这一过程直到达到目标状态。 操作算子集合决定

    了解决方案。

    但是, GPS 无法解决复杂问题。 由于程序建立在形式逻辑的基础上, 操作算子可能有无穷多

    个, 导致效率低下。 在解决实际问题时, GPS 需要大量运算时间和内存, 这导致人们后来放弃

    GPS 计划。

    总之, 在20 世纪60 年代, 为了模拟复杂的思考过程, 人工智能研究者试图研究通用方法来

    解决广泛的问题。 他们使用了通用搜索策略以寻找解决方案。 通用搜索策略现在被称为弱方法,由于使用的是问题域的弱信息, 导致程序的性能低下。

    5

    6第1 章 基于知识的智能系统概述 誗 5 摇 摇 摇 摇

    不管怎样, 这个发展阶段吸引了伟大的科学家针对人工智能各个方面提出创新性的基础理

    论, 例如在知识表达、 学习算法、 神经计算以及文字计算等诸方面。 当时由于计算机性能的限

    制, 这些理论并未实现, 但却为20 年后的实际应用指明了方向。

    值得一提的是, 来自加州大学伯克利分校的 Lotfi Zadeh 教授也在20 世纪60 年代发表了著名

    的文章 “模糊集冶 (Zadeh, 1965)。 现在人们一致认为这篇文章为模糊集理论奠定了基础。 20 年

    后, 模糊集理论研究者已经构建了成百上千的智能机和智能系统。

    人工智能令人鼓舞的时代到1970 年结束, 大部分政府资助的人工智能项目也被迫取消。 人

    工智能仍是一个相对新的领域, 偏于学术性, 除了一些游戏之外几乎没有实际应用 ( Samuel,1959; 1967; Greenblatt et al. , 1967)。 在外界看来, 由于不存在能解决实际问题的人工智能系

    统, 所取得的成绩也只是小玩意而已。

    1郾 2郾 3摇 没有履行的诺言, 来自现实的冲击 (20 世纪60 年代晚期 ~20 世纪70 年代早期)

    从20 世纪50 年代中期, 人工智能研究者就承诺到20 世纪80 年代建造出与人类智能相当的

    全能智能机, 到公元2000 年, 建造出超越人类智能的智能机。 但到1970 年时, 他们已经意识到

    这些许诺过于乐观。 虽然个别智能程序能够在一两个小问题上展示出一定水平的智能, 但几乎

    所有的人工智能项目都对稍宽泛的问题和实际的复杂问题无能为力。

    在20 世纪60 年代晚期, 人工智能学科存在的问题主要表现在以下几个方面。

    荫 由于人工智能研究者专注于开发能解决广义问题的一般方法, 因此早期的程序只包含很少

    甚至没有相关问题域的知识。 为了解决问题, 程序中应用了一种搜索策略, 尝试对小步骤

    进行不同的组合, 直到找出真正的解决方案。 由于这种思路对于小问题是有效的, 因而被

    误认为可以通过对程序进行扩展来解决更大的问题。 事实上, 这种想法是错误的。

    简单的而易处理的问题在多项式级的时间内就得以解决, 就是说, 对于一个规模为 n 的问

    题, 所需的求解时间或求解步骤数是 n 的多项式函数。 而解决棘手而不易处理的问题所需的时间

    是问题规模的指数级函数。 一般认为, 多项式级运算时间的算法是高效的, 而指数级运算时间的

    算法则是低效的, 原因是后者的运算时间随着问题规模的增大而呈飞速增长。 20 世纪 70 年代早

    期所提出的 NP 完全问题理论 (NP鄄 Completeness) (Cook, 1971; Karp, 1972) 揭示出一大类非

    确定多项式级问题 (Non鄄 deterministic Polynomial problem, NP 问题) 都是 NP 完全问题。 NP 问题

    是指能够在多项式时间内估算并进行验证的问题 (假设有解)。 非确定是指不存在特定算法来进

    行估算。 而 NP 完全问题则是 NP 问题中最难的问题, 即使用速度最快、 内存最大的计算机也难

    以求解。

    荫 许多人工智能试图解决的问题都太宽泛、 太复杂。 早期人工智能的一个典型任务就是机器

    翻译。 例如, 在前苏联于1957 年发射第一颗人造卫星 Sputnik 之后, 美国国家研究委员会

    就资助针对俄语科学文献的机器翻译项目。 最初, 项目团队想利用电子词典直接将俄语单

    词替换为对应的英语单词。 不久他们便发现只有了解了文献主题才能正确选择单词。 由于

    任务太难, 1966 年由美国政府资助的所有翻译项目都被取消。

    荫 在1971 年, 英国政府也终止了对人工智能研究的资助。 英国科学研究委员会派 James

    Lighthill 爵士调研当时的人工智能研究现状, 他发现人工智能领域并没有重大甚至显眼的

    研究成果, 因而认为不必保留一个独立的 “人工智能冶 学科。

    1郾 2郾 4摇 专家系统技术, 成功的关键因素 (20 世纪70 年代早期 ~20 世纪80 年代中期)

    20 世纪70 年代最重要的进展, 也许就是人们意识到必须对智能机器的问题域进行充分限

    制。 而在此之前, 人工智能研究者一直认为, 为了对通用的、 人类惯用的解决问题的方法进行仿

    76 摇 摇 摇 摇 誗 第1 章 基于知识的智能系统概述

    真, 必须创造出聪明的搜索算法和推理技术。 一种通用的搜索机制可以依赖基本的推理步骤来

    发现完整的解决方案并可以使用问题域的弱知识。 然而, 当这种弱方法失败后, 研究者们最终意

    识到, 唯一出路是使用大量推理步骤来解决狭窄专业领域的典型问题。

    DENDRAL 是当时的一个典型例子 (Buchanan et al. , 1969), 其由斯坦福大学开发, 用于化

    学分析。 NASA 资助了这个项目, 原因是当时美国要发射一个无人宇宙飞船到火星, 需要根据由

    质谱仪提供的大量光谱数据, 由此设计程序以分析火星表面土壤的分子结构。 Edward Feigenbaum

    (曾是 Herbert Simon 的学生)、 Bruce Buchanan (计算机科学家)、 Joshua Lederberg (遗传学领域

    的诺贝尔奖获得者) 组成团队来解决这一挑战性的问题。

    这类问题的传统解决方法都依赖于枚举—测试技术: 首先枚举出与质谱图一致的所有可能

    的分子结构, 用每一个分子结构预测质谱, 再根据实际的质谱进行检验。 但是, 由于分子结构会

    达到千百万个, 即使分子数目适中, 问题也会迅速复杂化, 因此这种方法是行不通的。

    更困难的是, 没有科学的算法将质谱图匹配到对应的分子结构。 不过, 像 Lederberg 这样的

    分析化学家可以使用他们的技巧、 经验和特长解决这个问题。 通过找出质谱图中的高峰期所具

    有的明显的模式, 可以大大降低可能的分子结构数目, 再使用几个可行的方法进一步求解。 所

    以, Feigenbaum 的任务就是在程序设计时将 Lederberg 的专业知识考虑进来, 以使程序具有相当

    于人类专家的水平。 这种程序后来被称为专家系统。 要想理解、 采纳 Lederberg 的知识, 并用他

    的术语进行操作, Feigenbaum 需要学习化学和质谱分析的基本知识。 当然, 他不仅需要使用化学

    规则, 也需要基于其经验和猜测, 并使用他自己的经验法则之类的启发式方法。 不久 Feigenbaum

    就发现项目中的一个主要困难是如何从人类专家那里抽取知识并应用于计算机, 他将这一问题

    称为 “知识获取瓶颈冶。 为了更清楚地表达知识, Lederberg 也需要学习计算方面的基础知识。

    Feigenbaum、 Buchanan 和 Lederberg 组成团队, 最终成功开发出了第一个基于知识的系

    统— — —DENDRAL。 他们成功的关键在于将所有相关的理论知识从泛化形式映射到极为具体的规

    则(“烹饪食谱冶) (Feigenbaum et al. , 1971)。

    DENDRAL 的巨大意义可以归纳为如下几点:

    荫 DENDRAL 标志着人工智能领域重要的 “范式转移冶, 即从通用的、 知识稀疏型弱方法转

    移到针对特定领域的知识密集型技术。

    荫 DENDRAL 项目的目标是设计出能达到有经验的化学家水平的计算机程序。 通过提取人类

    专家知识, 并表达为高质量的具体规则 (经验法则), DENDRAL 团队使用这种启发式策

    略证明了计算机在特定、 可定义的问题领域能达到专家水平。

    荫 DENDRAL 为专家系统开创了新的方法论, 即知识工程, 它包含了对专家知识从获取、 分

    析到用规则表达等一系列技术。

    DENDRAL 后来成为化学家们有用的分析工具, 并在美国成为商业产品被投放到市场。

    Feigenbaum 和来自斯坦福大学的人员接下来承担了医疗诊断方面的一个重大项目, 这个项目

    名为 MYCIN, 始于 1972 年, 后来成为 Edward Shortliffe 的博士论题 ( Shortliffe, 1976)。 MYCIN

    是基于规则的专家系统, 它的任务是诊断传染性的血液病, 它还以一种便捷、 用户友好的方式为

    医生提供治疗建议。

    MYCIN 与早期专家系统具有若干相同特点:

    荫 MYCIN 的性能相当于人类专家水平, 并高于初级医生的水平。

    荫 MYCIN 包含了450 条独立的 IF鄄THEN 形式的规则, 这些知识是通过访问特定领域的大量

    专家获得的。

    荫 以规则形式表达的知识与推理机制明确地分开了。 系统研发员也能够轻易地通过插入、 删

    除规则来操纵知识。 例如, 斯坦福大学后来研发了一个独立于领域知识的 MYCIN 版本,8

    9第1 章 基于知识的智能系统概述 誗 7 摇 摇 摇 摇

    称为EMYCIN (van Melle, 1979; van Melle et al. , 1981)。 它除了传染性血液病知识之外,具有 MYCIN 的一切特征。 EMYCIN 促进了诊断方面的各种应用。 系统研发员只需将新知

    识以规则形式添加, 就能实现新的应用。

    与早期专家系统相比, MYCIN 也有一些新特点。 例如, MYCIN 的规则反映了知识本身的不

    确定性, 这里是指医学诊断知识。 它在可利用的数据或医生所给的数据上测试规则的条件部分

    (IF 部分)。 在适当时候, MYCIN 使用名为确信因子的不确定性运算推断是否满足条件。 考虑不

    确定性的推理是这个系统的最重要的特征。

    另一个被广泛关注的概率系统是 PROSPECTOR, 这一专家系统由斯坦福研究院开发, 用于

    矿产勘探 (Duda et al. , 1979)。 这个项目始于1974 年, 在1983 年结束, 有9 位专家为该系统提

    供了专业知识。 PROSPECTOR 将规则和语义网络合并到一个结构中, 以表达专家知识, 并使用

    了一千多条规则来表达大量领域知识。 同时拥有一个复杂的支持包, 其中包括知识获取系统。

    PROSPECTOR 的工作原理是, 首先让作为用户方的勘探地质学家输入待检矿床的特征, 如

    地址环境、 结构、 矿物质类型等。 之后, 程序将这些特征与矿床模型比较, 必要时让用户提供更

    多信息。 最后, 系统对待检矿床做出结论。 这一系统也能够解释为了得出结论所用到的步骤。

    在勘探地质学领域, 重要决策常常是在由于知识不完整或模糊而导致不确定性的情况下做

    出的。 为了处理这类知识, PROSPECTOR 使用论据贝叶斯规则在系统中传送不确定性。 它的性

    能达到了专业地质学家的水平, 并且在实践中得到了验证。 在 1980 年, 用它识别出了华盛顿州

    Tolman 山附近的一个钼矿床。 随后一个采矿公司对这个矿床开采时证实这个矿床价值一亿美元。

    真是难以想象专家系统能有如此价值。

    上面所提到的几个专家系统现在已成为经典之作。 20 世纪70 年代后期, 专家系统越来越多

    地被成功应用, 这表明能够将人工智能技术从实验室成功地移植到商业领域。 不过, 这一时期大

    部分专家系统都是在功能强大的工作站上, 采用特殊的人工智能语言开发的, 例如 LISP、 PRO鄄

    LOG 以及OPS。 昂贵的硬件和复杂的程序语言意味着专家系统的开发工作只能由个别院校的研究

    组做, 像斯坦福大学、 麻省理工学院、 斯坦福研究院和卡内基 - 梅隆大学。 到了 20 世纪 80 年

    代, 个人电脑和易用的专家系统开发工具框架的出现, 才使得普通的研究者和各个领域的工程

    师都有机会开发专家系统。

    1986 年的一份综述报告汇总了大量成功应用于不同领域的专家系统, 所应用的领域包括化

    学、 电子、 工程、 地质、 管理、 医药、 过程控制和军事科学, 等等 (Waterman, 1986)。 尽管如

    此, 在Waterman 发现的将近200 个专家系统中, 大部分还是应用在医学诊断领域。 7 年后另一篇

    综述汇总了2500 多个开发完毕的专家系统 (Durkin, 1994)。 新兴的应用领域是商业和制造业,占了总应用的60%。 此时专家系统技术已经成熟。

    专家系统在任何领域都是成功的关键吗? 虽然有了大量的专家系统, 并且在不同知识领域

    得以成功地应用, 但高估这一技术的能力是不对的。 在技术和社会学两个层面都存在复杂的困

    难, 这些困难包括:

    荫 专家系统局限于非常狭窄的专业领域。 例如, 虽然 MYCIN 的任务是诊断传染性血液病,却没有人体生理学的知识。 如果病人的病不止一个, 就不能指望 MYCIN 了。 事实上, 当

    病人伴随其他疾病时, 使用 MYCIN 开的治疗血液病的处方甚至可能是有害的。

    荫 由于局限于狭窄的领域, 专家系统并不能如用户所愿的那样健壮灵活。 并且, 专家系统难

    以识别领域界限。 当一项任务不同于传统问题时, 专家系统可能在尝试解决时出乎意料地

    失败。

    荫 专家系统的解释能力有限。 虽然能够显示解决方案中应用的一系列规则, 却无法将累积的

    启发式知识与对问题领域的深层理解关联起来。

    10

    118 摇 摇 摇 摇 誗 第1 章 基于知识的智能系统概述

    荫 专家系统难以检验验证。 至今都没有开发出通用的技术来分析专家系统的完整性和一致

    性。 启发式规则以抽象形式表达知识, 缺乏对领域的基本理解, 这使得识别错误的、 不完

    整或不一致的知识的工作非常困难。

    荫 专家系统几乎不具备从它们的经验中去学习的能力, 尤其是第一代专家系统。 专家系统的

    开发相对独立而且开发过程慢。 解决一个中等难度的问题要花费 5 ~ 10 人年的时间

    (Waterman,1986)。 而像 DENDRAL、 MYCIN 或 PROSPECTOR 之类的复杂系统需要超过30

    人年的开发时间。 如果专家系统的完善依赖于它的开发者进一步关注, 那么这些巨大的投

    入将难以评估。

    尽管面临这么多的困难, 专家系统的研究还是有了很大突破, 并在若干重要应用中证明了

    它的价值。

    1郾 2郾 5摇 如何使机器学习, 神经网络的重生 (20 世纪80 年代中期至今)

    在20 世纪80 年代中期, 研究者、 工程师以及专家们意识到, 购买一个推理系统或专家系统

    框架, 再往里填充足够的规则, 并不足以构造一个专家系统。 应用专家系统技术的幻想破灭, 对

    人工智能项目的资助也严重紧缩, 甚至导致人们开始预测人工智能的 “冬季冶 将要到来。 人工

    智能研究者们决定重新审视神经网络。

    到20 世纪 60 年代后期, 神经计算所需的基本理论和概念大部分都已经成型 ( Cowan,1990)。 但是, 直到20 世纪80 年代中期才出现解决方案, 滞后的主要原因在于技术层面: 没有

    个人电脑或功能强大的工作站, 所以无法对人工神经网络建模和实验。 还有心理学和资金方面

    的原因。 例如, 在1969 年, Minsky 和 Papert 就用数学方法论证了单层感知器具有根本的计算局

    限性 (Minsky and Papert, 1969), 他们还认为即使复杂的多层感知器也不见得更好。 这显然不会

    激励人去研究感知器, 这种情况导致在20 世纪70 年代几乎所有的人工智能研究者都放弃了人工

    神经网络领域。

    在20 世纪80 年代, 由于需要像大脑那样进行信息处理, 以及计算机技术的发展和神经科学

    的进步, 神经网络领域快速复苏了。 在几个前沿领域, 科学家们在理论和设计上都做了重大贡

    献。 Grossberg 创建了自组织的新理论 (adaptive resonance theory, 自适应共振理论), 这为一种新

    的神经网络奠定了基础 ( Grossberg, 1980 )。 Hopfield 引入了具有反馈机制的神经网络, 即

    Hopfield 网络 (Hopfield networks, Hopfield, 1982), 在20 世纪80 年代引起了广泛关注。 Kohonen

    发表了一篇关于自组织映射的文章 (Kohonen, 1982)。 Barto、 Sutton 和 Anderson 发表了关于增强

    学习 (reinforcement learning) 和在控制领域的应用的文章 (Barto et al. , 1983)。 但真正的突破

    是在1986 年, Rumelhart 和 McClelland 在 《并行分布式处理: 对认知微结构的探索》 一文中, 重

    新提出了反向传播学习算法 ( back鄄 propagation learning algorithm) ( Rumelhart and McClelland,1986), 这一算法由 Bryson 和 Ho 在 1969 年首次提出 (Bryson and Ho, 1969)。 Parker ( Parker,1987) 和 LeCun (LeCun, 1988) 在同一时间也提出了反向传播学习算法, 从此这一算法成为用

    于训练多层感知器的最流行的技术。 在1988 年, Broomhead 和 Lowe 提出了使用径向基函数设计

    多层前馈网络的程序, 这是多层感知器的替代 (Broomhead and Lowe, 1988)。

    从 McCulloch 和 Pitts 提出的早期模型, 发展为根植于神经科学、 心理学、 数学和工程的交叉

    学科, 人工神经网络经过了一个漫长的历程, 并在理论和应用两方面还会继续发展。 无论如何,对于20 世纪80 年代神经网络的重生, Hopfield 的文章 (Hopfield, 1982)、 Rumelhart 和 McClel鄄

    land 的书 (Rumelhart and McClelland, 1986) 具有最重要、 最具影响的意义。

    12第1 章 基于知识的智能系统概述 誗 9 摇 摇 摇 摇

    1郾 2郾 6摇 进化计算, 在尝试中学习 (20 世纪70 年代早期至今)

    自然界的智能是进化的产物。 因此, 通过模拟生物进化, 我们有希望找出将现有的系统推向

    高水平智能的方法。 自然界是在尝试中学习的, 并没有外界告诉生物系统如何适应具体环境, 这

    是物竞天择的过程。 适应性最强的物种更有机会繁衍, 并将基因遗传给下一代。

    人工智能中的进化方法是基于自然选择和遗传的计算模型。 进化计算的工作流程包括模拟

    由个体组成的种群、 评估个体性能、 产生下一代种群, 这一过程需要迭代若干次。

    进化计算主要包括3 个主要技术: 遗传算法、 进化策略以及遗传编程。

    遗传算法是 John Holland 在20 世纪70 年代早期提出的 (Holland, 1975)。 他设计了一个包

    括选择、 交叉、 变异3 个遗传操作的算法, 用于操纵人工 “染色体冶 (表达为二进制字符串)。

    模式定理是遗传算法的坚实的理论基础 (Holland, 1975; Goldberg, 1989)。

    在 Holland 的遗传算法之前, 早在20 世纪 60 年代早期, 两个来自柏林科技大学的学生 Ingo

    Rechenberg 和Hans鄄Paul Schwefel 提出了一个新的名为进化策略 (evolutionary strategies) 的优化方

    法 (Rechenberg, 1965)。 进化策略的具体任务是解决工程设计中的参数优化问题。 Rechenberg

    和 Schwefel 建议, 像自然界变异那样对参数随机变化。 事实上, 可将进化策略方法视为工程师直

    觉的替代物。 进化策略使用一种数值优化过程, 类似于蒙特·卡洛搜索方法。

    遗传算法和进化策略都可以解决广泛的问题。 这两个方法为之前根本无法解决的高度复杂

    的非线性搜索和优化问题提供了健壮、 可靠的解决方案 (Holland, 1995; Schwefel, 1995)。

    遗传编程代表了将学习式的遗传模型在程序设计中的应用, 它的目的并不是推出问题的编码表

    示, 而是推出用以解决问题的计算机代码。 就是说, 遗传编程的目的是产生解决问题的计算机程序。

    20 世纪90 年代 John Koza 的工作极大促进了人们对遗传编程的兴趣 (Koza, 1992; 1994),他使用遗传算子来操纵表示 LISP 程序的符号码。 遗传编程为计算机科学领域的主要问题提供了

    解决方案, 使计算机不需通过精确编程就能解决问题。

    遗传算法、 进化策略和遗传编程标志着人工智能学科的快速成长, 并且具有巨大的发展空间。

    1郾 2郾 7摇 知识工程的新纪元, 文字计算 (20 世纪80 年代后期至今)

    与基于符号推理的系统相比, 神经网络的技术提供了与现实世界更加自然的交互。 神经网

    络能够学习、 适应问题环境的变化, 能在规则未知的情形下构建模式, 并能处理模糊、 不完整的

    信息。 但是神经网络的解释功能差, 像黑匣子一样工作。 用现有的技术来训练神经网络很耗时,而且频繁的重新训练还会导致严重的困难。

    尽管在一些特殊的环境, 尤其是缺少知识的环境中, 人工神经网络能比专家系统更好地解

    决问题, 但这两个技术发展到现在已不再彼此竞争, 而是互补。

    传统的专家系统很适用于具有精确输入和逻辑输出的封闭式系统的应用。 这类系统使用表

    达为规则形式的专家知识, 必要时还可以与用户交互以构建特定的事实。 这类系统的主要缺点

    在于人类专家并不总能用规则表达知识或逐条解释推理, 从而会妨碍专家系统积累必需的知识,最终导致失败。 为了克服这个缺陷, 可使用神经计算从大数据集中抽取隐含的知识以获取专家

    系统的规则 (Zahedi, 1993; Medsker and Leibowitz, 1994)。 在传统的基于规则的专家系统中也

    可以使用人工神经网络来校正规则 (Omlin and Giles, 1996)。 换句话说, 当得到的知识不完整

    时, 可以用神经网络精炼知识, 当知识与给定的数据不一致时, 可使用神经网络修改规则。

    另一个非常重要的技术是模糊逻辑, 用于处理模糊、 不精确、 不确定的知识和数据。 传统的

    专家系统中, 用于处理不精确数据的大部分方法都是基于概率论思想, 如 MYCIN 就引入了确信

    因子, PROSPECTOR 则使用了贝叶斯规则来传送不确定性。 不过, 专家们并不总是使用概率值,13

    1410 摇 摇 摇 誗 第1 章 基于知识的智能系统概述

    而会使用 “常常、 一般地、 有时、 偶尔、 极少冶 之类的术语。 模糊逻辑正是关于模糊值使用的

    方法, 模糊值用于理解单词含义、 人类推理、 制定决策。 模糊逻辑以能精确反映专家对复杂难题

    的理解的形式, 对人类知识进行编码和应用, 从而为打破传统专家系统的计算瓶颈提供了一个

    可行的方法。

    模糊逻辑的核心在于语言变量这一概念。 语言变量的值是文字, 而不是数值。 模糊系统使用

    IF鄄THEN 规则来体现人类知识, 这点与专家系统类似, 只是模糊系统的规则是模糊的, 例如:

    模糊逻辑或模糊集理论是由加州大学伯克利分校电子工程系主任 Lotfi Zadeh 教授在 1965 年

    提出的 (Zadeh, 1965), 它提供了一种采用文字进行计算的方法。 然而, 模糊集理论被技术团体

    接受的过程却很困难和漫长, 部分原因在于具有争议的名字 “模糊冶, 这个名字似乎太随意而难

    以被认真对待。 模糊理论虽然在西方被忽视, 却在东方的日本被接纳了。 自 1987 年起, 模糊理

    论被成功地应用在日本人设计的洗碗机、 洗衣机、 空调、 电视机、 复印机和汽车上。

    模糊产品的出现使得这一看似新颖而在30 年前就被提出的技术受到极大关注, 成百上千的

    书籍和学术论文相继诞生。 一些经典著述包括: 《Fuzzy Sets, Neural Networks and Soft Computing 》

    (Yager and Zadeh, eds, 1994); 《 The Fuzzy Systems Handbook》 (Cox, 1999); 《 Fuzzy Engineer鄄

    ing》 (Kosko, 1997); 《Expert Systems and Fuzzy Systems》 (Negoita, 1985); 以及畅销书 《Fuzzy

    Thinking》 (Kosko, 1993), 这本书对模糊逻辑进行了普及性介绍。

    模糊逻辑主要应用在控制工程领域。 不过, 模糊控制系统仅使用了模糊逻辑知识表达的一

    小部分功能。 模糊逻辑在基于知识的系统和决策支持系统中的应用优势可归纳如下 ( Cox,1999; Pedrycz and Gomide, 2007; Turban el al. , 2010):

    荫 提高了计算能力。 基于规则的模糊系统比传统专家系统运算快, 需要的规则也少。 模糊专

    家系统通过合并规则使系统功能更强。 Lotfi Zadeh 认为用不了几年, 多数专家系统都将使

    用模糊逻辑来解决高度非线性问题和计算困难的问题。

    荫 改善了认知模型。 模糊系统允许以能反映专家思考复杂问题的形式对知识编码。 专家在思

    考复杂问题时, 会用到不精确术语, 例如高和低、 快和慢、 轻和重, 也用使用术语常常和

    几乎不、 通常和很少、 频繁和偶尔。 在建立传统的规则时, 需要对术语定义严格的界限,这就把专业知识分解成了知识片段。 当传统的专家系统面对高度复杂问题时, 知识片段将

    导致系统性能低下。 相反地, 模糊专家系统通过对不精确信息建模, 就能以更接近专家思

    考的方式捕捉专业知识, 从而改善了系统的认知建模。

    荫 能够表达多个专家。 传统的专家系统建立在非常狭窄的、 被明确定义的专业知识领域, 系

    统性能完全依赖于能否正确选择专家。 尽管一般的策略是只选定一个专家, 但是当构造更

    复杂的专家系统或专业知识不能被较好地定义时, 就需要多个专家。 多个专家能够扩展领

    域, 综合经验, 并且避免了对顶级专家的依赖, 顶级专家一般费用昂贵且难以联系到。 不

    过, 多个专家极难达成一致意见, 他们的意见常常不同甚至有冲突。 在经济和管理领域,当没有简单方案而又需考虑各种具有冲突的观点时尤其如此。 模糊专家系统有助于表达意

    见相左的多个专家的专业知识。

    尽管模糊系统允许以更自然的方式表达专家知识, 但是它们仍依赖来自专家提炼的规则,因而系统有聪明的, 也有笨拙的。 有些专家能够提供非常聪明的模糊规则, 有些专家只会猜测或

    提供错误的规则。 所以, 所有的规则必须经过测试、 调整, 这一过程可能会漫长又乏味。 例如,日立公司的工程师们用了好几年时间才测试、 调整了仙台地铁系统上的54 条模糊规则。

    借助模糊逻辑开发工具, 能够轻松地构造出一个简单的模糊系统, 但之后很可能要花费几

    15

    16第1 章 基于知识的智能系统概述 誗 11 摇 摇 摇

    天、 几个星期甚至几个月来测试新规则并调整系统。 怎样加快这个过程呢? 或者, 怎样自动产生

    好的模糊规则呢?

    近年来, 一些基于神经网络技术的方法已被用于在数值数据中寻找模糊规则。 自适应或神

    经 -模糊系统能够发现新的模糊规则, 或者基于提供的数据来调整已有的规则。 换言之, 即是输

    入数据 -输出规则, 或者输入经验 -输出规律。

    那么知识工程将向什么方向发展呢?

    专家系统、 神经系统和模糊系统目前已经成熟, 并被广泛应用于多个领域处理不同问题, 主

    要在工程、 医药、 金融、 商业和管理等领域。 各个技术在处理人类知识的不确定性和模糊性上都

    各有方法, 在知识工程领域都占有一席之地。 这3 个技术之间不再竞争, 而是互相配合。 在专家

    系统中融入模糊逻辑和神经计算, 能够提高基于知识系统的自适应性、 鲁棒性、 容错能力和运算

    速度。 此外, 利用文字进行计算使得系统更加 “人性化冶。 在构造智能系统时, 使用现有理论而

    非提出新理论已成为惯例。 应用目标也不再限于简单的小问题, 而是实在的现实问题。

    1郾 3摇 小结

    我们处在知识革新的时代, 在这个时代, 一个国家的实力不是由军队的士兵数量来决定, 而

    是由这个国家所拥有的知识来决定。 科学、 医药、 工程和商业一方面推动着国家朝更高质量的生

    活发展, 一方面也需要高素质的人。 当前我们已开始使用智能机器从知识渊博的人身上获取经

    验知识, 并让机器像人那样进行推理。

    在第一台计算机发明之前, 对智能机器的渴求仅仅是一个渺茫的梦。 虽然早期的计算机按

    照特定的算法能够有效操作大型数据库, 却不能对提供的信息进行推理, 因而引发了计算机能

    否思考的问题。 阿兰·图灵将计算机的智能行为定义为在认知任务中达到人类同等水平的能力。

    图灵测试为基于知识的系统提供了检验和验证的基础。

    1956 年, 在达特茅斯学院召开的暑期研讨会将 10 个对机器智能感兴趣的研究者聚到了一

    起, 一门新学科— — —人工智能诞生了。

    自从20 世纪50 年代早期, 人工智能技术从个别研究者的好奇开始, 发展为帮助人类决策的

    有价值的工具。 从20 世纪60 年代关于人工智能的伟大幻想和期待, 到20 世纪70 年代早期对人

    工智能的幻灭和资助削减; 从20 世纪70 年代的第一代专家系统的开发, 如 DENDRAL、 MYCIN

    和 PROSPECTOR, 到20 世纪八九十年代专家系统的成熟以及在不同领域的广泛应用; 从20 世纪

    40 年代所提的简单的二进制神经元模型, 到 20 世纪 80 年代人工神经网络的戏剧性复活; 从 20

    世纪60 年代所提出的模糊集理论在西方被忽视, 到20 世纪 80 年代由日本提供的大量的 “模糊

    型冶 消费品, 以及20 世纪90 年代软计算和用文字计算被全世界接受; 这些事件使我们看到了人

    工智能的历史性发展周期。

    专家系统的发展创立了知识工程, 它是一种构建智能系统的过程。 如今知识工程不仅涉及

    专家系统, 还涉及神经网络和模糊逻辑。 知识工程仍然是一门艺术, 而非工程, 但人们已经尝试

    使用神经网络技术从数值数据中自动抽取规则。

    表1郾 1 总结了人工智能和知识工程发展历程中的关键事件, 涵盖范围从1943 年 McCulloch 和

    Pitts 在人工智能上的初次尝试, 到近年来的用文字计算的基于知识的系统中将专家系统、 模糊逻

    辑和神经计算进行合并, 从而各取所长。

    本章的主要内容包括:

    荫 智能是指学习和理解问题、 解决问题、 制定决策的能力。

    荫 人工智能是使机器像人那样用智能做事的一门学科。

    荫 如果机器在某些认知任务中能达到人类同等水平, 它就是智能机器。 在建造智能机器时,1712 摇 摇 摇 誗 第1 章 基于知识的智能系统概述

    我们必须捕捉、 组织和使用特定问题领域的人类专家知识。

    荫 必须严格限制智能机器的问题域, 对此的确认标志着人工智能从泛化的、 知识稀疏的弱方法向

    具体领域的知识密集型方法的重大 “范式转移冶。 这一转移促成了专家系统的发展, 从而使计

    算机程序的性能在狭窄问题领域达到人类专家水平。 专家系统以特定规则的形式使用人类知识

    和经验, 主要特征表现在对知识和推理机制的明确划分。 专家系统更能解释推理过程。

    表1郾 1摇 人工智能和知识工程发展历程中主要事件一览表

    时摇 摇 期 主 要 事 件

    人工智能的诞生

    (1943 年 ~ 1956 年)

    摇 McCulloch and Pitts, A Logical Calculus of the Ideas Immanent in Nervous Activity, 1943

    摇 Turing, Computing Machinery and Intelligence, 1950

    摇 电子数据集成器和计算器项目 (von Neumann)

    摇 Shannon, Programming a Computer for Playing Chess, 1950

    摇 在达特茅斯学院举行的机器智能、 人工神经网络和自动化理论暑期研讨会, 1956

    人工智能的崛起

    (1956 年 ~ 20 世纪

    60 年代晚期)

    摇 LISP (McCarthy)

    摇 通用问题解决方案 (GPR) 项目 (Newell and Simon)

    摇 Newell and Simon, Human Problem Solving, 1972

    摇 Minsky, A Framework for Representing Knowledge, 1975

    人工智能的幻灭

    (20 世纪60 年代晚期 ~

    20 世纪70 年代早期)

    摇 Cook, The Complexity of Theorem Proving Procedures, 1971

    摇 Karp, Reducibility Among Combinatorial Problems, 1972

    摇 Lighthill 报告, 1971

    专家系统的发明

    (20 世纪70 年代早期 ~

    20 世纪80 年代中期)

    摇 DENDRAL (Feigenbaum, Buchanan and Lederberg, 斯坦福大学)

    摇 MYCIN (Feigenbaum and Shortliffe, 斯坦福大学)

    摇 PROSPECTOR (斯坦福大学研究院)

    摇 PROLOG — — —一种逻辑编程语言 (Colmerauer, Roussel and Kowalski, France)

    摇 EMYCIN (斯坦福大学)

    摇 Waterman, A Guide to Expert Systems, 1986

    人工神经网络的重生

    (20 世纪80 年代

    中期至今)

    摇 Hopfield, Neural Networks and Physical Systems with Emergent Collective Computational

    Abilities, 1982

    摇 Kohonen, Self鄄Organized Formation of Topologically Correct Feature Maps, 1982

    摇 Rumelhart 和 McClelland, Parallel Distributed Processing, 1986

    摇 首届 IEEE 神经网络国际会议

    摇 Haykin, Neural Networks, 1994

    摇 神经网络, MATLAB 应用工具箱 (The MathWorks, Inc郾 )

    进化计算 (20 世纪

    70 年代早期至今)

    摇 Rechenberg, Evolutionsstrategien 鄄 Optimierung Technischer Systeme Nach Prinzipien der Biologischen

    Information, 1973

    摇 Holland, Adaptation in Natural and Artificial Systems, 1975

    摇 Koza, Genetic Programming: On the Programming of the Computers by Means of Natural Selection,1992

    摇 Schwefel, Evolution and Optimum Seeking, 1995

    摇 Fogel, Evolutionary Computation鄄Towards a New Philosophy of Machine Intelligence, 1995

    用文字计算

    (20 世纪80 年代

    晚期至今)

    摇 Zadeh, Fuzzy Sets, 1965

    摇 Zadeh, Fuzzy Algorithms, 1969

    摇 Mamdani, Application of Fuzzy Logic to Approximate Reasoning Using Linguistic Synthesis, 1977

    摇 Sugeno, Fuzzy Theory, 1983

    摇 日本的 “模糊型冶 消费品 (洗碗机、 洗衣机、 空调、 电视机、 复印机)

    摇 仙台地铁系统 (日立公司, 日本), 1986

    摇 Negoita, Expert Systems and Fuzzy Systems, 1985

    摇 首届 IEEE 神经系统国际会议, 1992,摇 Kosko, Fuzzy Thinking, 1993

    摇 Yager and Zadeh, Fuzzy Sets, Neural Networks and Soft Computing, 1994

    摇 Cox, The Fuzzy Systems Handbook, 1994

    摇 Zadeh, Computing with Words鄄A Paradigm Shift, 1996

    摇 模糊逻辑, MATLAB 工具箱 (The MathWorks, Inc郾 )

    摇 神经网络, MATLAB 工具箱 (The MathWorks, Inc郾 )

    摇 伯克利软计算倡议组织

    摇 (BISC) http: www鄄bisc郾 cs郾 berkeley郾 edu

    18

    19第1 章 基于知识的智能系统概述 誗 13 摇 摇 摇

    荫 构建智能机器面临的主要问题是知识获取瓶颈, 即从人类专家那里获取知识, 这也是知识

    工程的主要问题。

    荫 专家在思考时会使用不精确的术语, 如常常和几乎不、 通常和很少、 频繁和偶尔, 也会使

    用语言变量, 如高和低、 快和慢、 轻和重。 模糊逻辑或模糊集理论为用文字进行计算提供

    了方法。 模糊逻辑的重心是使用模糊值, 以捕捉和理解文字含义、 人类的推理和决策的制

    定, 并为传统专家系统在计算上的负担问题提供了突破性的方法。

    荫 专家系统既不能通过经验学习、 也不能通过经验自我完善, 多由个人开发, 后续发展也需

    要巨大的投入, 即使构建中型专家系统也需要5 ~ 10 人年。 机器学习则大大加快了专家系

    统的开发进程, 通过加入新规则或校正已有规则, 也提高了知识的质量。

    荫 人工神经网络启发于生物学上的神经网络, 基于历史事件进行学习, 并能自动生成规则,由此避免了冗长、 昂贵的知识获取过程, 以及相应的验证、 调整过程。

    荫 通过对专家系统、 人工神经网络分别与模糊逻辑的集成, 提高了基于知识的系统的自适应

    性、 容错能力和运算速度。

    复习题

    1郾 1摇 何为智能? 什么是机器的智能行为?

    1郾 2摇 描述人工智能中的图灵测试, 并从现代的角度证明它的有效性。

    1郾 3摇 如何定义人工智能这门科学? 人工智能何时诞生?

    1郾 4摇 什么是弱方法? 列举20 世纪70 年代早期 AI 幻灭的主要原因。

    1郾 5摇 何为专家系统? 弱方法和专家系统技术的主要区别是什么?

    1郾 6摇 列举 DENDRAL、 MYCIN 和 PROSPECTOR 这些早期专家系统的共同特征。

    1郾 7摇 专家系统的局限性有哪些?

    1郾 8摇 专家系统和人工神经网络之间的区别是什么?

    1郾 9摇 人工神经网络在20 世纪80 年代复活的原因是什么?

    1郾 10摇 模糊逻辑的建立前提是什么? 模糊集理论是何时出现的?

    1郾 11摇 在基于知识的系统中应用模糊逻辑的主要优势是什么?

    1郾 12摇 合并专家系统、 模糊逻辑和神经计算的系统会有哪些优势?

    参考文献

    20

    2114 摇 摇 摇 誗 第1 章 基于知识的智能系统概述

    22第1 章 基于知识的智能系统概述 誗 15 摇 摇 摇

    23第2 章 Artificial Intelligence, 3E

    基于规则的专家系统

    本章介绍构建知识系统的常用选择: 基于规则的专家系统。

    2郾 1摇 知识概述

    在20 世纪70 年代, 人们最终意识到, 要用机器解决智能问题, 就必须先知道方案。 也就是

    说, 人必须具备特定领域的知识, 知道如何做。

    知识是什么

    知识是对于一个主题或一个领域在理论或实践上的理解, 也是所有已知的总和, 显然, 知识

    就是力量。 那些拥有知识的人称为专家, 他们是所在组织中重要的人物。 任何一个成功运营的公

    司都有若干一流的专家, 没有他们公司就无法运营下去。

    谁可称为专家

    任何一个人如果在特定领域有深厚的知识 (表现在事实和规则两方面) 和强大的实践经验,都被认为是领域专家。 领域的范围有所限制。 例如, 发电机专家也许对变压器仅有泛泛的了解,人寿保险专家或许对不动产保险政策的了解也是有限的。 总之, 专家能熟练地做别人做不了的

    事情。

    专家如何思考

    人类的思维活动是内在的、 复杂的, 用算法表达不了。 好在多数专家能以规则的形式表达知

    识, 从而解决问题。 举一个简单的例子, 假设你遇到一个外星人, 他想过马路。 你是否帮得了

    他? 因为有多年过马路的经历, 这一方面你是专家。 所以你有能力就此教外星人。 你会怎么

    做呢?

    你可以告诉外星人, 当交通灯变绿时, 可以安全地过马路, 当交通灯变红时, 就必须停止。

    这是基本规则。 可以把你的知识简单地表达为如下句子:

    这些用 IF鄄THEN 表达的句子称为产生式规则或规则。 在人工智能学科中, 规则是最常用的

    知识表达的方式, 可以定义为 IF鄄 THEN 语句, IF 部分是给定的信息或事实, THEN 部分则是相

    应的行为。 规则用于描述如何解决问题, 创建简单, 也易于理解。

    2郾 2摇 知识表达技术— — —规则

    任何规则都包括两部分: IF 部分和 THEN 部分。 IF 部分是前项 (前提或条件), THEN 部分

    是后项 (结论或行为)。

    规则的基本语法是:

    一般而言, 规则可以有多个前项, 这些前项用关键词AND (合取)、 OR (析取) 或者 AND、OR 混合使用。 不过, 最好在同一个规则中避免混合使用合取和析取。

    25第2 章 基于规则的专家系统 誗 17 摇 摇 摇

    规则的结论部分也可以由多个从句组成:

    规则的前项部分包括两部分: 对象 (语言对象) 和值。 以过马路为例, 语言对象是 “交通

    灯冶, 可以取值 “绿冶 或 “红冶。 对象和值用操作符连接。 操作符识别对象并进行赋值。 像 is、are、 is not、 are not 等操作符为语言对象赋予符号值。 在专家系统中, 也可以使用数学操作符定

    义数值型对象, 并赋予数值。 例如:

    规则的后项部分与前项部分类似, 也通过操作符连接对象和值。 操作符为语言对象赋值。 以

    过马路为例, 如果 “交通灯冶 的值是 “绿冶, 第一条规则会将语言对象的行为赋值为 “前进冶。

    后项中也可以用数值型对象和简单的算术表达式:

    关系、 建议、 指示、 策略和启发式方法也可以用规则表达:

    关系

    建议

    指示

    策略

    26

    2718 摇 摇 摇 誗 第2 章 基于规则的专家系统

    启发式方法

    2郾 3摇 专家系统研发团队的主要参与者

    当人类专家提供了知识后, 我们就能够把知识输入计算机, 期待着在特定领域的计算机能

    够做一个智能的助手, 或者像专家那样解决问题, 并希望计算机能够整合新知识, 并以易读、 易

    懂的方式表达知识, 或用自然语言而非人工编程语言来处理简单的句子。 最后, 我们还希望计算

    机解释得出一个结论的原因。 换言之, 我们需要构建专家系统— — —能在狭窄问题领域具有专家

    水平的计算机程序。

    基于规则的系统是最常见的专家系统。 已有大量的系统被成功应用于商业、 工程、 医药、 地

    理、 电力系统以及采矿, 也有很多公司生产和销售用于开发基于规则的专家系统的软件, 即个人

    电脑上的专家系统框架。

    为开发基于规则的系统的专家系统框架越来越普遍, 其主要优势在于系统开发员可以把注

    意力放在知识本身, 而不是学习一门编程语言。

    什么是专家系统框架

    专家系统框架 (expert system shell) 是不含知识的专家系统。 用户的全部任务就是以规则形

    式加入知识, 并提供解决问题的相关数据。

    现在看一下构建专家系统需要哪些人员, 这些人员需要具备什么能力?

    图2郾 1摇 专家系统开发团队的主要成员

    一般地, 专家系统开发团队需要 5 个成

    员: 领域专家、 知识工程师、 程序员、 项目经

    理和终端用户。 专家系统能否开发成功完全取

    决于成员间能否很好地合作。 图2郾 1 总结了开

    发团队中成员的基本关系。

    领域专家是在特定区域或领域具有渊博知

    识和丰富经验的人。 他们在特定领域具有最好

    的经验, 这些经验会被输入到专家系统中。 所

    以, 专家必须能够传达知识, 乐意加入开发团

    队, 并在项目上有足够的时间。 在专家系统开

    发团队中, 领域专家是最重要的成员。

    知识工程师是善于设计、 构建、 测试专家系统的人, 负责为系统选择合适的任务, 并就如何

    解决特定问题和领域专家进行互动。 通过互动, 知识工程师会明确专家如何解决事实和规则, 以

    及怎样在专家系统中表达。 继而选择特定的开发软件或专家系统框架, 或选择编程语言以将知

    识编码 (有时知识工程师亲自编码知识)。 之后, 知识工程师负责测试、 修改专家系统, 并将系

    统集成到工作平台。 可以看出, 知识工程师要负责从系统的最初设计到最终运行的整个流程。 项

    目完成后, 也许还要参与系统的维护。

    程序员负责编程, 用计算机能接受的术语描述领域知识。 他不仅需要精通人工智能语言的

    符号编程, 像 LISP、 PROLOG 和 OPS5 等, 也要具备不同类型专家系统框架的应用经验。 此外,程序员还要会常用编程语言, 如 C、 Pascal、 FORTRAN 和 Basic。 如果使用专家系统框架进行开

    发, 知识工程师就能够将知识编码到系统中, 就不需要程序员了。 当不能使用专家系统框架时,28

    29第2 章 基于规则的专家系统 誗 19 摇 摇 摇

    就需要程序员设计知识和数据表达结构 (知识库和数据库)、 控制结构 (推理引擎), 以及对话

    结构 (用户界面)。 程序员可能也要参与测试专家系统。

    项目经理是开发团队的领导, 负责项目的进程, 确保按计划进行, 并与专家、 知识工程师、程序员、 终端用户进行互动。

    终端用户, 也称为用户, 是使用专家系统的人, 可能是一个判定火星表面土壤的化学结构的

    分析化学家 (Feigenbaum et al. , 1971), 或诊断传染性血液病的初级医生 (Shortliffe, 1976), 或

    勘探新矿床的勘探地质学家 (Duda et al. , 1979), 或紧急情况下需要建议的电力系统操作员

    (Negnevitsky, 2008)。 这些终端用户各有所需, 所以系统最终能否被认可依赖于用户的满意度。

    用户的满意度不仅包括系统功能, 还包括操作是否舒适。 所以系统中用户界面的设计至关重要。

    因此, 终端用户的建议至关重要。

    当聚齐5 个成员时, 就可以开发系统了。 不过, 现在的许多专家系统是在个人电脑上使用专

    家系统框架开发的, 不需要程序员, 或许也不需要知识工程师。 对于微型专家系统, 项目经理、知识工程师、 程序员甚至专家可能是同一个人。 在开发大型专家系统时, 就需要上述所有的成

    员了。

    2郾 4摇 基于规则的专家系统的结构

    在20 世纪70 年代早期, 来自卡内基 - 梅隆大学的 Newell 和 Simon 提出了产生式系统模型,为现代的基于规则的专家系统奠定了基础 (Newell and Simon, 1972)。 产生式模型的思路是, 对

    于一个用相关信息表达了的指定问题, 人类运用知识 (用产生式规则表达) 能够解决。 产生式

    规则存储在长期存储器中, 问题相关的信息或事实存储在短期存储器中。 图2郾 2 是产生式系统模

    型和基于规则的专家系统的基本结构。

    图2郾 2摇 产生式系统模型和基于规则的专家系统的基本结构

    基于规则的专家系统由5 个部分组成: 知识库、 数据库、 推理引擎、 解释设备和用户界面。

    知识库包含解决问题相关的领域知识。 在基于规则的专家系统中, 知识用一组规则来表达。

    每一条规则表达一个关系、 建议、 指示、 策略或启发式方法, 具有 IF (条件) THEN (行为) 结

    构。 当规则的条件被满足时, 触发规则, 继而执行行为。

    数据库包含一组事实, 用于匹配存储在知识库中的 IF (条件) 部分。

    推理引擎执行推理, 专家系统由此找到解决方案。 推理引擎链接知识库中的规则和数据库

    中的事实。

    30

    3120 摇 摇 摇 誗 第2 章 基于规则的专家系统

    用户使用解释设备查看专家系统怎样得出解决方案的过程, 以及为什么需要特定事实。 专

    家系统必须能够解释推理并证明所给的建议、 分析或结论。

    用户界面是实现用户 (查询问题解决方案) 和专家系统之间交流的途径, 这一途径必须有

    实际意义并尽可能地友好。

    这5 个部分对于任何基于规则的专家系统来说都是不可或缺的, 它们共同构成了专家系统的

    核心, 除此之外也会有其他附加组件。

    图2郾 3摇 基于规则的专家系统的完整结构

    外部接口允许专家系统融合外部数据文件和

    以常用语言编写的程序, 如 C、 Pascal、 FORTRAN

    和 Basic。 图 2郾 3 是基于规则的专家系统的完整

    结构。

    开发者接口一般包括知识库编辑器、 调试工

    具, 以及输入输出设备。

    任何专家系统框架都会提供简单的文本编辑

    器, 用于输入和调整规则、 检查格式和拼写。 许

    多专家系统也包括记录设备, 用于监测知识工程

    师或专家所做的修改。 如果规则被改动, 编辑器

    将自动存储改动日期和做改动的人, 以便后面参

    考。 当有多个知识工程师和专家都有权进入知识

    库并做修改时, 记录设备尤其重要。

    调试工具一般包含跟踪设备和断点包。 跟踪

    设备提供程序执行过程中被触发的规则列表。 使

    用断点包则能提前告诉系统哪里该中断, 以备知

    识工程师或专家即时查看数据库中的当前值。

    多数专家系统还提供输入输出设备, 例如运

    行时知识获取器, 以便运行中的专家系统获取数据库之外的必需信息。 当知识工程师或专家输

    入所需信息后, 系统接着往下运行。

    总之, 开发者接口、 知识获取设备使得领域专家能够直接将知识输入专家系统, 以减少打扰

    知识工程师的次数。

    2郾 5摇 专家系统的基本特征

    专家系统用于在狭窄的特定领域以专家级的水平解决问题。 因此, 专家系统的最主要特征

    就在于高质量的性能。 无论系统能多快地解决问题, 如果结果错误, 用户是不会满意的。 另一方

    面, 解决速度也很重要。 最精确的决策或诊断如果来的太慢, 也许也会无用, 例如在病人死亡或

    核反应堆爆炸等紧急情况时。 专家使用经验法则或启发式方法, 通过自己的经验和对问题的理

    解来寻找问题的解决捷径。 专家系统也应该像人类专家那样, 运用启发式方法来引导推理并降

    低解决方案的搜索空间。

    拥有解释功能是专家系统独具的特征, 专家系统通过这一功能回顾推理过程, 并对其决策

    进行解释。 所谓解释是跟踪整个解决过程中被触发的规则。 这当然是一个简单的说法。 事实上,由于系统不具备对该领域的最起码的理解, 真正的、 像人那样的解释还不现实。 尽管一系列被触

    发的规则并不能证明一个结论, 我们仍然可以为每一条规则, 至少为知识库中的高级规则, 关联

    上用文本表达的恰当的基本规律。 这也许是目前的解释功能所能达到的程度。 不过, 解释功能对

    有些专家系统来说不是必需的。 例如, 为专家设计的科学系统不需要提供大量解释, 因为结论对

    32

    33第2 章 基于规则的专家系统 誗 21 摇 摇 摇

    专家而言是自解释的, 有简单的规则 -跟踪机制就足够了。 另一方面, 用于决策支持的专家系统

    则需要完整的、 有意义的解释, 毕竟错误结论的代价很高。

    在解决问题时, 专家系统使用符号推理。 符号被用来表示不同类型的知识, 如事实、 概念和

    规则。 构建专家系统的目的是处理知识, 因此能够轻易地处理定性数据, 这点不同于处理数值数

    据的传统程序。

    传统程序通过算法处理数据, 换言之, 它是定义好的逐步的操作序列。 一个算法总按同一顺

    序执行同样的操作, 每次都得到精确解。 传统程序不会出错, 只是程序员有时出错。 专家系统则

    与传统程序不同, 因为它并不按照特定的步骤序列执行, 允许不精确的推理, 也能够处理不完

    整、 不确定的模糊数据。

    专家系统会出错吗

    再聪明的专家也是人, 也会出错。 对于要达到人类专家水平的专家系统, 也应该容许出错。

    尽管我们知道专家的判断有时错误, 但是我们仍然信赖专家。 同样, 尽管在多数情况下专家系统

    所得的结论都是可信赖的, 有时依然会出错, 我们要认识到这一点。

    这意味着传统程序优于专家系统吗

    理论上, 传统程序提供的答案总是正确的。 但要记住传统程序仅能处理数据完整、 准确的问

    题。 当数据不完整或包含错误时, 传统程序要么无法应对, 要么给出错误的答案。 相比之下, 专

    家系统能够识别出不完整或者模糊的信息, 在这种情况下仍能给出合理的结论。

    专家系统有别于传统程序的另一个特征是, 知识与处理过程相分离 (知识库和推理引擎是

    两部分)。 而传统程序中知识和处理知识的控制结构是混合在一起的, 这使得我们难以理解和修

    改程序代码, 毕竟对代码的修改既影响知识, 又影响知识的处理。 在专家系统中, 知识与处理机

    制被明确地划分开, 在构建和维护专家系统时就容易得多。 如果使用专家系统框架, 知识工程师

    或者专家只需往知识库中添加知识即可。 每一条新规则会带来新知识, 专家系统也随之更聪明。

    通过改变、 删减规则, 能轻易地修改系统。

    专家系统的上述特征使专家系统有别于传统程序和人类专家。 表2郾 1 是三者之间的对比。

    表2郾 1摇 专家系统、 传统程序及人类专家的对比

    人 类 专 家 专 家 系 统 传 统 程 序

    摇 在狭窄领域, 以经验法则或启发式方

    法的知识形式来解决问题

    摇 在狭窄领域, 以规则形式表达知识,使用符号推理解决问题

    摇 处理数据, 使用由一系列操作组成

    的算法, 来解决一般的数值问题

    摇 在人脑中, 知识以可编译的形式存在 摇 提供知识与处理过程明确分离的机制 摇 知识与处理知识的控制结构没有

    分离

    摇 能够解释推理过程并提供细节

    摇 在解决问题过程中跟踪被触发的规则,能够解释怎样得出的结论, 以及为什么

    需要特定数据的原因

    摇 对怎样得出结论和需要数据的原因

    都不做解释

    摇 使用不精确的推理, 能处理不完整、不确定和模糊的信息

    摇 允许不精确的推理, 能处理不完整、不确定和模糊的数据

    摇 仅能在数据完整、 确定的情况下处

    理问题

    摇 当信息不完整或模糊时, 可能会出错 摇 当数据不完整或模糊时, 可能会出错 摇 当数据不完整或模糊时, 要么无能

    为力, 要么出错

    摇 通过多年的学习和实践训练, 可以提

    高解决问题的能力。 不过这一过程缓慢、低效、 代价高

    摇 通过向知识库加入新规则或调整老规

    则, 可以提高解决问题的能力。 当需要

    新知识时, 很容易实现调整

    摇 通过改变程序代码可以提高解决问

    题的能力。 由于对代码的改变将同时

    影响知识和处理过程, 改变起来很

    困难

    2郾 6摇 前向链接和后向链接推理技术

    在基于规则的专家系统中,领域知识用一组IF鄄THEN产生式规则来表示,数据用当时情境

    3422 摇 摇 摇 誗 第2 章 基于规则的专家系统

    下的一组事实来表示。 推理引擎将存储在知识库中的规则与数据库中的事实相匹配, 如果一条

    规则的 IF (条件) 部分与事实匹配, 即触发该规则, 执行 THEN (行为) 部分。 被触发的规则

    可能由于添加新事实而改动事实集合, 如图 2郾 4 所示。 数据库和知识库中的字母表示状态或

    概念。

    通过匹配规则的 IF 部分和事实, 形成推理链。 推理链表明了专家系统如何运用规则得出结

    论。 下面通过一个简单的例子来解释链式推理技术。

    假设数据库最初包含5 个事实: A、 B、 C、 D 和 E, 知识库最初包含3 条规则:

    图2郾 5 中的推理链表明了专家系统运用规则最终推出事实 Z 的过程。 规则3 最早被激活, 由

    事实 A 推出了新事实 X。 之后规则2 被激活, 由初始事实 B 和 E, 加上事实 X, 共同推出事实 Y。

    最后, 规则1 被激活, 由初始事实 D 和刚确定的事实 Y 推出事实 Z。

    图2郾 4摇 推理引擎中的匹配 -触发循环过程

    摇 摇 摇 摇

    图2郾 5摇 推理链的例子

    专家系统能够用推理链来解释怎样得出的结论, 这是解释设备的必要部分。

    推理引擎要决定何时激活哪条规则。 选择规则时, 有两个主要方法: 前向链接和后向链接

    (Waterman and Hayes鄄Roth, 1978)。

    2郾 6郾 1摇 前向链接

    上述例子正是运用了前向链接。 现在来具体地分析这一技术。 我们先将规则重写为如下

    形式:

    箭头表明规则的 IF 部分和 THEN 部分。 另外, 再添加两条规则:

    图2郾 6 显示了这一组规则按前向链接的运作流程。

    前项链接是数据驱动 (data鄄 driven) 的推理技术。 从已知数据开始展开推理。 每一次只执行

    顶端的一条规则。 当有规则被触发时, 就有新事实加入数据库。 任何规则只能被执行一次。 当没

    35

    36第2 章 基于规则的专家系统 誗 23 摇 摇 摇

    有规则可触发时, 匹配 -触发循环终止。

    图2郾 6摇 前向链接

    第一轮中, 只有两个规则, 规则 3 颐 A寅X 和规则 4 颐 C寅L, 与数据库中的事实匹配。 规

    则 3颐 A寅X 处于顶端, 就先被触发。 规则 3 的 IF 部分与数据库中的事实 A 相匹配, 执行

    THEN 部分后, 将新事实 X 加入数据库。 之后, 规则 4 颐 C寅L 被触发, 新事实 L 加入数

    据库。

    第二轮中, 由于数据库中已有事实 B、 E 和X。 规则2颐 X B E寅Y 最先被触发, 产生事实

    Y, 并被放入数据库。 这导致第三轮中规则1Y D寅Z 被执行, 生成新事实 Z。 至此, 匹配 - 激

    活循环终止。 由于规则5颐 L M寅N 不匹配所有数据库中的事实, 规则5 无法被触发。

    前向链接是搜集信息并推出信息的技术。 不过, 在前向链接中, 许多被触发的规则也许与问

    题目标无关。 在上面的例子中, 目标是推出事实 Z。 我们仅有 5 条规则, 其中4 条规则被触发。

    规则4颐 C寅L 虽与事实 Z 无关, 也同样被触发了。 一个真正的基于规则的专家系统可能有成百上

    千条规则, 许多规则被触发后虽然能推出有效的新事实, 但可能与目标无关。 所以, 如果只需推

    出一个特定的事实, 前向链接推导技术或许效率很低。

    这种情况下, 后向链接技术就比较合适。

    2郾 6郾 2摇 后向链接

    后向链接是目标驱动的推理技术。 在后向链接中, 专家系统有目标 (一个假设的答案), 推

    理引擎的任务是找出证明目标的论据。 首先, 在知识库中搜寻含有目标的规则, 即 THEN 部分包

    含的目标规则。 如果找到这种规则, 在数据库中也有匹配的事实, 就触发规则并证明目标。 不过

    这种情况很少见。 所以, 推理引擎就暂不考虑这类规则 (将规则压栈), 要建立新目标, 即子目

    标, 以证明压栈规则的 IF 部分。 接下来, 再次查找知识库中能证明子目标的规则。 推理引擎不

    断将规则压栈, 直到知识库中的所有规则都不能证明子目标。

    图2郾 7 以上述例子为例, 显示了后向链接的工作原理。

    在第1 个周期, 推理引擎尝试推出事实 Z。 通过查找知识库来寻找 THEN 部分包含事实 Z 的

    规则。 推理引擎找到了规则1颐 Y D寅Z, 将它压栈。 规则1 的 IF 部分包含事实 Y 和 D, 所以下

    面是确立事实 Y 和 D。

    在第2 个周期, 推理引擎安装子目标: 事实 Y, 并试图确立它。 通过检查知识库, 发现其中

    37

    3824 摇 摇 摇 誗 第2 章 基于规则的专家系统

    没有事实 Y。 因此需要寻找 THEN 部分包含事实 Y 的规则。 推理引擎发现规则 2颐 X B E寅Y

    满足条件, 将它压栈。 规则2 的 IF 部分包括事实 X、 B 和 E, 接下来同样需要建立这些事实。

    在第 3 个周期, 推理引擎安装新的子目标: 证实事实 X。 推理引擎通过查找数据库, 发

    现不包含 X, 就去查找能推出 X 的规则。 找到了规则 3 颐 A寅X, 将它压栈。 接下来需要证实

    事实 A。

    在第4 个周期, 推理引擎发现 A 在数据库中。 规则3颐 A寅X 被触发, 推出了新事实 X。

    在第5 个周期, 推理引擎要证实子目标 Y, 再次试图执行规则 2颐 X B E寅Y。 由于事实

    X、 B 和 E 都在数据库中, 规则2 被触发, 推出了新事实 Y, 将 Y 加入数据库。

    在第6 个周期, 系统转向规则1颐 Y D寅Z, 尝试证实初始目标 Z。 由于规则1 的 IF 部分与

    数据库中的事实相匹配, 规则1 被执行, 初始目标得以证实。

    图2郾 7摇 后向链接

    现在来对比图 2郾 6 和图 2郾 7 。 可以看出, 前向链接中触发了 4 条规则, 而后向链接中

    只触发了 3 条规则。 这个简单的例子说明了当需要证实一个特定事实时 (例子中是 Z) ,后向链接更为有效。 前向链接中, 在推理过程开始前就确定了数据, 不需用户额外输入。

    在后向链接中, 确立目标后, 只需要那些支持推理的数据, 有时也需要用户输入一些数第2 章 基于规则的专家系统 誗 25 摇 摇 摇

    据库中没有的事实。

    如何选择前向链接和后向链接

    答案是分析领域专家是如何解决问题的。 如果专家事先需要搜集信息, 无论结论是什么都

    试着去推理, 这时应选择前向链接推理技术。 如果专家从一个假设的结论触发, 尝试着找出支持

    结论的论据, 则应选择后向链接推理技术。

    前向链接对于设计能够分析和解释的专家系统来说, 是理所当然的方法。 例如 DEN鄄

    DRAL, 这款专家系统基于大量质谱数据来确定未知土壤的分子结构 ( Feigenbaum et al. ,1971 ) , 就使用了前向链接技术。 多数使用后向链接的专家系统多用于诊断性工作。 例

    如, 诊断传染性血液病的医用专家系统 MYCIN ( Shortliffe, 1976 ) , 就使用了后向链接

    技术。

    能否将前项、 后向链接相结合

    许多专家系统框架同时使用了前项、 后向链接推理技术, 所以知识工程师就不必二选一。 不

    过, 基本的推理机制一般采用后向链接。 只有当确立新事实时, 才使用前向链接以最大程度地利

    用新数据。

    2郾 7摇 MEDIA ADVISOR: 基于规则的专家系统实例

    接下来通过一个简单的基于规则的专家系统进一步说明上述概念。 我们选择专家系统框架

    Leonardo 来构建一个名为 MEDIA ADVISOR 决策支持系统, 用于为实习生推荐平台, 该平台根据

    实习生的工作制订培训计划。 例如, 如果实习生是一个负责维护水压系统的机械技术员, 车间就

    是合适的平台, 在那里可以学习水压组件的工作原理、 如何检测水压故障, 以及如何对水压系统

    做简单修复。 如果实习生是评估投保单的员工, 培训计划中就需包括特定相关任务的讲座, 以及

    实习生评估实际申请的教程。 对于复杂任务, 实习生可能会出错, 培训计划就应包括对实习生绩

    效的反馈。

    知识库

    39

    40

    4126 摇 摇 摇 誗 第2 章 基于规则的专家系统

    摇 摇

    对象

    MEDIA ADVISOR 使用6 个语言对象: environment、 stimulus_situation、 job、 stimulus_response、feedback 和 medium。 各个对象都可以在各自值域内取一个值 (例如, environment 可取的值有

    42第2 章 基于规则的专家系统 誗 27 摇 摇 摇

    papers、 manuals、 documents、 textbooks、 pictures、 illustrations、 photographs、 diagrams、 machines、buildings、 tools、 numbers、 formulas、 computer programs)。 对象和它的值构成事实 (例如, 如果en鄄

    vironment is machines 和那么 job is repairing)。 所有的事实都存在数据库中。

    表2郾 2摇 MEDIA ADVISOR 语言对象及其可取值

    对摇 摇 象 可摇 取摇 值 对摇 摇 象 可摇 取摇 值

    environment

    papers

    manuals

    documents

    textbooks

    pictures

    illustrations

    photographs

    diagrams

    machines

    buildings

    tools

    numbers

    formulas

    computer programs

    job

    lecturing

    advising

    counselling

    building

    repairing

    troubleshooting

    writing

    typing

    drawing

    evaluating

    reasoning

    investigating

    stimulus_response oral

    hands鄄on

    documented

    analytical

    stimulus_situation verbal

    visual

    physical object

    symbolic

    feedback

    required

    not required

    选项

    基于规则的专家系统的最终目标是根据数据找出问题的解决方案。 在 MEDIA ADVISOR 中,解决方案是从4 个选项中选择一个平台。

    对话

    在如下的对话中, 系统要求用户输入所需数据以解决问题 (问题有环境、 工作和反馈三方

    面)。 根据用户提供的答案 (如下面箭头所示), 专家系统应用规则来推出 stimulus_situation is

    physical object, 以及 the stimulus_response is hands鄄 on 等结论, 再根据规则9 选择平台。

    4328 摇 摇 摇 誗 第2 章 基于规则的专家系统

    推理技术

    Leonardo 系统中标准的推理技术是后向链接技术, 偶尔使用前向链接, 它在处理可获取的信

    息时最有效。 Leonardo 用户也能关掉后向链接或前向链接, 这样便能分别研究这两种技术。

    前向链接是数据驱动的推理技术, 需要预先提供数据。 假设:

    将会发生下述过程:

    后向链接是目标驱动的推理技术, 需要预先假定结果 (目标)。 假设目标是 “ ‘medium爷 is

    ‘workshop爷冶, 确立以下目标:

    44

    45第2 章 基于规则的专家系统 誗 29 摇 摇 摇

    用树形图来映射与专家系统的咨询会话很直观。 图2郾 8 是 MEDIA ADVISOR 的树形图。 目标

    是根结点, 当系统启动时, 推理引擎搜寻目标的值。

    图2郾 8摇 MEDIA ADVISOR 的树形图

    MEDIA ADVISOR 能处理任何情况吗

    当我们使用专家系统一段时间后, 会发现可选项不能涵盖所有情况。 例如, 可能出现下面的

    对话。

    所以, MEDIA ADVISOR 在现阶段不能处理上面这些情况。 幸运的是, 通过添加更多规则能

    轻易地扩展专家系统, 直到最终符合用户的需求。

    2郾 8摇 冲突消解

    在本章的开始, 我们举过过马路的例子, 那是两条规则, 现在我们增加第三条规则, 便得到

    了下面的规则集:

    4630 摇 摇 摇 誗 第2 章 基于规则的专家系统

    将会发生什么

    推理引擎将规则的 IF (条件) 部分与数据库中的数据相比较, 当条件满足时触发规则。 由

    于一条规则被触发可能影响到其他规则, 推理引擎每次只允许触发一条规则。 过马路的例子有

    两条规则, 规则2 和规则3, 它们的 IF 部分相同。 当它们的条件被满足时, 两条规则都符合触发

    的条件, 从而组成冲突集。 当多个规则在一个周期内都满足触发条件时, 需要从中选择一条规

    则, 这个方法称为冲突消解 (conflict resolution)。

    当交通灯变红时, 该执行哪条规则

    如果用前向链接, 那么两条规则都会被触发。 规则 2 由于顺序上的优先, 先被触发, 执行

    THEN 部分, 语言对象 “action冶 的值是 “stop冶。 “交通灯变红冶 这一事实仍在数据库中, 规则3

    由于满足条件也被触发, 相应的对象 “ action冶 的新值是 “ go冶。 通过这个简单的例子, 可以看

    出当使用前向链接时, 规则的顺序很关键。

    怎样消解冲突

    消解冲突的显而易见的策略是确立目标, 当目标实现后不再触发规则。 在过马路的例子中,目标是为语言对象 “ action冶 确立值。 当专家系统为 “ action冶 赋值后, 目标实现, 系统终止。

    因此, 当交通灯变红时, 触发规则2, “action冶 的值是 “ stop冶, 至此系统终止。 在这个例子中,专家系统的结论是对的。 但如果调换两个规则, 结论就错了。 这说明知识库中的规则顺序仍然至

    关重要。

    存在其他消解办法吗

    还有其他办法 ( Shirai and Tsuji, 1985; Brachman and Levesque, 2004; Giarratano and Riley,2004)。

    荫 触发优先权最高的规则。 在简单的应用场景中, 合理地排列知识库中的规则就确定了优先

    权。 这种策略一般适于规则数在100 条左右的系统。 但在某些应用中, 必须按照重要程度

    处理数据。 例如, 在一个医疗咨询中 (Durkin, 1994), 按照如下方式设置优先权:

    荫 激发最具体的规则。 这个方法也称为最长匹配策略, 其依据的假设是具体规则比一般规则

    处理更多的信息。 例如:

    47

    48第2 章 基于规则的专家系统 誗 31 摇 摇 摇

    如果 “季节是秋季、 多云、 预报有雨冶 这些条件满足, 由于规则1 的前项比规则 2 更具体,规则1 被触发。 如果仅满足 “季节是秋季冶, 规则2 被触发。

    荫 触发那些在数据库中最近加入的数据的规则。 这个方法依于数据库中每个事实附带的时间

    标签。 专家系统优先触发冲突集中最新加入数据的规则。 例如:

    假定这两条规则的 IF 部分都与数据库中的事实匹配。 由于 “weather is wet冶 这一事实进入

    数据库的时间晚于 “forecast is rain冶, 规则2 被触发。 这个方法尤为适于数据库不断更新的实时

    应用环境。

    以上的冲突消解方法比较简单, 也易于实施。 多数情况下, 这些方法足够用了。 但当程序越

    来越庞大、 复杂时, 知识工程师管理和检查知识库中的规则的任务就会逐渐困难。 必须由专家系

    统分担任务, 并理解系统本身的行为。

    为了提高系统性能, 我们需要为系统提供关于其所拥有的知识的知识, 也就是元知识

    (metaknowledge)。

    元知识可以简单地定义为关于知识的知识, 是在专家系统中使用和控制领域知识的知识

    (Waterman, 1986)。 在基于规则的专家系统中, 用元规则 (metarule) 来表示元知识。 元规则决

    定专家系统中具体任务的规则使用策略。

    元知识的起源是什么

    知识工程师将领域专家的知识传达到专家系统, 学习如何使用问题相关的规则, 逐渐在头

    脑里形成新知识体, 即关于专家系统行为的知识。 这个新知识, 即元知识, 很大程度上独立于领

    域。 例如:

    专家系统会理解和使用元规则吗

    一些专家系统为元规则提供了单独的引擎。 但大多数专家系统都不能区分规则和元规则。

    所以必须对现有知识库中的元规则设定最高权限。 当一条元规则触发时, 能改变其他规则优先

    权的一些重要信息会被添加到数据库。

    2郾 9摇 基于规则的专家系统的优点和缺点

    当构建基于知识的系统时, 基于规则的专家系统被公认为最好的选择。

    什么特征使得基于规则的专家系统被知识工程师青睐

    这些特征是:

    荫 自然语言表达。 专家通常会使用这样的表达来解释解决问题的过程: “在什么—什么

    情况下, 我如何—如何做。冶 这样的表达可以被很自然地表达为 IF鄄THEN 产生式

    规则。

    荫 统一结构。 产生式规则具有统一的IF鄄THEN 结构。 每一条规则都是一个独立的知识。 产生

    式规则的语法使得规则具有自释性。

    4932 摇 摇 摇 誗 第2 章 基于规则的专家系统

    荫 知识与处理的相分离。 基于规则的专家系统的结构为知识库和推理引擎提供了有效的分离

    机制。 因此, 能够使用同一个专家系统框架开发不同的应用, 系统本身也容易扩展。 在不

    干扰控制结构的同时通过添加一些规则, 还能使系统更聪明。

    荫 处理不完整、 不确定的知识。 大多数基于规则的专家系统都能表达和推理不完整、 不确定

    的知识。 例如:

    这条规则就表达了下面这条句子的不确定性。

    “如果是秋季, 看似在下毛毛雨, 那么今天可能又很潮湿。冶

    这条规则用数值表达不确定性, 称为确信因子 { cf 0郾 1}。 专家系统使用确信因子来确立规

    则结论的可信度或者可信水平。 我们将在第3 章具体讨论这一话题。

    这些特征使得专家系统在现实问题的知识表达上非常适用。

    基于规则的专家系统就完美无缺了吗

    其有3 个主要的缺点:

    荫 规则之间的关系不透明。 尽管单条规则都比较简单, 也是自释性的, 大量规则间的逻辑关

    系却可能不透明。 在基于规则的系统中, 难以观察单条规则如何对整个策略起作用, 原因

    在于基于规则的专家系统缺乏分层的知识表达。

    荫 低效的搜索策略。 推理引擎在每个周期中搜索所有的规则。 当规则很多时 (多于 100

    条规则) , 系统速度会很慢。 基于规则的大型系统可能就不适用于实时应用。

    荫 没有学习能力。 一般的基于规则的专家系统都不具备从经验中学习的能力。 人类专家知道

    何时打破规则, 而专家系统并不能自动修改知识库, 例如调整规则、 添加规则。 修改和维

    护系统的任务仍然由知识工程师来做。

    2郾 10摇 小结

    本章介绍了基于规则的专家系统, 简要讨论了何为知识, 专家如何以产生式规则形式

    表达知识。 我们分析了专家系统开发团队的主要成员, 描述了基于规则的系统的结构, 分

    析了专家系统的主要特征, 并指出专家系统也有出错的时候。 接下来回顾了前向链接、 后

    向链接推理技术, 对冲突消解策略进行了讨论。 最后, 我们分析了基于规则的专家系统的

    优缺点。

    本章的主要内容为:

    荫 知识是对主题的理论和实践两方面的理解, 是当前所知的总和。

    荫 专家是在特定领域具有深厚知识 (以事实和规则的形式体现) 和丰富经验的人, 能够做

    他人做不到的事情。

    荫 专家通常以产生式规则形式表达知识。

    荫 产生式规则用 IF (前提) THEN (结论) 语句表达, 它是最常用的知识表达方式。 关系、建议、 指示、 策略以及启发式方法都可以用规则表达。

    荫 专家系统是在狭窄问题领域具有专家水平的计算机程序。 基于规则的专家系统是最普及的

    专家系统。

    荫 开发基于规则的专家系统时, 框架逐渐成为常用的选择。 专家系统框架是没有知识的专家

    系统骨架。 当针对应用构建系统时, 用户只需以规则形式添加知识, 并提供相关数据。 因

    50

    51第2 章 基于规则的专家系统 誗 33 摇 摇 摇

    此, 专家系统框架大大降低了系统的开发时间。

    荫 专家系统团队由领域专家、 知识工程师、 程序员、 项目经理以及终端用户组成。 知识工程

    师设计、 构建和测试专家系统, 并从领域专家那里获取知识, 确定推理方法, 以及选择开

    发软件。 当使用专家系统框架开发小型系统时, 项目经理、 知识工程师、 程序员甚至领域

    专家都可能是同一个人。

    荫 基于规则的专家系统包括5 个基本组成部分: 知识库、 数据库、 推理引擎、 解释设备以及

    用户界面。 知识库包含用一系列规则表示的知识。 数据库包含一系列事实, 用于和规则的

    IF 部分相匹配。 推理引擎链接规则和事实, 执行推理, 以使系统得出解决方案。 解释设

    备帮助用户查询系统如何得出一个结论, 以及为什么需要某一个事实。 用户界面则是用户

    和专家系统的互动途径。

    荫 专家系统将知识库和推理引擎分隔开, 以分离知识和对知识的处理, 从而使专家系统的构

    建和维护更加容易。 当使用专家系统框架时, 知识工程师或者专家只需将知识录入知识

    库。 每添加一条新规则, 都会扩充知识, 也使专家系统更聪明。

    荫 专家系统在问题 -解决会话中跟踪被触发的规则, 从而具备一定的解释能力。

    荫 专家系统能够处理不完整、 不确定的数据, 也允许不精确的推理, 这不同于传统

    程序。 不过正如人类专家那样, 当信息不完整或模糊时, 专家系统也有出错的

    时候。

    荫 进行搜索和推理有两个主要方法: 前向链接和后向链接推理技术。 前向链接是数据驱动

    的: 从已知数据出发进行推理, 直到没有规则可以被激活。 后向链接是目标驱动的: 预先

    设定目标, 推理引擎负责寻找证明目标的论据。

    荫 如果在一个循环内有多条规则满足触发条件, 推理引擎必须决定该触发哪条规则, 这种行

    为称为冲突消解。

    荫 基于规则的专家系统的优点是: 能够有自然的知识表达方式, 有统一的结构, 知识和对知

    识的处理相分离, 能处理不完整、 不确定的知识。

    荫 基于规则的专家系统的缺点是: 规则之间的关系不透明, 搜索策略低效, 不具备学习

    能力。

    复习题

    2郾 1摇 知识是什么? 解释为什么在特定领域的有限范围内专家有丰富的知识。 什么是启发式方法?

    2郾 2摇 产生式规则是什么? 举例说明产生式规则的两个必要部分。

    2郾 3摇 列举并描述专家系统开发团队的5 个主要成员。 知识工程师的任务是什么?

    2郾 4摇 什么是专家系统框架? 解释为什么专家系统框架会大大降低系统的开发时间。

    2郾 5摇 什么是产生式系统模型? 列举并描述专家系统的5 个基本组成部分。

    2郾 6摇 专家系统的主要特征是什么? 专家系统与传统程序的区别在哪里?

    2郾 7摇 专家系统会出错吗? 为什么?

    2郾 8摇 描述前向链接推理技术并举例。

    2郾 9摇 描述后向链接推理技术并举例。

    2郾 10摇 列举前向链接推理技术适合解决的问题。 为什么后向链接适合解决诊断问题?

    2郾 11摇 什么是规则冲突集? 怎么解决冲突? 列举并描述基本的冲突消解方法。

    2郾 12摇 列举基于规则的专家系统的优缺点。

    52

    5334 摇 摇 摇 誗 第2 章 基于规则的专家系统

    参考文献

    54第3 章 Artificial Intelligence, 3E

    基于规则的专家系统中的不确定性管理

    本章主要介绍不确定性管理范例、 贝叶斯推理和确信因子, 讨论它们的优缺点, 并以实例阐

    述这些理论。

    3郾 1摇 不确定性简介

    不完美是可供人类专家使用的信息的共同特点之一。 信息可能是不完整的、 不一致的、 不确

    定的, 也许会同时有这3 个方面。 也就是说, 这样的信息总是不适合于解决问题。 然而, 专家却

    能应对这些缺陷, 并通常做出正确的判断和决定。 相应地, 专家系统也应能够处理不确定因素,并给出有效的结论。

    在专家系统中, 不确定性指什么

    不确定性是指, 不具有使我们得出完美可信结论所需的准确的知识 ( Stephanou and Sage,1987)。 传统逻辑只允许精确推理, 总假设存在完善知识, 并总能使用排中律:

    和

    然而, 用专家系统来解决的大多数实际问题并不能提供精确的知识, 而是提供不精确、 不完

    整甚至不可测的数据。

    专家系统中不确定性知识的来源是什么

    我们一般将来源分为4 种: 弱暗示、 不精确的语言、 未知数据, 以及合并不同专家观点时的

    困难 (Bonissone and Tong, 1985)。 下面具体分析这4 种来源。

    誗 弱暗示。 基于规则的专家系统常面临弱暗示和模糊联系的问题。 在确立规则的 IF (条

    件) 和 THEN (行为) 两部分的具体关联时, 领域专家和知识工程师会感到棘手, 或者

    难以进行。 因此, 处理模糊联系就成了专家系统的任务, 例如用数值型确信因子表达关

    联度。

    誗 不精确的语言。 自然语言是天生模糊、 不精确的。 我们在描述事实时, 会用到 “常常、有时、 频繁地、 几乎不冶 之类的术语。 因此, 难以用精确的 IF - THEN 产生式规则表

    达知识。 如果将事实含义定量化, 就可以用于专家系统。 1944 年, Ray Simpson 让 355

    个高中生或大学生对 20 个类似 “常常冶 的术语表达为 1 ~ 100 范围内的数值 ( Simp鄄

    son, 1944) 。 在1968 年, Milton Hakel 重做了这个实验 (Hakel, 1968) 。 结果如表 3郾 1

    所示。 通过量化术语含义, 使专家系统能建立规则的 IF (条件) 和事实之间的恰当

    匹配。

    誗 未知数据。 当数据不完整或缺失时, 唯一的方法是将值设为 “未知冶, 以使推理继续

    下去。

    誗 融合不同专家的观点。 大型专家系统通常会融合多个专家的知识和经验。 例如, 在开发

    勘探专家系统 PROSPECTOR 时, 有9 个专家参与 (Duda et al郾 , 1979)。 不过, 专家们的

    结论很少一致。 观点不同导致规则冲突。 为了解决冲突, 知识工程师需要为每位专家分

    5536 摇 摇 摇 誗 第3 章 基于规则的专家系统中的不确定性管理

    配一个权重, 并按权重综合各方结论。 事实上, 即使只有一个领域专家, 他的经验水平

    也在变化。 另外, 不存在确定权重的系统性方法。

    总之, 由于任何实际领域都包含不确定知识, 专家系统应能够管理不确定性, 能够处理不完

    整、 不一致甚至缺失的数据。 在基于规则的专家系统中, 已有许多数值型和非数值型方法来处理

    不确定性 (Bhatnagar and Kanal, 1986)。 本章将讨论最通用的不确定性管理范例: 贝叶斯推理和

    确信因子。 下面首先回顾一下经典概率论的基本原理。

    表3郾 1摇 模糊术语、 不精确术语在时间频率范围上的量化

    Ray Simpson (1944) Milton Hakel (1968)

    术语 均值 术语 均值

    Always 99 Always 100

    Very often 88 Very often 87

    Usually 85 Usually 79

    Often 78 Often 74

    Generally 78 Rather often 74

    Frequently 73 Frequently 72

    Rather often 65 Generally 72

    About as often as not 50 About as often as not 50

    Now and then 20 Now and then 34

    Sometimes 20 Sometimes 29

    Occasionally 20 Occasionally 28

    Once in a while 15 Once in a while 22

    Not often 13 Not often 16

    Usually not 10 Usually not 16

    Seldom 10 Seldom 9

    Hardly ever 7 Hardly ever 8

    Very seldom 6 Very seldom 7

    Rarely 5 Rarely 5

    Almost never 3 Almost never 2

    Never 0 Never 0

    3郾 2摇 概率论基本知识

    概率这一基本概念在我们的日常生活中扮演着重要角色, 例如要下雨的概率, 得到提

    升的可能性, 澳大利亚板球队在下一个赛季获胜的几率, 中了 Tattslotto 彩票百万美元的概

    率等。

    概率的概念有着很长的历史, 可回溯到上千年之前, 那时口语中已经出现了诸如 “ proba鄄

    bly冶、 “likely冶、 “maybe冶、 “ perhaps冶、 “ possibly冶 之类的词 (Good, 1959)。 不过, 概率的数学

    理论是17 世纪才形成的。

    如何定义概率

    事件的概率是该事件发生所占的比例 (Good, 1959)。 概率也可以定义为可能性的科学度

    量。 Feller (1966; 1968) 和 Fine (1973) 写的两本著名教材中对现代概率理论进行了详细分析。

    本章仅研究在专家系统中与不确定性相关的基本概率概念。

    概率可表示为0 (不可能发生) 到1 (必然发生) 范围内的数值型指标。 大部分事件的概率

    56第3 章 基于规则的专家系统中的不确定性管理 誗 37 摇 摇 摇

    指标都严格限制在0 ~ 1 之间, 这意味着每一个事件至少有两个结果: 有利的结果或成功, 不利

    的结果或失败。

    成功、 失败的概率计算公式可表示为:

    P(成功) =

    成功次数

    可能结果的总数 (3郾 1)

    P(失败) =

    失败次数

    可能结果的总数 (3郾 2)

    因此, 如果用 s 表示成功次数, f 表示失败次数, 则有:

    P(成功) = p =

    s

    s + f

    (3郾 3)

    P(失败) = q =

    f

    s + f

    (3郾 4)

    和

    p + q = 1 (3郾 5)

    现在, 我们来看经典的抛硬币和掷骰子的例子。 在抛硬币时, 正面朝上和反面朝上的概率是

    一样的。 在一次投掷中, s = f = 1, 因此正面 (或反面) 朝上的概率是0郾 5。

    再以掷骰子为例, 分析单次投掷时得到6 点的概率。 假设我们的目标是6 点, 由于单次投掷

    时, 仅有一种情况是6 点, 而有5 种情况不是6 点, 所以 s = 1, f = 5。 得到6 点的概率是

    p =

    1

    1 + 5

    = 0郾 1666

    结果不是6 点的概率是

    q =

    5

    1 + 5

    = 0郾 8333

    到现在为止,我们所观注的事件都是独立、互斥的(事件不可能同时发生)。 在掷骰子的例子

    中,得到6 点与得到1 点这两个事件就是互斥的,因为不可能在一次投掷中同时得到6 点和1 点。

    同时,如果事件不独立,可能影响其他事件发生的可能。 如果在掷骰子时,知道1 点不会出现,我们

    来分析单次投掷中得到6 点的概率。 虽然有5 种情况不会出现6 点,由于1 点不会出现,就排除了

    1 种情况,所以,p =

    1

    1 + (5 - 1)

    若 A、B 是真实世界中的事件。 假设有 A、B 两个不互斥的事件,一个事件的发生条件依赖于另

    一个事件的发生。 在事件 B 发生的基础上事件 A 发生的概率称为条件概率,用数学形式表示为 p

    (A | B),其中的竖线“ | 冶表示后面事件已发生。 完整的概率表达式可理解为“在事件 B 已发生的情

    况下,事件 A 发生的条件概率冶。

    p(A | B) =

    A 和 B 都发生的次数

    B 发生的次数 (3郾 6)

    A 和B 都发生的概率, 称为A 和B 的联合概率, 它的数学表达形式是p(A疑B)。 事件B 发生

    的次数, 或者 B 发生的概率, 用 p(B)表示。 那么有:

    p(A | B) =

    p(A疑B)

    p(B)

    (3郾 7)

    类似地, 在事件 A 发生的前提下, 事件 B 发生的条件概率是

    57

    5838 摇 摇 摇 誗 第3 章 基于规则的专家系统中的不确定性管理

    p(B| A) =

    p(B疑A)

    p(A)

    (3郾 8)

    因此,p(B疑A) = p(B| A) 伊 p(A) (3郾 9)

    由于联合概率具有可交换性, 则有:

    p(A疑B) = p(B疑A)

    所以,p(A疑B) = p(B| A) 伊 p(A) (3郾 10)

    将公式 (3郾 10) 代入公式 (3郾 7), 则有:

    p(A | B) =

    p(B| A) 伊 p(A)

    p(B)

    (3郾 11)

    其中:

    p(A | B)是在事件 B 发生时, 事件 A 发生的条件概率;

    p(B| A)是在事件 A 发生时事件 B 发生的条件概率;

    p(A)是事件 A 发生的概率;

    p(B)是事件 B 发生的概率。

    公式 (3郾 11) 就是贝叶斯规则, 是18 世纪英国数学家 Thomas Bayes 首先提出了该规则, 以

    他的名字命名的。

    前面所讲的条件概率的概念都假定事件 A 依赖事件 B。 贝叶斯规则可以扩展为事件 A 依赖多

    个互斥事件 B1, B2, …, Bn的情况。 可将公式 (3郾 7) 扩展为以下情况:

    p(A疑B1) = p(A | B1) 伊 p(B1)

    p(A疑B2) = p(A | B2) 伊 p(B2)

    左

    p(A疑Bn) = p(A | Bn) 伊 p(Bn)

    或合并为:

    鄱 n

    i = 1

    p(A疑Bi) = 鄱 n

    i = 1

    p(A | Bi) 伊 p(Bi) (3郾 12)

    如果公式 (3郾 12) 包含了图3郾 1 中的所有事件 Bi

    , 则有公式

    鄱 n

    i = 1

    p(A疑Bi) = p(A) (3郾 13)

    因此, 公式 (3郾 12) 变为下面形式:

    p(A) = 鄱 n

    i = 1

    p(A | Bi) 伊 p(Bi) (3郾 14)

    图3郾 1摇 联合概率

    如果事件 A 的发生依赖于两个互斥事件, 即 B 发生或 B 不发生,公式 (3郾 14) 则变为下面形式:

    p(A) = p(A | B) 伊 p(B) + p(A | 劭B) 伊 p(劭B) (3郾 15)

    其中, 劭 表示逻辑运算符 NOT。

    同样的,p(B) = p(B| A) 伊 p(A) + p(B| 劭 A) 伊 p(劭 A) (3郾 16)

    将公式 (3郾 16) 代入公式 (3郾 11), 得到下面的贝叶斯规则

    公式:

    p(A | B) =

    p(B| A) 伊 p(A)

    p(B| A) 伊 p(A) + p(B| 劭 A) 伊 p(劭 A)

    (3郾 17)

    59

    60第3 章 基于规则的专家系统中的不确定性管理 誗 39 摇 摇 摇

    公式 (3郾 17) 为专家系统中的不确定性管理提供了概率论的应用背景。

    3郾 3摇 贝叶斯推理

    有了公式 (3郾 17), 我们就可以暂时放下基本的概率理论, 将注意力转移到专家系统上。 假

    设知识库中的所有规则都用下面形式表示:

    规则的含义是如果事件 E 发生, 则事件 H 发生的概率是 p。

    如果事件 E 已发生, 但不知道事件 H 是否也发生, 怎样计算 H 发生的概率

    我们用公式 (3郾 17) 就能回答这个问题。 我们现在使用符号 H 和 E, 而不是 A 和 B。 对于专

    家系统, H 表示假设, E 表示支持假设的论据。 我们用 H 和 E 重写公式 (3郾 17):

    p(H| E) =

    p(E| H) 伊 p(H)

    p(E| H) 伊 p(H) + p(E| 劭H) 伊 p(劭H)

    (3郾 18)

    其中:

    p(H) 是假设 H 为真的先验概率:

    p(E| H) 是假设 H 为真时导致论据 E 的概率;

    p(劭H) 是假设 H 为假的先验概率;

    p(E| 劭H) 是在假设 H 为假时发现证据 E 的概率。

    公式 (3郾 18) 表明在假设 H 的先验概率 p(H)必须在检验证据前定义。 在专家系统中, 解

    决问题时需用到的概率由专家提供, 专家定义 p(H)和 p( 劭 H)这两个先验概率, 以及条件概率

    p(E | H)和 p(E | 劭 H) 。 用户提供论据 E 的有关信息, 由专家系统计算 p( H | E) 。 p( H | E)称为

    后验概率。

    如果专家根据单个论据 E, 提出了多个假设 H1、 H2、 …、 Hm, 而非一个假设, 或给定多个

    论据 E1、 E2、 …、 En, 专家也提供了多个假设

    摇 摇 可以将公式 (3郾 18) 推广到包含多个假设 H1、 H2、 …、 Hm和多个论据 E1、 E2、 …、 En的场

    合, 假设和论据都必须是互斥且完备的。

    对于单个论据 E 和多个假设 H1、 H2、 …、 Hm的情况, 有下面公式:

    p(Hi

    | E) =

    p(E | Hi) 伊 p(Hi)

    鄱 m

    k = 1

    p(E | Hk) 伊 p(Hk)

    (3郾 19)

    对于多个论据 E1、 E2、 …、 En和多个假设 H1、 H2、 …、 Hm的情况, 则有:

    p(Hi

    | E1E2…En) =

    p(E1E2…En | Hi) 伊 p(Hi)

    鄱 m

    k = 1

    p(E1E2…En | Hk) 伊 p(Hk)

    (3郾 20 ......

您现在查看是摘要介绍页, 详见PDF附件(5156KB,68页)