第 8章 专家系统
8.1 专家系统的概念
8.1.1 什么是专家系统
专家系统( Expert system)是一个智能计算
机软件系统。
人类专家的特点
? 具有丰富的专业知识和实践经验。
? 具有独特的分析问题和解决问题的方法和策略。
专家系统应具备的要素
? 应用于某专门领域
8.1 专家系统的概念
? 拥有专家级知识;
? 能模拟专家的思维;
? 能达到专家级水平。
专家系统的特点
? 专家系统善于解决不确定性的、非结构化的、没
有算法解或虽有算法解但实现困难的问题。如:
医疗诊断、地质勘探、天气预报、管理决策等。
? 专家系统是基于知识的智能问题求解系统。不同
于常规程序基于固定算法。专家系统 =知识 +推
理,常规程序 =数据结构 +算法。
8.1 专家系统的概念
? 从系统结构看,专家系统的知识与推理是分离的,
因而系统具有很好的灵活性和可扩充性。
? 专家系统具有, 自学习, 能力,能不断地对自己
的知识进行总结、扩充和完善。
? 具有解释功能。在运行过程中能回答用户的提问,
并具有透明性,能以用户所能理解的方式解释得
到结论的推理过程。
? 专家系统不像人类专家那样容易疲劳、遗忘和受
环境影响。它的工作状态始终是稳定如一的。而
且能够突破人类专家的时间和空间限制,永久保
存,任意复制,在不同地区和部门使用。
8.1 专家系统的概念
专家系统的实用范围
用专家系统来提高工作效率
人类专家的知识很快就要失传,必须通过专家系统
来收集、保存和应用
人类专家太少,必须建造专家系统来使专家们的知
识同时应用于不同的地点。
一些危险的工作环境需要专家系统来代替人类专家。
8.1.3 专家系统的类型
1。按用途分类
? 解释型。根据所得到的有关数据、经过分析、推理,从而
给出解释的一类专家系统。
8.1 专家系统的概念
? 诊断型。根据输入信息推出相应对象存在的故障、找出产
生故障的原因并给出排除故障方案的一类专家系统。如医
疗诊断、机器故障诊断、产品质量鉴定等专家系统。
? 预测型。根据相关对象的过去及当前状况来推测未来情况
的一类专家系统。如天气预报、市场预测、地震预报等。
? 决策型。利用已知信息通过推理帮助决策的专家系统。如
智能决策支持系统。
? 设计型。按给定要求进行相应设计的一类专家系统。如工
程设计、电路设计、建筑及装潢设计、服装设计等领域。
? 规划型。按给定目标拟定总体规划、行动计划、运筹优化
等的一类专家系统。如机器人动作控制、工程规划、军事
行动规划等。
专家系统的概念
? 控制型。用于对各种大型设备及系统实现控制的一类专家
系统。
? 监测型。用于完成实时监测任务的一类专家系统。如病人
监护、网络监测、航空监管等。
? 教育型。能用于辅助教学的专家系统。如制订教学计划、
设计习题、水平测试等。
按输出结果分类
? 分析型。工作性质属于逻辑推理,输出结果是个, 结论, 。
如诊断型、解释型、预测型、决策型都属于分析型专家系
统。
? 设计型。工作性质属于某种, 操作,,输出结果是一个
,方案, 。
专家系统的概念
按知识表示分类
产生式规则、一阶谓词逻辑、框架、语义网
等。
按知识分类
精确推理专家系统和不精确推理专家系统。
按技术分类
符号推理专家系统和神经网络专家系统。
专家系统的概念
按规模分类
大型协同式专家系统和微专家系统。
按体系结构分
集中式专家系统。对知识和推理进行集中管
理的一类专家系统。
分布式专家系统。知识库和推理机分布在计
算机网上。
专家系统的概念
专家系统与知识系统
专家系统与知识工程
专家系统与人工智能
8.2 专家系统的结构
8.2.1 概念结构
人 机 界 面
推理机 解释模块
知识库 动态数据库
知 识 库 管 理 系 统
8.2 专家系统的结构
1。知识库
? 知识库就是以某种表示形式存储于计算机中的知识的集合。
知识库中的知识包括专家知识、领域知识和元知识。元知
识是关于调度和管理知识的知识。
2。推理机
? 是专家系统实现推理的程序,专家系统的核心部分。
? 推理机使用知识库中的知识进行推理。推理机模拟专家的
思维机制。是专家分析问题、解决问题的机器实现。
? 推理机的推理方法必须与知识的表示方法一致。
8.2 专家系统的结构
3。动态数据库
? 类似于产生式系统中的动态数据库,是专家系统
存放初始证据、事实、推理结果和控制信息的场
所。
? 只在系统运行期间产生、变化和撤消。
4。人机界面
? 专家系统与领域专家或知识工程师及一般用户间
的接口,用于完成输入输出工作。
? 领域专家或知识工程师通过人机界面输入知识,
更新、完善知识库。
8.2 专家系统的结构
? 一般用户通过它输入欲求解的问题、已知事实以
及向系统提出询问。
? 系统通过它输出运行结果、回答用户的提问或向
用户索取进一步的事实。
解释模块
? 负责向用户解释专家系统的行为和结果。回答用
户提出的, 为什么?,,, 结论是如何得出的?,
等问题。
8.2 专家系统的结构
知识库管理系统
? 负责知识库的建立、删除。知识的获取、维护、
查询、更新等。
? 知识的检查,包括知识的一致性、冗余性和完整
性检查。
8.2 专家系统的结构
8.2.1 具有, 自学习, 功能的专家系统
人 机 界 面
推理机 解释模块
知识库 动态数据库
知 识 库 管 理 系 统 自学习模块
8.2 专家系统的结构
8.2.2 实际结构
实际问题的复杂性使得实际的专家系统机构
变得复杂。专家系统模块只是整个系统中的
一部分。也可能有多个专家系统模块。




