Drools學習筆記1-規則引擎介紹

最近做一個項目可能會用到規則引擎。就學習了一下。寄了些筆記。從最開始的一無所知,到慢慢熟悉,在這裏記錄一下啊。

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

到此,我們對規則引擎是個啥東西已經有總體的瞭解了。至於裏邊提到的各個細節,我們可以放到以後慢慢了解,現在不是深究它們的時候。畢竟我們是要學習Drools,並運用到實際項目中。要是想都搞明白了在做項目,那項目經理是要罵孃的。

下面將看看啥時rete算法。



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