基于Rete - OO规则引擎的模糊推理
1. 引言
规则和规则引擎在自动化决策过程(如业务工作流或系统监控)中起着重要作用。传统的推理机在评估规则时,最终会得出“是”或“否”的明确决策。然而,当需要处理不确定或不精确的知识时,这种明确的分类模式就会显得力不从心。
为了克服这些限制,开发了“Java专家模糊推理系统”(Jefis),并实现了工厂方法,将Jefis库作为经典规则引擎JBoss Drools的扩展。下面将详细介绍Jefis的新特性,并给出在Jefis Drools扩展器中执行不确定规则的示例。
有很多规则引擎支持模糊逻辑,包括商业和开源的,如FuzzyCLIPS和FuzzyShell等。这里选择了Drools,因为之前已经使用它完成了一些成功的第三方项目。由于该项目刚刚启动,目前的结果只是初步的,因此本文主要集中在模糊规则的创建和定制上。
以一个基于规则的冷却控制系统为例,传统规则系统可能会这样编码知识:
IF temperature == 60 degree THEN fan current = 6 mA
这种规则在任何专家系统语言中都很容易表述,但它的缺点是没有说明当温度为59°C或61°C时会发生什么,因为该规则是针对精确的温度值制定的。显然,为每个可能的温度或温度区间指定大量细粒度的规则是不可行的。
更好的方法是制定能表达发起者原始意图的规则,例如:
- R1: IF temperature IS cold THEN current IS low
- R2: IF temperatur
超级会员免费看
订阅专栏 解锁全文
944

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



