首頁  >  文章  >  Java  >  drools規則引擎是什麼

drools規則引擎是什麼

angryTom
angryTom原創
2019-07-23 10:30:386256瀏覽

drools規則引擎是什麼

推薦教學:java教學

Drools簡介

  Drools(JBoss Rules )具有一個易於存取企業策略、易於調整以及易於管理的開源業務規則引擎,符合業內標準,速度快、效率高。業務分析師或審核人員可以利用它輕鬆查看業務規則,從而檢驗是否已編碼的規則執行了所需的業務規則。

  JBoss Rules 的前身是Codehaus的一個開源專案叫做Drools。最近被納入JBoss門下,更名為JBoss Rules,成為了JBoss應用伺服器的規則引擎。

  Drools是為Java量身定制的基於Charles Forgy的RETE演算法的規則引擎的實作。具有了OO介面的RETE,使得商業規則有了更自然的表達。

  Drools的用XML的 節點表達If--Then句式,而裡面可以嵌入上述語言的程式碼作為判斷語句和執行語句。

  其中Java程式碼會使用Antlr來解釋,而Groovy和Python本身就是腳本語言,可以直接呼叫。

  Drools的聰明之處在於,用XML節點來規範If--Then句式和事實的定義,使引擎幹起活來很舒服。

  而使用Java,Groovy等原生語言來做判斷和執行語句,讓程式設計師很容易過渡、移植,學習曲線很低。

擴充內容:規則引擎

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

  規則引擎一般由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,這個規則引擎是透過事件機制來驅動規則引擎的。這是我從維基百科上了解的。

以上是drools規則引擎是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn