易 侃, 張杰勇, 焦志強, 王 哲
(1. 中國電子科技集團公司第二十八研究所信息系統工程重點實驗室, 江蘇 南京 210007; 2. 空軍工程大學信息與導航學院, 陜西 西安 710077; 3. 中國人民解放軍第95910部隊,甘肅 酒泉 735018; 4. 國防科技大學信息通信學院, 陜西 西安 710106)
軍事信息系統作為作戰要素的黏合劑,在信息化戰場上發揮著十分重要的作用。隨著軍事技術的不斷發展,武器裝備的性能在不斷提高。同時,戰場環境也日趨復雜,作戰任務的多樣性和不確定性給軍事信息系統帶來了巨大的挑戰。因此,如何面向任務構建軍事信息系統受到了眾多學者和研究機構的廣泛關注[1-2]。
從問題本質上看,面向任務構建軍事信息系統就是要實現任務需求到系統資源的映射,而系統能力/功能即是連接任務和資源的紐帶。一方面,系統能力/功能為任務的執行提供直接支撐;另一方面,系統能力/功能是通過系統資源實現的。因此,實現任務到系統功能的映射是面向任務構建軍事信息系統的關鍵。
目前,在工程上一般采用模板匹配的方法處理作戰任務-系統功能映射問題,即先根據專家及作戰人員的經驗設計好所有可能的作戰任務-系統功能映射模板(需要從任務直接映射到原子級系統功能)并形成模板庫,在使用時根據需求在模板庫中進行匹配查找[3-4]。顯然,這種方法前期投入的人力和時間成本很大,且后期仍需投入較大的成本對模板庫進行維護,不利于軍事信息系統面向任務的快速生成與敏捷演化。
針對上述情況,部分學者開始研究自動映射方法。從映射方式來看,目前的研究可分為兩類:集中式[5]與分布式[6]。集中式的映射要在給定抽象功能流程的基礎上,確定各節點選取的功能實例。因此,主要包含了檢索[7-8]和選擇[9-10]兩個步驟,即先根據給定的抽象需求對功能進行檢索,然后在被檢索到的多個功能中選擇當前最優的功能實例。而分布式的映射則從抽象流程構建的角度出發,以功能間的依賴關系為基礎,針對任務需求、通過規劃方法得到映射方案。由于分布式的映射不需要直接提供抽象流程,因而其具有更高的自動化程度。針對分布式的映射問題,一般可以采用智能規劃方法[11-12]進行求解。文獻[11]通過對狀態的預先排序,提出了基于有序爬山法的前向啟發式搜索規劃方法,提高了前向規劃器的規劃效率。文獻[12]則基于宏操作的概念,提出了一種具有學習策略的規劃方案,有效增強了規劃器在特定規劃領域的規劃效果。
然而,當功能實例數量過多或規劃鏈路過長時,前向規劃的時間將會迅速增加,不利于快速得到規劃方案。層次任務網絡(hierarchical task network, HTN)方法[13-15]是一種作用在領域空間內的智能規劃方法,通過領域內定義的方法將任務進行分解,直至達到不可分解的原子操作,從而得到規劃解,在規劃時間上具有獨特優勢。由于在作戰任務-系統功能映射問題中,任務和功能都具備可分解的特性,本文考慮利用HTN規劃方法實現作戰任務到系統功能的高效映射。通過設計基于遞歸思想的任務分解算法以及基于鄰接矩陣的多方案整合算法,使得HTN方法能夠適應多屬性輸入的情況,從而得到了滿足任務需求的系統功能映射方案。
系統能力是系統為了完成任務所必需具備的一些屬性,系統能力可以根據任務和系統狀態進行分解。在分解得到的子能力中,不可再分解或者可以由系統直接實現的能力被稱作功能。作戰任務-系統功能映射過程關注完成某項作戰任務時系統所需具備的能力/功能,是生成軍事信息系統構建方案的基礎。下面對作戰任務和系統功能作如下定義。
作戰任務可以表示為一個五元組Task=
系統功能可以表示為一個五元組Capbility=
同樣,一條指控信息C∈cInfo,可以定義為一個七元組C=
狀態集合State包含了系統在運行過程中所有可能出現的狀態,描述了雙方作戰單元的情況和戰場環境的情況。這里采用一階語言來描述狀態,假設一條狀態p(name1,name2,…,namen)∈State,p表示謂詞,namei(i=1,2,…,n)為變量。在上述定義中,TS中的Sin與Sfin,CI中的Pre、Del和Add本質上都是狀態集合State的子集。
綜上定義,作戰任務-系統功能映射就是以任務Task為輸入,找到一組功能集合{Capbility1,Capbility2,…,Capbilityn},使得初始狀態能夠演化到滿足任務需求的最終狀態。考慮到作戰任務-系統功能映射的過程與HTN規劃中將初始任務不斷分解為原子任務十分類似。因此,本文在HTN規劃的基礎上提出了作戰任務-系統功能映射方法。
HTN規劃是基于分層抽象和知識推理的智能規劃技術,能夠表示和處理領域知識,在任務規劃[16]、云制造管理[17]、機器人自動化[18]等領域中得到了廣泛應用。
HTN的規劃領域D是一個四元組(S,Op,Me,γ),其中S為狀態集合,Op表示操作,Me表示方法,γ:S×Op→S為狀態轉移函數。HTN規劃問題P是一個三元組(s0,d,D),其中s0為初始狀態,d為初始任務網絡,D為規劃領域。在給定規劃問題P的情況下,HTN規劃器利用Me中的方法將初始任務網絡中的非原子任務進行分解,直至得到最終的原子任務。由于原子任務可以通過Op中的操作直接實現,因此可以根據當前的狀態執行對應的操作。操作執行后,狀態也會隨之發生改變。不斷執行上述過程,直至任務網絡中只存在原子任務,如圖1所示。

