专家系统概论

软件架构课程 Lecture-3 补充讲义,北京大学软件与微电子学院 原始文件:/田浩然上传的资料/0B105-SoftwareArchitecture/Lecture-3/专家系统概论1.doc

一、专家系统的定义

专家系统(Expert System, ES)是一个智能程序,它能对那些需要专家知识才能解决的应用难题,提供相关领域权威专家水平的解答(Michie 1979;Feigenbaum 1977;Hayes-Roth 1983)。

也可以说,专家系统是一个运用知识进行推理的计算机程序。推理就是使用某种符号逻辑,从一些事实得到结论的过程。

从广义上来说,专家系统中的知识(表层知识)包括两种:

  • 事实 — 客观存在的确定知识
  • 经验 — 好的猜测和判断,也称为启发式知识(heuristic knowledge)

二、知识的层次结构

一个专家的知识分为三个层次:

元级知识(meta-level knowledge)—— 关于知识的知识
    │
知识(浅层知识) —— 事实 + 经验/启发式
    │
深层知识(deep knowledge)—— 领域的基本原理、第一性原理

三、知识的六种类型(从知识表示角度)

类型定义示例表示方式
事实性知识描述客观事实”北京有一千万人口”表格、图册、数据库、规则
过程性知识描述做事的步骤/方法”电视机的维修方法”标准子程序库
实例性知识只给出实例,规律隐藏其中大批量观察数据机器学习从数据中归纳
行为性知识不直接给事实,只给行为表现微分方程刻画函数行为数学模型(描述内涵而非外延)
类比知识给出与其他事物的相似之处”山叠叠而不高…”(谜语)类比推理(可跨领域启发)
元级知识关于知识的知识如何使用知识的策略元控制知识(最常用)

类比知识的特点:不能完整刻画事物(有”瞎子摸象”的问题),但可以启发人们用一个领域的知识去解决另一个领域的问题。

四、专家系统常用的六种知识表示形式

  1. 产生式系统(Productions / 规则) — 最常用的形式
    • IF…THEN… 结构
    • 可包含不确定性(如 MYCIN 的规则强度 0.7)
  2. 框架(Frames)
  3. 语义网络(Semantic Nets)
  4. 脚本(Scripts)
  5. 逻辑与集合(Logic and Sets)
  6. 知识表示语言(Knowledge Representation Language)

MYCIN 规则示例

IF
  a) 微生物的染色体是革兰氏阳性,并且
  b) 微生物的结构是球菌,并且
  c) 微生物的生长形态是链状的
THEN
  有一个强度为 0.7 的参考性证据说明该微生物的类别是链球菌

五、专家系统的基本体系结构

基于规则的专家系统核心三大组件:

  1. 知识库(规则库) — 存储领域专家的规则知识
  2. 推理机(Inference Engine) — 运用规则进行推理
  3. 数据基(工作存储器) — 存储事实、中间结论、最终结论

加上人机界面和知识获取模块,构成完整系统。

六、知识的阈值(Knowledge Threshold)

知识原理:一个系统显示出高水平的智能,其原因是它具有丰富的专门知识,并且它能有效地利用这些专门知识。 (“智能” = 在巨大搜索空间中迅速找到合适解的能力)

三个关键阈值:

阈值名称含义
W合式阈值明确表达一个任务所需的最小知识数量
C能力阈值足以解决领域中约 90% 问题的知识量
E全体专家阈值一个领域中所有人类专家知识的总和

知识数量与系统性能的关系

  • W 以下:知识太少,无法有效工作
  • W → C:每增加一些知识,系统性能明显改善(陡峭上升期)
  • C → E:知识增加,性能改善不明显(新增知识只用于解决罕见问题)
  • E 以上:接近全能,几乎能解决所有罕见和困难问题

七、专家系统的四大主要特征

① 显式表达的大量领域专门知识

  • 知识库与推理机分离 → 高度灵活性(flexible)
  • 知识片具有模块性:
    • 修改一个知识片一般不影响其他知识片
    • 一个知识片不会被其他知识片直接调用
  • 这是 ES 与传统程序的显著差别之一

② 符号处理

  • 基本假设:知识具有可表示性
  • 符号表示 + 符号推理
  • 这是 ES 与传统程序的显著差别之一

③ 智能

  • 在某领域表现出智能行为
  • 智能水平取决于:知识的多寡和质量 + 推理机的优劣
  • 相关事实的可获得性、推理的完备性与效率、一般问题求解能力、自适应性

④ 推理过程的解释

  • 对系统自身行为给出解释,给出结论的依据
  • 这是 ES 与传统程序的显著差别之一

八、专家系统的十种类型

