规则系统:原理、开发与标准
1. 规则系统的核心组件
1.1 推理引擎
推理引擎是规则引擎的核心,其主要任务是将规则应用于数据。它以离散周期的方式工作,具体流程如下:
1. 规则匹配 :使用模式匹配器将所有规则与工作内存进行比较,确定本周期应激活的规则。这些激活的规则与之前周期激活的规则组成冲突集。
2. 冲突解决 :对冲突集进行排序,形成议程,即待执行规则的列表。此排序过程称为冲突解决,其策略受多种因素影响。
3. 规则执行 :执行议程上的第一条规则,可能会改变工作内存的内容,然后重复整个过程。
虽然这个过程可能存在大量冗余工作,但许多规则引擎采用复杂技术来避免或减少冗余。推理引擎能根据不同情况定制程序,处理程序员可能未预料到的输入组合,这是基于规则编程的一大优势。
1.2 规则库
规则库用于存储系统已知的所有规则。规则可以以文本字符串形式存储,但通常会由规则编译器处理成推理引擎更易处理的形式。例如,电子邮件过滤器的规则编译器可能生成用于搜索的模式表和存储邮件的文件夹表。Jess 的规则编译器构建了一个名为 Rete 网络的复杂索引数据结构,可加快规则处理速度。
规则编译器还可能对规则的前提或结论进行修改或重新排列,以提高效率或明确其自动执行的含义。有些规则引擎允许或要求将规则库存储在外部关系数据库中,这样可以根据日期、时间和用户访问权限等标准选择要包含在系统中的规则。
1.3 工作内存
工作内存(有时称为事实库)包含规则系统
超级会员免费看
订阅专栏 解锁全文

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



