第 6章 专家系统
6.1 专家系统概述 6.5 新型专家系统
6.2 基于规则的专家系统 6.6 专家系统设计
6.3 基于框架的专家系统 6.7 专家系统开发工具
6.4 基于模型的专家系统 6.8 小结
2
6.1 专家系统概述
?专家系统 (expert system)是人工智能应用研究
最活跃和最广泛的课题之一
?定义:是一个含有大量的某个领域专家水平的
知识与经验智能计算机程序系统,能够利用人
类专家的知识和解决问题的方法来处理该领域
问题
3
6.1 专家系统概述
6.1.1 专家系统特点
专家系统具有一些共同的特点和优点
?专家系统具有下列 3个特点:
?启发性
?透明性
?灵活性
?专家系统的优点存在八个方面
4
6.1.2 专家系统的类型
? 解释专家系统
? 预测专家系统
? 诊断专家系统
? 设计专家系统
? 规划专家系统
6.1 专家系统概述
? 监视专家系统
? 控制专家系统
? 调试专家系统
? 教学专家系统
? 修理专家系统
5
1.解释专家系统
(expert system for interpretation)
?任务 通过对过去和现在已知状况的分析,推
断未来可能发生的情况
?特点
?数据量很大,常不准确、有错误、不完全
?能从不完全的信息中得出解释,并能对数
据做出某些假设
?推理过程可能很复杂和很长
?例子 语音理解、图象分析、系统监视、化学
结构分析和信号解释等
6.1 专家系统概述
6
2,预测专家系统
(expert system for prediction)
?任务 通过对已知信息和数据的分析与解释,
确定它们的涵义。
?特点
?系统处理的数据随时间变化,且可能是不准确和
不完全
?系统需要有适应时间变化的动态模型
?例子 有气象预报、军事预测等
6.1 专家系统概述
7
3,诊断专家系统
(expert system for diagnosis)
? 任务 根据观察到的情况 (数据 )来推断出某个对象机能
失常 (即故障 )的原因
? 特点
?能够了解被诊断对象或客体各组成部分的特性以及
它们之间的联系
?能够区分一种现象及其所掩盖的另一种现象
?能够向用户提出测量的数据,并从不确切信息中得
出尽可能正确的诊断
? 例子 有医疗诊断等
6.1 专家系统概述
8
4,设计专家系统
(expert system for design)
?任务 寻找出某个能够达到给定目标的动
作序列或步骤
?特点
?从多种约束中得到符合要求的设计
?系统需要检索较大的可能解空间
?能试验性地构造出可能设计,易于修改
?能够使用已有设计来解释当前新的设计
?例子 VAX计算机结构设计专家系统等
6.1 专家系统概述
9
5.规划专家系统
(expert system for planning)
?任务 寻找出某个能够达到给定目标的动作序
列或步骤
?特点
?所要规划的目标可能是动态的或静态的,
需要对未来动作做出预测
?所涉及的问题可能很复杂
?例子 军事指挥调度系统,ROPES机器人规划
专家系统、汽车和火车运行调度专家系统等。
6.1 专家系统概述
10
6.监视专家系统
(expert system for monitoring)
?任务 对系统、对象或过程的行为进行不断观
察,并把观察到的行为与其应当具有的行为
进行比较,以发现异常情况,发出警报
?特点
?系统应具有快速反应能力
?系统发出的警报要有很高的准确性
?系统能够动态地处理其输入信息
?例子 粘虫测报专家系统
6.1 专家系统概述
11
7,控制专家系统
(expert system for control)
?任务 自适应地管理一个受控对象或客体的全
面行为,使之满足预期要求
?特点 控制专家系统具有解释、预报、诊断、
规划和执行等多种功能
?例子 空中交通管制、商业管理、自主机器人
控制、作战管理、生产过程控制和生产质量
控制等
6.1 专家系统概述
12
8,调试专家系统
(expert system for debugging)
?任务 对失灵的对象给出处理意见和方法
?特点 同时具有规划、设计、预报和诊断等专家
系统的功能
?例子 在这方面的实例还比较少见
6.1 专家系统概述
13
9,教学专家系统
(expert system for instruction)
?特点
?同时具有诊断和调试等功能
?具有良好的人机界面
?例子 MACSYMA符号积分与定理证明系统,
计算机程序设计语言和物理智能计算机辅助教
学系统等
6.1 专家系统概述
14
10,修理专家系统
(expert system for repair)
?任务 对发生故障的对象 (系统或设备 )进行处理,
使其恢复正常工作
?功能 有诊断、调试、计划和执行等功能
?例子 ACI电话和有线电视维护修理系统
6.1 专家系统概述
15
6.1.3专家系统的结构和建造步骤
?定义:指专家系统各组成部分的构造方法和
组织形式
?专家系统结构图
6.1 专家系统概述
知识库
推理机
专家知识
输入或提问 答案
图 6.1专家系统结构简图
16
图 6.2则为理想专家系统的结构图
接口用户 事实规则
计划
议程
中间解
黑板
知识库解释器
执行器
调度器
协调器
6.1 专家系统概述
17
一般应用程序与专家系统的区别:
一般应用程序 专家系统
把问题求解的知识
隐含地编入程序。
把知识组织为两级:
数据级和程序级。
把其应用领域的问题
求解知识单独组成一
个实体。即为知识库。
将知识组织成三级;
数据、知识库和控制。
6.1 专家系统概述
18
知识化问题
图 6.3建立专家系统的步骤
合法化概念化 形式化 规则化知识 概念
结构
形式
规则
再设计 改进
重新阐述
2,专家系统的建造步骤
6.1 专家系统概述
19
建立系统的一般步骤如下
?设计初始知识库
?问题知识化
?知识概念化
?概念形式化
?形式规则化
?规则合法化
?原型机( prototype)的开发与实验
?知识库的改进与归纳
6.1 专家系统概述
20
6.2基于规则的专家系统
知识库
(规则)
工作存储器
(事实)
推理机
1.基于规则的专家系统的工作模型
图 6.4 基于规则的工作模型
21
基于规则的专家系统采用下列
模块来建立产生式系统的模型,
?知识库 以一套规则建立人的长期存储器模型
?工作存储器 建立人的短期存储器模型, 存放问
题事实和由规则激发而推断出的新事实
?推理机 借助于把存放在工作存储器内的问题事
实和存放在知识库内的规则结合起来, 建立人
的推理模型, 以推断出新的信息
6.2 基于规则的专家系统
22
2.基于规则专家系统的结构
6.2 基于规则的专家系统
解释器
用户界面 开发界面
外部程序工作存储器
推理机
知识库
用户 知识工程师
图 6.5 基于规则专家系统的结构
23
6.3 基于框架的专家系统
?1,面向目标编程与基于框架设计
?基于框架的专家系统建立在框架的基础之上
?基于框架的专家系统采用面向目标编程技
?基于框架的设计和面向目标的编程共享许多
特征
?在设计基于框架系统时, 专家系统的设计者
们把目标叫做框架
24
特征
名称

