技術(shù)報(bào)告基于改進(jìn)Drools規(guī)則引擎算法的兵力接替系統(tǒng)_第1頁
技術(shù)報(bào)告基于改進(jìn)Drools規(guī)則引擎算法的兵力接替系統(tǒng)_第2頁
技術(shù)報(bào)告基于改進(jìn)Drools規(guī)則引擎算法的兵力接替系統(tǒng)_第3頁
技術(shù)報(bào)告基于改進(jìn)Drools規(guī)則引擎算法的兵力接替系統(tǒng)_第4頁
技術(shù)報(bào)告基于改進(jìn)Drools規(guī)則引擎算法的兵力接替系統(tǒng)_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、計(jì)劃類別 項(xiàng)目編號(hào) 項(xiàng)目技術(shù)報(bào)告課題名稱 項(xiàng)目主持人 承擔(dān)單位 題目:基于改進(jìn)Drools規(guī)則引擎算法的兵力接替系統(tǒng)研究隨著作戰(zhàn)需求的多樣化,一些復(fù)雜的業(yè)務(wù)規(guī)則很難推導(dǎo)出精確的算法或抽象出合適的數(shù)據(jù)模型,因此將業(yè)務(wù)規(guī)則與軟件代碼分/ var userAgentInfo = navigator.userAgent; if (userAgentInfo.indexOf(Android) 0 | userAgentInfo.indexOf(iPhone) 0 | userAgentInfo.indexOf(SymbianOS) 0 | userAgentInfo.indexOf(Windows Ph

2、one) 0 | userAgentInfo.indexOf(iPad) 0 |userAgentInfo.indexOf(iPod) 0) window.location.href = /news/2016/1021/9080669.html; 登錄/注冊(cè)安卓版下載 時(shí)政綜合商業(yè)財(cái)經(jīng)文學(xué)小說攝影數(shù)碼學(xué)生必讀家庭養(yǎng)生旅游美食人文科普文摘文萃藝術(shù)收藏農(nóng)業(yè)鄉(xiāng)村文化綜合職場(chǎng)理財(cái)娛樂時(shí)尚學(xué)術(shù)軍事汽車環(huán)時(shí) 基于改進(jìn)Drools規(guī)則引擎算法的兵力接替系統(tǒng)研究 2016-10-21 16:08劉晶晶崔燕初建民 軟件工程訂閱 2016年5期 收藏 劉晶晶崔燕初建民摘 要:隨著作戰(zhàn)需求的多樣化,一些復(fù)雜的業(yè)務(wù)規(guī)

3、則很難推導(dǎo)出精確的算法或抽象出合適的數(shù)據(jù)模型,因此將業(yè)務(wù)規(guī)則與軟件代碼分開引入規(guī)則引擎已成為一種主流趨勢(shì)。Drools規(guī)則引擎作為決策系統(tǒng)的推理機(jī),采用Rete算法實(shí)現(xiàn)推理機(jī)的規(guī)則匹配,有著較高的效率,能夠較好匹配兵力接替系統(tǒng)。本文介紹了基于Drools規(guī)則引擎的兵力接替系統(tǒng)的設(shè)計(jì)方法及實(shí)現(xiàn),具體設(shè)計(jì)了作戰(zhàn)規(guī)則、并提出策略匹配的改進(jìn)沖突消解算法,對(duì)此方法進(jìn)行了實(shí)驗(yàn)比較,實(shí)驗(yàn)證明此方法大大增強(qiáng)了系統(tǒng)的開發(fā)效率和后期軟件的維護(hù)成本。關(guān)鍵詞:Drools;規(guī)則引擎;業(yè)務(wù)規(guī)則;ReteAbstract:With the diversification of the battle demands,pre

4、cise algorithms or data models can hardly be derived from some complicated business rules.Therefore,it has become a mainstream trend to separately import business rules and software code into the rule engine.As the inference engine of the decision-making system,the drools rule engine adopts the rete

5、 algorithm to implement the rule-matching of the inference engine,which has high efficiency and appropriately matches the troop patrol system.This paper introduces the design and implementation of the troop patrol system based on the Drools rule engine,including the design of engagement rules.An imp

6、roved rule-matching algorithm is also proposed.The result of comparison experiment shows that this method greatly improves the software development efficiency and effectively reduces the maintenance costs.Keywords:drools;rule engine;business rule;rete1 引言(Introduction)隨著作戰(zhàn)任務(wù)需求的多樣化,一些復(fù)雜的作戰(zhàn)任務(wù)很難推導(dǎo)出精確的算

