崔雅萌 王會(huì)霞 鄭春勝 胡瑞光
1.北京航天自動(dòng)控制研究所北京100854 2. 宇航智能控制技術(shù)國(guó)家級(jí)重點(diǎn)實(shí)驗(yàn)室北京100854
人工智能技術(shù)是引領(lǐng)新一輪科技革命和產(chǎn)業(yè)變革的戰(zhàn)略性技術(shù), 智能技術(shù)已成為大國(guó)博弈的重點(diǎn)[1]. 未來(lái)戰(zhàn)爭(zhēng)也將是智能化、體系化對(duì)抗, 傳統(tǒng)的規(guī)則化、簡(jiǎn)單邏輯的博弈策略不能滿足要求,發(fā)展智能裝備,采用智能飛行器集群作戰(zhàn)將成為創(chuàng)新性、顛覆性的作戰(zhàn)模式[2]. 面對(duì)復(fù)雜的多飛行器攔截場(chǎng)景,單個(gè)飛行器逃逸成功很難實(shí)現(xiàn),而誘餌伴飛、主動(dòng)機(jī)動(dòng)突防等策略可以幫助飛行器逃逸成功[3?5]. 在飛行器攻防對(duì)抗中,進(jìn)攻方飛行器是逃逸者,需要找到最優(yōu)策略成功逃逸;攔截方飛行器是追捕者,需要準(zhǔn)確識(shí)別目標(biāo)成功攔截,雙方構(gòu)成追逃博弈問(wèn)題.
從進(jìn)攻方(也稱為逃逸方)角度研究逃逸策略,現(xiàn)有的多對(duì)一攔截場(chǎng)景大多基于傳統(tǒng)的控制理論,在雙方信息全部已知的情況下設(shè)計(jì)固定的策略求解問(wèn)題,見文獻(xiàn)[3?4,6?8].
從攔截方角度研究攔截策略, 多目標(biāo)攔截問(wèn)題需要考慮對(duì)抗雙方性能, 結(jié)合對(duì)抗場(chǎng)景中雙方的位置、速度、姿態(tài)等信息, 確定最優(yōu)分配方案, 實(shí)現(xiàn)資源利用最大化并獲得最佳打擊效果, 是一種組合優(yōu)化問(wèn)題.目標(biāo)分配方案有改進(jìn)差分進(jìn)化算法[9]、匈牙利算法[10]、蟻群算法[11]、粒子群算法[12?13]等. 眾多方法中, 匈牙利算法計(jì)算量小, 求解方便快速, 易于實(shí)現(xiàn),適合需要進(jìn)行實(shí)時(shí)目標(biāo)分配計(jì)算的對(duì)抗場(chǎng)景.
近年來(lái)人工智能技術(shù)迅速發(fā)展并日益成熟, 無(wú)論是逃逸方還是攔截方的策略研究都在從傳統(tǒng)的求解方法轉(zhuǎn)向智能博弈對(duì)抗方法[14?15]. 智能博弈對(duì)抗可以根據(jù)自身狀態(tài)和感知的對(duì)手狀態(tài)進(jìn)行決策, 通過(guò)與環(huán)境不斷交互進(jìn)行學(xué)習(xí)來(lái)與對(duì)手博弈, 并不需要知道對(duì)手策略, 面對(duì)復(fù)雜多變的對(duì)抗場(chǎng)景具有一定優(yōu)勢(shì). 目前智能博弈的方法在無(wú)人機(jī)集群等低速飛行器的決策對(duì)抗領(lǐng)域取得一定進(jìn)展, 但在高速飛行器攻防對(duì)抗中應(yīng)用較少, 面對(duì)此類問(wèn)題時(shí)也僅使用固定方案[15], 且只考慮了單一策略, 如只進(jìn)行拋撒誘餌策略或機(jī)動(dòng)策略的研究[3,15]. 復(fù)雜作戰(zhàn)場(chǎng)景下單一的突防策略難以保證飛行器突防成功,因此,需要多種策略相結(jié)合并適應(yīng)戰(zhàn)場(chǎng)態(tài)勢(shì)變化. 本文解決了高速飛行器面對(duì)動(dòng)態(tài)變化的多飛行器攔截時(shí)難以逃逸成功的問(wèn)題,使其可采取拋撒誘餌、機(jī)動(dòng)變彈道和姿態(tài)調(diào)整多種策略進(jìn)行博弈.
本文將高速飛行器的攻防對(duì)抗問(wèn)題抽象成多智能體博弈問(wèn)題; 針對(duì)逃逸方飛行器建立含有拋撒誘餌、機(jī)動(dòng)調(diào)整、姿態(tài)調(diào)整行為的多策略行為模型,加入先驗(yàn)知識(shí)提升算法收斂速度; 建立飛行器威脅矩陣, 針對(duì)攔截方飛行器設(shè)計(jì)變目標(biāo)的動(dòng)態(tài)目標(biāo)分配算法;在三維環(huán)境下進(jìn)行仿真驗(yàn)證. 考慮到對(duì)戰(zhàn)場(chǎng)態(tài)勢(shì)的動(dòng)態(tài)適應(yīng)性,獎(jiǎng)勵(lì)函數(shù)設(shè)計(jì)考慮拋誘餌的時(shí)機(jī)、拋誘餌的數(shù)量、機(jī)動(dòng)時(shí)間. 仿真結(jié)果表明該算法通過(guò)訓(xùn)練得到的神經(jīng)網(wǎng)絡(luò)能夠?qū)崟r(shí)解算出飛行器的突防策略,控制飛行器實(shí)施逃逸.
文中稱逃逸方為紅方,攔截方為藍(lán)方.對(duì)抗中,紅藍(lán)雙方可獲得用于決策的信息是不對(duì)稱、不完整的,雙方所獲得的信息及誘餌誤判概率均由可獲得完整信息的白方給出.
為簡(jiǎn)化問(wèn)題,假設(shè)紅藍(lán)雙方在真空中飛行;處于均勻引力場(chǎng)中; 紅藍(lán)雙方為剛體、質(zhì)量不變化; 只考慮紅藍(lán)雙方飛行器在三維空間中的質(zhì)心運(yùn)動(dòng), 其姿態(tài)變化受姿態(tài)指令控制.
采用歐美體制的“北東下”坐標(biāo)系,定義符合右手定則的空間直角坐標(biāo)系.
1)慣性坐標(biāo)系SG(OGXGYGZG)
慣性系坐標(biāo)原點(diǎn)OG取在慣性空間某一點(diǎn). 軸OGXG和軸OGYG在水平面內(nèi),軸OGXG指向正北,軸OGYG指向正東,軸OGZG滿足右手定則鉛垂向下.
2)機(jī)體坐標(biāo)系ST(OT XTYTZT)
機(jī)體坐標(biāo)系固連于飛行器, 坐標(biāo)原點(diǎn)在飛行器質(zhì)心OT. 軸OT XT位于飛行器對(duì)稱平面內(nèi), 平行于機(jī)身軸線指向前方.軸OTYT垂直于飛行器對(duì)稱平面(即xTOTZT平面),指向右方.軸OTZT位于飛行器對(duì)稱平面內(nèi),垂直于xT軸朝下指向飛行器腹部.
1.1.1 紅方質(zhì)心運(yùn)動(dòng)模型
慣性系下,紅方位置、速度的動(dòng)力學(xué)方程:
式中,pr為紅方的位置矢量,vr為紅方的速度矢量,Fr為紅方的推力矢量,gz為重力加速度其只在軸OGZG方向有.
慣性系下紅方推力矢量由機(jī)體系通過(guò)坐標(biāo)系轉(zhuǎn)換得到Fr=Trt→g·Fesc,其中,Trt→g為紅方機(jī)體系到慣性系坐標(biāo)轉(zhuǎn)換矩陣,各元素由紅方姿態(tài)角計(jì)算.
1.1.2 紅方機(jī)動(dòng)調(diào)整模型
紅方飛行器的機(jī)動(dòng)裝置可以在紅方機(jī)體系OTYT軸和OTZT軸的正向和負(fù)向產(chǎn)生固定大小的推力. 由于燃料限制, 機(jī)動(dòng)裝置累計(jì)工作有限.忽略機(jī)動(dòng)裝置開機(jī)、關(guān)機(jī)過(guò)程中推力的過(guò)渡過(guò)程. 關(guān)機(jī)時(shí)推力為0,開機(jī)時(shí)推力大小為Fesc. 記Kesc,y,Kesc,z為紅方機(jī)動(dòng)指令,Kesc,y,Kesc,z∈{?1,0,1}. 機(jī)動(dòng)裝置產(chǎn)生的作用力在機(jī)體系下的各軸投影分量如下式:
1.1.3 紅方姿態(tài)調(diào)整模型
紅方飛行器的姿態(tài)調(diào)整裝置可以在一定程度上改變其姿態(tài)角. 姿態(tài)角調(diào)節(jié)范圍不受限制,但其角速度有約束. 在k(k=0,1,2,···)時(shí)刻:
在k(k= 0,1,2,···)時(shí)刻,根據(jù)當(dāng)前時(shí)刻的姿態(tài)角指令、上一時(shí)刻的姿態(tài)角,按下式計(jì)算姿態(tài)角:
按式(5)計(jì)算姿態(tài)角速度:
式中, dt為仿真周期,φrcψrcγrc分別為俯仰、偏航、橫滾姿態(tài)角指令.
1.1.4 藍(lán)方行為模型
藍(lán)方給定策略為采用比例導(dǎo)引法攔截紅方, 其制導(dǎo)指令為:
式中,ky、kz為比例導(dǎo)引系數(shù),表示紅方與藍(lán)方的視距的變化率,分別表示視線高低角的變化率和方位角的變化率.
紅方與藍(lán)方的相對(duì)運(yùn)動(dòng)關(guān)系用以下方程描述:
式中,X、Y、Z為紅藍(lán)雙方相對(duì)位置,Vx、Vy、Vz為紅藍(lán)雙方相對(duì)速度, η 為視線離軸角,TTTg→t為慣性系到機(jī)體系的坐標(biāo)轉(zhuǎn)換矩陣, 各元素由姿態(tài)角計(jì)算.分別為紅藍(lán)相對(duì)距離變化率、視線高低角速率.
紅方飛行器載有一定數(shù)量的誘餌, 可根據(jù)博弈對(duì)策逐個(gè)釋放或同時(shí)釋放若干個(gè). 釋放后的誘餌以一概率pcheat使藍(lán)方識(shí)別為紅方本體.
記Kbait,i為紅方釋放第i個(gè)誘餌的指令,Kbait,i=0 為不拋出第i個(gè)誘餌,Kbait,i=1 為拋出第i個(gè)誘餌,若第i個(gè)誘餌狀態(tài)為Kbait,i=1,則此誘餌無(wú)法再次拋出.記第i個(gè)誘餌在tbait,i時(shí)被釋放,拋撒誘餌的方向由飛行器拋撒時(shí)的姿態(tài)角決定. 釋放后誘餌只在重力作用下保持勻加速度運(yùn)動(dòng).
在慣性系,第i個(gè)誘餌在釋放時(shí)的位置即為紅方此時(shí)質(zhì)心位置,在釋放時(shí)的速度為:
式中,mesc,bait為紅方攜帶誘餌數(shù)量,vbait為慣性系下紅方拋誘餌時(shí)刻的速度,vxr(tbait,i),vyr(tbait,i),vzr(tbait,i)為慣性系下紅方拋誘餌時(shí)刻的速度分量.
當(dāng)紅方釋放一枚誘餌時(shí), 該誘餌被誤判概率為pcheat,由釋放誘餌時(shí)的紅藍(lán)相對(duì)距離確定,如下式:
白方計(jì)算誤判概率同時(shí)生成一個(gè)隨機(jī)數(shù)n,取值范圍(0.05 ~0.95).n若小于pcheat,則藍(lán)方將誘餌誤判為紅方本體;否則,藍(lán)方識(shí)別其為誘餌.
多飛行器對(duì)多個(gè)目標(biāo)進(jìn)行打擊時(shí), 需要在較短的時(shí)間內(nèi)對(duì)跟蹤空域中的目標(biāo)進(jìn)行合理分配, 實(shí)現(xiàn)對(duì)目標(biāo)群的殺傷概率最大, 并避免重復(fù)攻擊與遺漏[9]. 結(jié)合紅藍(lán)雙方對(duì)抗特點(diǎn)及紅方所攜帶誘餌特性, 優(yōu)化目標(biāo)分配模型[16?17], 采用匈牙利算法, 根據(jù)紅方實(shí)體數(shù)量變化進(jìn)行動(dòng)態(tài)目標(biāo)分配策略調(diào)整.
藍(lán)方對(duì)紅方的特征分布未知, 只能根據(jù)不完備信息采取相應(yīng)策略, 故本文選擇非參量法進(jìn)行目標(biāo)分配的數(shù)學(xué)建模,根據(jù)紅藍(lán)飛行器間角度、距離、速度以及藍(lán)方對(duì)紅方各實(shí)體的識(shí)別概率、輻射源等參數(shù)構(gòu)造紅藍(lán)綜合威脅函數(shù).
2.1.1 識(shí)別概率
假設(shè)藍(lán)方能準(zhǔn)確識(shí)別到紅方, 但紅方拋出的誘餌具有一定欺騙性,不能被準(zhǔn)確識(shí)別.識(shí)別誘餌的概率與紅藍(lán)雙方距離有關(guān), 此概率服從誘餌欺騙概率,因此,構(gòu)造識(shí)別概率如下:
2.1.2 角度威脅
當(dāng)藍(lán)方朝著紅方飛行時(shí), 藍(lán)方更容易探測(cè)到目標(biāo)進(jìn)而執(zhí)行攔截任務(wù),因此,構(gòu)造角度威脅函數(shù)如下:
式中,a=0.000 1R,R為紅藍(lán)相對(duì)距離.
2.1.3 距離威脅
當(dāng)紅藍(lán)相對(duì)距離r?Rmax或r?Rmin時(shí),認(rèn)為距離優(yōu)勢(shì)相對(duì)小; 當(dāng)R0= (Rmin+Rmax)/10 時(shí), 認(rèn)為距離優(yōu)勢(shì)最大構(gòu)造,因此,構(gòu)造距離威脅函數(shù)如下:
式中,R0=(Rmin+Rmax)/10,Rmin和Rmax分別為紅方飛行器最近和最遠(yuǎn)探測(cè)距離.
2.1.4 速度威脅
當(dāng)藍(lán)方速度比紅方速度大時(shí), 藍(lán)方更易攔截到紅方,因此,構(gòu)造紅藍(lán)之間的速度威脅函數(shù)如下:
式中,VT和V分別為紅方和藍(lán)方速度.
2.1.5 藍(lán)方與紅方輻射源之間的威脅
藍(lán)方攔截目標(biāo)時(shí), 根據(jù)質(zhì)心干擾原理跟蹤紅方及其誘餌的紅外輻射能量中心. 由于紅外誘餌產(chǎn)生強(qiáng)于紅方數(shù)倍的輻射源, 隨著誘餌飛行不斷遠(yuǎn)離紅方,其將誘導(dǎo)藍(lán)方偏離目標(biāo)紅方[17],故建立如下紅藍(lán)輻射特性匹配威脅函數(shù):
式中,設(shè)定nc>nd,即誘餌與藍(lán)方之間的輻射源威脅更高.
2.1.6 綜合威脅函數(shù)
根據(jù)式(10)~式(14),可構(gòu)造紅藍(lán)之間的綜合威脅函數(shù),其表達(dá)式如下:
式中:C1、C2、C3分別為權(quán)系數(shù), 0 ≤Ci≤1 且C1+C2+C3=1,其值由各威脅對(duì)綜合威脅的影響的大小決定.
2.1.7 威脅矩陣
設(shè)對(duì)抗場(chǎng)景中有藍(lán)方m個(gè)飛行器, 紅方n個(gè)飛行器(含誘餌),可以得到的紅方第i枚藍(lán)方飛行器對(duì)紅方第j個(gè)目標(biāo)的動(dòng)態(tài)威脅函數(shù)值Si j,從而可以建立起如下紅藍(lán)威脅矩陣:
則目標(biāo)分配問(wèn)題可描述如下:
式中,Xi j為決策變量,取值1 表示第i枚藍(lán)方飛行器被分配給第j個(gè)紅方,Tj為藍(lán)方第j個(gè)飛行器,約束條件1 表示藍(lán)方一個(gè)飛行器只能攻擊紅方一個(gè)飛行器, 約束條件2 表示紅方飛行器j最多只能被藍(lán)方Tj個(gè)飛行器攻擊.
藍(lán)方多枚飛行器均受決策層指揮, 決策層接收各藍(lán)方飛行器感知的信息后, 根據(jù)紅方飛行器數(shù)量采取相應(yīng)目標(biāo)分配策略, 將分配結(jié)果反饋給藍(lán)方各飛行器, 藍(lán)方各飛行器接收到分配指令后對(duì)指定目標(biāo)進(jìn)行攔截.
單飛行器攔截目標(biāo)動(dòng)態(tài)分配算法流程: 單個(gè)飛行器在初始時(shí)刻判斷對(duì)抗場(chǎng)景中紅方本體個(gè)數(shù), 若紅方個(gè)數(shù)為1,則直接攔截,不需要進(jìn)行目標(biāo)分配;若飛行過(guò)程中探測(cè)到的紅方實(shí)體個(gè)數(shù)發(fā)生改變(誘餌數(shù)量增加),則先對(duì)飛行器進(jìn)行甄別,若識(shí)別出其為誘餌,則威脅值為0,若未識(shí)別出則進(jìn)行態(tài)勢(shì)估計(jì),將結(jié)果傳遞給指揮決策層. 決策層整合各飛行器威脅估計(jì)結(jié)果,使用目標(biāo)分配算法,將分配結(jié)果發(fā)送給各個(gè)飛行器,飛行器接收相應(yīng)指令進(jìn)行攔截.
采用改進(jìn)的深度確定性策略梯度(deep deterministic policy gradient,DDPG)算法對(duì)飛行器攻防對(duì)抗場(chǎng)景中的逃逸方(紅方)進(jìn)行訓(xùn)練, 使紅方智能體采取最優(yōu)策略躲避藍(lán)方多個(gè)飛行器的攔截. 在傳統(tǒng)DDPG 方法的基礎(chǔ)上,提出一種基于先驗(yàn)知識(shí)(prior knowledge)的DDPG 算法即DDPG-PK 算法. 在動(dòng)作選擇時(shí),根據(jù)專家經(jīng)驗(yàn)加入先驗(yàn)知識(shí)(動(dòng)作選擇時(shí)受規(guī)則限制),并在采樣時(shí)根據(jù)樣本權(quán)重優(yōu)先選取價(jià)值高的樣本,利用神經(jīng)網(wǎng)絡(luò)進(jìn)行預(yù)訓(xùn)練.
馬爾科夫決策過(guò)程(markov decision process,MDP)可由包含狀態(tài)空間、動(dòng)作空間、狀態(tài)轉(zhuǎn)移函數(shù)、回報(bào)函數(shù)、折扣因子的五元組描述[19]. 針對(duì)紅藍(lán)雙方典型的對(duì)抗場(chǎng)景,建立的MDP 模型如下.
對(duì)于紅方飛行器而言, 目的是躲避藍(lán)方多個(gè)飛行器的攔截, 紅方的策略是優(yōu)先躲避對(duì)自己威脅最大的藍(lán)方飛行器, 故紅方選擇與其距離最近的藍(lán)方,記錄其編號(hào),計(jì)算紅藍(lán)的相對(duì)距離、視線高低角和方位角. 采用紅藍(lán)雙方的三維位置建立MDP 狀態(tài)空間,為增強(qiáng)算法泛化性, 采用紅藍(lán)雙方的相對(duì)位置關(guān)系,給出的狀態(tài)空間如下:
式中,R為紅方和藍(lán)方的相對(duì)距離,qε為紅方與藍(lán)方視線的高低角,qβ為視線方位角.
對(duì)于追逃博弈場(chǎng)景,MDP 轉(zhuǎn)移函數(shù)為各智能體的運(yùn)動(dòng)學(xué)方程.
訓(xùn)練目標(biāo): 訓(xùn)練紅方在合適姿態(tài)下釋放較少的誘餌且機(jī)動(dòng)時(shí)間盡可能少(節(jié)省燃料)時(shí)成功逃逸.
紅方攜帶誘餌數(shù)量為n,每一時(shí)刻對(duì)每個(gè)誘餌可選擇拋撒或不拋撒策略,可進(jìn)行姿態(tài)調(diào)整,也可選擇機(jī)動(dòng).因此,設(shè)計(jì)的動(dòng)作空間為:
式中,Kbait,i為紅方釋放第i個(gè)誘餌的指令,φrc、ψrc、γrc為紅方姿態(tài)調(diào)整指令,Kesc,z為紅方機(jī)動(dòng)指令,Kbait.i、kesc,z∈{?1,0,1}.
在藍(lán)方多個(gè)飛行器攔截紅方一個(gè)飛行器的對(duì)抗場(chǎng)景下, 紅方釋放誘餌個(gè)數(shù)需盡量大于藍(lán)方飛行器數(shù)量, 若紅方釋放誘餌時(shí)機(jī)合理且合適的姿態(tài)調(diào)整使得拋撒誘餌的方向也合理, 則拋撒的誘餌對(duì)藍(lán)方飛行器產(chǎn)生較高的欺騙性,后續(xù)博弈過(guò)程中,紅方再結(jié)合機(jī)動(dòng)變道才能有效躲避藍(lán)方多個(gè)飛行器攔截.紅方需選擇最優(yōu)策略,朝合適的方向拋誘餌,拋出數(shù)量盡可能少, 機(jī)動(dòng)時(shí)間盡可能少, 以保存實(shí)力, 故設(shè)定MDP 獎(jiǎng)勵(lì)函數(shù)為:
式中,resbait為紅方剩余誘餌個(gè)數(shù). 初始resbait為紅方攜帶誘餌總數(shù), 每拋出一個(gè)誘餌resbait?1;restime表示剩余機(jī)動(dòng)時(shí)間,初始為紅方可機(jī)動(dòng)的總時(shí)間,每步機(jī)動(dòng)一次, 則restime?0.01;tbait,i為釋放第i個(gè)誘餌的時(shí)刻.rwd1為機(jī)動(dòng)指令即時(shí)獎(jiǎng)勵(lì), 有機(jī)動(dòng)動(dòng)作時(shí)給一定懲罰, 沒(méi)有時(shí)給出獎(jiǎng)勵(lì), 目的是節(jié)省燃料;rwd2為拋誘餌指令即時(shí)獎(jiǎng)勵(lì), 過(guò)早拋誘餌時(shí)給出懲罰,拋誘餌時(shí)刻晚時(shí)獲得較高獎(jiǎng)勵(lì). 只在拋誘餌的時(shí)刻計(jì)算此獎(jiǎng)勵(lì), 并將此時(shí)刻拋出全部誘餌的獎(jiǎng)勵(lì)累加計(jì)算.
紅方飛行器姿態(tài)變化是連續(xù)動(dòng)作, 所以選擇具有連續(xù)動(dòng)作空間的DDPG 算法. 但是傳統(tǒng)的DDPG算法存在動(dòng)作難探索到較大獎(jiǎng)勵(lì)、收斂速度較慢等問(wèn)題, 可在采樣方法、動(dòng)作噪聲設(shè)計(jì)、分布式并行計(jì)算、經(jīng)驗(yàn)回放機(jī)制等方面對(duì)DDPG 算法進(jìn)行改進(jìn)[19?23]. 除上述方法,加入先驗(yàn)知識(shí)也可加快深度強(qiáng)化學(xué)習(xí)方法學(xué)習(xí)速度,縮短算法收斂時(shí)間[24?27].
結(jié)合紅藍(lán)對(duì)抗場(chǎng)景, 考慮紅方飛行器攜帶3 個(gè)誘餌時(shí), 其七維的動(dòng)作空間探索難度較大, 所以, 選擇先驗(yàn)知識(shí)和優(yōu)先權(quán)重相結(jié)合的方式優(yōu)化算法. 引入專家的先驗(yàn)知識(shí),縮小智能體的決策空間,對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行預(yù)訓(xùn)練,同時(shí)在進(jìn)一步提升收斂速度,提高樣本利用率的同時(shí)增強(qiáng)樣本相關(guān)性, 采用具有優(yōu)先經(jīng)驗(yàn)回放的DDPG 進(jìn)行預(yù)訓(xùn)練.
圖1 藍(lán)方單飛行器動(dòng)態(tài)目標(biāo)分配流程圖Fig.1 Blue single aircraft dynamic target allocation fl w
在簡(jiǎn)單環(huán)境下進(jìn)行100 次預(yù)訓(xùn)練, 如圖2 所示.簡(jiǎn)單環(huán)境指的是對(duì)于紅方飛行器而言, 動(dòng)作空間較小、容易學(xué)習(xí)到較優(yōu)的策略環(huán)境,如不考慮姿態(tài)調(diào)整和機(jī)動(dòng)調(diào)整策略,可拋撒誘餌的時(shí)間變短等. 簡(jiǎn)單環(huán)境中加入專家的經(jīng)驗(yàn)知識(shí), 經(jīng)驗(yàn)知識(shí)即在紅藍(lán)相距更近距離(R< 20 km)后釋放誘餌,以規(guī)則形式限定智能體的動(dòng)作選擇,以此加入訓(xùn)練環(huán)境中,將這些專家經(jīng)驗(yàn)存儲(chǔ)在經(jīng)驗(yàn)池中. 此環(huán)境下預(yù)訓(xùn)練場(chǎng)景中得到的actor 和critic 網(wǎng)絡(luò)稱為預(yù)訓(xùn)練網(wǎng)絡(luò), 將預(yù)訓(xùn)練網(wǎng)絡(luò)和經(jīng)驗(yàn)池中的專家經(jīng)驗(yàn)統(tǒng)稱為預(yù)訓(xùn)練知識(shí), 作為再訓(xùn)練環(huán)境的輸入,如圖3 所示. 再訓(xùn)練環(huán)境為更復(fù)雜的環(huán)境,即在滿足紅方飛行器探測(cè)距離后,紅方就可進(jìn)行決策, 包括可采取機(jī)動(dòng)動(dòng)作、拋誘餌和姿態(tài)調(diào)整,動(dòng)作維度由三維上升到七維,動(dòng)作空間大小由31300變?yōu)?1200,訓(xùn)練難度大大增加. 訓(xùn)練樣本有30%基于先驗(yàn)知識(shí)生成, 70%利用強(qiáng)化學(xué)習(xí)算法進(jìn)行訓(xùn)練. 逐步減小基于先驗(yàn)知識(shí)的樣本比例,最終樣本全部通過(guò)強(qiáng)化學(xué)習(xí)得到, 保存訓(xùn)練后的神經(jīng)網(wǎng)絡(luò),進(jìn)行測(cè)試. 再訓(xùn)練初期記憶回放單元中存儲(chǔ)大量具有先驗(yàn)知識(shí)的樣本,隨著訓(xùn)練不斷進(jìn)行,樣本不斷更新,最終全部成為強(qiáng)化學(xué)習(xí)產(chǎn)生的樣本. 算法如表1所示.
圖2 DDPG_PK 預(yù)訓(xùn)練算法框架Fig.2 DDPG_PK pre-training algorithm structure
圖3 DDPG_PK 再訓(xùn)練算法框架Fig.3 DDPG_PK retraining algorithm structure
表1 DDPG_PK 多飛行器追逃博弈算法Table 1 DDPG_PK multi-aircraft pursuit-evasion game algorithm
設(shè)定紅方飛行器質(zhì)量為100 kg, 可用推力2 000 N; 藍(lán)方飛行器質(zhì)量均為20 kg, 最大可用過(guò)載4 g,藍(lán)方采用比例導(dǎo)引法攔截紅方,比例導(dǎo)引系數(shù)均為3. 仿真步長(zhǎng)為0.01,總仿真時(shí)間20 s,積分環(huán)節(jié)采用四階龍格庫(kù)塔法. 紅藍(lán)雙方初始位置和速度具有一定隨機(jī)性.
在不同仿真場(chǎng)景的博弈過(guò)程中, 紅方分別采用固定策略和智能策略. 藍(lán)方面對(duì)紅方多個(gè)飛行器時(shí)(含誘餌和紅方飛行器本體),利用匈牙利算法進(jìn)行目標(biāo)分配, 選擇最佳攔截目標(biāo), 完成攔截任務(wù). 博弈過(guò)程體現(xiàn)在紅方在約束條件下選擇何時(shí)拋誘餌或機(jī)動(dòng)或姿態(tài)調(diào)整, 藍(lán)方面對(duì)紅方多個(gè)本體(含誘餌)如何選擇目標(biāo)進(jìn)行攔截.
紅方逃逸成功標(biāo)志為所有藍(lán)方均攔截誘餌, 或者仿真時(shí)間結(jié)束時(shí)紅方與所有藍(lán)方的視線離軸角η > 60°,此時(shí)紅方超出藍(lán)方探測(cè)范圍.藍(lán)方攔截成功標(biāo)志為藍(lán)方有一個(gè)飛行器擊中紅方, 藍(lán)方擊毀條件即紅藍(lán)雙方相對(duì)距離小于R< 100 m且視線離軸角η < 20°. 若仿真結(jié)束時(shí),紅方未被攔截則紅方逃逸成功. 實(shí)驗(yàn)設(shè)定紅藍(lán)相對(duì)距離R< 30 km 后,紅方可見藍(lán)方, 可采取各種決策; 藍(lán)方全程可知紅方位置, 但初始感知噪聲為位置噪聲3 000 m,速度噪聲120 m/s.紅方最大可機(jī)動(dòng)時(shí)間為1.5 s.
以紅方攜帶3 枚誘餌為例,對(duì)目標(biāo)分配算法進(jìn)行驗(yàn)證. 整個(gè)博弈過(guò)程藍(lán)方進(jìn)行多次目標(biāo)選擇,初始時(shí)刻,藍(lán)方兩個(gè)飛行器選擇攔截紅方本體,紅方拋出誘餌后,藍(lán)方再次進(jìn)行目標(biāo)選擇,若紅方拋出3 枚誘餌且欺騙藍(lán)方成功, 則藍(lán)方兩個(gè)飛行器分別選擇4 個(gè)目標(biāo)中的兩個(gè)進(jìn)行攔截. 紅方及誘餌被擊中一次即損毀.
初始位置及速度如表2 所示, 其余參數(shù)假設(shè)為psc= 1,pnc= 0.35 ?0.95,d1= 20 km,d2=40 km,p1= 0.95,p2= 0.35,σR=Rmin+Rmax,nc=1.0,nd= 0.5,C1= 0.4,C2=C3= 0.3,Rmin=1 km,Rmax=60 km.
表2 實(shí)驗(yàn)初始參數(shù)設(shè)定Table 2 Experiment initial parameter setting
若紅方飛行器在29 km 拋出3 個(gè)誘餌,得到紅藍(lán)威脅矩陣為:
利用匈牙利算法得到的目標(biāo)分配矩陣α 為:
此時(shí),藍(lán)方2 號(hào)選擇攔截紅方,藍(lán)方1 號(hào)選擇攔截紅方1 號(hào)誘餌,在此時(shí)刻,雖然紅方拋出3 個(gè)誘餌,但是誘餌產(chǎn)生的威脅值過(guò)小, 沒(méi)有引誘全部藍(lán)方進(jìn)行攔截.
若紅方飛行器在19 km 拋出3 個(gè)誘餌,得到紅藍(lán)威脅矩陣為:
利用匈牙利算法得到的目標(biāo)分配矩陣α 為:
根據(jù)分配結(jié)果藍(lán)方兩個(gè)飛行器均選擇攔截紅方誘餌,紅方可以成功逃逸,此時(shí)的紅方策略更優(yōu).
兩次分配紅方集群威脅值分別為1.056 02、1.608 97, 均大于隨機(jī)選擇威脅值. 上述結(jié)果表明,所使用的匈牙利算法分配可以找到紅方集群威脅值最大的最優(yōu)解.
4.2.1 仿真場(chǎng)景設(shè)置
仿真場(chǎng)景選取傳統(tǒng)策略和智能博弈對(duì)抗策略進(jìn)行比較驗(yàn)證,選用4 個(gè)仿真場(chǎng)景如下:
仿真場(chǎng)景1: 基于固定策略:設(shè)定紅方飛行器在紅藍(lán)相距29 km 處釋放全部誘餌,在燃料剩余的情況下隨機(jī)選擇機(jī)動(dòng)動(dòng)作.
仿真場(chǎng)景2: 基于智能策略:神經(jīng)網(wǎng)絡(luò)模型初始參數(shù)隨機(jī)設(shè)定, 用初始設(shè)定的神經(jīng)網(wǎng)絡(luò)模型直接控制紅方飛行器決策.
仿真場(chǎng)景3: 基于智能策略:無(wú)先驗(yàn)知識(shí)直接訓(xùn)練時(shí)的利用神經(jīng)網(wǎng)絡(luò)控制紅方飛行器決策.
仿真場(chǎng)景4: 基于智能策略:利用先驗(yàn)知識(shí)訓(xùn)練后的神經(jīng)網(wǎng)絡(luò)控制紅方飛行器決策.
仿真場(chǎng)景1 中,飛行器策略是固定的,不管在對(duì)抗環(huán)境中遇到何種情況, 飛行器均采取已設(shè)定好的策略, 其面對(duì)動(dòng)態(tài)變化的藍(lán)方多個(gè)飛行器攔截易處于劣勢(shì),很多情況下難以逃逸成功. 仿真場(chǎng)景2、3、4中飛行器根據(jù)當(dāng)前探測(cè)到的藍(lán)方信息(包含位置、速度等), 分別通過(guò)初始神經(jīng)網(wǎng)絡(luò)、無(wú)經(jīng)驗(yàn)知識(shí)訓(xùn)練的神經(jīng)網(wǎng)絡(luò)、利用先驗(yàn)知識(shí)訓(xùn)練后的神經(jīng)網(wǎng)絡(luò)決定此時(shí)策略(是否拋誘餌、機(jī)動(dòng)、姿態(tài)調(diào)整),躲避藍(lán)方攔截. 利用神經(jīng)網(wǎng)絡(luò)決策的飛行器面對(duì)復(fù)雜動(dòng)態(tài)變化的對(duì)抗環(huán)境時(shí)能實(shí)時(shí)進(jìn)行決策, 不受固定策略限制,更易完成逃逸任務(wù).
4.2.2 實(shí)驗(yàn)參數(shù)設(shè)置
實(shí)驗(yàn)采用DDPG PK 算法進(jìn)行訓(xùn)練, 算法中網(wǎng)絡(luò)均為全連接網(wǎng)絡(luò)的架構(gòu), actor 網(wǎng)絡(luò)有2 個(gè)隱含層, critic 網(wǎng)絡(luò)有一個(gè)隱含層, 均是反向傳播(back propagation, BP)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu). 訓(xùn)練算法的學(xué)習(xí)率actor 網(wǎng)絡(luò)為0.000 2, critic 網(wǎng)絡(luò)為0.000 5, 折扣因子為0.999, 經(jīng)驗(yàn)池為200 000, batch_size = 64, 加入動(dòng)作噪聲增加探索性, 初始動(dòng)作噪聲為3, 隨后逐漸減少至0.1. 實(shí)驗(yàn)首先選取的對(duì)抗環(huán)境實(shí)驗(yàn)1 為藍(lán)方兩個(gè)飛行器攔截紅方一個(gè)飛行器, 而后進(jìn)行更多飛行器的對(duì)抗實(shí)驗(yàn).
4.2.3 實(shí)驗(yàn)結(jié)果分析
使用傳統(tǒng)的DDPG 方法直接訓(xùn)練神經(jīng)網(wǎng)絡(luò), 智能體能探索到較大獎(jiǎng)勵(lì),但經(jīng)常失敗,算法無(wú)法收斂.采用本文提出的DDPG_PK 算法基于先驗(yàn)知識(shí)進(jìn)行預(yù)訓(xùn)練, 將預(yù)訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)放入環(huán)境中繼續(xù)訓(xùn)練. 接下來(lái)驗(yàn)證算法一致性,修改隨機(jī)種子進(jìn)行多次訓(xùn)練, 陰影區(qū)域表示訓(xùn)練過(guò)程中智能體得到的最大獎(jiǎng)勵(lì)和最小獎(jiǎng)勵(lì)區(qū)域.訓(xùn)練結(jié)果如圖4 所示, 前100次為預(yù)訓(xùn)練, 具有先驗(yàn)知識(shí)的智能體可以獲得較大獎(jiǎng)勵(lì),后900 次是規(guī)則加強(qiáng)化學(xué)習(xí)混合訓(xùn)練,智能體經(jīng)過(guò)短暫的探索后收斂到較大獎(jiǎng)勵(lì),選擇10 次事件的平均獎(jiǎng)勵(lì)作為結(jié)果展示.
圖4 訓(xùn)練1 000 回合平均獎(jiǎng)勵(lì)Fig.4 Average reward of training for 1 000 episodes
圖5 展示了基于先驗(yàn)知識(shí)的紅藍(lán)雙方的軌跡圖,具有一定經(jīng)驗(yàn)的智能體選擇策略合理, 先驗(yàn)知識(shí)中未添加機(jī)動(dòng)和姿態(tài)調(diào)整策略, 故智能體只選擇在紅藍(lán)距離19 km 處釋放3 個(gè)誘餌, 誘餌成功誘惑藍(lán)方,紅方面對(duì)藍(lán)方多個(gè)飛行器成功逃逸.
圖5 基于先驗(yàn)知識(shí)的紅藍(lán)飛行器軌跡圖Fig.5 Red and blue aircraft trajectories based on prior knowledge
圖6 展示紅方未選擇拋誘餌策略, 只進(jìn)行機(jī)動(dòng)和姿態(tài)調(diào)整,未能躲避藍(lán)方攔截;圖7 紅方雖然拋出3 個(gè)誘餌,但未能迷惑藍(lán)方或者藍(lán)方根據(jù)目標(biāo)分配算法仍然選擇威脅值較大的紅方攔截. 由圖6、圖7 可見,訓(xùn)練前紅方拋誘餌時(shí)機(jī)、數(shù)量或者姿態(tài)調(diào)整及選擇機(jī)動(dòng)動(dòng)作不合理,很容易被藍(lán)方多個(gè)飛行器攔截.
圖6 訓(xùn)練前紅藍(lán)飛行器軌跡圖(無(wú)誘餌)Fig.6 Red and blue aircraft trajectory before training(without bait)
圖7 訓(xùn)練前紅藍(lán)飛行器軌跡圖(包含誘餌)Fig.7 Red and blue aircraft trajectory before training(including bait)
圖8 展示了訓(xùn)練中期智能體學(xué)習(xí)到逃逸成功的策略, 但此時(shí)機(jī)動(dòng)時(shí)間長(zhǎng), 耗費(fèi)燃料多, 得到獎(jiǎng)勵(lì)較小. 圖9 展示了訓(xùn)練后紅方智能體選擇最佳的逃逸策略,進(jìn)行適當(dāng)?shù)淖藨B(tài)調(diào)整,在紅藍(lán)距離較近時(shí)紅方拋出3 個(gè)誘餌且機(jī)動(dòng)較少. 各仿真結(jié)果的拋誘餌時(shí)機(jī)、數(shù)量、機(jī)動(dòng)時(shí)間如表3 所示,姿態(tài)調(diào)整策略如圖10 所示.
圖8 訓(xùn)練中紅藍(lán)飛行器軌跡圖Fig.8 Red and blue aircraft trajectories during training
圖9 訓(xùn)練后紅藍(lán)飛行器軌跡圖Fig.9 Red and blue aircraft trajectory after training
表3 訓(xùn)練前后紅方飛行器策略對(duì)比Table 3 Comparison of Red aircraft strategy before and after training
圖10 中的仿真結(jié)果表明所提出的DDPG_PK 算法相比于傳統(tǒng)的DDPG 算法能很快收斂, 智能體較快學(xué)習(xí)到成功逃逸的策略.
圖10 各場(chǎng)景飛行器姿態(tài)變化圖Fig.10 Aircraft attitude changes in various scenarios
實(shí)驗(yàn)1 首先對(duì)訓(xùn)練好的模型進(jìn)行測(cè)試, 并將訓(xùn)練前后結(jié)果及傳統(tǒng)固定策略逃逸成功結(jié)果進(jìn)行對(duì)比.實(shí)驗(yàn)1 中仿真共選取4.2.1 節(jié)4 個(gè)場(chǎng)景進(jìn)行對(duì)比驗(yàn)證. 訓(xùn)練結(jié)果見表6, 結(jié)果表明使用DDPG_PK 算法訓(xùn)練的網(wǎng)絡(luò)在測(cè)試中逃逸成功率高達(dá)97%以上, 可以很好地控制飛行器完成逃逸任務(wù).
4.2.4 算法拓展性仿真驗(yàn)證
將此方法拓展于更多數(shù)量的飛行器博弈對(duì)抗場(chǎng)景. 用實(shí)驗(yàn)1 的訓(xùn)練方式繼續(xù)訓(xùn)練紅方智能體, 讓紅方攜帶更多誘餌,抵御更多藍(lán)方飛行器的攔截. 設(shè)置實(shí)驗(yàn)場(chǎng)景2 ~5 分別為紅方攜帶4 個(gè)誘餌,對(duì)抗藍(lán)方3 個(gè)飛行器(初始隊(duì)形為橫向編隊(duì)、三角形編隊(duì));紅方攜帶5 個(gè)誘餌,對(duì)抗藍(lán)方4 個(gè)飛行器(初始隊(duì)形為橫向編隊(duì)、菱形編隊(duì)). 其中, 拋誘餌時(shí)機(jī)、數(shù)量、機(jī)動(dòng)時(shí)間等訓(xùn)練結(jié)果如表4 所示, 藍(lán)方飛行器初始位置如表5 所示,其余參數(shù)均與實(shí)驗(yàn)1 設(shè)定相同,各實(shí)驗(yàn)場(chǎng)景訓(xùn)練后紅藍(lán)飛行器軌跡圖如圖11 ~圖14所示.
表4 各實(shí)驗(yàn)紅方飛行器策略對(duì)比Table 4 Comparison of red aircraft trajectories in various scenarios
表5 各實(shí)驗(yàn)藍(lán)方初始位置(xb,yb,zb)參數(shù)設(shè)定Table 5 Blue initial position(xb,yb,zb)parameter setting in various scenarios
圖11 飛行器1(4)V3 橫向編隊(duì)軌跡圖Fig.11 Horizontal formation trajectories of aircraft 1(4)V3
圖11 ~圖14 展示了紅方攜帶更多誘餌與藍(lán)方多個(gè)飛行器博弈場(chǎng)景. 可以看出藍(lán)方初始隊(duì)形為橫向、三角形或者菱形編隊(duì), 飛行器數(shù)量由2 擴(kuò)展到4,所提出方法均使得紅方智能體學(xué)習(xí)到逃逸策略,且所用機(jī)動(dòng)時(shí)間較少. 將每個(gè)實(shí)驗(yàn)同樣在4 個(gè)場(chǎng)景中進(jìn)行對(duì)比驗(yàn)證,仿真結(jié)果如表6 所示,結(jié)果表明所提出的DDPG_PK 算法可應(yīng)用于多個(gè)飛行器博弈對(duì)抗場(chǎng)景, 相比基于固定規(guī)則和無(wú)規(guī)則訓(xùn)練的方法進(jìn)行博弈對(duì)抗,其逃逸成功率均有顯著提升.
圖14 飛行器1(5)V4 菱形編隊(duì)軌跡圖Fig.14 Diamond formation trajectories of aircraft 1(5)V4
表6 各場(chǎng)景實(shí)驗(yàn)逃逸成功率比較Table 6 Comparison of experimental escape success rates in various scenarios
圖12 飛行器1(4)V3 三角形編隊(duì)軌跡圖Fig.12 Triangle formation trajectories of aircraft 1(4)V3
圖13 飛行器1(5)V4 橫向編隊(duì)軌跡圖Fig.13 Horizontal formation trajectories of aircraft 1(5)V4
通過(guò)對(duì)高速飛行器的博弈對(duì)抗仿真, 證明飛行器采取拋誘餌、姿態(tài)調(diào)整、機(jī)動(dòng)調(diào)整等策略可有效躲避藍(lán)方多個(gè)飛行器動(dòng)態(tài)攔截. 針對(duì)多飛行器攔截多個(gè)目標(biāo)問(wèn)題,采用匈牙利算法進(jìn)行動(dòng)態(tài)目標(biāo)分配,實(shí)現(xiàn)對(duì)紅方飛行器集群最大程度打擊. 采用改進(jìn)的DDPG 算法—DDPG_PK 算法,用先驗(yàn)知識(shí)進(jìn)行預(yù)訓(xùn)練和采用優(yōu)先經(jīng)驗(yàn)回放機(jī)制相結(jié)合的方式, 可以加快智能體學(xué)習(xí)速度和算法收斂速度, 有效地解決了多攔一場(chǎng)景下飛行器難以逃逸的問(wèn)題. 與傳統(tǒng)固定拋誘餌策略相比,智能體逃逸成功率顯著提升. 利用本文所提算法, 使紅方飛行器與不同編隊(duì)及不同數(shù)量的藍(lán)方飛行器對(duì)抗, 均能獲得較高的逃逸成功率,驗(yàn)證該算法具有一定的泛化能力. 所提方法對(duì)研究高速空間飛行器群體博弈策略有較強(qiáng)的借鑒意義,可將此方法拓展于更復(fù)雜的飛行器博弈對(duì)抗場(chǎng)景.