最近做一個項目可能會用到規(guī)則引擎,。就學(xué)習(xí)了一下,。寄了些筆記。從最開始的一無所知,,到慢慢熟悉,,在這里記錄一下啊。 規(guī)則引擎的概念:規(guī)則引擎起源于基于規(guī)則的專家系統(tǒng),,而基于規(guī)則的專家系統(tǒng)又是專家系統(tǒng)的其中一個分支,。專家系統(tǒng)屬于人工智能的范疇,它模仿人類的推理方式,,使用試探性的方法進行推理,,并使用人類能理解的術(shù)語解釋和證明它的推理結(jié)論。規(guī)則引擎一般由3部分組成:規(guī)則庫(Knowledge base)+Working Memory(Fact base)+推理機(規(guī)則引擎)。 規(guī)則引擎的工作:模式匹配,、沖突消解,、執(zhí)行引擎。 模式匹配算法:將事實與規(guī)則進行匹配的算法,。常見的模式匹配算法有RETE,LFA,TREAI,LEAPS,。Drools采用的匹配算法就是RETE,該算法被認為是目前世界上最先進的模式匹配算法,。 補充:規(guī)則引擎(rule engine)是有很多種的,。依據(jù)規(guī)則的執(zhí)行方式來劃分。商業(yè)上采用的大部分規(guī)則引擎都是 forward chaining(漢語咋解釋不知道)類型的,。forward chaining類型有分為2種:(1)production/inference rules(漢語咋解釋不知道)它是通過IFconditionTHEN action這種條件判斷的形式來驅(qū)動規(guī)則引擎的,。(2)reaction/Event Condition Action rules,這種規(guī)則引擎是通過事件機制來驅(qū)動規(guī)則引擎的,。這是我從維基百科上了解的,。有興趣的可以去看http://en./wiki/Business_rules_engine。 到此,,我們對規(guī)則引擎是個啥東西已經(jīng)有總體的了解了,。至于里邊提到的各個細節(jié),我們可以放到以后慢慢了解,,現(xiàn)在不是深究它們的時候,。畢竟我們是要學(xué)習(xí)Drools,,并運用到實際項目中,。要是想都搞明白了在做項目,那項目經(jīng)理是要罵娘的,。 下面將看看啥時rete算法,。 |
|
來自: 賈朋亮博客 > 《Drools引擎》