1




m




1




n
? ?
总 控
8.2 专家系统的结构
8.2.1 地质图件绘制专家系统
多 媒 体 人 机 界 面
















I
O


动 态 数 据 库
方法知识库 参数知识库 评价知识库 自学习模块
知 识 库 管 理 系 统
8.2 专家系统的结构
分布式结构
Client/Server 结构
知识库 推理机
人 -机界面
服务器
客户机
8.2 专家系统的结构
Browser/Server 结构
知识库 推理机
人 -机界面
Web Server
Browser
Internet
8.2 专家系统的结构
8.2.4 黑板模型
层 次 n
层 次 2
层 次 1
?
知识源 1
知识源 2
知识源 m
?
黑板 知识源
监督程序 调度程序
控 制机构
8.2 专家系统的结构
8.2.4 黑板模型
有, 黑板,,知识源,控制机构三部分组成。
1。黑板
? 一个分层的全局工作区(全局数据库)。用来存储初始数
据、中间结果和最终结果。高层是下层的抽象;下层是上
层的实例。
2。知识源
? 知识源也是分层的。每个知识源用来完成特定的解题功能。
? 一个知识源可视为一个大规则。条件部分称为知识源先决
条件,动作部分称为知识元体。
8.2 专家系统的结构
3。控制机构
? 控制机构是求解问题的推理机构,包括监督程序
和调度程序。
? 监督程序监视着黑板状态,根据黑板状态采用一
定的策略选择合适的知识源,将其条件部分防入
调度队列,并与黑板状态匹配。
? 调度程序通过, 聚焦, 来优先使用调度队列中最
重要的知识源来执行。
8.3 专家系统的应用与发展概

8.3.1 专家系统的意义
8.3.2 专家系统的应用
8.3.3 专家系统的发展概况
产生
发展
趋势
8.4 专家系统实例
8.4.1 PROSPECTOR的功能与结构
1。勘探评价
? 对地质数据和信息进行分析和评价,预测成矿的
可能性。并指导下一步应采集那些信息。
2。区域资源评价
? 评价某一较大区域的地质资源分布情况。
3。井位选择
? 当已知某一区域含有某种矿藏后,可以帮助选择
最佳井位。
PROSPECTOR的总体结构
执行程序
解释系统
提问系统
推 理 网 络
知识获取
系统
模型
文件
模型
文件
模型
文件
分类学
文件
网络编译程序
传播程序匹配程序
英语分析
程序
PARSEFILE
程序