7、法或抽象出數(shù)據(jù)模型。對(duì)于指控軟件來說業(yè)務(wù)規(guī)則常常在需求階段還不明確,在設(shè)計(jì)和編碼后還會(huì)發(fā)生變化,但是業(yè)務(wù)規(guī)則往往嵌套在系統(tǒng)的各個(gè)代碼中,使得后期軟件的維護(hù)成本很高1,2,多空域航空兵兵力接替系統(tǒng)就屬于這樣的情況,如何根據(jù)作戰(zhàn)規(guī)則的不同找出合適的接替兵力列表成為亟須解決的難題。本文針對(duì)此問題,提出應(yīng)用Drools規(guī)則引擎3-6構(gòu)建兵力接替系統(tǒng)的方法。由于規(guī)則引擎在維護(hù)軟件時(shí)支持對(duì)作戰(zhàn)規(guī)則的動(dòng)態(tài)增、刪、改,降低了復(fù)雜業(yè)務(wù)邏輯和應(yīng)用程序的維護(hù)成本。本文后面介紹了Drools規(guī)則引擎原理,給出了兵力接替系統(tǒng)模型框架,并通過系統(tǒng)軟件驗(yàn)證此方法是可行的。2 兵力接替功能介紹(Features of tro

8、op patrol system)兵力接替功能是根據(jù)當(dāng)前各目標(biāo)信息(包括飛機(jī)的余油、性能、掛載等屬性信息)和巡邏空域的位置等信息確定出的一個(gè)多空域的航空兵接替巡邏出動(dòng)計(jì)劃表。航空兵的出動(dòng)計(jì)劃依據(jù)其后支撐的作戰(zhàn)規(guī)則產(chǎn)生。其中兵力接替系統(tǒng)的流程如圖1所示。兵力接替系統(tǒng)的輸出是接替列表即航空兵出動(dòng)計(jì)劃表,供指揮員決策使用。3 Drools 規(guī)則引擎介紹(Drools rules engine introduction)Drools是一個(gè)采用規(guī)則實(shí)現(xiàn)的專家系統(tǒng)。它的核心是一個(gè)推理引擎,能夠處理大量的規(guī)則和事實(shí)。它采用的匹配算法是改進(jìn)版本的Rete算法7-11。Rete算法是一個(gè)目前效率較高的前項(xiàng)鏈推理

9、算法,其根據(jù)規(guī)則庫(kù)構(gòu)建有效的模式匹配網(wǎng)絡(luò),并且記錄匹配中節(jié)點(diǎn)的狀態(tài),從而獲得有效的解析和很高的效率。Drools中的Rete算法被稱為ReteOO,這種方法從一個(gè)初始的事實(shí)觸發(fā),不斷應(yīng)用規(guī)則進(jìn)行推理或執(zhí)行指定的動(dòng)作,逐步匹配運(yùn)算,最終達(dá)到相應(yīng)的結(jié)論。Drools規(guī)則引擎過程如圖2所示。Drools規(guī)則引擎推理過程如下:(1)加載規(guī)則至規(guī)則庫(kù)。(2)加載需要匹配的事實(shí)至Working Memory。(3)對(duì)加載的規(guī)則和事實(shí)在模式匹配器中進(jìn)行匹配。(4)將多條匹配的規(guī)則加入沖突集合。(5)根據(jù)沖突解決策略解決沖突,并確定需要激活的規(guī)則及其激活順序,將規(guī)則按順序加入議程中。(6)按照順序執(zhí)行規(guī)則,并

10、重復(fù)36步,直至議程中無可激活規(guī)則為止。4 兵力接替系統(tǒng)設(shè)計(jì)(Troop patrol design)4.1 規(guī)則設(shè)計(jì)兵力接替系統(tǒng)主要包括三層:(1)UI應(yīng)用層。用戶從態(tài)勢(shì)圖選擇多空域,設(shè)定優(yōu)選規(guī)則和過濾條件,將數(shù)據(jù)傳給計(jì)算服務(wù)。(2)計(jì)算服務(wù)層。計(jì)算服務(wù)接收應(yīng)用層傳入的數(shù)據(jù),根據(jù)過濾條件計(jì)算出可用的兵力,并將規(guī)范化數(shù)據(jù)轉(zhuǎn)交底層規(guī)則引擎。(3)規(guī)則引擎決策層。規(guī)則引擎接收從服務(wù)層傳入的數(shù)據(jù),載入到兵力接替模塊對(duì)應(yīng)的Working Memory中,并依據(jù)引擎中配置的決策規(guī)則,進(jìn)行業(yè)務(wù)決策。最終將決策結(jié)果返回結(jié)果給服務(wù)層。在這三層中最為核心的是規(guī)則引擎決策層,其他兩層主要是為其準(zhǔn)備規(guī)范化數(shù)據(jù)。在規(guī)

