999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于改進Drools規則引擎算法的兵力接替系統研究

2016-10-21 16:08:10劉晶晶崔燕初建民
軟件工程 2016年5期

劉晶晶 崔燕 初建民

摘 要:隨著作戰需求的多樣化,一些復雜的業務規則很難推導出精確的算法或抽象出合適的數據模型,因此將業務規則與軟件代碼分開引入規則引擎已成為一種主流趨勢。Drools規則引擎作為決策系統的推理機,采用Rete算法實現推理機的規則匹配,有著較高的效率,能夠較好匹配兵力接替系統。本文介紹了基于Drools規則引擎的兵力接替系統的設計方法及實現,具體設計了作戰規則、并提出策略匹配的改進沖突消解算法,對此方法進行了實驗比較,實驗證明此方法大大增強了系統的開發效率和后期軟件的維護成本。

關鍵詞:Drools;規則引擎;業務規則;Rete

中圖分類號:TP315 文獻標識碼:A

Abstract:With the diversification of the battle demands,precise 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 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 improved 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;rete

1 引言(Introduction)

隨著作戰任務需求的多樣化,一些復雜的作戰任務很難推導出精確的算法或抽象出數據模型。對于指控軟件來說業務規則常常在需求階段還不明確,在設計和編碼后還會發生變化,但是業務規則往往嵌套在系統的各個代碼中,使得后期軟件的維護成本很高[1,2],多空域航空兵兵力接替系統就屬于這樣的情況,如何根據作戰規則的不同找出合適的接替兵力列表成為亟須解決的難題。

本文針對此問題,提出應用Drools規則引擎[3-6]構建兵力接替系統的方法。由于規則引擎在維護軟件時支持對作戰規則的動態增、刪、改,降低了復雜業務邏輯和應用程序的維護成本。本文后面介紹了Drools規則引擎原理,給出了兵力接替系統模型框架,并通過系統軟件驗證此方法是可行的。

2 兵力接替功能介紹(Features of troop patrol system)

兵力接替功能是根據當前各目標信息(包括飛機的余油、性能、掛載等屬性信息)和巡邏空域的位置等信息確定出的一個多空域的航空兵接替巡邏出動計劃表。航空兵的出動計劃依據其后支撐的作戰規則產生。其中兵力接替系統的流程如圖1所示。

兵力接替系統的輸出是接替列表即航空兵出動計劃表,供指揮員決策使用。

3 Drools 規則引擎介紹(Drools rules engine introduction)

Drools是一個采用規則實現的專家系統。它的核心是一個推理引擎,能夠處理大量的規則和事實。它采用的匹配算法是改進版本的Rete算法[7-11]。Rete算法是一個目前效率較高的前項鏈推理算法,其根據規則庫構建有效的模式匹配網絡,并且記錄匹配中節點的狀態,從而獲得有效的解析和很高的效率。

Drools中的Rete算法被稱為ReteOO,這種方法從一個初始的事實觸發,不斷應用規則進行推理或執行指定的動作,逐步匹配運算,最終達到相應的結論。Drools規則引擎過程如圖2所示。

Drools規則引擎推理過程如下:

(1)加載規則至規則庫。

(2)加載需要匹配的事實至Working Memory。

(3)對加載的規則和事實在模式匹配器中進行匹配。

(4)將多條匹配的規則加入沖突集合。

(5)根據沖突解決策略解決沖突,并確定需要激活的規則及其激活順序,將規則按順序加入議程中。

(6)按照順序執行規則,并重復3—6步,直至議程中無可激活規則為止。

4 兵力接替系統設計(Troop patrol design)

4.1 規則設計

兵力接替系統主要包括三層:

(1)UI應用層。用戶從態勢圖選擇多空域,設定優選規則和過濾條件,將數據傳給計算服務。

(2)計算服務層。計算服務接收應用層傳入的數據,根據過濾條件計算出可用的兵力,并將規范化數據轉交底層規則引擎。

(3)規則引擎決策層。規則引擎接收從服務層傳入的數據,載入到兵力接替模塊對應的Working Memory中,并依據引擎中配置的決策規則,進行業務決策。最終將決策結果返回結果給服務層。

在這三層中最為核心的是規則引擎決策層,其他兩層主要是為其準備規范化數據。

在規則引擎中首先需要添加可配置的規則。兵力接替的規則包括:(1)時間最快優先。(2)同一機場優先。(3)同一機型優先。(4)某類機型優先。(5)某些空域優先。

由于規則之間可能存在沖突,而且同一個事實對象可能會觸發多個規則,因此給每條規則添加了一個Level屬性,Level值越低其優先值越高,此條規則就越重要。當同一事實對象觸發了多個規則時,規則引擎會將觸發的所有規則放入議程中。這時需要沖突消解策略進行沖突消解。

4.2 改進策略消解算法

原先采用的方法是根據每個規則中的Level屬性進行排序,按照順序逐一執行議程中的所有規則,后一個規則執行的結果會覆蓋前一個規則的結果。由于此方法中會計算多次規則引擎結果,且結果不會使用而是直接拋棄,為了加快效率,采用改進版本的匹配方法執行規則。改進版方法在一個事實觸發多個規則時,會進行邏輯判定,最后只計算一次完全匹配規則的結果,加快了效率,改進版本流程圖如圖3所示。

算法會在議程中循環判斷是否有與事件對象完全匹配的規則,若存在此規則,則與現有匹配規則比較其Level值,將Level值小的保留。循環結束時計算當前存在的規則。