类型任务示例特点
解释类分析已知数据确定其内涵自然语言理解、图像分析、信号解释数据不准确/有错误/有丢失/量大,推理复杂,需要解释推理过程
预报类从过去/现在推断将来天气预报、灾害预报、经济预测数据随时间变化,不准确不完全,需动态模型
诊断类从现象推断故障/病因医疗诊断、设备故障诊断—
设计类生成符合约束的设计方案工程设计、电路设计—
规划类制定行动序列以达成目标路径规划、项目规划—
监视类实时监控并发出告警安全监控、生产监控—
控制类控制系统运行过程控制—
调试类找出并修复错误软件调试、设备排错—
教学类个性化教学辅导智能教学系统—
修理类制定修复方案并执行设备维修—

九、其他重要架构

黑板模型(Blackboard Model)

多个知识源通过共享的”黑板”进行协作,各知识源独立读写黑板,推理过程是机会主义的。

分布式多专家协作系统

多个专家系统分布在不同节点,通过协作解决复杂问题。

十、ANIMAL 动物识别专家系统(演示系统)

一个非常简单的演示型专家系统,用于说明基于规则的推理机制。

基本设定

  • 知识库:15 条规则(实际专家系统通常 ≥ 几百条)
  • 解空间:7 种动物(虎、豹、长颈鹿、斑马、鸵鸟、企鹅、信天翁)
  • 初始事实:20 个事实(F1–F20)
  • 推理:精确/确定性推理(无不确定性)

规则体系(15 条规则,三层推理网络)

第一层:类别推断(M1–M4 中间结论)

  • R1: 有毛发(F1) → 哺乳动物(M1)
  • R2: 有奶(F2) → 哺乳动物(M1)
  • R3: 有羽毛(F3) → 鸟(M4)
  • R4: 会飞(F4) ∧ 下蛋(F5) → 鸟(M4)
  • R5: 吃肉(F6) → 食肉动物(M2)
  • R6: 锋利牙齿(F7) ∧ 有爪(F8) ∧ 眼睛前视(F9) → 食肉动物(M2)
  • R7: 哺乳动物(M1) ∧ 有蹄(F10) → 有蹄类(M3)
  • R8: 哺乳动物(M1) ∧ 反刍(F11) → 有蹄类(M3) ∧ 偶蹄类

第二层:最终动物识别(H1–H7 最高假设)

  • R9: 哺乳动物(M1) ∧ 食肉动物(M2) ∧ 黄褐色(F12) ∧ 暗斑(F13) → 豹(H1)
  • R10: 哺乳动物(M1) ∧ 食肉动物(M2) ∧ 黄褐色(F12) ∧ 黑色条纹(F14) → 老虎(H2)
  • R11: 有蹄类(M3) ∧ 长脖子(F15) ∧ 长腿(F16) ∧ 暗斑(F13) → 长颈鹿(H3)
  • R12: 有蹄类(M3) ∧ 黑条纹(F14) → 斑马(H4)
  • R13: 鸟(M4) ∧ 不会飞(F17) ∧ 长脖子(F15) ∧ 长腿(F16) ∧ 黑白色(F18) → 鸵鸟(H5)
  • R14: 鸟(M4) ∧ 不会飞(F17) ∧ 会游泳(F19) ∧ 黑白色(F18) → 企鹅(H6)
  • R15: 鸟(M4) ∧ 善飞(F20) → 信天翁(H7)

推理网络节点类型

  • 初始事实节点(底层,20 个)
  • 中间结论节点(中层,M1–M4)
  • 最高假设节点(顶层,H1–H7)

中间和顶层节点又分为与节点、或节点、与或节点。

数据基 GDB 的单调性

  • 启动时 GDB 为空
  • 用户输入的事实 + 推导出的中间结论和假设 → 实时插入 GDB
  • 事实单调增加,不能删除
  • 当事实不能再增加时,推理结束

正向推理示例

初始 GDB = {黄褐色(F12), 暗斑(F13), 吃肉(F6), 有毛发(F1)}
  ↓ R1 推出 M1(哺乳动物)
  ↓ R5 推出 M2(食肉动物)
  ↓ R9 推出 H1(豹)
最终 GDB = {F1, F6, F12, F13, M1, M2, H1}

逆向推理示例

验证”动物是不是老虎?“:从假设 H2 出发,反向验证所需事实是否满足。

十一、MYCIN 系统

判断血液感染微生物的经典专家系统:

  • 多个专家的知识 → 知识库
  • 人机界面 + 推理机 + 知识库 + 数据基
  • 规则中包含不确定性信息(规则强度/CF 值)
  • 是专家系统历史上最著名的系统之一(Shortliffe, 1975)

十二、知识获取流程

知识从多种来源汇集到知识库的过程:

专家知识 + 文献知识 + 专业人员知识 + ...
    │
    ↓
  输(录)入
  一致性检验
  完备性检验
    编辑
    解释
  知识化简 + 知识获取
    ↓
  知识库(规则库)

涉及:录入、一致性检验、完备性检验、编辑、解释、知识化简、知识获取。


关联笔记: