基于规则的系统:概念、开发与标准
1. 基于规则系统的核心组件
1.1 推理引擎
推理引擎是规则引擎的核心,其主要职责是将规则应用于数据。它以离散周期的方式工作,具体步骤如下:
1. 规则匹配 :使用模式匹配器将所有规则与工作内存进行比较,确定本周期应激活的规则。这些激活规则的无序列表,加上之前周期激活的规则,构成冲突集。
2. 冲突解决 :对冲突集进行排序,形成议程,即待执行规则的列表。此排序过程称为冲突解决,其策略取决于多种因素,部分因素由程序员控制。
3. 规则执行 :执行议程上的第一条规则(可能会改变工作内存),然后重复整个过程。
尽管这个过程可能涉及大量冗余工作,但许多规则引擎采用复杂技术避免或减少冗余。推理引擎能根据不同情况创建定制程序,处理程序员可能未预料到的输入组合,这是基于规则编程的一大优势。
1.2 规则库
规则库用于存储系统已知的所有规则。规则可简单以文本字符串形式存储,但通常由规则编译器处理成推理引擎更易处理的形式。例如,邮件过滤器的规则编译器可能生成用于搜索的模式表和存储邮件的文件夹;Jess 的规则编译器构建一个名为 Rete 网络的复杂索引数据结构,以实现快速规则处理。
规则编译器还可能对规则的前提或结论进行添加或重新排列,以提高效率或明确其自动执行的含义,这些更改在某些规则引擎中对程序员可能不可见。部分规则引擎允许或要求将规则库存储在外部关系数据库中,而其他规则引擎则有集成的规则库。
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



