【软考架构】架构风格:针对规则系统体系架构风格,举一个经典案例

基于规则的系统(见图7-16)包括规则集、规则解释器、规则/数据选择器及工作内存

好的,针对你提供的"规则系统体系结构风格"图示,一个最经典和常被引用的案例是专家系统

经典案例:MYCIN 医疗诊断专家系统

MYCIN 是20世纪70年代在斯坦福大学开发的用于诊断细菌感染性疾病(如脑膜炎和菌血症)并推荐抗生素治疗的专家系统。它完美地体现了规则系统架构的核心思想。

工作原理与规则系统架构的对应关系:

  1. 工作内存

    • 存储当前的事实集和推理过程中的临时数据。
    • 在MYCIN中,这包括:
      • 患者数据:年龄、性别、体重、过敏史等。
      • 临床症状:发烧、头痛、白细胞计数等。
      • 实验室观测数据:革兰氏染色结果、培养物来源(如血液、脑脊液)等。
      • 推理过程中产生的中间事实:例如,系统推断出的"可能病原体清单"。
  2. 规则集

    • 包含领域专家的知识,以 "IF-THEN" 规则的形式存储。
    • 在MYCIN中,规则库约有400-500条规则。例如:
      • 规则示例
        IF (1)革兰氏染色是阴性
        AND (2)细菌形态是杆状
        AND (3)细菌需氧性为需氧
        THEN 该细菌属于肠杆菌科(可信度0.8)
  3. 规则解释器(推理引擎)

    • 这是系统的"大脑",负责控制整个推理过程。它持续执行 "匹配-选择-执行"循环
    • 匹配:扫描规则集,找出所有前提条件(IF部分)被工作内存中当前事实满足的规则。这些规则被放入"冲突集"。
    • 选择 :根据某种策略(如优先级、特殊性、最近使用等)从冲突集中选择一条规则来执行。在图示中,这对应着 "被选择的规则"
    • 执行(触发) :执行被选中规则的THEN部分。这个动作会:
      • 更新工作内存:添加新的事实或修改现有事实(例如,将"大肠杆菌"添加到可能病原体列表中)。
      • 可能触发新的规则,因为工作内存的更新改变了规则匹配的条件。

工作流程简述(以MYCIN诊断为例):

  1. 输入 :医生将患者的临床症状和实验室初步结果输入系统,这些数据被存入工作内存(事实集)。
  2. 推理循环开始
    • 规则解释器 扫描规则集,寻找其"IF"部分与工作内存中患者数据相匹配的规则。
    • 选择一条高优先级的规则,例如,一条关于识别细菌类型的规则。
    • 该规则被执行 ,其结论(例如,"病原体可能是大肠杆菌")作为一个新的事实被添加到工作内存中。
  3. 链式反应
    • 这个新事实的加入,使得另一些规则的IF条件得到满足(例如,关于"如何治疗大肠杆菌感染"的规则)。
    • 规则解释器再次进行匹配-选择-执行循环,激活新的规则。
  4. 输出 :这个过程持续进行,直到没有新规则被激活,或者系统得出了最终结论。最终,系统会输出其诊断结果和抗生素用药建议(包括药物名称、剂量和用药依据)。

总结:

MYCIN是规则系统架构的典范。它将专家的知识编码成独立的规则(规则集),通过一个中央推理引擎(规则解释器)对输入的事实(工作内存)进行逻辑推理,最终得出结论。这种架构的优势在于知识表示清晰 (规则易于理解和修改)和推理过程与知识分离,使得系统能够通过增加或修改规则来不断提升性能。

相关推荐
fangzhanpeng1685 天前
快速掌握C#语言基础知识点(1.基础数据类型)
开发语言·c#·1024程序员节
无己心8 天前
面向多平台 AI 搜索引擎的适配层架构设计
前端·人工智能·搜索引擎·ai·1024程序员节
u01030552713 天前
AI驱动的安卓UI自动生成功能实现
人工智能·1024程序员节
u01030552714 天前
长株潭智能体赋能腾讯元器链接共享
1024程序员节
云贝贝贝15 天前
OceanBase认证体系介绍与备考指南
运维·服务器·oceanbase·1024程序员节
u01030552715 天前
Java图像处理实战指南
人工智能·1024程序员节
u01030552716 天前
Java AWT鼠标事件全解析
人工智能·1024程序员节
u01030552718 天前
Java实用类应用精讲
人工智能·1024程序员节
u01030552719 天前
Java I/O核心操作实战
人工智能·1024程序员节
u01030552720 天前
ArrayList操作详解与实战应用
人工智能·1024程序员节