Drools規則引擎介紹

規則引擎起源於基於規則的專家系統,而基於規則的專家系統又是專家系統的其中一個分支。專家系統屬於人工智能的範疇,它模仿人類的推理方式,使用試探性的方法進行推理,並使用人類能理解的術語解釋和證明它的推理結論

規則引擎一般由3部分組成:規則庫(Knowledge base)+Working Memory(Fact base)+推理機(規則引擎)。

規則引擎的工作:模式匹配、衝突消解、執行引擎。

模式匹配算法:將事實與規則進行匹配的算法。常見的模式匹配算法有RETE,LFA,TREAI,LEAPS。Drools採用的匹配算法就是RETE,該算法被認爲是目前世界上最先進的模式匹配算法。

補充:規則引擎(rule engine)是有很多種的。依據規則的執行方式來劃分。商業上採用的大部分規則引擎都是 forward chaining(漢語咋解釋不知道)類型的。forward chaining類型有分爲2種:(1)production/inference rules(漢語咋解釋不知道)它是通過IFconditionTHEN action這種條件判斷的形式來驅動規則引擎的。(2)reaction/Event Condition Action rules,這種規則引擎是通過事件機制來驅動規則引擎的。這是我從維基百科上了解的。有興趣的可以去看http://en.wikipedia.org/wiki/Business_rules_engine


Rate算法:

相關概念:

(1)事實(Fact):對象之間及對象屬性之間的關係

(2)規則(rule):是由條件和結論構成的推理語句,一般表示爲if...Then。一個規則的if部分稱爲LHS,then部分稱爲RHS。

(3)模式(module):就是指IF語句的條件。這裏IF條件可能是有幾個更小的條件組成的大條件。模式就是指的不能在繼續分割下去的最小的原子條件。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章