圖1 HTN規劃原理圖Fig.1 HTN planning schematic diagram
SHOP2[19]是一種經典的HTN規劃器,其實現原理類似于深度優先搜索方法。與其他 HTN 規劃器相比,SHOP2具有更強大的預處理估計能力,因為其采用前向的規劃方法,即按照執行順序進行任務的分解。SHOP2的輸入為規劃領域文件和規劃問題文件。規劃領域文件主要包括以下領域知識。
(1) Me指出如何將復合分解為原子任務
(:method,head,Pre1,ability1/function1,Pre2,ability2/function2,…,Prei,abilityi/functioni)。其中,:method為關鍵字;head包括方法的名稱和所需參數;Prei為前置條件,abilityi/functioni為分解后的能力或功能列表。只有當前置條件Prei被滿足時,其對應abilityi/functioni才能被確定為該方法的分解結果。
(2) Op定義了原子任務如何被執行
(:operator,head,Pre,Del,Add [c])。其中,operator為關鍵字;head包括操作的名稱和所需參數;Pre為前置條件。只有當前置條件Pre被滿足,操作才能被執行;Del和Add表示操作對狀態的影響(即執行該操作后,Del中的狀態應該被刪除,Add中的狀態應該被增加);[c]為可選參數,能夠表示執行該操作的代價。
SHOP2中的規劃問題可定義為以下格式:(defproblem,problem-name,domain-name,([s11,s12,…,s1n1])T1,…,([sm1,sm2,…,smnm])Tm)。其中,defproblem為關鍵字;problem-name表示問題的名稱;domain-name表示規劃領域的名稱;([s11,s12,…,s1n1])為可選參數,用來表示任務的初始狀態;Ti為系統需要完成的任務。
首先,闡述HTN中各個概念在作戰任務-系統功能映射過程中的具體含義如下。
(1) State與原SHOP2規劃器中的定義類似,表示外界環境的情況以及特定數據、信息的獲取情況。此外,State還包含了任務屬性的具體描述信息。
(2) Me指明了完成某項任務需要具備的能力以及實現某種能力需要具備的子能力或功能。
(3) Op對應著系統內的一類服務資源,指明了功能的實現方式,并反映了任務執行后對State的影響。
(4) Policy為系統完成某項任務必須具備的功能序列。例如,針對一個高空目標防御任務,系統的功能序列為((!htracking,targethigh,targetstste),(!achieve,weatherinfo,ourstate),(!fusion,comprehensivesituation),(!report,reportup),(!makingdecision,plan))。
(5) Problem為系統需要處理的作戰任務,根據上級作戰需求確定。
由于State中包含了任務屬性的具體描述信息,經典的SHOP2算法無法直接對該類問題進行處理,因此需要在使用SHOP2規劃算法前對問題進行處理。首先,分析一下SHOP2算法失效的原因。在SHOP2算法中,Me中的前提條件是按照順序進行驗證的。圖2為一個方法實例,在前提條件驗證時,算法會從上到下按照順序進行驗證。若防空任務僅有防御中高空目標的需求狀態,則規劃器會選擇branch1,執行中高空目標的跟蹤服務;若防空任務僅有防御低空目標的需求狀態,則規劃器會選擇branch2,執行低空目標的跟蹤服務。但是,若上層作戰需求要求系統能夠同時具備中高空目標和低空目標的防御能力,該規劃器將會在選擇branch1后直接結束對該方法的處理,即低空目標的防御需求將被忽略。

圖2 方法案例Fig.2 Method case
為了將SHOP2規劃器用于作戰任務-系統功能映射方法,本文考慮根據作戰的屬性對作戰任務進行預處理,將其分解為多個SHOP2算法可規劃的簡單任務,利用SHOP2算法分別對上述簡單任務進行規劃,再將所有規劃結果整合為完整的系統能力需求。


圖3 基于HTN規劃的作戰任務-系統功能映射方法框架Fig.3 Framework of combat mission-system function mapping method based on HTN planning
圖3中的規劃知識可以由領域專家提供,即由專家給出能力的分解方法和功能的實現方法,領域知識庫可以隨著能力和功能的增加而不斷擴充。規劃器則選取SHOP2的JAVA版本JSHOP2。
2.2.1 作戰任務分解
作戰任務分解的實質就是找到所有可能的屬性組合,可以利用遞歸算法直接遍歷N類屬性的所有組合,從而得到Np個JSHOP2規劃器可直接處理的簡單任務,即每個任務滿足|di|=1(i=1,2,…,N)。鑒于上述思路,對作戰任務進行分解,具體步驟如算法1所示。

