閆孟達, 俞利新, 左家亮, 張 瀅, 胡東愿, 岳龍飛, 楊任農(nóng)
(空軍工程大學空管領航學院,西安,710051)
空戰(zhàn)機動決策一直是軍事領域的熱點問題之一。空戰(zhàn)機動決策的研究方法主要有專家系統(tǒng)[1-2]、矩陣對策[3-5]、優(yōu)化理論[6]、模糊推理[7-8]和人工智能[9-14]等方法。文獻[1~2]在專家系統(tǒng)的基礎上結合滾動時域、模糊規(guī)則等方法,解決專家系統(tǒng)不夠靈活、不可拓展的問題。矩陣對策法需要對當前態(tài)勢進行準確建模,從而求得當前時刻的最優(yōu)對策,而超視距空戰(zhàn)決策周期長,且態(tài)勢難以用數(shù)學公式準確描述,因此并不適用。文獻[6]提出多目標優(yōu)化結合強化學習的方法,先通過多目標優(yōu)化得到可行集,再通過強化學習尋找最優(yōu)解。辛辛那提大學提出遺傳模糊樹[7],開發(fā)了ALPHA空戰(zhàn)機器人,并擊敗了人類飛行員,是空戰(zhàn)決策領域最具代表性的成果之一。近年來,隨著人工智能浪潮的興起,越來越多的研究人員開始探索強化學習在空戰(zhàn)決策問題上的應用[8-14]。尤其是DARPA在2020年舉辦的“阿爾法”空中格斗競賽[15],基于強化學習的空戰(zhàn)智能體大比分戰(zhàn)勝了人類飛行員,展示了智能空戰(zhàn)的巨大研究潛力。
以上研究推動了空戰(zhàn)決策的自動化和智能化,目前關于近距格斗的研究比較成熟,相對而言,關于超視距空戰(zhàn)智能決策的研究并不充分,超視距空戰(zhàn)決策的研究難度主要體現(xiàn)在3個方面:一是現(xiàn)有研究對空戰(zhàn)態(tài)勢的描述大多還是基于優(yōu)勢函數(shù),如角度優(yōu)勢函數(shù)、距離優(yōu)勢函數(shù)、能量優(yōu)勢函數(shù)等,此類函數(shù)無法準確描述超視距空戰(zhàn)的態(tài)勢;二是兩者的核心問題不同,近距空戰(zhàn)要求在短時間內搶占發(fā)射位置,對瞬時大機動的能力要求較高,而超視距空戰(zhàn)更關注“機動時機”問題,根據(jù)雙方相對距離等態(tài)勢要素決策何時開始機動、機動多長時間、何時發(fā)射導彈以及如何規(guī)避導彈等問題;三是相比于近距空戰(zhàn),超視距空戰(zhàn)決策周期長、決策邊界不清晰,這使強化學習方法很難訓練出可解釋和可接受的超視距空戰(zhàn)智能體。
而現(xiàn)代空戰(zhàn)最主要的形態(tài)是超視距空戰(zhàn),因此當前急需研究高效、合理的超視距空戰(zhàn)決策方法。本文針對超視距空戰(zhàn)機動決策問題,提出基于戰(zhàn)術機動組合的規(guī)劃方法,引入層次任務網(wǎng)絡(hierarchical task network, HTN),并通過多目標優(yōu)化算法對其進行參數(shù)優(yōu)化,仿真結果表明該方法能夠輸出高效的超視距空戰(zhàn)戰(zhàn)術執(zhí)行序列。
空戰(zhàn)戰(zhàn)術機動動作復雜多樣,很難一一列舉,但復雜的戰(zhàn)術動作可以由基礎的機動動作組合而成。目前常見的機動動作有兩種劃分方式,依據(jù)操作方式進行劃分的操作機動動作[16-17]和依據(jù)戰(zhàn)術動作理論進行劃分的戰(zhàn)術機動動作[18]。美國NASA研究人員將機動動作劃分為7類基本操縱機動[19],分別為:最大加速,最大減速,最大過載爬升,最大過載俯沖,最大過載左轉,最大過載右轉及穩(wěn)定飛行。這7種基礎動作是從飛行員的角度,根據(jù)操作控制變量來進行劃分。從戰(zhàn)術效果角度,可以將7類基本動作進行初步的組合實現(xiàn)、歸類細化,得到常用的6種基本的戰(zhàn)術機動動作[19],如圖1所示。
圖1 6種戰(zhàn)術機動示意圖
其中,側轉和蛇形機動是在水平面的機動,桶滾可以看作是蛇形機動同時進行垂直面的機動,俯沖、斤斗、半斤斗是在垂直面上的機動,而斤斗和半斤斗多用于近距空戰(zhàn),本文暫不考慮。因此,超視距空戰(zhàn)機動可以分為兩類:“側轉+垂直面機動”“蛇形+垂直面機動”。本文用參數(shù)化語言來描述這兩類機動[20],側轉機動為一個四元組φ,η,γ,h,其中為轉彎角度(°),η為過載(g),γ為坡度(°),h為降高(m),表示載機在進行側轉機動的同時完成高度差為h的垂直面機動;類似地,蛇形機動為一個六元組i,t,φ,η,γ,h,其中i表示蛇形機動中的轉彎次數(shù),t表示每次轉彎的時間間隔。當機動參數(shù)被指定后,完成此次機動所需要的時間也就確定了。如,側轉機動180,4,60,2 000和蛇形機動2,5,120,4,60,2 000,分別如圖2(a)、(b)所示。
圖2 2種戰(zhàn)術機動示意圖
通過以上2種類型的機動組合,就可以實現(xiàn)各種復雜的超視距空戰(zhàn)戰(zhàn)術。
HTN規(guī)劃的思想與專家求解問題的思維方式十分相似,因而受到廣泛的推崇。HTN規(guī)劃的基本思想是利用相關領域專業(yè)知識,結合專家在實際過程中的相關經(jīng)驗,遞歸地將復雜的任務網(wǎng)絡順序分解,逐層細化,直到分解成為一個個可以直接獨立執(zhí)行的原子任務為止[21]。以系統(tǒng)給定的初始狀態(tài)、領域知識、任務目標作為輸入,輸出完整的、可執(zhí)行的動作方案。初始狀態(tài)主要是系統(tǒng)在規(guī)劃前初始時刻的狀態(tài)信息;領域知識即指規(guī)劃域,包括操作集合和方法集合,操作集合主要描述執(zhí)行動作的前提條件和效果,方法集合是描述任務分解的途徑和相關要求;任務目標是任務網(wǎng)絡的起點,也是任務分解后進行執(zhí)行的總目標。動作方案主要是一系列動作,構成了問題的規(guī)劃解。HTN規(guī)劃在任務的表達和分解、任務分派、任務完成上優(yōu)勢比較突出,對任務分解和細化比較符合作戰(zhàn)人員的思維模式,利用HTN算法及其思想來對軍事問題進行規(guī)劃、求解和執(zhí)行更容易被理解和接受。
HTN規(guī)劃中最關鍵的部分就是方法集合,以“處方”的形式告訴系統(tǒng)如何對任務進行分解。
HTN規(guī)劃中的主要元素包括任務、方法和操作。其中,任務表示可分解的任務;操作表示不可分解的原子任務,在本文中為單次機動;方法包括條件和分解方法,具體描述了在何種態(tài)勢下如何完成任務,是HTN規(guī)劃的關鍵。在空戰(zhàn)HTN規(guī)劃中,“任務”即要執(zhí)行何種戰(zhàn)術,“操作”即單個戰(zhàn)術機動,多個戰(zhàn)術機動組合完成一個戰(zhàn)術,“方法”表示在何種態(tài)勢下如何建立空戰(zhàn)HTN網(wǎng)絡。
圖3 攻擊區(qū)劃分示意圖
在超視距空戰(zhàn)中,相對距離和攻擊區(qū)的關系是進行決策的重要依據(jù)。文獻[22]提出基于目標機機動的五線攻擊區(qū),如圖3所示,本文在此基礎之上,從以下3個方面描述空戰(zhàn)態(tài)勢:①敵我相對距離與敵機攻擊區(qū)的關系;②雙方的相對航向;③敵機是否發(fā)射導彈。
若某種態(tài)勢下需要執(zhí)行“側轉+側轉+蛇形機動”的戰(zhàn)術組合,則HTN規(guī)劃見圖4。
圖4 空戰(zhàn)戰(zhàn)術機動HTN規(guī)劃示意圖
HTN規(guī)劃確定了空戰(zhàn)機動的順序,但與一般HTN規(guī)劃中的操作不同,空戰(zhàn)機動由參數(shù)確定,且機動和機動之間有一定時間間隔,如圖5所示,仿真開始后在t1時刻進行機動1,機動1完成后間隔t2進行機動2,之后間隔t3進行機動3。
圖5 規(guī)劃參數(shù)序列示意圖
在機動參數(shù)給定的情況下,影響空戰(zhàn)結果的主要是時間參數(shù),需要通過算法進行尋優(yōu),優(yōu)化目標為:①機動時間間隔之和最??;②達成發(fā)射條件的時間最長;③達成發(fā)射條件的平均距離最小。優(yōu)化模型為:
(1)
式(1)是一個多目標優(yōu)化問題,多目標優(yōu)化問題會得到一系列帕累托最優(yōu)解,不符合空戰(zhàn)輔助決策的需求,因此將公式(1)中3個優(yōu)化目標歸一化后轉換為單目標問題,如公式(2):
(2)
3.2.1 MFO算法原理及流程
飛蛾撲火優(yōu)化算法[23](moth-flame optimization algorithm, MFO)是一種新型智能優(yōu)化算法,具有調節(jié)參數(shù)少、收斂快、不易陷入局部最優(yōu)等優(yōu)點。MFO算法的思想源于飛蛾沿等角螺旋路徑朝火焰飛行的現(xiàn)象[23],飛蛾是在搜索空間內移動的個體,火焰表示某一只飛蛾當前看到的最優(yōu)解。在飛蛾朝向火焰飛行的過程中,如果發(fā)現(xiàn)了更好的火焰,則更新火焰的位置。算法規(guī)定一只飛蛾對應一個火焰,因此能夠避免陷入局部最優(yōu)。
本文中,M為飛蛾矩陣,OM為飛蛾適應度值矩陣,F(xiàn)為火焰位置矩陣,OF為火焰適應度值矩陣,分別如式(3)和(4)所示。
(3)
(4)
式中:n為飛蛾的個數(shù);d為待求變量的個數(shù)。
根據(jù)適應度值對火焰位置從小到大進行排序,飛蛾分別圍繞排序后的火焰,根據(jù)式(5)進行等角螺線飛行。
Mi=Diebtcos(2πt)+Fj
(5)
式中:Mi為第i只飛蛾的位置,Di=|Mi-Fj|表示第i只飛蛾與第j個火焰的距離;b為等角螺線參數(shù);t為路徑系數(shù)。
為提高算法的搜索效率,MFO采用火焰自適應減少機制,舍掉一些較差的火焰,使得飛蛾不用在劣解附近繼續(xù)尋優(yōu),加快收斂速度。火焰數(shù)量自適應減少公式為:
(6)
式中:NF為當前火焰數(shù)量;N為最大火焰數(shù)量;i為當前迭代次數(shù),I為最大迭代次數(shù)。
MFO算法流程[24]如下。
步驟1 飛蛾種群初始化。設置飛蛾數(shù)量、最大迭代次數(shù)、求解問題維度等參數(shù)。
步驟2 飛蛾位置初始化。在搜索空間中隨機生成飛蛾位置,令迭代次數(shù)i=1。
步驟3 將飛蛾位置按適應度值從小到大排序后賦給火焰,作為第1代火焰的位置。
步驟4 更新飛蛾位置,將飛蛾位置適應度和火焰適應度重新排序,更新火焰位置。
步驟5 自適應減少火焰數(shù)量,迭代次數(shù)i=i+1。
步驟6 判斷是否達到最大迭代次數(shù),是則輸出最優(yōu)火焰位置,否則轉步驟4。
3.2.2 MFO-HTN算法流程
適應度是用來度量種群中個體優(yōu)劣的指標,適應度函數(shù)的設定決定算法的收斂程度和目標函數(shù)最優(yōu)解。將優(yōu)化目標轉化為適應度函數(shù)為:
(7)
其中δ為正值常數(shù),確保適應度函數(shù)值為正。
MFO-HTN規(guī)劃流程如圖6所示。
圖6 MFO-HTN超視距空戰(zhàn)規(guī)劃流程圖
仿真的初始態(tài)勢參數(shù)包括相對距離、相對方位、相對航向角、雙機的高度和速度,本節(jié)的算例設置如表1所示。
表1 初始態(tài)勢參數(shù)
設敵機在0時刻發(fā)射一枚導彈,則當前空戰(zhàn)態(tài)勢滿足以下描述:① 我機處于敵機的Ω3區(qū)域中;②雙方為正迎頭態(tài)勢;③ 敵機發(fā)射一枚導彈。此時空戰(zhàn)HTN規(guī)劃網(wǎng)絡如圖7所示。
圖7 空戰(zhàn)HTN規(guī)劃網(wǎng)絡
相應的機動參數(shù)設置如表2所示。
表2 機動參數(shù)設置
將本文方法與傳統(tǒng)的遺傳算法(GA)、粒子群算法(PSO)進行對比,圖8展示了3種算法的收斂曲線對比。為了加快收斂速度,使算法滿足實時性要求,本文限制了算法僅搜索整數(shù)解。
圖8 算法對比
由圖8可以看出,3種算法均在第50代就基本達到收斂狀態(tài),但GA和PSO算法收斂到了局部最優(yōu),MFO算法搜索精度更高,且收斂速度更快。MFO算法搜索到最優(yōu)解為t1=5 s,t2=1 s,t3=4 s。
則最終得到的空戰(zhàn)機動執(zhí)行序列如圖9所示。
圖9 空戰(zhàn)機動執(zhí)行序列
設仿真起始時刻為0時刻,整個空戰(zhàn)仿真過程持續(xù)114 s,可分為3個階段,見圖10~12。
1)階段1。敵機在0時刻發(fā)射一枚導彈,我機在5 s開始采取側轉180°機動來規(guī)避敵方導彈,同時敵機采取偏置機動保持對我機的壓迫,見圖10。
2)階段2 。我機完成導彈規(guī)避后立刻形成了對敵機的鎖定并發(fā)射一枚導彈,而敵機也同時發(fā)射了第2枚導彈。我機保持對敵機的鎖定4 s后完成中末制導交接,導彈導引頭開機,進行最后一次側轉180°機動,見圖11。
3)階段3。70 s時,敵機向下做側轉機動規(guī)避我機發(fā)射的導彈,但在107 s時被擊落,而我機隨后在114 s 時完成了對敵機第2枚導彈的規(guī)避,仿真結束,見圖12。
本文提出的MFO-HTN超視距空戰(zhàn)機動規(guī)劃模型在引入專家經(jīng)驗的基礎上,建立多目標優(yōu)化模型,采用飛蛾撲火優(yōu)化算法對空戰(zhàn)HTN模型參數(shù)進行優(yōu)化,能夠輸出高效、可解釋的超視距空戰(zhàn)戰(zhàn)術機動執(zhí)行序列。研究成果可以為飛行員提供輔助決策,也為研究智能超視距空戰(zhàn)提供了新的思路。下一步研究如何將HTN模型與模糊推理、強化學習等算法相結合,構建更靈活、可擴展的超視距空戰(zhàn)戰(zhàn)術模型。