侧面
规则 目标议程表
人类
男人 女人
约翰 李勇 丽达 王红
?类( class)
?槽 (Slots)
?子类( subclass)
?例子 (instances)
?规则 (rules)
?目标议程表
(goal agenda)
2,基于框架专家系统的结构
6.3 基于框架的专家系统
图 6.6 人类的框架分层结构
25
3,基于框架专家系统的一般设计方法
?基于框架专家系统的主要设计步骤与基于规则的
专家系统相似 。 主要差别在于如何看待和使用知

?在设计基于框架的专家系统时, 把整个问题和每
件事想像为编织起来的事物
?在辨识事物之后, 寻找把这些事物组织起来的方

?对于任何类型的专家系统,其设计是个高度交互
的过程
6.3 基于框架的专家系统
26
6.4 基于模型的专家系统
1,基于模型专家系统的提出
?关于人工智能的一个观点
?综合各种模型的专家系统比基于逻辑心理
模型的系统具有更强的功能, 从而有可能
显著改进专家系统的设计
?在诸多模型中, 人工神经网络模型的应用
最为广泛
27
2,基于神经网络的专家系统
? 神经网络模型从知识表示、推理机制到控制方式,与
目前专家系统中的基于逻辑的心理模型有本质的区别
? 三种神经网络模型与专家系统集成模式
?神经网络支持专家系统
?专家系统支持神经网络
?协同式的神经网络专家系统
6.4 基于模型的专家系统
28
神经网络专家系统的基本结构
6.4 基于模型的专家系统
知识获取
学习
示例
网络
结构
学习
算法 解释器
专家 神经网络 用户
知识库 推理机
图 6.7 神经网络专家系统的基本结构
29
神经网络专家系统的几个问题讨论
?神经网络的知识表示是一种隐式表示
?神经网络通过实例学习实现知识自动获取
?神经网络的推理是个正向非线性数值计算过程,
同时也是一种并行推理机制
?同一知识领域的几个独立的专家系统可组合成更
大的神经网络专家系统
6.4 基于模型的专家系统
30
6.5 新型专家系统
6.5.1 新型专家系统的特征
? 并行与分布处理
? 多专家系统协同工作
? 高级语言和知识语言描述
? 具有自学习功能
? 引入新的推理机制
? 具有自纠错和自完善能力
? 先进的智能人机接口
31
6.5.2 分布式专家系统
? 主要目的,把一个专家系统的功能经分解以后分
布到多个处理器上去并行地工作,从而在总体上
提高系统的处理效率。
? 可以工作在紧耦合的多处理器系统环境中,也可
工作在松耦合的计算机网络环境里,所以其总体
结构在很大程度上依赖于其所在的硬件环境。
6.5 新型专家系统
32
设计和实现分布式专家系统,需要解决的问题:
? 功能分布 把分解得到的系统各部分功能或任务合理均衡
地分配到各处理节点上去
? 知识分布 根据功能分布的情况把有关知识经合理划分以
后分配到各处理节点上。
? 接口设计 各部分间接口的设计目的是要达到各部分之间
互相通讯和同步容易进行
? 系统结构 一方面依赖于应用的环境与性质,另一方面依
赖于其所处的硬件环境
? 驱动方式 可供选择的几种驱动方式 (1) 控制驱动 (2) 数据
驱动 (3) 需求驱动 (4) 事件驱动
6.5 新型专家系统
33
6.5.3 协同式专家系统
?一般专家系统解题的领域面很窄
?协同式多专家系统是克服一般专家系统的局
限性的一个重要途径 。
?协同式多专家系统亦可称, 群专家系统,
6.5 新型专家系统
34
设计与建立一个协同式多专家系统,
需要解决的问题:
?任务的分解
?公共知识的导出
?讨论方式
?驱动方式
6.5 新型专家系统
35
6.6 专家系统设计
分为以下两部分介绍
以设计一个基于规则的维修咨询系统为例,
说明专家系统的设计过程 。 这一过程包括描述专
家知识, 应用知识和解释决策等 。
?专家知识的描述
?知识的使用和决策解释
36
6.6.1专家知识的描述
? 结论的表示 结论规定了所涉及专门知识的范围
? 观测的表示 观测是得到结论所需要的观察或量测结果
? 推理规则的表示 产生式规则是决策规则最为常用的表
示形式可根据观测和假设之间的逻辑关系分成 3类,(1)
FF规则 )(2) FH规则 (3) HH规则
6.6 专家系统设计
37
6.6.2 知识的使用和决策解释
?结论的分级与选择
?询问问题的策略
?固定的顺序
?根据具体情况作出某种选择
?决策的解释
?对系统设计者的解释
?对系统使用者的解释
6.6 专家系统设计
38
6.7 专家系统开发工具
?专家系统工具是一种更高级的计算机程
序设计语言
?现有的专家系统工具,主要分为骨架型
工具、语言型工具、构造辅助工具和支
撑环境等 4类
39
1,骨架型开发工具
?定义 只保留原系统独立于问题领域知识
的推理机部分形成的工具称为骨架
?优点 使用方便,节省在开发系统的过程结构
上的时间,提高开发效率,交互性好,提供
很强的对结果进行解释的功能
?问题及缺点
?实例 EMYCIN
6.7 专家系统开发工具
40
2,语言型开发工具
?与骨架型的对比
?优点 结构变化范围广泛,表示灵活,所适
应的范围广泛
?问题及缺点 功能上的通用性与使用上的方便
性的矛盾造成一些问题和缺点
?实例 OPS5,CLIPS等
6.7 专家系统开发工具
41
3,构造辅助工具
?主要分两类 设计辅助工具,知识获取辅助工

?实例 AGE系统, TEIRESIAS
6.7 专家系统开发工具
4,支撑环境
?支撑设施是指帮助进行程序设计的工具
?四个典型组件:调试辅助工具、输入输
出设施、解释设施和知识库编辑器
42
6.8 小结
?首先研究了专家系统的基本问题
?接着讨论了基于不同技术建立的
专家系统
?第五节归纳的新型专家系
?第六节介绍了专家系统的设计
?第七节简介了 4种主要开发工具