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

好的,针对你提供的"规则系统体系结构风格"图示,一个最经典和常被引用的案例是专家系统。
经典案例:MYCIN 医疗诊断专家系统
MYCIN 是20世纪70年代在斯坦福大学开发的用于诊断细菌感染性疾病(如脑膜炎和菌血症)并推荐抗生素治疗的专家系统。它完美地体现了规则系统架构的核心思想。
工作原理与规则系统架构的对应关系:
-
工作内存:
- 存储当前的事实集和推理过程中的临时数据。
- 在MYCIN中,这包括:
- 患者数据:年龄、性别、体重、过敏史等。
- 临床症状:发烧、头痛、白细胞计数等。
- 实验室观测数据:革兰氏染色结果、培养物来源(如血液、脑脊液)等。
- 推理过程中产生的中间事实:例如,系统推断出的"可能病原体清单"。
-
规则集:
- 包含领域专家的知识,以 "IF-THEN" 规则的形式存储。
- 在MYCIN中,规则库约有400-500条规则。例如:
- 规则示例 :
IF(1)革兰氏染色是阴性
AND(2)细菌形态是杆状
AND(3)细菌需氧性为需氧
THEN该细菌属于肠杆菌科(可信度0.8)
- 规则示例 :
-
规则解释器(推理引擎):
- 这是系统的"大脑",负责控制整个推理过程。它持续执行 "匹配-选择-执行"循环。
- 匹配:扫描规则集,找出所有前提条件(IF部分)被工作内存中当前事实满足的规则。这些规则被放入"冲突集"。
- 选择 :根据某种策略(如优先级、特殊性、最近使用等)从冲突集中选择一条规则来执行。在图示中,这对应着 "被选择的规则"。
- 执行(触发) :执行被选中规则的THEN部分。这个动作会:
- 更新工作内存:添加新的事实或修改现有事实(例如,将"大肠杆菌"添加到可能病原体列表中)。
- 可能触发新的规则,因为工作内存的更新改变了规则匹配的条件。
工作流程简述(以MYCIN诊断为例):
- 输入 :医生将患者的临床症状和实验室初步结果输入系统,这些数据被存入工作内存(事实集)。
- 推理循环开始 :
- 规则解释器 扫描规则集,寻找其"IF"部分与工作内存中患者数据相匹配的规则。
- 它选择一条高优先级的规则,例如,一条关于识别细菌类型的规则。
- 该规则被执行 ,其结论(例如,"病原体可能是大肠杆菌")作为一个新的事实被添加到工作内存中。
- 链式反应 :
- 这个新事实的加入,使得另一些规则的IF条件得到满足(例如,关于"如何治疗大肠杆菌感染"的规则)。
- 规则解释器再次进行匹配-选择-执行循环,激活新的规则。
- 输出 :这个过程持续进行,直到没有新规则被激活,或者系统得出了最终结论。最终,系统会输出其诊断结果和抗生素用药建议(包括药物名称、剂量和用药依据)。
总结:
MYCIN是规则系统架构的典范。它将专家的知识编码成独立的规则(规则集),通过一个中央推理引擎(规则解释器)对输入的事实(工作内存)进行逻辑推理,最终得出结论。这种架构的优势在于知识表示清晰 (规则易于理解和修改)和推理过程与知识分离,使得系统能够通过增加或修改规则来不断提升性能。