算法結果時間比較,接替規則定義為:時間優先,同一機場優先,同一機型優先,某類空域優先。實驗所取的規則一樣,選取典型10個巡邏區域進行實驗。

實驗所需計算結果如表1所示。

為了提高數據準確性,去除用時最多的H區域與用時最少的J區域,計算得到結果為:改進前計算平均值為1217ms,改進后計算平均值為967ms,時間縮短了21.1%。

為了更直觀表達出改進算法后系統計算性能的提高,在這里采用折線圖,如圖4所示。

5 結論(Conclusion)

本文采用Drools規則引擎將軍事業務邏輯從程序邏輯中分離出來,使用貼近軍事描述的語義模塊定義規范,實現對業務規則的集中生成共享和復用。當后期兵力接替業務規則發生變化之后,只需要修改規則文件即可,而不需要修改、編譯、測試、發布文件,如此將極大降低維護成本。在使用規則引擎進行計算時,提出了一種只計算一次完全匹配結果的改進計算方法,提高了改進效率近21%。

參考文獻(References)

[1] Liu D,Gu T,Xue J P.Rule Engine based on improvement Rete algorithm[C].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 engines[J].Aquaculture,2005,249(s1-4):353-365.

[3] Nagl C,Rosenberg F,Dustdar S.VIDRE--A Distributed Service-Oriented Business Rule Engine based on RuleML[C].IEEE International Enterprise Distributed Object Computing Conference.IEEE Computer Society,2006:35-44.

[4]Proctor M.Drools:a rule engine for complex event processing[C]//International Conference on Applications of Graph Transformations with Industrial Relevance,2011.

[5] 陳育謙,等.基于規則引擎的項目開發環境訪問控制架構[J].指揮信息系統與技術,2014(02):5-8.

[6] 藍雯飛,邢志寶,強小利.一種Drools規則引擎封裝模型及其實現[J].中南民族大學學報(自然科學版),2015(03):45-50.

[7] 劉亞琴,譚一兵.基于規則引擎的應用程序開發[J].邵陽學院學報(自然科學版),2006(02):19-23.

[8] 牛凱.規則引擎Drools在制造業J2EE系統中的應用研究[J].成組技術與生產現代化,2014(02):5-11.

[9] 顧小東,高陽.Rete算法:研究現狀與挑戰[J].計算機科學,2012(11):9-14.

[10] 宋震,郭福順,李蓮治.IMPR:一種優于RETE算法的多模式/多對象匹配算法[J].小型微型計算機系統,2002(02):15-18.

[11] 文舉榮,王永利,劉偉.支持多類型瑕疵度量的RETE改進算法[J].計算機工程與應用,2015(15):8-13.

作者簡介:

劉晶晶(1986-),男,碩士,工程師.研究領域:指揮控制系統.

崔 燕(1988-),女,碩士,助理工程師.研究領域:指揮控制系統.

初建民(1997-),男,本科生.研究領域:算法研究.

主站蜘蛛池模板: 91网址在线播放| 精品91自产拍在线| 亚洲色图综合在线| 1级黄色毛片| 97久久免费视频| 91美女视频在线观看| 欧美有码在线观看| 伊人91在线| 亚洲无线观看| 日韩高清无码免费| 亚洲日本韩在线观看| 国产男女免费完整版视频| 中国国语毛片免费观看视频| 久久精品波多野结衣| 精品丝袜美腿国产一区| 亚洲欧美日韩中文字幕在线| 超级碰免费视频91| 亚洲AⅤ综合在线欧美一区| 日本人又色又爽的视频| 国产成人一区在线播放| 久久国产乱子| 91在线丝袜| 色视频国产| 丁香婷婷久久| 99久久人妻精品免费二区| 亚洲国产av无码综合原创国产| 国产性精品| 亚洲第一网站男人都懂| 精品自拍视频在线观看| 亚洲美女视频一区| 国产欧美视频一区二区三区| 欧美色图久久| 东京热高清无码精品| 老司机精品一区在线视频| 国产18页| h视频在线播放| 国产www网站| 最新日韩AV网址在线观看| 欧美另类视频一区二区三区| a毛片在线| 国产极品嫩模在线观看91| 欧美亚洲国产视频| 国产成人无码AV在线播放动漫 | 91免费片| 97视频在线观看免费视频| 亚洲一区色| 91福利在线看| 在线观看视频99| 91区国产福利在线观看午夜 | 91麻豆精品国产91久久久久| 91亚洲精选| 午夜福利在线观看成人| 99热这里只有精品国产99| 久久久久国色AV免费观看性色| 国产精品lululu在线观看| 久久国产精品嫖妓| 99re在线观看视频| 成人一级免费视频| 一级一级一片免费| 亚洲第一区欧美国产综合 | 国产在线观看精品| 成人精品视频一区二区在线| 天堂成人在线视频| 日韩久草视频| 午夜国产大片免费观看| 手机精品视频在线观看免费| 在线播放国产一区| 欧美三级视频网站| 91蝌蚪视频在线观看| 亚洲人成影视在线观看| 成人午夜久久| 亚洲制服丝袜第一页| 伊人天堂网| 97在线国产视频| 老司机午夜精品网站在线观看| 国产精品极品美女自在线网站| 欧美国产菊爆免费观看| 免费亚洲成人| 91娇喘视频| 欧美一级高清片欧美国产欧美| 色噜噜中文网| 一区二区三区高清视频国产女人|