PROSPECTOR的功能与结构
执行程序
? 人机接口,负责接受用户输入的命令,解释命令
的含义,并调用其他子系统。
英语分析程序
? 负责理解用户用自然语言输入的信息。
匹配程序
? 使用分类学词典比较各个语义空间的关系,把用
户提供的信息加入推理网络中或检查推理网络的
一致性
PROSPECTOR的功能与结构
传播程序
? 负责在推理网络中进行概率传播,实现不确定性推理。
提问系统
? 负责向用户提问,要求用户输入数据。
解释系统
? 用于解答用户的询问。
网络编译系统
? 为在井位选择推理网络中传播图形信息,生成高效代码。
知识获取系统
? 在运行时生成、修改或保存推理网络。
8.5 专家系统设计与实现
8.5.1 一般步骤与方法
知识库管理
系统设计
系统总体分析与设计
知 识 获 取
知识表示与知识描述语言设计
推理机
设计
解释模
块设计
总控与界
面设计
其它功能
模块设计
知识库
设计
编 程 与 调 试
测 试 与 评 价
运 行 与 维 护
8.5 专家系统设计与实现
快速原型与增量式开发
先建立一个小型的系统, 模型,,再不断地扩充和
完善。
知识获取
1。人工获取
? 由知识工程师挖掘、搜集、分析、综合、整理知识,然后
存入知识库。
2。半自动获取
? 利用知识获取系统,采取提示、指导或问答的方式,帮助
专家提取、归纳有关知识,并自动存入知识库。
3。自动获取
? 机器学习。
8.5 专家系统设计与实现
知识表示与知识描述语言设计
按照知识的特点,选择一种知识表示方式,
并为这种表示方式设计知识描述语言。知识
描述语言就是具体的语法结构形式。
知识库与知识库管理系统设计
1。知识库设计
? 知识库结构的设计,即知识的组织形式。一般为
层次结构或网状结构。
? 分布式知识库。
8.5 专家系统设计与实现
2。知识库管理系统设计
? 知识操作功能设计。知识的添加、删除、修改、
查询和统计等。
? 知识检查功能设计。知识的完整性、一致性、冗
余性检查。
知识库操作设计
? 知识库的建立、删除、分解、合并等。
8.5 专家系统的设计与实现
推理机与解释功能设计
推理机的设计在结构、层次上都应该与知识
库相适应、相匹配。
推理采用的方式、方法和控制策略。
算法设计。
解释机制的实现。对推理进行跟踪。
8.5 专家系统的设计与实现
人机界面的设计
面向系统开发和维护者的人机界面。一般采
用图形用户界面,已达到很高水平。
面向一般用户的界面。一般采用受限的自然
语言的, 人机对话, 形式。
多媒体技术的采用
8.6 专家系统开发工具与环境
8.6.1 专家系统开发工具
1。面向 AI的程序设计语言。 LISP,PROLOG,
Smalltalk,C++等。
2。知识工程语言。
? 产生式语言系统 OPS5(Official Production System),OPS83;
? 框架知识表示语言 FRL
? 多知识表示语言 LOOPS等。
? KEE (Knowledge Engineering Environment),1984年开发,
基于框架、产生式规则、面向过程和面向对象的方法结合
在一起。已用于建造卫星失灵诊断、金融保险分析、工厂
控制模拟等领域的专家系统。
8.6 专家系统开发工具与环境
? CLIPS(C Language Integrated Production
System) 是 20世纪 80年代以来广泛使用的通用
语言工具。具有产生式系统的特征,同时集成了
C语言的基本成分。于 1985年由 NASA推出。
3。外壳系统。
? 专家系统外壳。提供了知识获取模块、推理机制、
解释功能等。只须加上领域知识,建立起知识库
就可构成一个如专家系统。如 EMYCIN(Essential
MYCIN),KAS( Knowledge Acquisition System),
EXPERT等。
? 开发效率高但灵活性较差。
8.6 专家系统开发工具与环境
组合式构造工具。
? 提供多种知识表示方法和多个推理控制机构,使
用户具有不同的选择余地。如 AGE.
8.6.2 专家系统开发环境
多种知识表示方式;
多种不精确推理模型;
多种知识获取手段;
多样的辅助工具:包括数据库访问、电子表
格、作图工具等;
8.6 专家系统开发工具与环境
多样的友好用户界面。开发界面和用户界面,
多媒体和自然语言接口;
广泛的适用性。
著名的一些开发环境。 GURU,AGE(Attempt
to Generalize),ART(Automatic Reasoning
Tool) ),天马等。
8.7 新一代专家系统研究
深层知识专家系统;
模糊专家系统;
神经网络专家系统;
分布式专家系统
1.功能分布与知识分布
? 把专家系统的功能合理分解为若干个任务,并把多个任务
分配到多个处理机上并行执行。
? 知识也合理划分并分配到多个处理机的本地存储器中。
8.7 新一代专家系统研究
2。驱动方式
? 控制驱动。当某个任务模块工作时,直接将控制转到它,
或将它作为一个过程直接调用。该方式最常用,实现方便。
但并行性较差,推理效率不高。
? 数据驱动。任何一个任务模块只要当它所需的所有输入数
据已经具备后即可自行启动工作,然后把输出结果送到相
应的模块。可以提高并行推理效率。
? 目标驱动。当一个任务模块的输出被其它任务模块需要时
才被启动执行。
? 事件驱动。比数据驱动更广义。当且仅当模块的相应事件
集合中的所有事件都已发生时,才驱动该模块开始工作。
8.7 新一代专家系统研究
协同式专家系统
由多个称为智能体 (Agent)的知识处理实体协同求解
问题。
1。协同方法
? 多智能体规划 (Multi-agent planning)方法
– 设计一个规划智能体,由它进行整体规划,形成一个多智能
体求解方案。
? 功能化有效协同 (Functionally effective cooperative
approach)方法
– 各智能体根据各自问题求解的功能需求与有关智能体交换部
分结果,并最终生成一个全局解。
? 谈判方法。
– 智能体将自己的局部解公布出去,按照事先设计的一个谈判
协议,对相关局部解经过裁决等综合处理求得全局解。
8.7 新一代专家系统研究
2。知识的组织与分布
? 每个智能体可以有自己特殊的知识表示方法
? 智能体之间通过通信交换信息和知识。
3。裁决方法
? 表决法
? 加权平均法
4。驱动方式
5。系统结构
? 主从式
? 层次式
? 同僚式
? 广播式
? 网络式
事物处理专家系统。
第 9章 机器学习
什么是机器学习
学习的概念。
? 学习是系统改进其性能的过程。使系统在重复同
样的工作时能完成的更好。
? 学习是获取知识的过程。基于专家系统的观点。
? 学习是技能的获取过程。心理学家的观点。通过
大量实践和反复训练改进技能。
? 学习是事物规律的发现过程。从感性知识到理性
知识的认识过程,是发现规律、形成理论的过程。
第 9章 机器学习
机器学习的概念
? 使计算机能模拟人的学习行为,自动地通过学习获取知识
和技能,不断改善性能,实现自我完善。
人类学习与机器学习
? 人类学习是一个漫长的过程。机器学习可以比人类学习快
得多。机器的学习效率很高。
? 人类学习不能复制。学习能力高度依赖于个体。而机器学
习过程很容易复制。
? 人类学习可能会遗忘。而机器学习的知识可以永久保留。
? 人类学习是一个逐渐积累的过程,无论是单个个体还是整
个人类都是这样,现在人类所积累的知识已经非常丰富。
而机器学习水平还很低,获取知识的能力非常有限。
第 9章 机器学习
机器学习系统
如果一个系统能够从某个过程或环境的未知
特征中学习到有关信息,并且能把学到的信
息用于对未来的估计、分类决策或控制,以
便改进系统的性能,那么它就是一个学习系
统。
学习系统应具有以下功能:
? 具有适当的学习环境。环境是指学习系统进行学
习时的信息来源。
第 9章 机器学习
? 具有一定的学习能力。
? 能用所学的知识解决问题。学习的目的在于应用。
学习系统能把学到的信息用于对未来的估计、分
类决策和控制。
? 能提高系统的性能。通过学习,系统应该能增长
知识、提高技能,改善系统的性能。
一种机器学习系统模型
环境 学习 知识库 执行与评价
第 9章 机器学习
机器学习的分类
按学习方法分类
? 机械式学习 (Rote learning) ;指导式学习
(Learning from instruction);示例学习 (Learning
from examples);类比学习 (Learning by
analogy);解释学习 (Explanation-based
learning).
按推理方式分类
? 基于演绎的学习。如解释学习。
? 基于归纳的学习。如示例学习、发现学习。
第 9章 机器学习
符号学习与连接学习
有监督学习与无监督学习。
知识发现与数据挖掘
遗传算法
第 9章 机器学习
机械学习(记忆学习、死记硬背学习)
通过记忆与评价外部环境所提供的信息达到
学习的目的。
把经过评价所取得的知识存储到知识库中,
求解问题时从知识库中直接检索出相应的知
识。例如若输入为 时,计算得的
输出是, 则把联想对
存入知识库中。
),,,( 21 nxxx ?
),,,( 21 myyy ?
)],,,(),,,,[( 2121 mn yyyxxx ??
第 9章 机器学习
机械学习最初在 Sameul的跳棋程序
CHECKERS中提出,并获得成功应用
A6
B2 C6
Q
A
第 9章 机器学习
机械学习实质上是用存储空间来换取处理时
间。
机械式学习中需要注意的问题
? 存储组织问题。只有当检索所耗时间小于重新计
算所耗时间时,机械学习才有意义,所以要特别
考虑信息的组织和存储问题。可 用一些信息综
合方法来减少存储量。
? 环境稳定性问题。环境会影响知识的有效性。
? 存储与计算的权衡问题。
第 9章 机器学习
传授学习(讲授学习、指导学习)
由外部环境向系统提供一般性的指示或建议,系统
把它们具体地转化为细节知识并送入知识库中。
传授学习的步骤
? 征询指导者的提示或建议。征询方式:简单的或复杂的;
主动的或被动的。
? 把征询意见转换为可执行的内部形式。
? 知识检查后并入知识库。
? 评价。对新知识进行经验测试,执行一些标准例子,然后
检查执行情况是否与已知结果一致。。
第 9章 机器学习
演绎学习
基于演绎推理的学习。从公理出发,经过逻
辑变换,推导出结论。
演绎学习包括知识改造、知识编译、产生宏
操作、保持等价操作和其它一些保真变换。
演绎学习是保真的,只要公理和前提为真,
则结论总是真。
第 9章 机器学习
类比学习
类比是应用过去的经验来求解新问题的一种
思维过程。类比学习就是把两个或两类事物
进行比较,找出它们在某一抽象层次上的相
似关系,并以这种关系为依据,把某一事物
或情形的有关知识对应到另一事物或情况,
从而求得另一事物或情形的知识。
第 9章 机器学习
类比学习的过程
? 回忆与联想。遇到新情况与新问题时,首先通过回忆与联
想,找出与当前情况相似的已经解决的情况
? 选择。找出与当前情况最相似的情况。
? 建立对应关系。建立相似问题与求解问题之间的对应关系,
以获得求解问题的知识。
? 转换。把已经解决情况的知识转换到待求情况中来,从而
建立起求解问题的知识。
? 验证与归纳。检验所获知识的有效性,若有错,修正直到
获得正确知识。对正确知识,经过推广、归纳获得一般性
知识。
第 9章 机器学习
属性类比学习
属性类比学习根据两个相似事物的属性实现类比学
习。源和目标都用框架表示,学习过程是把源框架
中的某些槽值传递到目标框架的相应槽中去。
传递的步骤
? 1。从源框架中选择若干槽作为侯选槽。
– 选择那些具有极端槽值的槽作为侯选槽。
– 选择那些已经被确认为, 重要槽, 的槽作为侯选槽。
– 选择那些与源框架相似的框架中不具有的槽作为侯选槽。
– 选择那些相似框架中不具有这种槽值的槽作为侯选槽。
– 源框架中的所有槽。
第 9章 机器学习
2。根据目标框架对侯选槽进行筛选
? 选择那些在目标框架中还未填值的槽。
? 选择那些在目标框架中为典型事例的槽。
? 选择那些与目标框架有紧密关系的槽,或者与目
标框架的槽类似的槽。
转换类比学习。
第 9章 机器学习
示例学习(实例学习)
从若干实例(包括正例和反例)中归纳出一
般概念或规则的学习方法。
示例学习的学习模型
验证
示例空间
搜索 解释 形成知识
知识库
第 9章 机器学习
从示例空间(环境)中选择合适的训练示例,
然后经解释归纳出一般性的知识,最后再从
示例空间中选择更多的示例对它进行验证,
直到得到可实用的知识为止。
形成知识的方法
( 1)、变量代换常量
例。示例 1:花色( c1,梅花) ?花色( c2,梅花)
?花色( c3,梅花) ?花色( c4,梅花) ?同花
( c1,c2,c3,c4)
第 9章 机器学习
示例 2:花色( c1,红桃) ?花色( c2,红桃) ?花
色( c3,红桃) ?花色( c4,红桃) ?同花
( c1,c2,c3,c4)
只需把, 梅花,,, 红桃, 用变量 x替换,就可得
到一般性的知识:
花色( c1,x) ?花色( c2,x) ?花色( c3,x) ?
花色( c4,x) ?同花( c1,c2,c3,c4)
第 9章 机器学习
( 2)、舍去条件;
( 3)、增加操作;
( 4)、合取变析取;
( 5)、归结归纳
( 6)、曲线拟合
第 9章 机器学习
观察与发现学习
观察学习。将已知事例进行分类,产生每一类的一
般概念描述的学习方式。
? 概念聚类。对已知事例分类,产生每一类概念的描述,然
后再用该概念描述指导下一步的分类,反复循环直到得到
满意结果。
机器发现。从观察的事例或经验数据中进行归纳产
生规律或规则。经验发现:从经验数据中发现规律
和定律;知识发现:从已观察的事例中发现新的知
识。
第 9章 机器学习
解释学习
只用一个实例,运用领域知识,经过对实例的详细
分析,构造解释结构,然后对解释进行推广得到一
般性描述。
解释学习的框架描述。
给定:领域知识 DT,
目标概念 TC,
训练实例 TE,
操作性准则 OC.
找出:满足 OC的关于 TC的充分条件。
第 9章 机器学习
解释学习与示例学习的区别
示例学习中要求输入一组实例;而解释学习
只要求输入一个实例。
示例学习的学习方法为归纳,不要求提供领
域知识;而解释学习要求提供完善的领域知
识,学习方法主要是演绎。
示例学习侧重于概念的获取;而解释学习侧
重于技能提高,通过学习把非操作性的知识
转换为可操作的形式化知识。
第 9章 机器学习
解释学习的过程
构造解释
? 证明提供给系统的训练实例为什么是满足目标概
念的一个实例。证明的过程是通过运用领域知识
进行演绎实现的,证明的结果得到一个解释结构。
对解释按照操作性准则进行推广 (泛化),
从而得到关于目标概念的学习描述。也称为
基于解释的泛化 (EBG)
第 9章 机器学习
一个解释学习的例
要学习的目标概念为:, 一个物体( Obj1)可以安
全地放置在另一个物体( Obj2)上,,即
Safe-To-Stack(Obj1,Obj2)
训练实例为:
On(Obj1,Obj2)
Isa(Obj1,book-AI)
Isa(Obj2,table-book)
Volume (Obj1,1)
Density(Obj1,0.1)
第 9章 机器学习
领域知识为
),(),(),(),(
)15,(),(
),(),,(),(),(
),(),(
),()(
21212211 ppL i g h t erwwS m a l l erwpW ei g h twpW ei g h t
pW ei g h tb o o kt a b l epI s a
wpW ei g h twdvdpD en s i t yvpV o l u m e
yxS t a ckToS a f eyxL i g h er
yxS t a ckToS a f eyF r a g i l e
???
??
????
???
????
第 9章 机器学习
Safe-To-Stack(Obj1,Obj2)的 解释结构为
Safe-To-Stack(Obj1,Obj2)
Lighter(Obj1,Obj2)
Weight(Obj1,0.1) Weight(Obj2,15) Smaller(0.1,15)
Isa(Obj2,table-book)
Volume(Obj1,1) Density(Obj1,0.1) *(1,0.1,0.1)
第 9章 机器学习
Safe-To-Stack(O1,O2) 解释的泛化
Safe-To-Stack(O1,O2)
Lighter(O1,O2)
Weight(O1,w1) Weight(O2,15) Smaller(w1,15)
Isa(O2,table-book)
Volume(O1,v1) Density(O1,d1) *(v1,d1,w1)
第 9章 机器学习
EBG通常是把常量替换为变量,并把某些
不重要的信息去掉。