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

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

相关推荐
YC运维15 小时前
ELK日志分析系统完整部署与应用指南
1024程序员节
❀͜͡傀儡师15 小时前
Spring Boot 4.0.0-RC1 已经正式发布
1024程序员节·springboot4.0.0·framework7.0.0
fenglllle15 小时前
http trailer 与 http2
http·wireshark·1024程序员节
程序员三明治15 小时前
Spring AOP:注解配置与XML配置双实战
java·后端·spring·代理模式·aop·1024程序员节
王嘉俊92515 小时前
HarmonyOS 超级终端与服务卡片开发:打造无缝多设备交互体验
华为·架构·harmonyos·arkts·1024程序员节
红宝村村长15 小时前
【学习笔记】大模型
深度学习·1024程序员节
2501_9293826515 小时前
[Switch大气层]纯净版+特斯拉版 20.5.0大气层1.9.5心悦整合包 固件 工具 插件 前端等资源合集
前端·游戏·switch·1024程序员节·单机游戏
limingade15 小时前
手机摄像头如何识别体检的色盲检查图的数字和图案(下)
android·1024程序员节·色盲检查图·手机摄像头识别色盲图案·android识别色盲检测卡·色盲色弱检测卡