[阅读: 391] 2006-02-20 09:32:57
项目需要,把规则引擎研究了2天。
没有仔细去研究mete算法,不过对规则引擎的一些概念算是略有了一些了解:
RBES(规则引擎)包括Rule Base(knowledge base)、Working Memory(fact base)和Inference Engine(推理引擎);其中推理引擎又包括三部分:Pattern Matcher、Agenda和Execution Engine Pattern Matcher何时执行哪个规则;Agenda管理PatternMatcher挑选出来的规则的执行次序;Execution Engine负责执行规则和其他动作。推理引擎通过决定哪些规则满足事实或目标,并授予规则优先级,满足事实或目标的规则被加入议程。存在两者推理方式:演绎法(Forward-Chaining正向链)和归纳法(Backward-Chaining反向链)。演绎法从一个初始的事实出发,不断地应用规则得出结论(或执行指定的动作)。而归纳法则是从假设出发,不断地寻找符合假设的事实。
另外把drools也看了一下,drools是一款非常优秀的规则引擎,虽然自己所谓的mete oo算法可能比mete要略慢,但是其使用是非常方便的。它实现了JSR94 API,而且它的规则语义DSL支持java、python、groovy等.