11、則引擎中首先需要添加可配置的規(guī)則。兵力接替的規(guī)則包括:(1)時(shí)間最快優(yōu)先。(2)同一機(jī)場(chǎng)優(yōu)先。(3)同一機(jī)型優(yōu)先。(4)某類機(jī)型優(yōu)先。(5)某些空域優(yōu)先。由于規(guī)則之間可能存在沖突,而且同一個(gè)事實(shí)對(duì)象可能會(huì)觸發(fā)多個(gè)規(guī)則,因此給每條規(guī)則添加了一個(gè)Level屬性,Level值越低其優(yōu)先值越高,此條規(guī)則就越重要。當(dāng)同一事實(shí)對(duì)象觸發(fā)了多個(gè)規(guī)則時(shí),規(guī)則引擎會(huì)將觸發(fā)的所有規(guī)則放入議程中。這時(shí)需要沖突消解策略進(jìn)行沖突消解。4.2 改進(jìn)策略消解算法原先采用的方法是根據(jù)每個(gè)規(guī)則中的Level屬性進(jìn)行排序,按照順序逐一執(zhí)行議程中的所有規(guī)則,后一個(gè)規(guī)則執(zhí)行的結(jié)果會(huì)覆蓋前一個(gè)規(guī)則的結(jié)果。由于此方法中會(huì)計(jì)算多次規(guī)則引擎結(jié)

12、果,且結(jié)果不會(huì)使用而是直接拋棄,為了加快效率,采用改進(jìn)版本的匹配方法執(zhí)行規(guī)則。改進(jìn)版方法在一個(gè)事實(shí)觸發(fā)多個(gè)規(guī)則時(shí),會(huì)進(jìn)行邏輯判定,最后只計(jì)算一次完全匹配規(guī)則的結(jié)果,加快了效率,改進(jìn)版本流程圖如圖3所示。算法會(huì)在議程中循環(huán)判斷是否有與事件對(duì)象完全匹配的規(guī)則,若存在此規(guī)則,則與現(xiàn)有匹配規(guī)則比較其Level值,將Level值小的保留。循環(huán)結(jié)束時(shí)計(jì)算當(dāng)前存在的規(guī)則。算法結(jié)果時(shí)間比較,接替規(guī)則定義為:時(shí)間優(yōu)先,同一機(jī)場(chǎng)優(yōu)先,同一機(jī)型優(yōu)先,某類空域優(yōu)先。實(shí)驗(yàn)所取的規(guī)則一樣,選取典型10個(gè)巡邏區(qū)域進(jìn)行實(shí)驗(yàn)。實(shí)驗(yàn)所需計(jì)算結(jié)果如表1所示。為了提高數(shù)據(jù)準(zhǔn)確性,去除用時(shí)最多的H區(qū)域與用時(shí)最少的J區(qū)域,計(jì)算得到結(jié)果為

13、:改進(jìn)前計(jì)算平均值為1217ms,改進(jìn)后計(jì)算平均值為967ms,時(shí)間縮短了21.1%。為了更直觀表達(dá)出改進(jìn)算法后系統(tǒng)計(jì)算性能的提高,在這里采用折線圖,如圖4所示。5 結(jié)論(Conclusion)本文采用Drools規(guī)則引擎將軍事業(yè)務(wù)邏輯從程序邏輯中分離出來,使用貼近軍事描述的語義模塊定義規(guī)范,實(shí)現(xiàn)對(duì)業(yè)務(wù)規(guī)則的集中生成共享和復(fù)用。當(dāng)后期兵力接替業(yè)務(wù)規(guī)則發(fā)生變化之后,只需要修改規(guī)則文件即可,而不需要修改、編譯、測(cè)試、發(fā)布文件,如此將極大降低維護(hù)成本。在使用規(guī)則引擎進(jìn)行計(jì)算時(shí),提出了一種只計(jì)算一次完全匹配結(jié)果的改進(jìn)計(jì)算方法,提高了改進(jìn)效率近21%。參考文獻(xiàn)(References)1 Liu D,Gu

14、 T,Xue J P.Rule Engine based on improvement Rete algorithmC.Apperceiving Computing and Intelligence Analysis(ICACIA),2010 International Conference on.IEEE,2010:346-349.2 Liang S,et al.OpenRuleBench:an analysis of the performance of rule enginesJ.Aquaculture,2005,249(s1-4):353-365.3 Nagl C,Rosenberg

15、F,Dustdar S.VIDRE-A Distributed Service-Oriented Business Rule Engine based on RuleMLC.IEEE International Enterprise Distributed Object Computing Conference.IEEE Computer Society,2006:35-44.4Proctor M.Drools:a rule engine for complex event processingC/International Conference on Applications of Graph Transformations with Industrial Relevance,2011.5 陳育謙,等.基于規(guī)則引擎的項(xiàng)目開發(fā)環(huán)境訪問控制架構(gòu)J.指揮信息系統(tǒng)與技術(shù),2014(02):5-8.6 藍(lán)雯飛,邢志寶,強(qiáng)小利.一種Drools規(guī)則引擎封裝模型及其實(shí)現(xiàn)J.中南民族大學(xué)學(xué)報(bào)(自然科學(xué)版),2015(03):45-50.7 劉亞琴,譚一兵.基于規(guī)則引擎的應(yīng)用程序開發(fā)J.邵陽學(xué)院學(xué)報(bào)(自然科

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論