绪论: 第一部分 知识表示
第二部分 不确定性处理
第三部分 演示
01 章 产生式系统
03 章 确定性理论
05 章 Prospector 中的主观贝叶斯方法 06 章 证据理论
07 章 简化证据理论
09 章 加权模糊逻辑
专家系统开发平台演示
02 章 框架
04 章 ES 建造中需要注意的技术细节
08 章 面向有序命题的简化证据理论
10 章 11 章 12 章 13 章 14 章 15 章
专家系统概论
人工智能(Artificial Intelligence)、专家系统(Expert System , ES)的研究与应用,一方面任重而道远,前进的路
上充满着荆棘、曲折,另一方面,这一领域又不断地显露出诱人的前景。
1. 专家系统(ES,Expert System)的定义:
专家系统,是一个智能程序,它能对那些需要专家知识才能解决的应用难题,提供相关领域权威专家水平的解答(Michie ,
1979 ; Feigenbaum , 1977 ; Hayes-Roth , 1983)。
专家系统,可以说是一个运用知识进行推理的计算机程序。推理就是使用某种符号逻辑,从一些事实得到结论的过程。
从广义上来说,专家系统中的知识(表层知识)包括两种:一种是事实;另一种是经验,即一种好的猜测和判断,也称之
为启发式知识。
2. 专家系统中的知识
元级知识
meta-level
knowledge
知识(浅层知识)
一个专家的知识
1. 专家知识 +
2. 文献知识 +
3. 专业人员知识 +
4. 生产者知识 +
… … …
深层知识
deep knowledge
多 个 专 家
的知识
3. 从知识表示的角度看知识的类型
① 事实性知识类型 ★ 例:“北京有一千万人口”,“太阳从东方生起”; ★ 若事实性知识是批量的、有规律的。通常用表
格、图册和数据库(DB)来表示; ★ 一些事实性知识可用规则来表示。
② 过程性知识 ★ 定义 描述做谋事的过程,使人或计算机可照此去做。 ★ 例:“电视机的维修方法”,“怎样制作松花蛋”,
★ 标准子程序库可表示系列化的、配套的过程性知识。
③ 实例性知识 ★ 定义 只给出一些实例,关于某一事物的知识却隐藏在这些实例之中;★ 例:有一大批关于某事物的观察
第 1 页
数据;★ 说明 人们所关心的不是实例本身,而恰恰是隐藏于其后的规律
④ 行为性知识 ★ 定义 不直接给出事实本身,只给出它在某些(或某一)方面的行为;★ 例: 一个微分方程刻画了某函
数的行为,但并未给出这个函数本身;★ 说明:行为知识经常被表示成某种数学模型;从某种意义上说,行为知识描述事
物的内涵,而不描述事物的外延。
⑤ 类比知识 ★ 定义 既不给出某事物的外延,也不给出其内涵,只给出它与其它事物的某些相似之处;★ 例 谜语一则:
“山叠叠而不高,路遥遥而不远,雷轰轰而不雨,雪飘飘而不寒。”以山拟其形,以路拟其圈,以雪拟其粉,以雷拟其声。
★ 类比知识一般不能完整刻画事物,有时会犯瞎子摸象的毛病;★ 类比知识,或者说类比,可启发人们用一个领域的知
识去解决另一个领域的问题。
⑤ 元级知识(简称元知识)★ 定义 关于知识的知识;★ 最常用的元知识是关于如何使用知识的知识,即元控制知识。
4. 专家系统常用的知识表示形式
① 产生式系统(Productions),也称为产生式规则,也简称为规则 ★ 规则是最常用的知识表示形式;
★ 例 专家系统 MYCIN 的一条规则(Shortliffe,85),规则中包含不确定性信息,规则强度 0.7
a) 微生物的染色体是革兰氏阳性,并且 b) 微生物的结构是球菌,并且 c) 微生物的生长形态是链状的
IF
THEN 有一个强度为 0.7 的参考性证据说明该微生物的类别是链球菌
② 框架(Frames)③ 语义网络(Semantic Nets)④ 脚本(Scripts)⑤ 逻辑与集合(Logic and Sets)
⑥ 知识表示语言(Knowledge Representation Language)
5. 专家系统(基于知识的系统)最基本的体系结构
推
理
机
+
知
识
库
+
数
据
基
6. 一个基于规则的专家系统的体系结构
知识库
(规则库)
解释
数据基
(工作存
储器)
知识化简
知识获取
推理机
(Inference
Engine)
输(录)入
一致性检验
完备性检验
编辑
人机界面
第 2 页
7. 知识的阈值
⑴ 问题:ES 拥有知识的数量与其所具有的问题求解能力之间的关系?系统拥有的领域专门知识越多,其问题求解能力就越强。
⑵ 知识原理:一个系统显示出高水平的智能,其原因是:它具有丰富的专门知识,并且它能有效地利用这些专门知识。这里的
这里的“知识”系指高质量的领域专门知识。
“智能”系指在巨大的搜索空间中,能迅速找到合适解的能力。
⑶ 知识的阈值,确切来说,系指知识的数量阈值,该阈值用来测量一个专家系统在相应的领域中所能达到的问题求解能力。
①. 合式阈值(W)明确表达一个任务所需要的最小知识数量。
②. 能力阈值(C)系统拥有的知识数量使它足以解决相应的领域中的大部分问题(约 90%左右),这个知识数量称做被能
力阈值。
③. 全体专家阈值(E)全体专家阈值系指一个领域中所有人类专家的专门知识的总和。如果一个专家系统所拥有的知识数
量达到了全体专家阈值,那么它就几乎能解决相应领域中的所有罕见和困难的问题。
系统所能达到的
问题求解能力
Ca
P2
P1
系统拥有的知识数
量 在 C 与 E 之 间
时,增加系统知识,
系统性能改善不够
明显,增加的知识
有用但不常用,只
能用于解决罕见问
题。
W
C
E
Qu
系 统 拥 有 的 知 识 数 量 在
W 与 C 之间时,每给系统
增加一些知识,都会使系
统性能明显改善。
系统所拥有的知识
数量
8. 专家系统(ES)的主要特征 ES 具有明显表达的、大量的领域专门知识
① 专家系统具有显示表达的大量领域专门知识,本特征是 ES 与传统程序的一个显著差别。
专家系统与推理机(Engine)分离导致了专家系统的很大的灵活性(flexible);
知识片(基本知识单位)具有模块性:
改变一个知识片一般不会影响其它知识片,如果影响到其它一些知识片(规则),则可自动查找需要修改其它规则;
一个知识片不会被其它知识片直接调用。
第 3 页
② 符号处理,本特征是 ES 与传统程序的一个显著差别。
基本假设:知识具有可表示性。
符号处理
符号表示:用符号体系(形式化体系)表示知识;
符号处理:用符号推理处理用符号体系表达的知识的过程。
③ 智能
专家系统是在某领域表现出智能行为的系统。
智能水平取决于:
知识的多寡和质量;
推理机的优劣:相关事实、原理的可获得性,推理的完备性、效率,较强的关于一般问题的求解能力,较强的自
适应性。
④ 推理过程的解释
对系统自身的行为给出解释,给出系统所得出的结论的依据。
本特征是专家系统与传统程序的一个显著差别。
9. 专家系统的类型 分类标准:按所求解问题的类型或特点分类。
①解释类专家系统
定义:该类专家系统的任务是通过对已知数据信息的分析、解释,确定其内涵。
例子:自然语言理解,图像分析,监视,化学结构分析,信号解释(通过对声纳收集的舰船发动机声音识别舰船)等。
特点:数据通常是不准确、有错误、有丢失,数据量大。要求系统能从不完备信息中得出解释,并对数据做出某些假
设,推理过程可能会很复杂、很长,系统需要对自身的推理过程给出解释。
②预报类专家系统
定义:通过对过去和现在已知情况的分析来推断将来可能发生的情况。
例子:天气预报、自然灾害预报、人口、经济谷物收成等。
数据随时间变化,数据不准确、不完全,系统应提供随时间变化的动态模型,可以从不完全、不准确的信息中得出预
报,并要达到一定的反应速度。
③诊断类专家系统 ④设计类专家系统 ⑤规划类专家系统 ⑥监视类专家系统 ⑦控制类专家系统 ⑧调试类专
家系统 ⑨教学类专家系统 ⑩修理类专家系统
10. 基于黑板模型的专家系统的体系结构
11. 分布式多 ES 协作系统
一个非常简单的演示型“专家系统”ANIMAL——某动物园的动物识别专家系统(简称动物识别专家系统或 ANIMAL)
⑴ 知识库 ANIMAL 的知识库非常小,仅仅包含 15 条规则(一般说来,一个专家系统的知识库应包含≥几百条规则);
⑵ 解空间很小,仅仅包含 7 个解,或 7 个最高假设(在一个特定的动物园里,共有虎、豹、长颈鹿、斑马、鸵鸟、企鹅和信天
翁等 7 种动物);
⑶ 初始事实集合很小,仅仅包含 20 个事实,如图中的 F1 至 F20;
⑷ 数据(即事实、证据、断言),知识(即浅层知识,规则)和推理都是精确的,即确定性的;
⑸ 知识库
R1: 如果 某动物有毛发(F1)
R2: 如果 某动物有奶(F2)
R3: 如果 某动物有羽毛(F3)
R4: 如果 某动物会飞(F4),且下蛋(F5)
R5: 如果 某动物吃肉(F6)
R6: 如果 某动物有锋利的牙齿(F7),且有爪(F8),且眼睛盯着前方(F9) 则
R7: 如果 某动物是哺乳动物(M1),且有蹄(F10)
R8: 如果 某动物是哺乳动物(M1),,且反刍(F11)
该动物是有蹄类哺乳动物(M3)
该动物是有蹄类哺乳动物(M3),且偶蹄类
该动物是食肉动物(M2)
该动物是食肉动物
则
该动物是哺乳动物
则
该动物是鸟
则
则
则
该动物是哺乳动物
该动物是鸟
则
则
第 4 页
R9: 如果 某动物是哺乳动物(M1),且是食肉动物(M2),且黄褐色(F12),且有暗班(F13)则
R10:如果 某动物是哺乳动物(M1),且是食肉动物(M2),且黄褐色(F12),且有黑色条纹(F14) 则
该动物是虎(H2)
R11:如果 某动物是有蹄类哺乳动物(M3),且有长脖子(F15),且有长腿(F16),且有暗斑(F13)则该动物是长颈鹿(H3)
R12:如果 某动物是有蹄类哺乳动物(M3),且有黑条纹(F14)
R13:如果 某动物是鸟(M4),且不会飞(F17),且有长脖子(F15),且有长腿(F16),且是黑白色(F18)
该动物是斑马(H4)
该动物是豹(H1)
则
则
该动物是鸵鸟(H5)
R14:如果 某动物是鸟(M4),且不会飞(F17),且会游泳(F19), 且是黑白色(F18)则
R15:如果 某动物是鸟(M4),且善飞(F20)
该动物是信天翁(H7)
则
该动物是企鹅(H6)
⑹ ANIMAL 的正向推理网络(见下页)
⑺ 正向推理网络中的节点 初始事实节点———兰色 中间结论节点———绿色 最高假设节点———黑色
中间结论节点和最高假设节点又被分为“与节点”、“或节点”、“与或节点”
⑻ ANIMAL 的数据基 GDB(一个单调增加的数据基!!!)
启动之初,数据基为空,用户回答和输入的事实,ANIMAL 运行推导出来的中间结论和最高假设都实时地插入数据基,因此在推
理结束之前,ANIMAL 的数据基中存储的事实不断增加。当数据基中的事实不能再增加时,ANIMAL 运行结束。
⑼ 正向推理的例子 初始 GDB = {黄褐色(F12),暗班(F13),吃肉(F6),有毛发(F1)} 由 R1 推出 M1(哺乳动物);由
R5 推出 M2(食肉动物);由 R9 推出 H1(豹),此时 GDB = {F1, F6, F12, F13, M1, M2, H1}。
⑽ 逆向推理的例子 验证所看到的动物是不是老虎?已经观察到如下事实:被观察动物:有奶,有犀利的牙齿,有爪,眼睛
盯着前方,黄褐色,身上有黑色条纹。在图上验证。
第 5 页
豹
H1
虎
H2
黄褐
色
F12
暗斑
F13
长腿
F16
哺乳动物
M1
食肉动物
M2
斑马
H4
有蹄
类
M3
长颈
鹿
H3
黑条
纹
F14
鸵鸟
H5
长脖
子
F15
有蹄
F10
反刍动物
F11
不会
飞
F17
有羽
毛
F3
企鹅
H6
鸟
M4
信天
翁
H7
善飞
F20
黑白
色
F18
会游
泳
F19
会飞
F4
下蛋
F5
有毛
发
F1
有奶
F2
吃肉
F6
犀利牙齿
F7
有爪
F8
眼睛前视
F9
第 6 页
产生式系统
2.2.1 产生式系统
1.序: 1943 年,Post 首先提出了产生式系统。到目前为止,人工智能(AI)领域中的产生式系统,无论在理论上还是在
应用上都经历了很大发展,所以现今 AI 中的产生式系统已与 1943 年 Post 提出的产生式系统有很大不同。
因果关系:
自然界各个知识元(事实,断言,证据,命题,)之间存在着大量的因果关系,或者说前提和结论关系,用产生式(或称
产生式系统的构成:
规则)表示这些关系是非常方便的: “模式——动作”对偶“条件——结论”对偶
产生式系统:把一组领域相关的产生式(或称规则)放在一起,让它们互相配合、协同动作,一个产生式生成的结论一般可
供另一个(或一些)产生式作为前提(前件)或前提的一部分来使用,以这种方式求得问题之解决,这样的一组产生式被称
为产生式系统。
产生式系统的历史:
a.1943 年,Post 第一个提出产生式系统并把它用作计算手段。其目的是构造一种形式化的计算工具,并证明了它与图灵机具
有同样的计算能力。
b.1950 年,Markov 提出了一种匹配算法,利用一组确定的规则不断置换字符串中的子串从而把它改造成一个新的字符串,其
思想与 Post 类似。
c.(大约在)1950 年,Chomsky 为研究自然语言结构提出了文法分层概念,每层文法有一种特定的“重写规则”,也就是语言
生成规则。这种“重写规则”,就是特殊的产生式。
上面 b 和 c 所给出的系统其计算能力都与图灵机等价。
d.1960 年,Backus (译名为:巴克斯或巴科斯)提出了著名的 BNF,即巴科斯范式,用以描写计算机语言的文法,首先用
来描写 ALGOL 60 语言。不久即发现,BNF 范式基本上是 Chomsky 的分层系统中的上下文无关文法。由于和计算机语言挂
上了钩,产生式系统的应用范围大大拓广了。
2.产生式系统
△ 一组规则:每条规则分为左部(或称前提、前件)和右部(或称结论、动作、后件)。通常左部表示条件,核查左部条件
是否得到满足一般采用匹配方法,即查看数据基 DB(Data Base)中是否存在左部所指明的情况,若存在则认为匹配成功,
否则认为匹配失败。一般说来,匹配成功则执行右部所规定的动作,例如:添加、修改和删除等。
△ 数据基:DB 中存放的数据既是产生式作用的对象,又是构成产生式(或称规则)的基本元素。
△ 一个推理程序(Engine):它负责整个产生式系统的运行,包括:规则左部与 DB 匹配;从匹配成功的规则中,选出一条将
在下一步执行的规则 *R ,执行 *R 右部规定的动作;掌握时间结束产生式系统的运行。
产生式系统的特点
△ 相对固定的格式:任何产生式都由左部(LHS)和右部(RHS)组成,左部匹配,右部动作。匹配提供的信息只有两种,
成功或失败。
△ 知识的模块化
a. 知识元:知识元(或曰事实,证据,断言,数据,…)是不能分解的最小知识片,知识元集 = 知识库(KB)中所有产生式
包含的知识元的全体;
b.规则:每条规则(或称每个产生式)指明了知识元之间的关系,每条规则都是由知识元和逻辑运算符组成的。规则(也称
为知识片)存于 KB 中,规则之间不能直接相互作用。
c.元知识:还有如何使用规则的知识(例如,规则匹配的先后次序,匹配冲突之解决等),我们称其为元知识(用于控制的
元知识 ),元知识也可以模块化并表成元规则,但只有少数产生式系统才能做到这一点。
△ KB 的 flexible:知识的模块化,KB 与推理机的分离,使 KB 的扩充、修改变得十分容易。但维持 KB 的一致性、无矛盾
性、完备性不是一件容易的事情。
△ 相互影响的间接性:产生式系统一般采用“数据驱动”(也称为正向推理),控制流是看不见的,一条规则的调用对其它规
则之影响不是直接传送过去,而是通过修改 DB 而间接实现的。
△ 机器可读性:
A.机器识别产生式:语法检查和某种程序上的语义检查。语法检查包括矛盾、冗余、循环链等检验,例如, A→B,A→B
(矛盾),A∨B→C,A→C(冗余)等。语义检查则涉及产生式系统的具体领域。
B.推理结论解释:机器可读性的另一种含义是对产生式系统推出的结论进行解释。
3.非确定性匹配
△ 部分匹配:在一些情况下,激活一条规则并不要求产生式左部与 DB 中的数据(知识元)完全匹配上。换言之,在这种情
第 7 页
况下只需要一产生式之左部与 DB 中的数据部分匹配上,即可触发该产生式并推出某些结论性信息。
△ 例 1. 北京市中医院中医妇科钱伯煊大夫的经验
(腰背冷痛 畏寒 肢冷/1)∧(腹胀 便溏 泻泄 倦怠乏力 浮肿 嗜睡 白带稀薄 舌质淡胖边有齿痕
/2)∧(腰酸痛 尿频 五更泻泄/1)→脾肾阳虚
例 1 说明了:只要左边诸项中有部分项为真,规则便可被激活,右边项即为真。变上例为标准产生式
例 1 产 生 式 左 部 : 第 一 对 括 号 中 共 有
3
1
3
2
3
3
= 7 种 可 能 , 第 2 对 括 号 中 共 有
8
2
8
3
8
4
8
7
8
6
8
8
8
5
= 247 种可能,第 3 对括号中有 7 种可能(同第一对括号),故总的组合数为 12103
种,即例 1 要变成标准产生式,则需变成 12103 个产生式,这样做即不直观,又不经济,部分匹配的意义之一于此可见。
规则压缩:(把多条规则压缩成一条规则)直观易于理解。
△ 加权方法:上例中的方法有些缺点,即每一组症状中的各个症状间须是平等的。如果在同一组症状中,有些比较重要,有
些则不那么重要,那么应如何解决呢?在每一症状后加一个参数权。
例 2. 以例 1 中的第二组症状为例
(腹胀(0.8)∨便溏(1.7)∨泻泄(1.2)∨倦怠乏力(0.9)∨浮肿(1.5)∨嗜睡(0.5)∨白带稀薄(1.3)∨舌质淡胖边有齿痕(0.6))∧(诸
权之和 > 2)→脾肾阳虚第二证
匹配方法:如果某症状出现则对它的权求和,否则不予计算。
权与可信度
令 S = 产生式左边所有值为真的项的权之和,S 还可用来表示结论的可信度:S 愈大,结论就愈可信。
△ 两种权 A.有时,人们采用两种权来确定知识元(事实,证据,断言,…)与规则之间的匹配程度。
B.采用一种权时,权只说明当某事实为真时,它对该规则左部匹配成功所起的作用有多大,而完全没说明当
某事实为假时,它对该规则左部匹配不成功所起的作用有多大。前一个权刻画了充分性,后一个权刻画了必要
性。因此,采用一种权之方法没有考虑必要性。
例 3. 在例 2 中增加一个必要性权
(腹胀(0.8,0.3)∨便溏(1.7,0.4)∨泻泄(1.2,1.1)∨倦怠乏力(0.9,1.9)∨浮肿(1.5,0.8)∨嗜睡(0.5,1.1)∨白带稀薄(1.3,
0.9)∨舌质淡胖边有齿痕(0.6,1.2))∧(诸充分权之和减去诸必要权之和大于 2) 脾肾阳虚第二证
例 3 中每个项都有两个权,第一个权表达了充分性,第二个权表达了必要性。这里的诸充分性权之和 = 所有实际出现的
症状的充分性权之和,诸必要性权之和 = 所有实际不出现的症状的必要性权之和。“必要性权”与“充分性权”之间没有必
然联系,充分权性大者,必然性权不一定大,反之亦然。
4.匹配冲突消解
Ⅰ.序
在产生式系统运行过程中,要不断地用 GDB 中的数据和产生式进行匹配。
△ 向前推理时,要使数据和产生式左部匹配,对匹配成功的产生式执行其右部。
△ 向后推理时,即逆向推理或反向推理等等,要把子目标和 GDB 中的数据或产生式右部匹配。与数据匹配成功者生成叶节
点;与产生式右部匹配成功者,则使该产生式左部成为新的子目标。
△ 匹配冲突,在产生式系统进行推理的过程中,可能会在选择产生式和数据、子目标等方面产生二义性,这就是所谓的匹配
冲突。
△ 向前推理时的匹配冲突
a. 有 n>1 个产生式的左部都能和当前 DB 中的数据匹配成功;
b. 有 m>1 组不同的数据都能和同一个产生式的左部匹配成功;
c. a 与 b 两种情况的复合。
△ 逆向推理时的匹配冲突
a’有 n>1 个产生式的右部都能和一个子目标匹配成功;
b’有 m>1 个数据都能和同一个子目标匹配成绩。
c’有 l>1 个子目标都能找到相应的数据或产生式右部且匹配成功。
d’a’,b’,c’的复合
Ⅱ.匹配冲突消解(或解决)策略
第 8 页