劉 昊,朱 寧,2,張曉海
(1. 國(guó)防大學(xué)聯(lián)合作戰(zhàn)學(xué)院,河北石家莊 050000;2. 陸軍工程大學(xué)石家莊校區(qū),河北石家莊 050000)
聯(lián)合火力打擊任務(wù)規(guī)劃是聯(lián)合作戰(zhàn)組織籌劃的重要環(huán)節(jié),通過對(duì)聯(lián)合火力打擊中目標(biāo)、兵力和彈種的動(dòng)態(tài)分配,運(yùn)用輔助工具對(duì)火力打擊行動(dòng)進(jìn)行籌劃計(jì)算,包括評(píng)估兵力彈藥滿意度、輔助制定聯(lián)合火力打擊方案計(jì)劃、預(yù)測(cè)作戰(zhàn)效果等[1]。其核心問題是解決聯(lián)合作戰(zhàn)中的動(dòng)態(tài)火力分配問題,即根據(jù)戰(zhàn)場(chǎng)態(tài)勢(shì)和敵我動(dòng)態(tài)博弈情況感知目標(biāo)打擊清單,進(jìn)而實(shí)現(xiàn)火力打擊力量和目標(biāo)之間的分配,以期聯(lián)合火力打擊效能最大化的過程[2]。難點(diǎn)在于動(dòng)態(tài)博弈情況錯(cuò)綜復(fù)雜,敵我火力分配的細(xì)微差別會(huì)造成最終火力打擊結(jié)果的千差萬別,極大地增加了任務(wù)分配推演計(jì)算的復(fù)雜度和算法實(shí)現(xiàn)的難度。
國(guó)內(nèi)外研究人員已經(jīng)針對(duì)聯(lián)合火力打擊中的任務(wù)規(guī)劃問題探索了多種解決方法,特征評(píng)估法[3-5]通過算法公式計(jì)算影響戰(zhàn)果的評(píng)估指標(biāo),效率高但推廣性差;改進(jìn)遺傳算法[6-8]利用生物進(jìn)化思想尋找當(dāng)前狀態(tài)下的全局最優(yōu)解,構(gòu)造簡(jiǎn)單但環(huán)境依賴性大;動(dòng)態(tài)博弈法[9-11]通過博弈論構(gòu)建敵我之間的納什均衡,動(dòng)態(tài)適應(yīng)性強(qiáng)但計(jì)算復(fù)雜性劇增;神經(jīng)網(wǎng)絡(luò)法[12-14]模擬智能體自學(xué)習(xí)能力依靠經(jīng)驗(yàn)解決問題,理論完美但訓(xùn)練數(shù)據(jù)來源受限。上述方法普遍關(guān)注靜態(tài)條件下對(duì)我方火力打擊效能的評(píng)估,而非將敵我雙方納入對(duì)抗體系實(shí)施推演。本文在總結(jié)前人方法基礎(chǔ)上,借鑒自然界物種間對(duì)抗進(jìn)化機(jī)理,在遺傳算法基礎(chǔ)上設(shè)計(jì)智能對(duì)抗進(jìn)化算法,實(shí)現(xiàn)敵我任務(wù)規(guī)劃的無上限對(duì)抗進(jìn)化,產(chǎn)生當(dāng)前態(tài)勢(shì)及未來可能態(tài)勢(shì)下解決聯(lián)合火力打擊任務(wù)規(guī)劃問題的最優(yōu)個(gè)體,并通過仿真實(shí)驗(yàn)驗(yàn)證了該方法的自我學(xué)習(xí)能力以及在解決聯(lián)合火力打擊任務(wù)規(guī)劃問題上的可行性。
任務(wù)規(guī)劃系統(tǒng)在聯(lián)合作戰(zhàn)籌劃中具有廣泛的應(yīng)用需求,本文主要探討聯(lián)合作戰(zhàn)火力打擊階段的任務(wù)規(guī)劃問題。設(shè)敵我雙方均可同步獲取對(duì)方的目標(biāo)打擊清單并分配火力打擊力量,為構(gòu)建動(dòng)態(tài)博弈模型,將火力打擊區(qū)分多個(gè)波次,以動(dòng)態(tài)生成的目標(biāo)打擊清單為各波次分界點(diǎn),則第f波打擊的毀傷比率設(shè)為p(f),損失比率為q(f),彈藥消耗為d(f)。構(gòu)建敵我雙方兵力損耗B(f)和彈藥消耗H(f)的數(shù)學(xué)模型如下所示:
B(f)=B(f-1)×p(f)×q(f)
(1)
D(f)=D(f-1)-d(f)
(2)
問題的難點(diǎn)是,發(fā)現(xiàn)概率決定了目標(biāo)打擊清單,目標(biāo)打擊清單決定了單波次火力打擊的任務(wù)分配結(jié)果,任務(wù)分配造成了敵我兵力和彈藥的不同損耗,同時(shí)又調(diào)整了發(fā)現(xiàn)概率,這就構(gòu)成了一個(gè)閉合的動(dòng)態(tài)博弈模型,任何微小的火力分配調(diào)整都會(huì)影響模型最終結(jié)果。因此構(gòu)造評(píng)分算法統(tǒng)計(jì)勝負(fù)結(jié)果,以及評(píng)估火力打擊任務(wù)規(guī)劃的優(yōu)劣是解決聯(lián)合火力打擊任務(wù)規(guī)劃問題的難點(diǎn)[15]。構(gòu)建模型所需表格如表1-表4。
表1 敵我目標(biāo)態(tài)勢(shì)表示例
表2 營(yíng)指揮所的目標(biāo)關(guān)聯(lián)表示例
表2為以營(yíng)指揮所為中心,列舉了各目標(biāo)與其關(guān)聯(lián)情況。其中,0表示聯(lián)通,1則表示不通。
表3 火力打擊屬性表示例
表4 炮兵陣地的火力毀傷能力表示例
表4為以炮兵陣地為火力打擊力量對(duì)各目標(biāo)類型實(shí)施火力打擊,能夠達(dá)成規(guī)定毀傷程度所需的打擊次數(shù)。
智能對(duì)抗進(jìn)化算法是以遺傳算法為基礎(chǔ),引入雙種群對(duì)抗進(jìn)化機(jī)制,在初始個(gè)體手工確定的基礎(chǔ)上,實(shí)現(xiàn)敵我種群間的動(dòng)態(tài)對(duì)抗,在多代迭代后產(chǎn)生能夠解決聯(lián)合火力打擊任務(wù)規(guī)劃問題的最優(yōu)個(gè)體,并將其作為任務(wù)規(guī)劃的最優(yōu)解輸出。算法流程圖如圖1所示。
圖1 智能對(duì)抗進(jìn)化算法流程圖
OODA循環(huán)是將火力打擊過程分解為“觀察-判斷-決策-打擊”環(huán)路,強(qiáng)調(diào)提升己方環(huán)路效率,同時(shí)破壞敵方環(huán)路以達(dá)成制勝目的?;谠摾碚?本文將目標(biāo)區(qū)分為觀察單元、決策判斷單元、信息傳輸單元、行動(dòng)單元、其他單元等5類;按照各目標(biāo)的信息屬性區(qū)分,構(gòu)建出偵察情報(bào)網(wǎng)、指揮控制網(wǎng)、信息傳輸網(wǎng)、火力打擊網(wǎng),并在各子網(wǎng)絡(luò)的基礎(chǔ)上構(gòu)建作戰(zhàn)超網(wǎng)絡(luò),在超網(wǎng)絡(luò)體系內(nèi)分析各行動(dòng)單元的OODA循環(huán)節(jié)點(diǎn),進(jìn)而計(jì)算出OODA評(píng)估指標(biāo)。圖2是以敵方戰(zhàn)場(chǎng)態(tài)勢(shì)信息構(gòu)建的超網(wǎng)絡(luò)圖示例。
圖2 敵方作戰(zhàn)超網(wǎng)絡(luò)示例
設(shè)與第i個(gè)行動(dòng)單元相連接的觀察單元數(shù)目為m,判斷決策單元數(shù)目為n,信息傳輸單元數(shù)目為k,重要程度指標(biāo)為zi,機(jī)動(dòng)能力指標(biāo)為di,已毀傷程度指標(biāo)為hi,則觀察節(jié)點(diǎn)效率G計(jì)算公式如下
(3)
判斷決策節(jié)點(diǎn)效率C計(jì)算公式如下
(4)
信息傳輸階段效率S計(jì)算公式如下
(5)
OODA評(píng)估指標(biāo)POODA計(jì)算公式如下
POODA=log(max{G,1})×log(max{C,1})×log(max{S,1})
(6)
確定目標(biāo)清單模塊用于在敵我動(dòng)態(tài)對(duì)抗中獲取戰(zhàn)場(chǎng)實(shí)時(shí)感知的敵我雙方火力打擊目標(biāo)數(shù)據(jù)。首先根據(jù)超網(wǎng)絡(luò)計(jì)算各節(jié)點(diǎn)的發(fā)現(xiàn)概率,生成初始目標(biāo)清單;而后根據(jù)敵我對(duì)抗情況修訂目標(biāo)發(fā)現(xiàn)概率和毀傷程度,動(dòng)態(tài)更新目標(biāo)打擊清單,具體算法如下。
1)計(jì)算超網(wǎng)絡(luò)中各節(jié)點(diǎn)的初始發(fā)現(xiàn)概率f計(jì)算公式為
(7)
2)生成初始目標(biāo)打擊清單。按發(fā)現(xiàn)概率由大至小排序目標(biāo),選取fi>5%的目標(biāo)作為初始打擊目標(biāo)。
3)動(dòng)態(tài)更新目標(biāo)打擊清單。
每次對(duì)抗評(píng)估后,導(dǎo)入發(fā)現(xiàn)概率超過80%的目標(biāo),刪除毀傷程度>80%的目標(biāo)。fi計(jì)算公式為
fi=fi-1+rand{G,C,S}×rand{10,…,30}
(8)
此外,每波打擊中隨機(jī)對(duì)某個(gè)目標(biāo)的發(fā)現(xiàn)概率賦初值100。
本文中個(gè)體定義為具備一定智能程度的任務(wù)規(guī)劃基本單元,在確定當(dāng)前狀態(tài)的目標(biāo)打擊清單條件下,能夠?qū)?yīng)輸出聯(lián)合火力打擊任務(wù)分配結(jié)果。個(gè)體結(jié)構(gòu)如表5所示。
表5 個(gè)體數(shù)據(jù)結(jié)構(gòu)
本文中的DNA特指由隨機(jī)整數(shù)組成的二維動(dòng)態(tài)數(shù)組,用以模擬生物種群中的DNA變異和進(jìn)化的自然特征。轉(zhuǎn)錄特指在輸入目標(biāo)打擊清單后,個(gè)體DNA數(shù)組通過算法計(jì)算,產(chǎn)生對(duì)應(yīng)的任務(wù)規(guī)劃表的過程。具體算法如下。
1)窮舉所有可能的火力分配任務(wù)。每個(gè)火力分配任務(wù)包含“打擊目標(biāo)編號(hào)、使用部隊(duì)編號(hào)、火力打擊起止時(shí)刻”;
2)數(shù)據(jù)非線性推演。為每個(gè)火力分配任務(wù)和DNA數(shù)組對(duì)應(yīng)計(jì)算logsig函數(shù)并留存計(jì)算結(jié)果。設(shè)火力分配任務(wù)輸入值為目標(biāo)重要程度n,DNA數(shù)組初始維數(shù)為10,對(duì)應(yīng)數(shù)組值為d,推演公式如下
(9)
若為首段輸入,則輸入打擊目標(biāo)的重要程度;
若為第i段輸入,則以ni=logsig(ni-1)代入logsig函數(shù)計(jì)算;
3)判定是否實(shí)施該火力分配任務(wù)。若結(jié)果logsig(ni)<50則不實(shí)施;反之則實(shí)施;按logsig(ni)分值由大到小排序選取前10的火力分配任務(wù)。
4)去冗余操作。去除超程任務(wù);去除彈藥不足任務(wù);去除兵力不足任務(wù);去除執(zhí)行沖突任務(wù);輸出最終的火力分配表。見表6。
表6 個(gè)體對(duì)應(yīng)火力分配表示例
敵我對(duì)抗評(píng)估用于在敵我雙方個(gè)體固定的情況下,通過OODA評(píng)估指標(biāo)確定各火力打擊力量的打擊先后次序,進(jìn)而得到每次打擊的兵力、彈藥損耗,最終推演出敵我最終戰(zhàn)損情況的過程。對(duì)抗評(píng)估算法流程如下。
1)計(jì)算敵我雙方各行動(dòng)單元的OODA評(píng)估指標(biāo);
2)按OODA評(píng)估指標(biāo)確定敵我行動(dòng)單元的火力打擊先后次序;
3)按先后次序?qū)嵤┗鹆Υ驌?更新打擊目標(biāo)的毀傷程度和打擊力量的彈藥消耗;設(shè)參與火力打擊的部隊(duì)毀傷能力為ki,兵力消耗比例為bi,毀傷程度hi計(jì)算公式為
(10)
4)單獨(dú)計(jì)算飛行單元的毀傷程度和防空力量的彈藥消耗;防空力量的彈藥消耗要加入限制條件:飛行單元所要打擊的目標(biāo)要在防空力量的防御范圍內(nèi);防空力量要保證有兵力和彈藥剩余;
5)更新敵我各目標(biāo)的發(fā)現(xiàn)概率;
6)更新目標(biāo)清單。
7)重復(fù)1)-6),引入結(jié)束條件:一是若個(gè)體轉(zhuǎn)錄出的任務(wù)分配為空,則退出對(duì)抗;二是若敵我平均彈藥消耗和兵力消耗相比于上一次無改變,則退出對(duì)抗。設(shè)目標(biāo)數(shù)為n,行動(dòng)單元數(shù)為m,第i個(gè)行動(dòng)單元的額定火力打擊次數(shù)為ei,以完成火力打擊次數(shù)為ci,平均彈藥消耗D計(jì)算公式如下
(11)
設(shè)第i個(gè)行動(dòng)單元的毀傷程度為hi,平均兵力損耗B計(jì)算公式如下
(12)
8)判斷勝負(fù)。本文將彈藥投放效率作為獲勝依據(jù),即在投放相同彈藥數(shù)量情況下,以對(duì)目標(biāo)產(chǎn)生的毀傷情況判斷勝負(fù)。設(shè)目標(biāo)數(shù)為n,第i個(gè)行動(dòng)單元的火力打擊次數(shù)為ci,額定打擊次數(shù)為ei,毀傷程度為hi,重要程度為zi,勝負(fù)評(píng)分Z計(jì)算公式如下:
(13)
(14)
(15)
(16)
繁殖變異用于產(chǎn)生新生個(gè)體,通常以優(yōu)秀個(gè)體作為父代,通過千分之一的隨機(jī)變異操作產(chǎn)生不同于父代的子個(gè)體。繁殖變異算法流程如下。
1)在種群中找到最高分個(gè)體,如最高分個(gè)體為多個(gè),則全部取出;
2)從取出個(gè)體總選中父?jìng)€(gè)體,父?jìng)€(gè)體是所有選中個(gè)體中遺傳次數(shù)最少的個(gè)體;
3)從種群中隨機(jī)抽取1個(gè)個(gè)體作為母?jìng)€(gè)體;
4)父母?jìng)€(gè)體DNA數(shù)組中的一部分隨機(jī)進(jìn)行互換或拆補(bǔ),產(chǎn)生子個(gè)體;設(shè)個(gè)體Am和個(gè)體An在第k位上對(duì)應(yīng)的基因分別為amk和ank,b取[0,1]之間的隨機(jī)整數(shù),b=0表示基因不交換,b=1表示基因交換;則交換的具體方法為:
(17)
設(shè)基因拆補(bǔ)為將amk拆下,插補(bǔ)到ank后,b=0表示基因不拆補(bǔ),b=1表示基因拆補(bǔ);則拆補(bǔ)的具體方法為
(18)
5)輸出該個(gè)體作為新個(gè)體。
優(yōu)勝劣汰模塊用于構(gòu)造敵我動(dòng)態(tài)對(duì)抗的環(huán)境,在對(duì)抗中勝者留存并繁衍后代個(gè)體,敗者淘汰并釋放資源。優(yōu)勝劣汰算法流程如下。
1)隨機(jī)選出敵我各自某個(gè)個(gè)體,進(jìn)行對(duì)抗評(píng)估計(jì)算;
2)根據(jù)對(duì)抗評(píng)估結(jié)果,贏的個(gè)體勝利次數(shù)+1,同時(shí)刪除輸?shù)膫€(gè)體;
3)在失敗方種群內(nèi)遺傳變異并產(chǎn)生新個(gè)體替代已刪除個(gè)體;
4)重復(fù)1)-3),直至達(dá)成退出條件:我方最優(yōu)個(gè)體的勝利次數(shù)超過某一閾值。
5)輸出我方最優(yōu)個(gè)體作為聯(lián)合火力打擊任務(wù)規(guī)劃結(jié)果。
仿真實(shí)驗(yàn)計(jì)算機(jī)配置:聯(lián)想筆記本電腦運(yùn)行MFC程序,配置:Intel酷睿雙核處理器T7300 2.0 GHz;3G內(nèi)存;32位Win7操作系統(tǒng);vc6.0編程環(huán)境。實(shí)驗(yàn)主要用于驗(yàn)證該算法的無上限對(duì)抗進(jìn)化特性和智能性,用探討大數(shù)據(jù)在人工智能算法中的作用機(jī)理。最后運(yùn)用該算法設(shè)計(jì)制作“智能聯(lián)合火力打擊任務(wù)規(guī)劃軟件”以服務(wù)于作戰(zhàn)籌劃實(shí)踐。
為了驗(yàn)證算法的自我學(xué)習(xí)能力,實(shí)驗(yàn)設(shè)計(jì)在敵我態(tài)勢(shì)不變情況下,對(duì)敵我雙種群實(shí)施自由對(duì)抗,每次對(duì)抗記為1代,共推演400 000代,分析敵我種群間的勝敗比率,以此判斷個(gè)體是否具備自我學(xué)習(xí)能力。敵我勝利次數(shù)統(tǒng)計(jì)如圖3所示。
圖3 敵我勝利次數(shù)統(tǒng)計(jì)
實(shí)驗(yàn)結(jié)果表明,敵我勝敗比例不存在絕對(duì)差別,勝者不可能一直壓制敗者,敗者可通過改造自身積累足夠獲勝機(jī)會(huì),隨時(shí)翻盤。相比于遺傳算法在進(jìn)化一定代數(shù)后存在收斂上限的情況,智能動(dòng)態(tài)對(duì)抗算法由于其評(píng)估環(huán)境處于敵我動(dòng)態(tài)變化中,因此不存在收斂上限,這就客觀上導(dǎo)致了個(gè)體可通過大量的敵我對(duì)抗數(shù)據(jù)積累獲勝經(jīng)驗(yàn)改造自身,從而獲得在火力打擊任務(wù)規(guī)劃中分析解決問題的能力。
為了驗(yàn)證通過多代進(jìn)化獲得的最優(yōu)個(gè)體的任務(wù)規(guī)劃能力,實(shí)驗(yàn)設(shè)計(jì)隨機(jī)生成1000個(gè)敵方個(gè)體作為對(duì)抗對(duì)象,使用各代最優(yōu)個(gè)體和敵方個(gè)體逐一對(duì)抗并記錄勝負(fù),以此判斷該算法在解決任務(wù)規(guī)劃問題上的效果。各代最優(yōu)個(gè)體勝利次數(shù)統(tǒng)計(jì)如圖4所示。
圖4 各代最優(yōu)個(gè)體勝利次數(shù)統(tǒng)計(jì)
實(shí)驗(yàn)結(jié)果表明,隨著進(jìn)化代數(shù)的增加,各代最優(yōu)個(gè)體對(duì)敵個(gè)體對(duì)抗獲勝的次數(shù)逐漸提升,并最終全部獲勝。最優(yōu)個(gè)體確實(shí)能夠通過經(jīng)驗(yàn)積累獲得解決任務(wù)規(guī)劃問題的能力,并可以應(yīng)用于聯(lián)合作戰(zhàn)任務(wù)規(guī)劃實(shí)際。
圖5為各代最優(yōu)個(gè)體自身數(shù)據(jù)存儲(chǔ)容量的統(tǒng)計(jì),圖6為各代最優(yōu)個(gè)體進(jìn)行對(duì)抗的時(shí)間消耗統(tǒng)計(jì)。
圖5 最優(yōu)個(gè)體容量統(tǒng)計(jì)
圖6 最優(yōu)個(gè)體對(duì)抗評(píng)估時(shí)間消耗統(tǒng)計(jì)
實(shí)驗(yàn)結(jié)果表明,隨著進(jìn)化代數(shù)的增加,各代最優(yōu)個(gè)體的數(shù)據(jù)結(jié)構(gòu)呈指數(shù)級(jí)增長(zhǎng),并因此導(dǎo)致對(duì)抗評(píng)估時(shí)間消耗相應(yīng)增大。因此高代數(shù)最優(yōu)個(gè)體普遍存在解決問題能力提升,但自身數(shù)據(jù)結(jié)構(gòu)復(fù)雜度相應(yīng)提升、對(duì)抗時(shí)間消耗增大的情況,對(duì)抗進(jìn)化算法并非是越高代數(shù)越好,而應(yīng)在應(yīng)用時(shí)效性和可用性之間達(dá)成可接受的平衡。
根據(jù)智能對(duì)抗進(jìn)化算法,本文設(shè)計(jì)“智能聯(lián)合火力打擊任務(wù)規(guī)劃軟件”,軟件為聯(lián)合作戰(zhàn)指揮員提供火力打擊籌劃階段的輔助決策建議,便于指揮員和相關(guān)機(jī)構(gòu)席位制定更科學(xué)合理的聯(lián)合作戰(zhàn)火力打擊任務(wù)規(guī)劃。
1)模塊設(shè)計(jì)。軟件設(shè)計(jì)了導(dǎo)入數(shù)據(jù)模塊、對(duì)抗進(jìn)化模塊、輔助決策模塊。導(dǎo)入數(shù)據(jù)模塊用于導(dǎo)入生成聯(lián)合火力打擊任務(wù)規(guī)劃的相關(guān)表格;對(duì)抗進(jìn)化模塊內(nèi)部嵌入了智能對(duì)抗算法,軟件通過智能對(duì)抗進(jìn)化完成自我學(xué)習(xí)的過程,后臺(tái)生成各代最優(yōu)個(gè)體的文本文件;輔助決策模塊用于產(chǎn)生最優(yōu)個(gè)體對(duì)應(yīng)的輔助決策建議,便于指揮員理解敵我態(tài)勢(shì)和做出相應(yīng)決策。軟件操作界面如圖7所示。
圖7 軟件操作界面
2)結(jié)果顯示。生成輔助決心建議如下:依據(jù)當(dāng)前敵我態(tài)勢(shì)以及目標(biāo)打擊清單,我火力打擊綜合勝率為XX%,不能完成火力打擊任務(wù),建議補(bǔ)充兵力彈藥/能夠完成火力打擊任務(wù);建議使用X號(hào)個(gè)體作為火力打擊任務(wù)分配算法,其綜合勝率達(dá)XX%;預(yù)計(jì)執(zhí)行完火力打擊任務(wù)時(shí),我火力打擊部隊(duì)兵力剩余XX%,彈藥剩余%。
本文通過對(duì)抗進(jìn)化思想建立了基于遺傳算法的進(jìn)化平臺(tái),通過敵我個(gè)體間的優(yōu)勝劣汰和遺傳變異,實(shí)現(xiàn)聯(lián)合火力打擊任務(wù)規(guī)劃的自我進(jìn)化和迭代,產(chǎn)生了符合作戰(zhàn)實(shí)際需求的任務(wù)規(guī)劃。創(chuàng)新點(diǎn):一是引入敵我態(tài)勢(shì)信息構(gòu)建基于體系的超網(wǎng)絡(luò),以模擬聯(lián)合火力打擊中的體系破擊戰(zhàn)法;二是引入對(duì)抗評(píng)估算法,并以此判斷出最終勝負(fù);三是將雙種群對(duì)抗進(jìn)化機(jī)制引入遺傳算法,使種群具備了無上限的自我學(xué)習(xí)和進(jìn)化的能力。仿真實(shí)驗(yàn)結(jié)果表明,該方法相比于標(biāo)準(zhǔn)遺傳算法具備更大的靈活性,具備解決特定問題的人工智能算法基礎(chǔ)。