算法 1 基于遞歸思想的任務分解算法輸入 初始作戰任務Task輸出 分解后的作戰任務集合RTS={Task'1,Task'2,…,Task'N}步驟 1 提取Task的任務屬性集合TD={d1,d2,…,dN}步驟 2 res←reduction(TD,N)步驟 3 RTS←?,i←1步驟 4 for tdi∈res,Task'i←Task,Task'i.TD←tdi,RTS←RTS∪Task'i,i←i+1步驟 5 if i≤∏Ni=1|di|,to 步驟4;else,輸出RTS。其中,reduction(TD,N)為屬性遞歸分解算法,其定義如下:reduction(TD,N)if N=1 return res=td1,endelse,temp←reduction(TD,N-1)res←temp×tdN(×為笛卡爾積)return resreduction(Stater,N) end
2.2.2 映射方案整合
為了將多個能力匹配方案進行整合,首先對能力匹配方案進行描述??紤]到SHOP2規劃器得到的能力匹配方案Policyi是一個順序流程,可以用有向圖的形式描述Policy中各功能之間的關系,如圖4所示。

圖4 能力匹配方案案例Fig.4 Capability matching scheme case
圖4中,S和E分別表示開始和結束,小寫字母表示不同的功能。圖4的鄰接矩陣為
在矩陣A中,前兩行分別表示開始和結束,從第3行起依次表示Policyi中的各功能。若Ai,j=1,表示j為i的后繼節點;Ai,j=0,則表示i和j沒有直接關系,可以假設方案集合為POL={Policyi}(i=1,2,…,M)。在上述方案描述的基礎上,本文提出了一種能力方案整合算法,如算法2所示,將多個Policy整合到一個方法中。

算法 2 基于鄰接矩陣的方案整合算法輸入 方案集合POL輸出 整合后的最終方案Policyf步驟 1 隨機選擇POL中的一個方案Policyr,根據其能力間的相互關系得到鄰接矩陣Ar,POL←POL{Policyr};
考慮一個聯合作戰場景下的作戰任務-系統功能匹配問題,根據作戰需求,明確系統需要支持空海聯合作戰行動,利用空基平臺和海基平臺完成對對方空中與海面目標的打擊任務。任務的具體屬性如表1所示。從表1中可以看到,該任務的執行需要系統為空基平臺和海基平臺提供導航、對對方空中目標和海上目標進行跟蹤,并完成對??諏椗c空面導彈的導引。表2為功能列表,為提高針對性,這里只顯示了與上述任務相關的功能。表3為方法列表,反映了任務到子任務、任務到功能的映射關系。表2和表3基于規劃領域定義語言(planning domain definition language, PDDL)[20]可以直接構成規劃領域文件,而表1由于包含了多個選項的任務屬性,需要先利用算法1對任務進行分解,才能夠使用JSHOP2規劃器進行求解。在算法1下,ASJO任務可以分解如表4所示。

表1 空海聯合作戰任務描述Table 1 Air-sea joint operations mission description

表2 相關系統功能列表Table 2 List of related system functions

續表2Continued Table 2

表3 相關規劃方法列表Table 3 List of related planning methods

表4 分解后的任務列表Table 4 List of post-decomposition tasks
利用JSHOP2規劃器可得上述問題的規劃解,如表5所示。為了整合規劃解,這里將表5中的能力匹配方案作為算法2的輸入,可得到合并后的鄰接矩陣,如圖5所示。從圖5可以看到,經過合并后,d8和d9的后繼節點只有一個,而c4、d1、d2、d4和d5的后繼節點都有兩個。根據上述鄰接矩陣,可以得到最終的任務-能力匹配方案,如圖6所示。

表5 規劃解集Table 5 Planning solution set

續表5Continued Table 5

圖5 合并后的鄰接矩陣Fig.5 Merged adjacency matrix

圖6 最終任務-能力映射方案Fig.6 Final mission-capability mapping scheme
由圖6可以看到,最終得到的匹配方案包含了對空基平臺和海基平臺的引導能力、對空中和海上目標的跟蹤能力以及對空空導彈和海空導彈的制導能力,滿足任務的實際需求。而對陸基平臺的引導、陸上目標的跟蹤以及空面導彈的制導等與任務需求無關的能力并沒有被列入到匹配方案中,有效避免了系統能力的冗余。
為了解決作戰任務-系統功能的自動映射問題,本文首先對作戰任務與系統能力/功能進行建模,然后基于任務和能力可以分解的特點,將作戰任務-系統功能的自動映射問題轉化為智能規劃問題,并基于HTN對問題進行求解??紤]到JSHOP2規劃器在求解問題時無法處理多屬性輸入的問題,基于遞歸算法將待求解問題分解為JSHOP2規劃器能夠求解的規劃問題,并利用鄰接矩陣將多個規劃解進行整合,得到了最終的作戰任務-系統功能映射方案,為系統面向任務的自動生成提供了基礎支撐。