馬 文, 李 輝,, 王 壯, 黃志勇, 吳昭欣, 陳希亮
(1. 四川大學計算機學院, 四川 成都 610065; 2. 四川大學視覺合成圖形圖像技術(shù)國家級重點實驗室, 四川 成都 610065; 3.陸軍工程大學指揮控制工程學院, 江蘇 南京 210007)
自1991年海灣戰(zhàn)爭開創(chuàng)了空中力量為主贏得戰(zhàn)爭勝利的歷史,空中力量在現(xiàn)代戰(zhàn)爭中起著越來越重要的作用,制空權(quán)的爭奪很大程度上決定了戰(zhàn)爭的勝負[1]。然而空中作戰(zhàn)形勢瞬息萬變,需要采集的信息極為復雜,使得作戰(zhàn)方在感知空戰(zhàn)態(tài)勢后做出決策變得困難,傳統(tǒng)方法無法實現(xiàn)快速準確的空戰(zhàn)策略[2]。因此,如何根據(jù)雙方作戰(zhàn)態(tài)勢選取有利且精確有效的空戰(zhàn)機動策略是空中作戰(zhàn)的重要研究方向。
國內(nèi)外學者進行了相關(guān)研究,并提出了很多空戰(zhàn)策略生成方法,傳統(tǒng)方法包括:影響圖[3]、專家系統(tǒng)法[4]、微分對策法[5]、矩陣對策法[6]等。這些方法在一定程度上為空戰(zhàn)決策提供了有效的解決方案,但也有較大的局限。如遺傳算法的機動決策具有一定主觀性;專家系統(tǒng)法的可適應性較差;微分對策法計算量過大,求解困難;矩陣對策法存在難以確保實時性等。
近年來,空戰(zhàn)決策的研究也日益增多,文獻[7]引入博弈論的思想,提出了構(gòu)建自由空戰(zhàn)指揮引導對策模型的思路,但并未給出仿真結(jié)果。文獻[8]提出了一種結(jié)合近似動態(tài)規(guī)劃與零和博弈的在線積分策略迭代算法,解決了機動決策建模存在的“維數(shù)災難”問題,但有學習周期偏長、難以應付復雜機動等缺點。文獻[9]利用多狀態(tài)轉(zhuǎn)移馬爾可夫網(wǎng)絡(luò)構(gòu)建機動決策網(wǎng)絡(luò),滿足了空戰(zhàn)決策的實時性要求,但未利用網(wǎng)絡(luò)參數(shù)進行學習。文獻[10]提出一種進化式的專家系統(tǒng)樹方法來研究空戰(zhàn)決策,解決了傳統(tǒng)專家系統(tǒng)方法無法應付非預期情況的問題,但其設(shè)定的仿真環(huán)境較為簡單。文獻[11]提出了一種矩陣對策法與遺傳算法相結(jié)合的空戰(zhàn)決策算法,建立了無人機空戰(zhàn)決策模型,滿足空戰(zhàn)合理性與實時性需求,但只對直線和S型飛行兩種藍色戰(zhàn)機模型進行了仿真研究。
隨著人工智能的發(fā)展,出現(xiàn)了越來越多人工智能在博弈中戰(zhàn)勝人類的事例:2016年人工智能Alpha飛行員打敗了一位美國空軍上校[12]。2018年,AlphaGo Zero在3天內(nèi)自學了3種棋類游戲,輕而易舉戰(zhàn)勝了最優(yōu)秀的人類棋手[13]。這些事例表現(xiàn)出了人工智能在智能決策方面的極大潛能。以最著名的AlphaGo為例,其主要運用了深度強化學習方法。深度強化學習將深度學習的感知能力和強化學習的決策能力相結(jié)合,是一種更接近人類思維方式的人工智能方法[14]。深度強化學習適合解決連續(xù)決策問題,而空戰(zhàn)博弈正屬于此類問題[15],因此從深度強化學習入手研究空戰(zhàn)策略方法是一種可行思路。
本文將深度強化學習與博弈相結(jié)合,提出了一種基于深度強化學習的算法——Minimax-深度Q網(wǎng)絡(luò)(deep Q network,DQN)。該方法使用Minimax算法[16]構(gòu)建線性規(guī)劃來求解每個特定狀態(tài)階段博弈的納什均衡策略,并引入DQN來更新動作狀態(tài)值函數(shù),以得到一種針對高決策水平對手的最優(yōu)策略。
本文為研究空戰(zhàn)中紅藍雙方戰(zhàn)機的對抗情況,獲得一種對紅方有利的最優(yōu)空戰(zhàn)策略,需要用到博弈論以及深度強化學習的理論知識。
本文研究的空戰(zhàn)博弈實際上就是紅藍雙方的對抗過程,雙方的競爭性質(zhì)可以利用博弈論的知識概括。博弈論是研究決策者在決策主體各方相互作用的情況下,如何進行決策以及有關(guān)該決策的均衡問題的理論[17],被廣泛應用于軍事問題研究。
(1)
則為一個納什均衡。
本文研究的紅藍雙方戰(zhàn)機對抗情況與追逃博弈有密切聯(lián)系,追逃博弈將參與雙方定義為追蹤者和逃脫者,在博弈過程中博弈各方均以紅方最大利益為目標,一方的得益必然導致另一方的損失,二者的得失總和為零[19],本文涉及的博弈類型也稱二人零和博弈。并且追逃博弈考慮的是紅方在最差情況下的對抗策略優(yōu)化設(shè)計,即縱使藍方采用非常智能的機動方式,紅方仍可獲得可以接受的對抗效果,且得到的結(jié)果是全局最優(yōu)[20]。本文以此為研究思路,處理空戰(zhàn)中紅藍雙方戰(zhàn)機的對抗問題,并引入深度強化學習知識。
馬爾可夫決策過程(Markov decision process, MDP)是指決策者周期性地或連續(xù)性地觀察具有馬爾可夫性的隨機動態(tài)系統(tǒng),序貫地作出決策[21],即根據(jù)當前的觀測狀態(tài)選擇一個動作執(zhí)行到達下一步的狀態(tài),下一步的狀態(tài)只與當前的狀態(tài)和動作有關(guān)。
MDP是強化學習的基礎(chǔ)。強化學習是智能體以“試錯”的方式進行學習,通過與環(huán)境進行交互獲得的獎賞指導行為,使智能體獲得最大的獎賞[22]。強化學習適用于解決連續(xù)決策問題,因此可以應用于解決空戰(zhàn)中紅藍雙方戰(zhàn)機對抗的決策問題[23]。
深度學習通過構(gòu)建基于表示的多層機器學習模型,訓練海量數(shù)據(jù),學習有用特征,以達到提升識別、分類或預測的準確性[24]。深度學習具有較強的感知能力,但缺乏一定的決策力,因此將深度學習與強化學習相結(jié)合,為系統(tǒng)的感知決策問題提供了解決思路。
深度強化學習將深度學習與強化學習結(jié)合,用神經(jīng)網(wǎng)絡(luò)來擬合強化學習中的價值函數(shù)和策略函數(shù),解決了強化學習狀態(tài)空間較小的局限性[25]。由于本文研究的紅藍雙方戰(zhàn)機對抗的空戰(zhàn)策略問題中,狀態(tài)特征是連續(xù)多維的,因此可采用深度強化學習中基于價值函數(shù)的經(jīng)典DQN算法[26]解決該問題。
由于空戰(zhàn)博弈是一個動態(tài)過程,而傳統(tǒng)博弈一般是單步的,因此需要從傳統(tǒng)博弈拓展到隨機博弈。
MDP包含一個玩家和多個狀態(tài),而矩陣博弈包含多個玩家和一個狀態(tài)。對于具有多個玩家和多個狀態(tài)的博弈,定義了一種MDP與矩陣博弈相結(jié)合的博弈方法,稱為馬爾可夫博弈,即隨機博弈[27]。
隨機博弈可表示為一個元組[28],(n,S,A1,A2,…,An,T,γ,R1,R2,…,Rn),其中包含的要素如下。
(1) 個數(shù)n:表示玩家數(shù)量。
(2) 狀態(tài)S:狀態(tài)是對環(huán)境的描述,在智能體做出動作后,狀態(tài)會發(fā)生改變,其演變具有馬爾可夫性。
(3) 動作A:動作是對智能體行為的描述,是決策的結(jié)果。動作空間可以是離散或連續(xù)的。
(4) 轉(zhuǎn)移函數(shù)T:由給定玩家當前狀態(tài)s和每個智能體的一個動作Ai控制,轉(zhuǎn)移概率在[0,1]之間。
(5) 折扣因子γ:折扣因子是對未來獎勵的衰減,γ∈[0,1]。
(6) 回報函數(shù)R:表示指定玩家在狀態(tài)s采取聯(lián)合行為(A1,A2,…,An)后在狀態(tài)s′處取得的回報。
隨機博弈環(huán)境中的每個智能體都由一組狀態(tài)S和一組動作集A1,A2,…,Ak定義,狀態(tài)轉(zhuǎn)換由當前狀態(tài)s和每個智能體的一個動作Ai控制,每個智能體都有一個相關(guān)的獎勵函數(shù),試圖最大化其預期的折扣獎勵之和。與MDP類似,隨機博弈中玩家下一狀態(tài)和回報只取決于當前狀態(tài)和所有玩家的當前行為。求解隨機博弈需要找到一個策略π,使得具有折扣因子γ的玩家的未來折扣回報最大化。
(2)
其中航跡偏角的限制范圍為[-180°,180°],滾轉(zhuǎn)角的范圍受實際飛機最大轉(zhuǎn)彎能力限制,具體如圖1所示。紅方戰(zhàn)機的目標是在藍方戰(zhàn)機背后取得并保持優(yōu)勢地位,可使用視界角(angle of aspect, AA)和天線偏轉(zhuǎn)角(antenna train angle, ATA)來量化此優(yōu)勢位置。此外,航向交叉角(heading crossing angle, HCA)也用于描述紅藍戰(zhàn)機之間的朝向差異。
圖1 紅藍雙方戰(zhàn)機相對幾何關(guān)系Fig.1 Relative geometric relationship between the red and the blue fighters
本文將紅藍雙方戰(zhàn)機作為智能體,以二人零和博弈為條件對空戰(zhàn)博弈進行建模。根據(jù)第1.2節(jié)可知,隨機需要確定一個元組(n,S,A1,A2,…,An,T,γ,R1,R2,…,Rn),根據(jù)此一元組來構(gòu)建空戰(zhàn)中的隨機博弈模型。
2.2.1 隨機博弈模型
首先需要確定隨機博弈環(huán)境中每個智能體需要的狀態(tài)空間S、動作空間A和獎勵函數(shù)R,智能體為當前狀態(tài)s決策選擇一個動作Ai到達下一個狀態(tài)s′,并得到與環(huán)境交互后反饋獎勵r,然后進行下一輪交互,由此實現(xiàn)循環(huán)。
(1) 個數(shù)n:紅藍雙方戰(zhàn)機對抗中玩家數(shù)量n為2。
由于戰(zhàn)機的狀態(tài)空間是連續(xù)無限空間,所以需要用到深度學習神經(jīng)網(wǎng)絡(luò)來處理這些特征。
(3) 動作A:戰(zhàn)機的可選機動動作設(shè)置為向左滾轉(zhuǎn)、維持滾轉(zhuǎn)和向右滾轉(zhuǎn),分別用L,S,R代表這3種可選動作,構(gòu)建離散的動作空間,則紅方的動作空間為Ar={L,S,R},同理藍方動作空間為Ab={L,S,R}。
(4) 轉(zhuǎn)移函數(shù)T:以紅方為例,紅方當前狀態(tài)s在紅方根據(jù)策略選擇的動作a與對手藍方選擇的動作o的聯(lián)合行為(a,o)影響下,轉(zhuǎn)移到下一狀態(tài)s′的概率。
(5) 折扣因子γ:折扣因子在[0,1]中選取,一般為0.9左右。
(6) 回報函數(shù)R:在隨機博弈中,使用MDP的Q值來表示即時收益。以Q(s,a,o)表示每個狀態(tài)s下,己方采取動作a及藍方采取動作o的預期獎勵。根據(jù)導彈的攻擊區(qū)域,設(shè)定到達導彈可攻擊范圍為有利態(tài)勢。對于紅方的獎勵值r,若紅方到達有利態(tài)勢返回r=1,若對手藍方到達有利態(tài)勢則r=-1,其余情況r=0。
2.2.2 戰(zhàn)機優(yōu)勢獎勵函數(shù)
本文參考文獻[29]中定義的有利態(tài)勢區(qū)域來選擇占位,且暫不涉及4代、5代紅外近距格斗導彈的前向攻擊能力[30]。以二維平面內(nèi)的空戰(zhàn)對抗為例,紅方戰(zhàn)機的優(yōu)勢區(qū)域,如圖2所示。
圖2 紅方戰(zhàn)機優(yōu)勢區(qū)域Fig.2 Dominant area of the red fighter
紅方戰(zhàn)機取得優(yōu)勢需要滿足4個條件:① 紅方戰(zhàn)機與藍方戰(zhàn)機的歐氏距離D在Dmin到Dmax范圍內(nèi),該區(qū)域根據(jù)戰(zhàn)機的速度和武器攻擊范圍決定;② 紅方戰(zhàn)機與藍方戰(zhàn)機的高度差H在Hmin到Hmax范圍內(nèi),該范圍由戰(zhàn)機的速度和武器攻擊范圍決定;③ 紅方戰(zhàn)機的AA在指定視界范圍內(nèi);④ 紅方戰(zhàn)機的ATA在指定ATA范圍內(nèi)。同時滿足以上4個條件則判定紅方取得優(yōu)勢,并獲得獎勵值r=1,即占據(jù)有利態(tài)勢的要求如下所示:
(3)
2.2.3 隨機博弈價值函數(shù)
對于多人隨機博弈,已知回報函數(shù)和轉(zhuǎn)移函數(shù),期望求得其納什均衡解,即每個智能體的聯(lián)合策略,智能體的策略就是動作空間的概率分布。由于在博弈環(huán)境下,預期回報會受到對手策略的影響,而在紅藍戰(zhàn)機空戰(zhàn)博弈中,一般無法預測到對手的動作。在此基礎(chǔ)上,本文采用Minimax算法選取隨機博弈的最優(yōu)策略。假設(shè)對手擁有高水平?jīng)Q策能力,在藍方選取使紅方收益最小的動作的前提下,紅方選取使自己收益最大的動作,該思想與追逃博弈類似。Minimax算法的意義在于,在最壞的情況下獲取最大的回報。
MDP的價值函數(shù)表示最優(yōu)策略所獲得的預期折扣回報和,狀態(tài)值函數(shù)V(s)和狀態(tài)動作值函數(shù)Q(s,a)的公式如下:
(4)
式中,T(s,a,o,s′)表示狀態(tài)s經(jīng)過動作a,o到達狀態(tài)s′的轉(zhuǎn)移概率。
由此可得,隨機博弈狀態(tài)s下的最優(yōu)值函數(shù)V(s)可表示為
(5)
式中,PD(A)表示動作的離散概率分布。根據(jù)式(5)可以使用線性規(guī)劃約束方法求得狀態(tài)s下的最優(yōu)策略π和最優(yōu)值函數(shù)V。
對于狀態(tài)s下紅方動作a及藍方動作o的動作狀態(tài)值函數(shù)Q(s,a,o)為
(6)
通過上述的遞歸方程可以經(jīng)過迭代求得收斂的最優(yōu)值函數(shù),進而得到最優(yōu)策略π。
由于紅藍雙方戰(zhàn)機對抗屬于混合策略博弈,即博弈雙方選擇某一動作并不是確定的,而是對所有動作都有一個選擇概率,此概率就是通過線性規(guī)劃求得的最優(yōu)策略π。因此本文采用輪盤賭選擇法進行動作選擇,個體的適應度越高,被選擇的概率越大。
由于在博弈情境下,轉(zhuǎn)移函數(shù)難以確定,對于式(6)中使用值迭代求解MDP的傳統(tǒng)方法涉及的狀態(tài)轉(zhuǎn)移函數(shù)T,可以利用強化學習中的異步更新方式Q-learning[31]替代。
Q-learning利用時間差分目標來更新當前行為值函數(shù),每當狀態(tài)s采取動作a轉(zhuǎn)換到狀態(tài)s′時得到獎勵r進行更新:
Q(s,a)=r+γV(s′)
(7)
由于執(zhí)行更新的概率正是T(s,a,s′),所以可以取代轉(zhuǎn)移函數(shù)。將Q-learning的方法應用到隨機博弈中,式(6)可轉(zhuǎn)化為
Qt(s,a,o)=(1-α)Qt-1(s,a,o)+α(r+γV(s′))
(8)
式中,α代表學習效率。
與傳統(tǒng)的Q-learning相比,Minimax-Q方法結(jié)合了博弈論的思想,用Minimax值替換了Q-learning中的最大值,以得到博弈條件下需要的最優(yōu)策略。
此外,由第2.2節(jié)可知,紅藍雙方戰(zhàn)機對抗的空戰(zhàn)博弈所涉及的狀態(tài)為連續(xù)無限空間,所以需要用到深度學習神經(jīng)網(wǎng)絡(luò)處理特征。因此,將Minimax-Q方法進一步拓展,加入深度神經(jīng)網(wǎng)絡(luò)來逼近值函數(shù),利用經(jīng)驗回放訓練強化學習的學習過程,并設(shè)置獨立的目標網(wǎng)絡(luò)來處理時間差分目標。
DQN將Q-learning中的線性函數(shù)逼近以神經(jīng)網(wǎng)絡(luò)參數(shù)形式非線性逼近,可以處理空戰(zhàn)博弈下高維度的非線性輸入數(shù)據(jù)。DQN的行為值函數(shù)對應一組參數(shù),在神經(jīng)網(wǎng)絡(luò)里對應每層網(wǎng)絡(luò)的權(quán)重,用θ表示,更新值函數(shù)實際上就是更新θ參數(shù)[32]。
將智能體與環(huán)境交互得到的當前狀態(tài)s、紅方采取的動作a、藍方采取的動作o、對應的獎勵值r以及執(zhí)行動作到達的下一狀態(tài)s′作為一個五元組{s,a,o,r,s′}存儲到記憶庫。記憶庫的大小是有限的,當記錄庫存儲滿后,新一組數(shù)據(jù)會覆蓋記憶庫中的第一組數(shù)據(jù)。從記憶庫中隨機抽取一定大小的數(shù)據(jù)作為訓練樣本,并計算出目標Q值來訓練神經(jīng)網(wǎng)絡(luò),計算目標Q值的方式即式(8)。
由于強化學習是試錯學習,要通過環(huán)境反饋的獎勵Reward來優(yōu)化損失函數(shù),損失函數(shù)為loss=(target_q-q)2,采用的優(yōu)化方法為梯度下降。用神經(jīng)網(wǎng)絡(luò)逼近值函數(shù)時,若計算目標值函數(shù)的網(wǎng)絡(luò)與梯度計算逼近值函數(shù)的網(wǎng)絡(luò)參數(shù)相同,會因為數(shù)據(jù)的關(guān)聯(lián)性導致訓練結(jié)果不穩(wěn)定。因此需要定義兩個神經(jīng)網(wǎng)絡(luò),目標網(wǎng)絡(luò)與Q網(wǎng)絡(luò)的結(jié)構(gòu)完全相同,但內(nèi)部的參數(shù)不同。目標網(wǎng)絡(luò)擁有Q網(wǎng)絡(luò)一段時間以前的參數(shù),這組參數(shù)被固定一段時間后,再將Q網(wǎng)絡(luò)的最新參數(shù)傳遞給目標網(wǎng)絡(luò)[31]。
Minimax-DQN具體訓練過程如圖3所示。
圖3 Minimax-DQN訓練過程示意圖Fig.3 Schematic diagram of Minimax-DQN training process
總結(jié)上述內(nèi)容給出Minimax-DQN的算法步驟如下。
步驟 1初始化:給定紅藍雙方一個初始狀態(tài),初始化記憶庫,設(shè)置觀察值。
步驟 2創(chuàng)建兩個神經(jīng)網(wǎng)絡(luò)分別為Q網(wǎng)絡(luò)和目標網(wǎng)絡(luò),Q網(wǎng)絡(luò)參數(shù)為θ,目標網(wǎng)絡(luò)參數(shù)θ-=θ。神經(jīng)網(wǎng)絡(luò)輸入為狀態(tài)s,輸出為動作狀態(tài)值函數(shù)Q,學習一定次數(shù)后,將Q網(wǎng)絡(luò)的參數(shù)拷貝給目標網(wǎng)絡(luò)。
循環(huán)遍歷:
步驟 3紅方智能體根據(jù)當前狀態(tài)s按照策略π選擇動作a并執(zhí)行,得到下一狀態(tài)s′以及獲得的獎勵r。觀測藍方智能體在狀態(tài)s下選取的動作o,將{s,a,o,r,s′}五元組存儲到記憶庫中。依據(jù)空戰(zhàn)態(tài)勢的復雜多樣性,設(shè)置記憶庫存儲上限為100 000組數(shù)據(jù)。
步驟 4從中記憶庫中隨機抽取256組數(shù)據(jù)作為一個訓練樣本。將訓練樣本的s′值作為神經(jīng)網(wǎng)絡(luò)的輸入,根據(jù)神經(jīng)網(wǎng)絡(luò)輸出得到狀態(tài)s′下的Q(s′)。
步驟 5根據(jù)式(5)使用線性規(guī)劃得到Minimax狀態(tài)值V(s′),再根據(jù)式(8)計算出目標Q值target_q。
步驟 6計算損失函數(shù)
loss=(target_q-Q(s,a,o,θ))2,采用梯度下降法進行優(yōu)化,更新Q網(wǎng)絡(luò)參數(shù)。
循環(huán)結(jié)束
步驟 7根據(jù)式(5)使用訓練好的神經(jīng)網(wǎng)絡(luò)輸出的Q值進行線性規(guī)劃求解得到最優(yōu)策略π。
根據(jù)上述算法,可得到算法流程圖如圖4所示。
圖4 Minimax-DQN算法流程圖Fig.4 Flow chart of Minimax-DQN algorithm
首先,紅方根據(jù)Minimax-DQN算法選取策略,藍方采用隨機策略,若紅方勝利則獎勵值r=1,若藍方勝利則r=-1,若飛出限定地圖范圍則r=0。訓練10 000個回合后,停止神經(jīng)網(wǎng)絡(luò)的學習。圖5為算法訓練過程中的損失變化圖,橫坐標為訓練步數(shù),縱坐標為神經(jīng)網(wǎng)絡(luò)每次訓練的損失,可以看出隨著訓練步數(shù)的增加,訓練損失逐漸下降最終收斂趨近于0,滿足了訓練要求。
圖5 網(wǎng)絡(luò)訓練損失變化圖Fig.5 Change diagram of network training loss
訓練完成后,紅藍雙方根據(jù)價值網(wǎng)絡(luò)得出各自策略進行1 000次博弈對抗,最終得到的博弈獲勝結(jié)果如圖6所示。
圖6 Minimax-DQN對抗隨機策略Fig.6 Confrontation between Minimax-DQN and random strategy
實驗結(jié)果中,采用Minimax-DQN算法的紅方獲勝次數(shù)為307次,采用隨機策略的藍方獲勝12次,另外有681局平局。紅方在對抗中取得了較為優(yōu)秀的成績,證明了算法在博弈條件下的可行性。需要注意的是,該算法的重點是利用了線性規(guī)劃求出的Minimax值函數(shù)V去更新神經(jīng)網(wǎng)絡(luò)中的Q值。本文在同樣的情景條件及相同網(wǎng)絡(luò)參數(shù)情況下,紅方采用傳統(tǒng)DQN算法選取最優(yōu)策略,藍方采用隨機策略,得到的博弈結(jié)果如圖7所示。其中,采用DQN算法的紅方獲勝次數(shù)為212次,采用隨機策略藍方獲勝15次,另外有773局平局。對比圖6與圖7可以看出,藍方采用的隨機策略對抗性較差,而Minimax-DQN和DQN兩種算法都可以在博弈情景下生成對抗策略,但Minimax-DQN算法的勝率比DQN更高,說明該算法相較DQN算法能夠更準確有效地作出決策,引導戰(zhàn)機占領(lǐng)有利的態(tài)勢位置。
圖7 DQN對抗隨機策略Fig.7 Confrontation between DQN and random strategy
由于對局中平局次數(shù)較多,本文對兩種算法的結(jié)果進行進一步分析,發(fā)現(xiàn)Minimax-DQN算法博弈結(jié)果中獎勵值為0的對局,消耗的平均對抗步數(shù)約為45步,而DQN算法相同情況消耗的平均對抗步數(shù)約為82步。下面對雙方獎勵值為0的具有代表性的對局進行可視化,如圖8所示。對比圖8兩種算法的對局可以發(fā)現(xiàn),Minimax-DQN算法達成平局主要是由于在紅方達到優(yōu)勢區(qū)域前飛出了限定地圖范圍,因此平均步數(shù)較小。而DQN算法存在無法針對對手動作采取有效對抗策略的問題,因此在地圖中消耗的步數(shù)更大。
圖8 兩種算法的平局對局Fig.8 Draw game of two algorithms
接下來,將上述兩種算法進行對抗比較,紅方智能體采用Minimax-DQN算法訓練后的網(wǎng)絡(luò)生成策略,而藍方智能體采取DQN算法生成策略進行博弈對抗1 000次,得到的博弈結(jié)果如下圖9所示。
圖9 Minimax-DQN對抗DQNFig.9 Confrontation between Minimax-DQN and DQN
圖9的實驗結(jié)果中,采用Minimax-DQN算法的紅方獲勝次數(shù)為501次,采用DQN算法的藍方獲勝49次,另外有450局平局。對比圖6可以發(fā)現(xiàn),Minimax-DQN算法的獲勝次數(shù)增加,平局數(shù)減少,在對手實力越強的情況下算法表現(xiàn)越好,驗證了Minimax算法在最壞情況下表現(xiàn)出最大回報的性質(zhì)。
圖10為紅方隨機生成一個初始態(tài)勢后與藍方進行博弈對抗的仿真可視化軌跡圖。圖11為對抗過程中紅方戰(zhàn)機的狀態(tài)變量圖??梢钥吹?,紅方戰(zhàn)機不斷調(diào)整自己的狀態(tài)最終占據(jù)了優(yōu)勢地位。
圖10 紅方隨機態(tài)勢下的博弈對抗軌跡Fig.10 Game confrontation trajectory under the red random state
圖11 紅方戰(zhàn)機狀態(tài)變量Fig.11 State variables of the red fighter
為了測試4種典型初始態(tài)勢下,紅藍雙方的博弈對抗情況,進行了仿真測試如圖12所示,4組對局分別為紅方優(yōu)勢對局、紅方劣勢對局、雙方均勢對局和雙方中立對局。
圖12 博弈對抗軌跡Fig.12 Trajectory of game confrontation
圖12(a)中,紅方戰(zhàn)機初始坐標位于藍方戰(zhàn)機西方500 m處,航跡偏角φb=30°,兩機距離小,紅方戰(zhàn)機達到攻擊藍機條件,紅方處于優(yōu)勢??梢钥闯鏊{方戰(zhàn)機想掉頭改變局勢,但被紅方戰(zhàn)機利用初始位置的優(yōu)勢攔截,紅方率先達到優(yōu)勢態(tài)勢。圖12(b)中,紅方戰(zhàn)機初始坐標位于藍方戰(zhàn)機東方500 m處,航跡偏角φb=30°,兩機距離小,藍方戰(zhàn)機達到攻擊紅機條件,紅方處于劣勢??梢钥闯黾t方戰(zhàn)機率先掉頭改變局勢,利用角度偏差最終扭轉(zhuǎn)局面獲得勝利。圖12(c)中,紅方戰(zhàn)機初始坐標位于藍方戰(zhàn)機東方500 m處,航跡偏角φb=150°,兩機距離小,雙方均達到攻擊對方條件,兩機處于均勢。紅藍雙方同時轉(zhuǎn)向,紅方率先拉近距離并取得角度優(yōu)勢,最終獲勝。圖12(d)中紅方戰(zhàn)機初始坐標位于藍方戰(zhàn)機西方1 000 m處,航跡偏角φb=150°,兩機距離大,雙方均不滿足攻擊對方條件,兩機處于均勢??梢钥闯鲆琅f是紅方率先拉近距離,從左后方占據(jù)優(yōu)勢態(tài)勢。
由4組仿真實驗可以看出,紅方能在任意初始態(tài)勢下,利用決策最終占據(jù)有利態(tài)勢,驗證了算法的有效性。
結(jié)合上述仿真實驗結(jié)果及對比分析,Minimax-DQN算法結(jié)合了博弈思想來更新神經(jīng)網(wǎng)絡(luò)值函數(shù),具有較好的適應性和智能性,能夠在博弈場景下準確地作出有效決策來引導戰(zhàn)機占據(jù)有利的態(tài)勢位置。
本文采用深度強化學習與博弈相結(jié)合的方法,提出了一種可解決空戰(zhàn)中紅藍雙方戰(zhàn)機對抗機動決策問題的算法,即Minimax-DQN算法。該算法利用深度學習神經(jīng)網(wǎng)絡(luò)來處理空戰(zhàn)中戰(zhàn)機高維連續(xù)的態(tài)勢特征,并引入強化學習決策模型,通過與環(huán)境交互訓練智能體,最后采用Minimax算法構(gòu)建線性規(guī)劃求解出納什均衡策略,得到戰(zhàn)機的最優(yōu)機動決策。
目前本文通過空戰(zhàn)仿真實驗驗證了算法的可行性,下一步的工作將加入高度影響,將仿真環(huán)境從二維拓展到三維,并考慮雷達和武器情況進行現(xiàn)代空戰(zhàn)的研究,使算法適應更加復雜的戰(zhàn)場環(huán)境,還將由一對一空戰(zhàn)決策問題拓展到多對多的集群協(xié)同作戰(zhàn)中的博弈智能問題研究。