易 侃, 張杰勇, 焦志強, 王 哲
(1. 中國電子科技集團公司第二十八研究所信息系統(tǒng)工程重點實驗室, 江蘇 南京 210007; 2. 空軍工程大學(xué)信息與導(dǎo)航學(xué)院, 陜西 西安 710077; 3. 中國人民解放軍第95910部隊,甘肅 酒泉 735018; 4. 國防科技大學(xué)信息通信學(xué)院, 陜西 西安 710106)
軍事信息系統(tǒng)作為作戰(zhàn)要素的黏合劑,在信息化戰(zhàn)場上發(fā)揮著十分重要的作用。隨著軍事技術(shù)的不斷發(fā)展,武器裝備的性能在不斷提高。同時,戰(zhàn)場環(huán)境也日趨復(fù)雜,作戰(zhàn)任務(wù)的多樣性和不確定性給軍事信息系統(tǒng)帶來了巨大的挑戰(zhàn)。因此,如何面向任務(wù)構(gòu)建軍事信息系統(tǒng)受到了眾多學(xué)者和研究機構(gòu)的廣泛關(guān)注[1-2]。
從問題本質(zhì)上看,面向任務(wù)構(gòu)建軍事信息系統(tǒng)就是要實現(xiàn)任務(wù)需求到系統(tǒng)資源的映射,而系統(tǒng)能力/功能即是連接任務(wù)和資源的紐帶。一方面,系統(tǒng)能力/功能為任務(wù)的執(zhí)行提供直接支撐;另一方面,系統(tǒng)能力/功能是通過系統(tǒng)資源實現(xiàn)的。因此,實現(xiàn)任務(wù)到系統(tǒng)功能的映射是面向任務(wù)構(gòu)建軍事信息系統(tǒng)的關(guān)鍵。
目前,在工程上一般采用模板匹配的方法處理作戰(zhàn)任務(wù)-系統(tǒng)功能映射問題,即先根據(jù)專家及作戰(zhàn)人員的經(jīng)驗設(shè)計好所有可能的作戰(zhàn)任務(wù)-系統(tǒng)功能映射模板(需要從任務(wù)直接映射到原子級系統(tǒng)功能)并形成模板庫,在使用時根據(jù)需求在模板庫中進行匹配查找[3-4]。顯然,這種方法前期投入的人力和時間成本很大,且后期仍需投入較大的成本對模板庫進行維護,不利于軍事信息系統(tǒng)面向任務(wù)的快速生成與敏捷演化。
針對上述情況,部分學(xué)者開始研究自動映射方法。從映射方式來看,目前的研究可分為兩類:集中式[5]與分布式[6]。集中式的映射要在給定抽象功能流程的基礎(chǔ)上,確定各節(jié)點選取的功能實例。因此,主要包含了檢索[7-8]和選擇[9-10]兩個步驟,即先根據(jù)給定的抽象需求對功能進行檢索,然后在被檢索到的多個功能中選擇當(dāng)前最優(yōu)的功能實例。而分布式的映射則從抽象流程構(gòu)建的角度出發(fā),以功能間的依賴關(guān)系為基礎(chǔ),針對任務(wù)需求、通過規(guī)劃方法得到映射方案。由于分布式的映射不需要直接提供抽象流程,因而其具有更高的自動化程度。針對分布式的映射問題,一般可以采用智能規(guī)劃方法[11-12]進行求解。文獻[11]通過對狀態(tài)的預(yù)先排序,提出了基于有序爬山法的前向啟發(fā)式搜索規(guī)劃方法,提高了前向規(guī)劃器的規(guī)劃效率。文獻[12]則基于宏操作的概念,提出了一種具有學(xué)習(xí)策略的規(guī)劃方案,有效增強了規(guī)劃器在特定規(guī)劃領(lǐng)域的規(guī)劃效果。
然而,當(dāng)功能實例數(shù)量過多或規(guī)劃鏈路過長時,前向規(guī)劃的時間將會迅速增加,不利于快速得到規(guī)劃方案。層次任務(wù)網(wǎng)絡(luò)(hierarchical task network, HTN)方法[13-15]是一種作用在領(lǐng)域空間內(nèi)的智能規(guī)劃方法,通過領(lǐng)域內(nèi)定義的方法將任務(wù)進行分解,直至達到不可分解的原子操作,從而得到規(guī)劃解,在規(guī)劃時間上具有獨特優(yōu)勢。由于在作戰(zhàn)任務(wù)-系統(tǒng)功能映射問題中,任務(wù)和功能都具備可分解的特性,本文考慮利用HTN規(guī)劃方法實現(xiàn)作戰(zhàn)任務(wù)到系統(tǒng)功能的高效映射。通過設(shè)計基于遞歸思想的任務(wù)分解算法以及基于鄰接矩陣的多方案整合算法,使得HTN方法能夠適應(yīng)多屬性輸入的情況,從而得到了滿足任務(wù)需求的系統(tǒng)功能映射方案。
系統(tǒng)能力是系統(tǒng)為了完成任務(wù)所必需具備的一些屬性,系統(tǒng)能力可以根據(jù)任務(wù)和系統(tǒng)狀態(tài)進行分解。在分解得到的子能力中,不可再分解或者可以由系統(tǒng)直接實現(xiàn)的能力被稱作功能。作戰(zhàn)任務(wù)-系統(tǒng)功能映射過程關(guān)注完成某項作戰(zhàn)任務(wù)時系統(tǒng)所需具備的能力/功能,是生成軍事信息系統(tǒng)構(gòu)建方案的基礎(chǔ)。下面對作戰(zhàn)任務(wù)和系統(tǒng)功能作如下定義。
作戰(zhàn)任務(wù)可以表示為一個五元組Task=
系統(tǒng)功能可以表示為一個五元組Capbility=
同樣,一條指控信息C∈cInfo,可以定義為一個七元組C=
狀態(tài)集合State包含了系統(tǒng)在運行過程中所有可能出現(xiàn)的狀態(tài),描述了雙方作戰(zhàn)單元的情況和戰(zhàn)場環(huán)境的情況。這里采用一階語言來描述狀態(tài),假設(shè)一條狀態(tài)p(name1,name2,…,namen)∈State,p表示謂詞,namei(i=1,2,…,n)為變量。在上述定義中,TS中的Sin與Sfin,CI中的Pre、Del和Add本質(zhì)上都是狀態(tài)集合State的子集。
綜上定義,作戰(zhàn)任務(wù)-系統(tǒng)功能映射就是以任務(wù)Task為輸入,找到一組功能集合{Capbility1,Capbility2,…,Capbilityn},使得初始狀態(tài)能夠演化到滿足任務(wù)需求的最終狀態(tài)。考慮到作戰(zhàn)任務(wù)-系統(tǒng)功能映射的過程與HTN規(guī)劃中將初始任務(wù)不斷分解為原子任務(wù)十分類似。因此,本文在HTN規(guī)劃的基礎(chǔ)上提出了作戰(zhàn)任務(wù)-系統(tǒng)功能映射方法。
HTN規(guī)劃是基于分層抽象和知識推理的智能規(guī)劃技術(shù),能夠表示和處理領(lǐng)域知識,在任務(wù)規(guī)劃[16]、云制造管理[17]、機器人自動化[18]等領(lǐng)域中得到了廣泛應(yīng)用。
HTN的規(guī)劃領(lǐng)域D是一個四元組(S,Op,Me,γ),其中S為狀態(tài)集合,Op表示操作,Me表示方法,γ:S×Op→S為狀態(tài)轉(zhuǎn)移函數(shù)。HTN規(guī)劃問題P是一個三元組(s0,d,D),其中s0為初始狀態(tài),d為初始任務(wù)網(wǎng)絡(luò),D為規(guī)劃領(lǐng)域。在給定規(guī)劃問題P的情況下,HTN規(guī)劃器利用Me中的方法將初始任務(wù)網(wǎng)絡(luò)中的非原子任務(wù)進行分解,直至得到最終的原子任務(wù)。由于原子任務(wù)可以通過Op中的操作直接實現(xiàn),因此可以根據(jù)當(dāng)前的狀態(tài)執(zhí)行對應(yīng)的操作。操作執(zhí)行后,狀態(tài)也會隨之發(fā)生改變。不斷執(zhí)行上述過程,直至任務(wù)網(wǎng)絡(luò)中只存在原子任務(wù),如圖1所示。
圖1 HTN規(guī)劃原理圖Fig.1 HTN planning schematic diagram
SHOP2[19]是一種經(jīng)典的HTN規(guī)劃器,其實現(xiàn)原理類似于深度優(yōu)先搜索方法。與其他 HTN 規(guī)劃器相比,SHOP2具有更強大的預(yù)處理估計能力,因為其采用前向的規(guī)劃方法,即按照執(zhí)行順序進行任務(wù)的分解。SHOP2的輸入為規(guī)劃領(lǐng)域文件和規(guī)劃問題文件。規(guī)劃領(lǐng)域文件主要包括以下領(lǐng)域知識。
(1) Me指出如何將復(fù)合分解為原子任務(wù)
(:method,head,Pre1,ability1/function1,Pre2,ability2/function2,…,Prei,abilityi/functioni)。其中,:method為關(guān)鍵字;head包括方法的名稱和所需參數(shù);Prei為前置條件,abilityi/functioni為分解后的能力或功能列表。只有當(dāng)前置條件Prei被滿足時,其對應(yīng)abilityi/functioni才能被確定為該方法的分解結(jié)果。
(2) Op定義了原子任務(wù)如何被執(zhí)行
(:operator,head,Pre,Del,Add [c])。其中,operator為關(guān)鍵字;head包括操作的名稱和所需參數(shù);Pre為前置條件。只有當(dāng)前置條件Pre被滿足,操作才能被執(zhí)行;Del和Add表示操作對狀態(tài)的影響(即執(zhí)行該操作后,Del中的狀態(tài)應(yīng)該被刪除,Add中的狀態(tài)應(yīng)該被增加);[c]為可選參數(shù),能夠表示執(zhí)行該操作的代價。
SHOP2中的規(guī)劃問題可定義為以下格式:(defproblem,problem-name,domain-name,([s11,s12,…,s1n1])T1,…,([sm1,sm2,…,smnm])Tm)。其中,defproblem為關(guān)鍵字;problem-name表示問題的名稱;domain-name表示規(guī)劃領(lǐng)域的名稱;([s11,s12,…,s1n1])為可選參數(shù),用來表示任務(wù)的初始狀態(tài);Ti為系統(tǒng)需要完成的任務(wù)。
首先,闡述HTN中各個概念在作戰(zhàn)任務(wù)-系統(tǒng)功能映射過程中的具體含義如下。
(1) State與原SHOP2規(guī)劃器中的定義類似,表示外界環(huán)境的情況以及特定數(shù)據(jù)、信息的獲取情況。此外,State還包含了任務(wù)屬性的具體描述信息。
(2) Me指明了完成某項任務(wù)需要具備的能力以及實現(xiàn)某種能力需要具備的子能力或功能。
(3) Op對應(yīng)著系統(tǒng)內(nèi)的一類服務(wù)資源,指明了功能的實現(xiàn)方式,并反映了任務(wù)執(zhí)行后對State的影響。
(4) Policy為系統(tǒng)完成某項任務(wù)必須具備的功能序列。例如,針對一個高空目標(biāo)防御任務(wù),系統(tǒng)的功能序列為((!htracking,targethigh,targetstste),(!achieve,weatherinfo,ourstate),(!fusion,comprehensivesituation),(!report,reportup),(!makingdecision,plan))。
(5) Problem為系統(tǒng)需要處理的作戰(zhàn)任務(wù),根據(jù)上級作戰(zhàn)需求確定。
由于State中包含了任務(wù)屬性的具體描述信息,經(jīng)典的SHOP2算法無法直接對該類問題進行處理,因此需要在使用SHOP2規(guī)劃算法前對問題進行處理。首先,分析一下SHOP2算法失效的原因。在SHOP2算法中,Me中的前提條件是按照順序進行驗證的。圖2為一個方法實例,在前提條件驗證時,算法會從上到下按照順序進行驗證。若防空任務(wù)僅有防御中高空目標(biāo)的需求狀態(tài),則規(guī)劃器會選擇branch1,執(zhí)行中高空目標(biāo)的跟蹤服務(wù);若防空任務(wù)僅有防御低空目標(biāo)的需求狀態(tài),則規(guī)劃器會選擇branch2,執(zhí)行低空目標(biāo)的跟蹤服務(wù)。但是,若上層作戰(zhàn)需求要求系統(tǒng)能夠同時具備中高空目標(biāo)和低空目標(biāo)的防御能力,該規(guī)劃器將會在選擇branch1后直接結(jié)束對該方法的處理,即低空目標(biāo)的防御需求將被忽略。
圖2 方法案例Fig.2 Method case
為了將SHOP2規(guī)劃器用于作戰(zhàn)任務(wù)-系統(tǒng)功能映射方法,本文考慮根據(jù)作戰(zhàn)的屬性對作戰(zhàn)任務(wù)進行預(yù)處理,將其分解為多個SHOP2算法可規(guī)劃的簡單任務(wù),利用SHOP2算法分別對上述簡單任務(wù)進行規(guī)劃,再將所有規(guī)劃結(jié)果整合為完整的系統(tǒng)能力需求。
圖3 基于HTN規(guī)劃的作戰(zhàn)任務(wù)-系統(tǒng)功能映射方法框架Fig.3 Framework of combat mission-system function mapping method based on HTN planning
圖3中的規(guī)劃知識可以由領(lǐng)域?qū)<姨峁?即由專家給出能力的分解方法和功能的實現(xiàn)方法,領(lǐng)域知識庫可以隨著能力和功能的增加而不斷擴充。規(guī)劃器則選取SHOP2的JAVA版本JSHOP2。
2.2.1 作戰(zhàn)任務(wù)分解
作戰(zhàn)任務(wù)分解的實質(zhì)就是找到所有可能的屬性組合,可以利用遞歸算法直接遍歷N類屬性的所有組合,從而得到Np個JSHOP2規(guī)劃器可直接處理的簡單任務(wù),即每個任務(wù)滿足|di|=1(i=1,2,…,N)。鑒于上述思路,對作戰(zhàn)任務(wù)進行分解,具體步驟如算法1所示。
算法 1 基于遞歸思想的任務(wù)分解算法輸入 初始作戰(zhàn)任務(wù)Task輸出 分解后的作戰(zhàn)任務(wù)集合RTS={Task'1,Task'2,…,Task'N}步驟 1 提取Task的任務(wù)屬性集合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規(guī)劃器得到的能力匹配方案Policyi是一個順序流程,可以用有向圖的形式描述Policy中各功能之間的關(guān)系,如圖4所示。
圖4 能力匹配方案案例Fig.4 Capability matching scheme case
圖4中,S和E分別表示開始和結(jié)束,小寫字母表示不同的功能。圖4的鄰接矩陣為
在矩陣A中,前兩行分別表示開始和結(jié)束,從第3行起依次表示Policyi中的各功能。若Ai,j=1,表示j為i的后繼節(jié)點;Ai,j=0,則表示i和j沒有直接關(guān)系,可以假設(shè)方案集合為POL={Policyi}(i=1,2,…,M)。在上述方案描述的基礎(chǔ)上,本文提出了一種能力方案整合算法,如算法2所示,將多個Policy整合到一個方法中。
算法 2 基于鄰接矩陣的方案整合算法輸入 方案集合POL輸出 整合后的最終方案Policyf步驟 1 隨機選擇POL中的一個方案Policyr,根據(jù)其能力間的相互關(guān)系得到鄰接矩陣Ar,POL←POL{Policyr};
考慮一個聯(lián)合作戰(zhàn)場景下的作戰(zhàn)任務(wù)-系統(tǒng)功能匹配問題,根據(jù)作戰(zhàn)需求,明確系統(tǒng)需要支持空海聯(lián)合作戰(zhàn)行動,利用空基平臺和?;脚_完成對對方空中與海面目標(biāo)的打擊任務(wù)。任務(wù)的具體屬性如表1所示。從表1中可以看到,該任務(wù)的執(zhí)行需要系統(tǒng)為空基平臺和?;脚_提供導(dǎo)航、對對方空中目標(biāo)和海上目標(biāo)進行跟蹤,并完成對??諏?dǎo)彈與空面導(dǎo)彈的導(dǎo)引。表2為功能列表,為提高針對性,這里只顯示了與上述任務(wù)相關(guān)的功能。表3為方法列表,反映了任務(wù)到子任務(wù)、任務(wù)到功能的映射關(guān)系。表2和表3基于規(guī)劃領(lǐng)域定義語言(planning domain definition language, PDDL)[20]可以直接構(gòu)成規(guī)劃領(lǐng)域文件,而表1由于包含了多個選項的任務(wù)屬性,需要先利用算法1對任務(wù)進行分解,才能夠使用JSHOP2規(guī)劃器進行求解。在算法1下,ASJO任務(wù)可以分解如表4所示。
表1 空海聯(lián)合作戰(zhàn)任務(wù)描述Table 1 Air-sea joint operations mission description
表2 相關(guān)系統(tǒng)功能列表Table 2 List of related system functions
續(xù)表2Continued Table 2
表3 相關(guān)規(guī)劃方法列表Table 3 List of related planning methods
表4 分解后的任務(wù)列表Table 4 List of post-decomposition tasks
利用JSHOP2規(guī)劃器可得上述問題的規(guī)劃解,如表5所示。為了整合規(guī)劃解,這里將表5中的能力匹配方案作為算法2的輸入,可得到合并后的鄰接矩陣,如圖5所示。從圖5可以看到,經(jīng)過合并后,d8和d9的后繼節(jié)點只有一個,而c4、d1、d2、d4和d5的后繼節(jié)點都有兩個。根據(jù)上述鄰接矩陣,可以得到最終的任務(wù)-能力匹配方案,如圖6所示。
表5 規(guī)劃解集Table 5 Planning solution set
續(xù)表5Continued Table 5
圖5 合并后的鄰接矩陣Fig.5 Merged adjacency matrix
圖6 最終任務(wù)-能力映射方案Fig.6 Final mission-capability mapping scheme
由圖6可以看到,最終得到的匹配方案包含了對空基平臺和?;脚_的引導(dǎo)能力、對空中和海上目標(biāo)的跟蹤能力以及對空空導(dǎo)彈和海空導(dǎo)彈的制導(dǎo)能力,滿足任務(wù)的實際需求。而對陸基平臺的引導(dǎo)、陸上目標(biāo)的跟蹤以及空面導(dǎo)彈的制導(dǎo)等與任務(wù)需求無關(guān)的能力并沒有被列入到匹配方案中,有效避免了系統(tǒng)能力的冗余。
為了解決作戰(zhàn)任務(wù)-系統(tǒng)功能的自動映射問題,本文首先對作戰(zhàn)任務(wù)與系統(tǒng)能力/功能進行建模,然后基于任務(wù)和能力可以分解的特點,將作戰(zhàn)任務(wù)-系統(tǒng)功能的自動映射問題轉(zhuǎn)化為智能規(guī)劃問題,并基于HTN對問題進行求解??紤]到JSHOP2規(guī)劃器在求解問題時無法處理多屬性輸入的問題,基于遞歸算法將待求解問題分解為JSHOP2規(guī)劃器能夠求解的規(guī)劃問題,并利用鄰接矩陣將多個規(guī)劃解進行整合,得到了最終的作戰(zhàn)任務(wù)-系統(tǒng)功能映射方案,為系統(tǒng)面向任務(wù)的自動生成提供了基礎(chǔ)支撐。