趙佳然,杜偉偉,2,石 昊
(1.北方自動控制技術研究所, 太原 030006; 2.北京理工大學 機電學院, 北京 100081)
任務分解是把上級意圖轉化為部隊行動的關鍵操作,是實現(xiàn)部隊協(xié)同作戰(zhàn),達成總目標的橋梁,也是輔助指揮員經濟、合理使用作戰(zhàn)資源(兵力和兵器)的重要手段[1]。作戰(zhàn)任務分解作為任務規(guī)劃中一項重要步驟,其合理性直接影響作戰(zhàn)力量的分配,進而影響作戰(zhàn)部隊的行動和對資源的使用調度。
層次任務網絡(Hierarchical Task Network,HTN)規(guī)劃作為20世紀70年代末發(fā)展起來的一種基于知識的規(guī)劃技術[2],可以利用任務樹和對任務的形式化描述表述任務之間的相關關系[3],從而適用于大型復雜任務的分層分解。王濤[2]、肖海[3]等將HTN規(guī)劃引入軍事領域,并對規(guī)劃粒度問題進行了擴展研究,但由于該研究中只專注了某一待分解的復合任務調用一種可行方法生成其子任務,而沒有考慮可能存在多種分解、執(zhí)行方案。宋涇舸等[4]實現(xiàn)了快速生成多個計劃,但是缺少對分解結果間相互關系的統(tǒng)計,無法實現(xiàn)橫向比較分析優(yōu)化分解結果。
結合以上文獻可知,盡管目前HTN規(guī)劃方法與傳統(tǒng)數學建模方法相比較,在任務規(guī)劃方面具有很好的適用性,但也存在HTN規(guī)劃分解時選擇方法單一的問題,同時,如果增加多種方法的分解步驟,會大幅度增大任務分解、任務優(yōu)化的規(guī)模。本文對HTN規(guī)劃方法進行了擴展,將任務建模語言TAEMS與HTN規(guī)劃結合,詳細介紹了任務規(guī)劃模型,進而提出多方法分解的HTN規(guī)劃方法,并用TAEMS建模語言分析并剪枝,最后以邊境反擊作戰(zhàn)為例進行驗證,來說明方法的科學性和有效性。
HTN規(guī)劃方法是應用最寬泛的智能規(guī)劃方法之一。其基本思想是不斷地將高層復合任務分解為簡單的子任務。當所有的任務都是可以直接執(zhí)行的原子任務時,分解過程停止,行動方案生成[9]。HTN規(guī)劃中任務規(guī)劃P定義為一個三元組P={I,W,D}。其中I表示戰(zhàn)場態(tài)勢的初始狀態(tài);W表示任務網絡;D表示規(guī)劃域知識。下面將從這幾個方面對作戰(zhàn)任務分解問題進行描述:
HTN規(guī)劃將任務分為兩類:原子任務和復合任務,原子任務為不可分解的任務,即底層基本可執(zhí)行任務;復合任務為一組子任務的父任務。任務分解樹中根節(jié)點和內部節(jié)點表示復合任務;分解樹中葉節(jié)點為原子任務。任務網絡W是任務的集合和對這些任務的約束,令W={T,R},T為任務集合;R為任務相互關系集合。
1.1.1任務集合T
令任務集合T中子任務為Tij:
T={Tij|i=1,2,…,x,j=1,2,…,y}
(1)
式中:i表示任務層級,層級中包含的任務數量記為N,依據約束條件對任務層級中N個任務進行排序;j表示排序后的任務序號,即Tij為第i層的第j個任務,任務結構示意圖如圖1所示。單個子任務定義為一個四元組:
Tij={name,ID,plist,dtime}。其中name表示任務名稱;ID表示任務編號;plist為任務的屬性特征參數列表,plist={function,significance,probability},function表示任務性能指標,significance表示任務重要性,probability表示任務成功完成的概率。本文僅列舉參數列表其中幾項,除此之外還可能包含任務難度、任務是否可以獨立、任務執(zhí)行和終止輸入輸出參數等;dtime為子任務的時間集,包括開始時間S(t),結束時間F(t)和任務截止時間DL(t)。
圖1 任務結構示意圖
1.1.2任務關系集合R
R為任務分解問題中復雜相互關系集合,令R={Rset,φ}。其中Rset為邏輯關系集合,φ為約束關系集合。
1) 邏輯關系集合Rset
任務建模語言TAEMS在傳統(tǒng)HTN模型基礎上,應用非局部影響定義了任務間的依賴關系,同時與聯(lián)合作戰(zhàn)任務關系結合,綜合得出任務邏輯關系集合。令Tia→Tib表示源任務Tia與目標任務Tib之間的關系。取任務Tia的關系集為Rsetia∈Rset:
Rsetia=f(Ractia)
(2)
(3)
Rsetia儲存Tia任務與Tib任務之間的邏輯關系;Active表示任務間邏輯關系有效。(3)式表示從Tia→Tib存在邏輯關系Rintib有效,Ractia儲存了任務Tia所有邏輯關系。任務間的邏輯關系如下所述:
① 并發(fā)促進關系(Facilitate(Tia,Tib)):Tia任務的執(zhí)行結果對Tib任務存在有利促進影響。
② 并發(fā)阻礙關系(Hinder(Tia,Tib)):Tia任務的執(zhí)行結果對Tib任務存在不利阻礙影響。
③ 順序與關系(EnableAnd(Tia,Tib)):只有在Tia被執(zhí)行后,Tib才允許被執(zhí)行,且Tia任務和Tib任務都需成功執(zhí)行,其父任務才可成功執(zhí)行。
④ 順序選擇關系(EnableSelect(Tia,Tib)):只有在Tia被執(zhí)行后,Tib才允許被執(zhí)行,且Tia任務和Tib任務僅需成功執(zhí)行一個,其父任務即可成功執(zhí)行。
⑤ 異或關系(Disable(Tia,Tib)):只有在Tia不被執(zhí)行后,Tib才允許被執(zhí)行,且Tib任務執(zhí)行的成功與否決定了父任務的成敗。
⑥ 相同關系(Equal(Tia,Tib)):任務Tia,Tib相同,為重復任務,只需成功執(zhí)行一項任務即可。
⑦ 矛盾關系(Conflict(Tia)):任務Tib自我矛盾,不符合任務背景不可被執(zhí)行。
并發(fā)促進關系和并發(fā)阻礙關系為“軟”關系,源任務只會對目標任務產生影響,不會決定目標任務的執(zhí)行;順序與關系、順序選擇關系和異或關系為“硬”關系,直接決定目標任務是否可以被執(zhí)行。
2) 約束關系集合φ
約束關系集合φ是對分解方法的選擇以及分解過程的約束。令φ={φt,φc},φt為時間約束,φt={cdeadline,cRset},cdeadline為任務的時長約束,即每個任務必須在截止時間之前完成;cRset為任務間時序關系約束,即對任務之間的執(zhí)行順序進行約束,cRset與邏輯關系集合Rset關聯(lián),cRset是建立Rset的判斷條件,Rset是cRset中約束的擴充與改進。φc為成本約束,φc={φnum,φinterrelation},φnum為資源、人員數量約束,即執(zhí)行任務時需要擁有大于等于執(zhí)行條件的武器資源和戰(zhàn)斗兵力;φinterrelation為資源、人員之間的相互干涉約束,即約束在不同空間、同一時間調用同一種資源或人員的情況。
取任務Tij,令D={M,OP}。M為任務分解方法集,有m(k)∈Mactij∈M。Mactij為任務Tij的子分解方法集。m(k)為子方法集Mactij中一個分解方法,k為方法序號。m(k)={name′,Wm(k)},name′為復合任務的任務名稱,Wm(k)為方法m(k)對應的任務網絡。
OP為一組操作集合,OP={instantiation,rank,screen},instantiation表示作戰(zhàn)任務實例化操作,rank表示對i層任務排序操作,screen表示從方法集M中篩選出任務Tij子方法集Mactij的操作。HTN規(guī)劃中,選擇方法集M中的方法作用于初始任務網絡W,需要在不違背約束條件φ的情況下,完成分解任務網絡W中的所有任務,分解完畢后得到完整任務分解網絡存儲在初始任務網絡W0中。
傳統(tǒng)HTN分解流程中只調用一種適用于計算機識別、匹配作戰(zhàn)任務的分解方法進行分解,然而方法集M中可能存在待分解任務的多個分解方法,因此需要對分解方法進行擴展。
設定分類標準g,若g=1,任務Tij為復合任務;若g=0,任務Tij為原子任務。依據時間約束φt對第一層待分解任務排序,并分配任務序號j,依據任務序號j順序選擇任務執(zhí)行分解流程。
依據任務序號取任務Tij判斷類型為復合任務后,將任務Tij的參數列表plist={function}作用于任務分解方法集M,得到任務Tij的子方法集Mactij。令子方法集Mactij中子方法m(k) 個數為Q,依次調用子方法集Mactij中Q個方法分解任務Tij。并通過判斷是否可以將任務Tij替換為對應方法m(k) 的任務網絡來完成,判定所選方法m(k)是否為有效方法。若替換成功,保留有效方法m(k),同時將Tij及分解后的子任務集存放于任務網絡W0中;若替換失敗則分解失敗,從子方法集Mactij中移除無效方法m(k)。其中多方法分解示意圖如圖2所示。
圖2 多方法分解示意圖(a,b,c∈k)
TAEMS分析應用于每層任務分解完畢后,將多方法分解后得到的多個子任務進行剪枝篩選,擇優(yōu)保留;并為子任務重新分配任務序號j。通過TAEMS分析進行篩選時經過兩次判斷。
首先每個子任務Tnm需遵守以下三方面特征:
① 質量:目標希望最大化,目標希望包含執(zhí)行任務的精準性、可行度和完整性等,設質量函數為Q(Tnm,tnm)。
② 成本:目標試圖最小化,即執(zhí)行任務Tnm所需要的成本。
③ 持續(xù)時間:執(zhí)行時間合理化。
Q(Tnm,tnm)∶[Tnm*tnm]→[quality_mn]
(4)
由式(4)可返回tnm時刻與任務Tnm相關的質量quality_mn。TAEMS任務網絡中的節(jié)點由于S(t)、F(t)和LS(t)而受到約束,時間約束呈遞歸趨勢,在分解樹中自上而下應用。子任務繼承其本身以及父任務時的約束最嚴格,任務違背時間約束將產生零質量,即任務無法被執(zhí)行。
其次調用關系集Rset,判斷任務間關系是否為異或關系Disable(Tia,Tib),若為Disable關系,將矛盾結果篩除;若不為Disable關系,判斷子任務間關系是否為并發(fā)阻礙關系Hinder(Tia,Tib);若為Hinder關系,調用2個任務的參數列表plist,確定篩除或保留的任務;若不為Hinder關系,則對剩余已分配任務關系的任務進行遍歷,判斷是否存在重復結果、矛盾結果等情況,擇優(yōu)保留。此處舉例了兩種情況,以后研究中可以進行擴展。TAEMS分析圖如圖3所示
上述分析給出了多方法分解并用TAEMS分析剪枝的方法與步驟,擴展了HTN規(guī)劃方法,優(yōu)化了分解結果。上述擴展HTN作戰(zhàn)任務分解方法流程如圖4所示。圖4中:i為任務層級;j為任務序號;k為方法序號;N為第i層任務數量;g為分類標準;Mactij為待分解任務的方法集;Q∶Mactij為中子方法個數;OP為操作;Rset為關系函數。
圖3 TAEMS分析框圖
圖4 作戰(zhàn)任務分解流程框圖
面對邊境地區(qū)局部快速入侵之敵,我們需要快速實施邊境反擊作戰(zhàn)。已知敵目標已進入我方區(qū)域并設有臨時陣地,同時臨近我方地區(qū)附近設有敵方機場,為敵提供空中火力支援。我方指揮所接收命令后,設定2個目標占領敵方陣地,奪回我方區(qū)域;摧毀敵方機場。
圖5為作戰(zhàn)任務分解框圖,分解框圖中將2個任務間斜杠所在枝干右側一枝任務剪去。圖5中虛線表示2個任務之間的聯(lián)系,箭頭由源任務指向目標任務;虛線上的文字表示任務之間的關系類型。圖6通過圖5中任務關系類型,判斷任務之間的先后順序進行整體布局,從而可以明晰整個作戰(zhàn)任務的執(zhí)行規(guī)劃。
圖5 邊境快速反擊作戰(zhàn)任務分解框圖
圖6 邊境快速反擊作戰(zhàn)任務網絡框圖
在此任務網絡圖中,對應的各個子任務分別為:T1保衛(wèi)我方指揮所;T2驅殲掩護;T3打擊敵方機場;T4干擾導彈攻擊陣地;T5防御敵方信息欺騙;T6破壞敵防御工事;T7火力打擊敵指揮所;T8火力支援;T9清繳殘敵;T10占領敵方陣地;T11摧毀敵方機場。
本文擴展了HTN規(guī)劃中單一分解方法,引入TAEMS分析,明確任務執(zhí)行的先后順序并優(yōu)化任務分解結果。最后以邊境快速反擊作戰(zhàn)的任務分解圖和任務網絡圖為例,驗證了本文方法的科學性和有效性。本文方法可以運用于任務規(guī)劃中任務分解步驟,為下一步作戰(zhàn)部署提供先決條件。后期可在此基礎上,對TAEMS分析中任務關系集進行擴充,完善任務篩選條件。