王玉賓 孫怡峰 吳 疆 李 智 張玉臣
1.中國人民解放軍戰(zhàn)略支援部隊信息工程大學(xué) 河南 鄭州 450001
智能體是人工智能的一個基本術(shù)語, 廣義的智能體包括人類、機器人、軟件程序等[1]. 狹義的智能體是能感知環(huán)境, 根據(jù)環(huán)境變化作出合理判斷和行動, 從而實現(xiàn)某些目標的計算機程序. 從感知序列集合到執(zhí)行動作集合的映射也稱為智能體的策略[2]. 智能體策略的研究對實現(xiàn)無人系統(tǒng)自主能力[3]和人機混合智能[4]具有重要意義.
決策指根據(jù)一定目標選擇備選方案或動作的過程. 傳統(tǒng)使用腳本規(guī)則[5]、有限狀態(tài)機[6]、行為樹[7]等方法進行智能體決策行為建模, 決策模型對應(yīng)了智能體的策略. 這類智能體的策略具有較強的可解釋性, 但是其需要大量的領(lǐng)域?qū)<抑R. 另一方面上述智能體通常使用基于專家知識的純策略, 其行為模式是固定的, 在復(fù)雜對抗場景中存在適應(yīng)性不強和靈活度不夠的問題. 近年, 深度強化學(xué)習(xí)成為智能體策略生成的重要方法, 在Atari 游戲[8]、圍棋[9-11]、德州撲克[12]、無人駕駛[13]等領(lǐng)域取得了突破進展, 部分場景中已經(jīng)達到或超越了人類專家水平. 然而基于強化學(xué)習(xí)的智能體在更為復(fù)雜的場景中面臨著感知狀態(tài)空間巨大、獎勵稀疏、長程決策動作組合空間爆炸等難題[14].
戰(zhàn)爭對抗作為一種復(fù)雜對抗場景, 一直是智能體策略生成研究的重點, 并越來越受到關(guān)注[15-17], 但當(dāng)前研究還缺少實質(zhì)性的進展, 特別是在人機對抗中[18], 人類對手策略變化造成的環(huán)境非靜態(tài)性會使智能體顯得呆板、缺少應(yīng)變能力.
針對陸軍戰(zhàn)術(shù)級對抗場景中智能體狀態(tài)動作空間復(fù)雜和行為模式固定的問題, 以中科院“廟算·智勝即時策略人機對抗平臺”陸軍戰(zhàn)術(shù)對抗兵棋(以下簡稱“廟算”陸戰(zhàn)對抗兵棋)為實驗平臺, 提出了基于博弈混合策略的智能體對抗策略生成方法. 本文工作主要有3 個方面:
1)對陸戰(zhàn)對抗中實體動作進行抽象、分層, 建立智能體任務(wù)分層框架, 降低問題求解的復(fù)雜度.
2)對陸戰(zhàn)對抗實體任務(wù)中關(guān)鍵要素進行分析,構(gòu)建對抗問題博弈模型, 并給出收益矩陣的計算方法.
3)給出陸戰(zhàn)對抗兵棋推演場景中智能體混合策略均衡的求解方法, 對本文所提方法的可行性進行了驗證.
針對復(fù)雜人機對抗問題, 通常使用分層任務(wù)分解與任務(wù)協(xié)同機制對決策空間進行維度約減[18]. 本節(jié)使用任務(wù)分層的方法對陸戰(zhàn)對抗問題進行形式化, 構(gòu)建陸戰(zhàn)對抗場景中基于任務(wù)分層的智能體行為模型.
在陸戰(zhàn)對抗場景中, 智能體通常用于指揮紅方或藍方的所有兵力實體, 與人類指揮的另一方兵力實體進行對抗, 完成戰(zhàn)斗消耗和目標奪控的任務(wù). 圖1 為“廟算”陸戰(zhàn)對抗兵棋平臺中一個戰(zhàn)術(shù)級對抗想定, 其中戰(zhàn)斗實體類型主要有步兵、坦克、戰(zhàn)車、無人車、巡飛彈等.
圖1 陸戰(zhàn)對抗兵棋戰(zhàn)術(shù)級想定示意圖Fig.1 Schematic diagram of a tactical-level war game scenario of land warfare confrontation
對抗過程中, 智能體需要根據(jù)環(huán)境的狀態(tài)和己方實體之間的協(xié)同關(guān)系, 決策各個實體的機動、射擊、掩蔽等原子動作, 由此構(gòu)成智能體的基本策略框架如圖2 所示. 本文重點研究單個任務(wù)執(zhí)行策略生成方法, 多個實體之間的協(xié)同策略在2.3 節(jié)給出.
圖2 陸戰(zhàn)對抗場景中智能體框架Fig.2 The agent framework in land warfare confrontation scenario
馬爾可夫決策過程(Markov decision process,MDP)給出了智能體決策的基本模型, 用四元組描述, 其中, S 是的狀態(tài)集合;A 是可選動作集合;P 是狀態(tài)轉(zhuǎn)移概率, P(st+1|st, at)表示在狀態(tài)st下采取動作at后到達狀態(tài)st+1的概率, 狀態(tài)轉(zhuǎn)移具有馬爾可夫特性, 即環(huán)境下一個狀態(tài)st+1只與當(dāng)前的狀態(tài)st和動作at有關(guān), 即P(st+1|s0, a0, s1, a1, …, st, at)=P(st+1|st, at);R 是獎勵函數(shù), P(st+1|st, at)表示在狀態(tài)st下采取動作at后狀態(tài)轉(zhuǎn)移到st+1時獲得的收益. 在部分可觀察環(huán)境下, 智能體只能觀察到環(huán)境的部分狀態(tài)ot?st, 并根據(jù)其選擇動作at, 用π 表示動作選擇策略, 則at=π(ot).
在“廟算”陸戰(zhàn)對抗兵棋中, 某一時刻的環(huán)境狀態(tài)包含戰(zhàn)斗實體類型、位置、班(車)數(shù)、機動狀態(tài)、對抗區(qū)域的地形等信息, 對于對抗一方來說, 觀察狀態(tài)只包含己方實體能看到的信息. 實體可選動作集合包括機動、射擊、引導(dǎo)射擊、奪控、下車、掩蔽等動作. 狀態(tài)轉(zhuǎn)移概率由推演規(guī)則決定. 動作回報主要通過奪控得分和兵力損失情況進行量化.
陸戰(zhàn)對抗中地形復(fù)雜性、實體類型和動作多樣性、狀態(tài)轉(zhuǎn)移的高隨機性、回報的稀疏性等造成了智能體決策問題的復(fù)雜性[19], 構(gòu)建觀察狀態(tài)到原子動作的映射是十分瑣碎和困難的. 人類在完成復(fù)雜任務(wù)時, 通常將其抽象分解為更加具體的子任務(wù), 任務(wù)的完成由下一級子任務(wù)或動作組合實現(xiàn), 分層任務(wù)網(wǎng)、分層強化學(xué)習(xí)等方法都使用了任務(wù)分層的思想[20-21]. 作戰(zhàn)任務(wù)通常采用任務(wù)層次化方法建模[22], 在陸戰(zhàn)對抗場景中, 可將復(fù)雜任務(wù)分解為若干子任務(wù)進行策略求解.
任務(wù)是為實現(xiàn)特定意圖而從事的有目的的活動,可用三元組Mi=
圖3 基于任務(wù)分層的單個實體動作架構(gòu)Fig.3 The single entity action architecture based on task hierarchy
陸戰(zhàn)對抗中單個實體任務(wù)是通過射擊、引導(dǎo)射擊、奪控等動作實現(xiàn)的, 而這些動作執(zhí)行要受到其所在點位的通視情況、與目標距離和高差等條件約束,在實施這些動作之前戰(zhàn)斗實體需要先機動到合適的點位, 而后才能通過實施相應(yīng)動作達到收益最大化的目的. 由上, 陸戰(zhàn)對抗中實體任務(wù)可定義為:實體以實施觀察、射擊、奪控等動作和阻止對手實施觀察、射擊、奪控等動作為目的, 而采取的從當(dāng)前點位機動到滿足動作實施條件的點位直到完成相應(yīng)動作的活動.
根據(jù)陸戰(zhàn)對抗中動作目的不同, 戰(zhàn)斗實體任務(wù)可被抽象為偵察、攻擊、躲避、奪控、兵力投送等任務(wù), 可用1.1 節(jié)所述
陸戰(zhàn)對抗中, 無人車用于協(xié)同坦克、戰(zhàn)車等完成火力消耗和奪控任務(wù), 主要任務(wù)是發(fā)現(xiàn)對手位置和引導(dǎo)射擊. 用U 代表無人車, 無人車子總?cè)蝿?wù)為MU,0,對應(yīng)的終止?fàn)顟B(tài)集合TU,0={無人車被消滅, 達到最大推演時間tmax}. 任務(wù)目標完成度RU,0通過對手戰(zhàn)損值和己方戰(zhàn)損值差值衡量, 差值越大RU,0值越高. 如圖4 所示, 本文將無人車子任務(wù)分為偵察、攻擊、躲避、奪控4 種, 分別用MU,R、MU,S、MU,H、MU,C表示, 則無人車總?cè)蝿?wù)MU,0所包含的動作集合可表示為AU,0={MU,R, MU,S, MU,H, MU,C}.
圖4 無人車任務(wù)分層架構(gòu)Fig.4 The task hierarchical architecture of unmanned vehicle
無人車偵察任務(wù)MU,R定義為無人車以觀察到對手為目的, 而采取的從當(dāng)前點位機動到滿足觀察條件的點位直到觀察到對手的活動. 其對應(yīng)的終止?fàn)顟B(tài)集合TU,R={沒有符合完成偵察任務(wù)的點位;戰(zhàn)車可用于引導(dǎo)射擊的彈藥消耗完畢;對手車輛全被消滅導(dǎo)致沒有引導(dǎo)射擊任務(wù);己方奪控棋子被消滅導(dǎo)致無人車需要執(zhí)行奪控任務(wù)}. AU,R={機動, 掩蔽, 引導(dǎo)射擊,奪控, 等待}. 任務(wù)目標完成度RU,R通過觀察到對手機動路徑中點位數(shù)量進行衡量, 觀察到的點位越多RU,R值越高.
無人車攻擊任務(wù)MU,S定義為無人車以實施射擊動作為目的, 而采取的從當(dāng)前點位機動到射擊收益最大的點位直到完成射擊動作的活動. 其對應(yīng)的終止?fàn)顟B(tài)集合TU,S={沒有符合完成射擊任務(wù)的點位;武器冷卻時間大于對手射擊到無人車的時間;己方奪控棋子被消滅導(dǎo)致無人車需要執(zhí)行奪控任務(wù)}. AU,S={機動, 掩蔽, 射擊, 引導(dǎo)射擊, 奪控, 等待}. 任務(wù)目標完成度RU,S通過對手戰(zhàn)損值和己方戰(zhàn)損值差值衡量,差值越大RU,S值越高.
無人車躲避任務(wù)MU,H定義為無人車以不被對手射擊為目的, 而采取的從當(dāng)前點位機動到對手射擊收益最小點位的活動. 其對應(yīng)的終止?fàn)顟B(tài)集合TU,H={沒有符合完成躲避任務(wù)的點位;武器冷卻時間小于對手射擊到無人車的時間;己方奪控棋子被消滅導(dǎo)致無人車需要執(zhí)行奪控任務(wù)}. AU,H={機動, 掩蔽, 奪控,等待}. 任務(wù)目標完成度RU,H通過己方戰(zhàn)損值衡量,己方戰(zhàn)損值越小RU,H值越高.
無人車奪控任務(wù)MU,C定義為無人車以獲得指定點位控制權(quán)為目的, 而采取的從當(dāng)前點位機動到指定奪控點位并取得控制權(quán)的活動. 其對應(yīng)的終止?fàn)顟B(tài)集合TU,C={沒有符合到達奪控點的路徑;奪控點或相鄰單元格有對手棋子不能進行奪控}. AU,C={機動,掩蔽, 奪控, 等待}. 任務(wù)目標完成度RU,C通過己方奪控得分和戰(zhàn)損值差值衡量, 差值越大RU,C值越高.
無人車任務(wù)執(zhí)行算法如下.
1 初始化:高層任務(wù)MU,0、高層終止?fàn)顟B(tài)集合TU,0、高層任務(wù)策略πU, 0.子任務(wù)集合{MU, R, MU, S, MU, H, MU, C},各子任務(wù)對應(yīng)的終止?fàn)顟B(tài)集合分別為TU, R、TU, S、TU, H、TU, C,執(zhí)行策略
分別為πU,R、πU,S、πU,H、πU,C 2 根據(jù)高層任務(wù)策略πU,0 和初始狀態(tài)o0 選擇當(dāng)前的子任務(wù)M=πU,0(o0)∈{MU,R, MU,S, MU,H, MU,C},子任務(wù)M 對應(yīng)的終止?fàn)顟B(tài)集合記為T,子任務(wù)對應(yīng)策略記為π 3 從時間步t=0 到最大時間tmax:4 如果當(dāng)前觀察狀態(tài)ot∈TU,0,轉(zhuǎn)到步驟8 5 如果當(dāng)前觀察狀態(tài)ot∈T,轉(zhuǎn)到步驟6,否則轉(zhuǎn)到步驟7 6 根據(jù)觀察狀態(tài)ot 選擇新的子任務(wù)M=πU,0(o0),更新對應(yīng)的終止?fàn)顟B(tài)集合T 和策略π 7 根據(jù)觀察狀態(tài)ot 選擇并輸出原子動作at=π(ot)8 終止任務(wù)MU,0
其中, πU,0代表高層任務(wù)策略, πU,R、πU,S、πU,H、πU,C代表偵察、攻擊、躲避、奪控4 種子任務(wù)的策略. 各個策略可通過貝葉斯網(wǎng)絡(luò)(Bayesian networks)[23]、湯普森采樣(Thompson sampling)[24]等方式進行環(huán)境建模和策略求解, 也可采用深度強化學(xué)習(xí)方式求解. 本文高層策略通過使用有限狀態(tài)機進行控制, 重點研究子任務(wù)的策略生成方法, 主要通過構(gòu)建策略式博弈模型求解混合策略, 將在第2 節(jié)中詳述.
通過分析, 任務(wù)Mi執(zhí)行過程可以看作由三元組
陸戰(zhàn)對抗問題是對抗雙方之間的博弈問題. 策略式博弈(strategic-form game)是博弈問題中最基本的形式, 用三元組表示, 其中N={1, 2, …, n}表示所有參與者構(gòu)成的有限集合;Ai表示參與者i∈N 的動作集合, 所有參與者的聯(lián)合動作空間用表示, 其中一個聯(lián)合動作向量用表示;表示參與者的收益(獎勵)函數(shù), Ri(a)表示在聯(lián)合動作a 下參與者i的收益. 策略式博弈又稱矩陣博弈, 可以用一個n 維張量表示動作和收益的關(guān)系, 多數(shù)博弈問題都可以轉(zhuǎn)化成策略式博弈問題進行求解. 陸戰(zhàn)對抗通常是紅藍雙方對抗(n=2), 假設(shè)雙方收益函數(shù)取相反值,即, 此時對抗問題建模為二人零和博弈問題.
在陸戰(zhàn)對抗場景中, 狀態(tài)通常是部分可觀察的,同一觀察狀態(tài)可能對應(yīng)著不同的對手狀態(tài), 此時選擇某一動作通常只能在部分對手狀態(tài)下取得正收益,不存在嚴格優(yōu)勢的純策略. 在人機對抗中, 如果智能體采用純策略, 人類對手經(jīng)過重復(fù)對抗會掌握智能體策略, 并在后續(xù)對抗中采取反制策略. 因此, 在陸戰(zhàn)對抗場景中, 當(dāng)不存在嚴格優(yōu)勢的純策略時, 智能體采用混合策略要嚴格優(yōu)勢于純策略. 下面以陸戰(zhàn)對抗兵棋推演中戰(zhàn)斗實體子任務(wù)為例給出混合策略求解方法.
在陸戰(zhàn)對抗中, 用(x1, x2, …, xj)表示智能體子任務(wù)Mi執(zhí)行過程中的位置序列, 引導(dǎo)射擊、射擊、奪控等動作通常發(fā)生在最后一個點位xj(以下稱為目標點位), 因此, 任務(wù)完成效果Ri與最后一個點位xj的關(guān)聯(lián)性較強, 與前j-1 個點位關(guān)聯(lián)性較弱. 基于上述分析, 本文重點研究目標點位的決策方法, 對于從任務(wù)出發(fā)點x1到目標點xj之間的機動路徑可使用Dijkstra、A*等算法得到[25], 不作重點研究. 智能體到達目標點位后的觀察、射擊、奪控等其他動作按照收益最大原則滿足條件即可執(zhí)行, 本文使用腳本規(guī)則控制.
在陸戰(zhàn)對抗中, 任務(wù)Mi目標點位的選擇主要受到兩類條件約束:1)任務(wù)時效性, 即子任務(wù)是根據(jù)當(dāng)前態(tài)勢選擇的, 通常只在一段時間內(nèi)有效, 如果在有限時間內(nèi)無法安全到達目標點位, 或者到達后態(tài)勢改變導(dǎo)致任務(wù)無法執(zhí)行, 此類點位不應(yīng)作為目標點位;2)任務(wù)完成度, 即受到目標點位坐標、高程等因素影響, 到達目標點位后實施目標動作, 能否得到高的收益. 在兵棋推演場景中多數(shù)點位是不能滿足時效性要求的, 是嚴格劣勢策略. 因此, 可先根據(jù)時效性要求對敵我雙方目標點位空間進行壓縮, 得到敵我雙方候選目標點位集合, 再通過建立收益矩陣進行混合策略求解. 下面以紅方無人車偵察任務(wù)MU,R為例給出混合策略的求解方法, 其他任務(wù)混合策略求解方法可參考此方法.
無人車偵察任務(wù)MU,R通常在對抗開始階段執(zhí)行,目的是在對手奪控或威脅到紅方戰(zhàn)車等實體前, 完成觀察和引導(dǎo)射擊任務(wù), 同時避免被對手攻擊, 相關(guān)要素如圖5 所示. 其中六角格不同的背景顏色表示點位高程不同, 白色背景點位高程最低. 綠色小旗所在點位為奪控目標. 紅色正方形點位代表紅方戰(zhàn)車選取的兵力投送點位, 橫線陰影區(qū)域代表能通視戰(zhàn)車的區(qū)域. 藍色三角形代表藍方坦克出發(fā)點位, 藍色實線代表其中一條可選的攻擊紅方戰(zhàn)車路徑, 藍色虛線代表一條可選的奪控路徑. 紅色菱形代表一個無人車偵察任務(wù)候選目標點位, 綠色虛線代表其對對手坦克機動路徑上某一條點位的觀察通路. 紅方無人車執(zhí)行偵察任務(wù)時, 需要根據(jù)戰(zhàn)車兵力投送點位和奪控點周圍地形, 選擇合適的點位實現(xiàn)對藍方坦克的通視, 同時避免被對手攻擊.
用函數(shù)see(x1, x2)表示點位x1對x2的通視情況,能通視則see(x1, x2)=1, 否則see(x1, x2)=0, xchariot表紅方戰(zhàn)車的停車點,對戰(zhàn)車構(gòu)成威脅的點位集合為Xchariot={x|see(x, xchariot)=1}, 對應(yīng)圖5 中橫線陰影區(qū)域. 用E表示對手棋子集合, xe表示對手棋子e 當(dāng)前點位, xt表示無人車當(dāng)前點位, xmain表示主要奪控點, time(x1, x2)表示從x1機動到x2需要的時間, timestop表示無人車從機動狀態(tài)轉(zhuǎn)到可引導(dǎo)射擊狀態(tài)的時間. 則紅方無人車偵察任務(wù)目標點位xtarget的候選集合為
其含義為無人車要在對手奪控和能夠攻擊到紅方戰(zhàn)車之前到達偵察點位, 設(shè)無人車偵察任務(wù)候選點位集合為.
根據(jù)對手意圖, 對手動作集合YE為對手奪控目標點位集合YE,C和進攻目標點位集合YE,S的并集.由于偵察效果是通過對手機動路徑上點位的通視情況體現(xiàn)的, 這里使用對手到達目標點位的機動路徑代替對應(yīng)的目標點位進行收益計算, 用route(x1, x2)表示從點位x1機動到x2路徑包含的點位序列. XE,Hist表示紅方最后一次觀察到的對手所有棋子點位集合.Xcities表示所有的奪控點位集合. 則對手奪控動作集合為
進攻動作集合為
對YE,C、YE,S求并集, 得到對手棋子動作集合,表示為.
對于無人車偵察任務(wù)MU,R, 其完成效果RU,R是通過是否觀察到對手評價的. 假設(shè)無人車出現(xiàn)在點xU,i, 對手出現(xiàn)在點xE,j, 無人車收益計算方式為:
其中, is(·)為條件判斷函數(shù), 滿足取1, 否則取0;xU,i表示無人車當(dāng)前點位;xchariot,i表示戰(zhàn)車當(dāng)前點位;xE,t表示對手棋子當(dāng)前點位;hide(xU,i)表示無人車在xU,i處保持掩蔽狀態(tài). 式(4)的含義為無人車收益為引導(dǎo)射擊收益和被攻擊收益之和:如果能夠在對手到達點位xE,j之前完成對xE,j的觀察和引導(dǎo)射擊準備, 則引導(dǎo)射擊收益為正值(設(shè)單次收益值為k1), 否則引導(dǎo)射擊收益為0;如果被對手看到且被對手射擊, 則收益為負值(設(shè)單次收益值為k2). 構(gòu)建收益矩陣時, 紅方動作為點位xU,i、對手動作為路徑y(tǒng)E,j時, 無人車收益為:
通過上述計算方式得到無人車偵察任務(wù)收益矩陣如下.
該矩陣對應(yīng)的的最優(yōu)解稱為混合策略均衡, 可先剔除嚴格劣勢策略(對應(yīng)的選擇概率為0), 而后使用線性規(guī)劃方法求解[26]. 用p(xU,i)表示點位xU,i的選擇概率, 對應(yīng)的線性規(guī)劃問題為
以上是無人車偵察任務(wù)的混合策略求解方法,其他任務(wù)求解方法類似. 奪控任務(wù)不需要選擇目標點, 只是單純的路徑規(guī)劃問題, 本文不進行研究, 只給出躲避任務(wù)和射擊任務(wù)收益函數(shù)構(gòu)建方法.
無人車躲避任務(wù)只考慮對手對我方的通視, 不考慮我方對對手的通視, 收益函數(shù)表示為:
無人車射擊任務(wù)收益通過攻擊等級進行評價,用式(7)表示,其含義為:當(dāng)雙方互相通視時,先進入射擊狀態(tài)一方收益為正;當(dāng)單方通視時,通視一方收益為正;當(dāng)互不通視時, 收益為0. 其中, level(x1, x2)表示點位x1處棋子對x2處棋子射擊的攻擊等級,timeshoot(x1,x2)表示棋子從點位x1處機動到x2處并進入準備射擊狀態(tài)的時間.
假設(shè)陸戰(zhàn)對抗中己方有Z 個戰(zhàn)斗實體, 實體集合用Entity={entity1, entity2, …, entityz}表示. 當(dāng)同一時刻有多個實體需要決策時, 如果直接求解聯(lián)合策略,其動作空間是十分巨大的, 同時也不利于不同場景策略的遷移. 而采用分布式?jīng)Q策時實體之間通常會因為追求各自收益最大化而產(chǎn)生競爭關(guān)系. 針對上述問題, 可將多實體任務(wù)并行決策問題轉(zhuǎn)化為順序決策問題, 將實體任務(wù)劃分為不同的層級(優(yōu)先級), 先決策層級高的實體任務(wù), 后決策層級低的實體任務(wù).
不同實體任務(wù)之間層級高低通過風(fēng)險度D 評價,其計算方法為, 其中分別表示實體entityi執(zhí)行當(dāng)前子任務(wù)Mi,t可能得到的最大收益和最小收益. D 越大對于整體收益的影響越大, 在所有實體中主導(dǎo)性越強, 在順序決策中的層級越高, 反之D 越小層級越低. 假設(shè)Entity 中實體之間的風(fēng)險度滿足,則實體決策順序如圖6 所示.
圖6 多實體順序決策流程Fig.6 The multi entity sequential decision-making process
在陸戰(zhàn)對抗兵棋推演中, 令Rmax(Mi,t)=奪控分+對手戰(zhàn)損分,Rmin(Mi,t)=-己方戰(zhàn)損分.由于戰(zhàn)車戰(zhàn)損會影響到步兵、無人車和巡飛彈, 任務(wù)風(fēng)險度最大. 無人車沒有裝甲, 在與對手交火時戰(zhàn)損值最大, 風(fēng)險度次之. 坦克具有機動靈活的射擊能力和較強的裝甲防護, 任務(wù)風(fēng)險度小于無人車. 步兵在交火過程中受到射擊時通常損失較小. 巡飛彈不會受到攻擊. 因此,本文按照戰(zhàn)車、無人車、坦克、步兵、巡飛彈的順序進行決策.
本文以“廟算”陸戰(zhàn)對抗兵棋中分隊級對抗想定為場景進行仿真實驗, 其中紅方戰(zhàn)斗實體包括步兵、坦克、戰(zhàn)車、無人車、巡飛彈等類型, 藍方戰(zhàn)斗實體包括步兵、坦克、戰(zhàn)車等類型, 奪控目標通常包含主要奪控目標和次要奪控目標.
智能體采用集中控制的方式控制各個棋子, 觀察狀態(tài)為己方所有棋子觀察狀態(tài)的并集(不考慮通信問題). 每個時間步, 智能體按照戰(zhàn)車、無人車、坦克、步兵、巡飛彈的順序依次決策己方棋子動作. 其中步兵和巡飛彈由于其任務(wù)風(fēng)險度小、規(guī)律性強, 直接使用腳本規(guī)則控制. 步兵主要執(zhí)行奪控和守控任務(wù), 按照最近奪控點、主要奪控點、守控的順序動作.巡飛彈主要執(zhí)行偵察任務(wù), 根據(jù)對手棋子機動速度和射擊準備所需的時間, 采取不同的偵察頻率, 機動速度越快、射擊準備所需時間越短偵察頻率越高, 坦克最高、戰(zhàn)車次之、步兵最低. 戰(zhàn)車、無人車、坦克使用第1 節(jié)所述分層動作架構(gòu), 高層任務(wù)使用有限狀態(tài)機控制子任務(wù)切換, 子任務(wù)使用博弈模型進行目標點位決策, 基于混合策略的智能體決策流程如圖7 所示.
圖7 基于混合策略的智能體決策流程Fig.7 The agent decision-making process based on hybrid strategies
為了提高計算效率, 在構(gòu)建收益矩陣前, 根據(jù)規(guī)則對雙方候選點位進行篩選. 由于觀察距離最大為25, 射擊距離最大為20, 將棋子偵察任務(wù)候選區(qū)域限制在主要奪控點距離25 范圍之內(nèi), 將棋子攻擊任務(wù)候選區(qū)域限制在主要奪控點距離20 范圍之內(nèi). 因此,計算式(1)中威脅區(qū)域時, 實際候選點位集合是滿足戰(zhàn)車射擊范圍、奪控點射擊范圍和最短路徑要求的點位, 滿足式(8).
得到收益矩陣后, 矩陣中存在己方收益或?qū)κ质找嫒珵樨撝档狞c位, 這些點位是嚴格劣勢策略, 應(yīng)當(dāng)去除. 本文通過求解帕累托前沿的方法反復(fù)剔除己方和對手的嚴格劣勢策略, 進一步壓縮收益矩陣,算法流程如算法2 所示.
算法2:基于帕累托前沿的目標候選集合壓縮算法1 初始化:己方候選動作集合images/BZ_87_1797_1943_2165_1988.png, 對手選動作集合images/BZ_87_1555_2004_1906_2048.png, 己方收益計算函數(shù)images/BZ_87_1341_2064_1407_2117.png,Xtarget={XU,1}2 從i=2 到N1:3 遍歷所有x*∈Xtarget:4 如果images/BZ_87_1485_2239_2101_2294.png, 將x* 從Xtarget 中剔除5 如果images/BZ_87_1472_2363_2092_2421.png,跳轉(zhuǎn)到步驟2 6 將xU,i 加入到Xtarget 中
在使用上述算法對于目標點位候選集合進行壓縮過程中, 以下兩種特殊情況需單獨處理:
1)己方多個候選動作收益相同時, 其選擇概率相同. 在計算過程中, 只保第1 個動作對應(yīng)的行, 最終求得的選擇概率為與其收益相同的所有可選動作的概率之和. 對于對手收益相同的動作, 對己方最終策略生成沒有影響, 只保留一個即可.
2)如果對手有嚴格優(yōu)勢策略, 并且其對應(yīng)的己方所有動作收益值相等時, 己方在這些動作中進行等概率選擇的意義并不大. 針對上述情況, 考慮到實際對抗中對手不總是完全理性的, 此時選擇剔除對手的嚴格優(yōu)勢策略, 即選擇在對手不是完全理性的情況下求解最優(yōu)策略.
通過使用上述方法對己方和對手可選動作集合進行壓縮后, 使用Python 調(diào)用線性規(guī)劃函數(shù)scipy.optimize.linprog 求解各目標點位選擇概率. 而后根據(jù)動作概率選擇目標點位, 并根據(jù)目標點產(chǎn)生機動路徑和其他動作.
本文實驗中路徑規(guī)劃直接使用A*算法搜索代價最小的路徑. 其中從任意坐標x1機動到相鄰坐標x2的代價cost(x1, x2)計算方式為:
cost(x1, x2)=time(x1,x2)+α·seen_num(x2) (11)其中,time(x1,x2)指從x1機動x2的時間, seen_num(x2)指可能觀察到x2點位的對手棋子數(shù)量, 系數(shù)α 取遠大于time(x1, x2)的常數(shù).
使用“廟算”陸戰(zhàn)對抗兵棋中水網(wǎng)稻田地(201043 1153)和高原通道(2010211129)作戰(zhàn)想定, 通過機機對抗和人機對抗兩種方式對智能體策略進行測試.機機對抗使用“廟算”陸戰(zhàn)對抗平臺開源的DEMO、WargameAILib_1.0 中的級別2 的智能體(不使用兵力聚合、解聚動作)進行測試.
圖8 為水網(wǎng)稻田地想定中紅方棋子部署后的觀察視圖, 由于各個棋子采用博弈策略進行部署, 其點位較為合理, 能夠?qū)κ止袈窂胶蛫Z控路徑形成較好的火力封鎖效果.
圖8 紅方棋子采用博弈策略部署后觀察視圖Fig.8 The observation views of red chess pieces after deployment with game strategies
智能體與不同對手對抗勝率統(tǒng)計如表1 所示,凈勝分分布如圖9 所示. 兩種不同想定測試結(jié)果證明該方法得到的智能體能直接適用不同的對抗想定,而不需要人類專家知識根據(jù)想定預(yù)先指定智能體任務(wù)目標點位.
表1 智能體測試勝率統(tǒng)計Table 1 The statistics of winning rate of agent test
圖9 對抗成績分布Fig.9 The box-plot of confrontation results
在與開源的AI 庫中的智能體進行對抗過程中,由于本文智能體的策略是通過博弈矩陣求解得到的,具有較強的可解釋性, 勝率較高. 另一方面對于當(dāng)前AI 庫中智能體的策略來說, 本文所提出的智能體的混合策略中的部分候選動作是優(yōu)勢策略, 部分是劣勢策略, 同時需要考慮到兵棋推演系統(tǒng)裁決規(guī)則的高隨機性, 對抗成績存在負成績.
由于本文所提出的智能體使用混合策略進行目標點位選擇的, 相同態(tài)勢下智能體可能會采取不同的目標點位, 因此, 在與人類重復(fù)對抗中, 能夠有效避免因為使用純策略導(dǎo)致行為模式固定的問題, 不容易被人類對手發(fā)現(xiàn)動作規(guī)律和找到反制策略, 具有較高的勝率.
綜上, 實驗證明本文提出的陸戰(zhàn)對抗智能體博弈策略具有較強的可解釋性和靈活性, 與現(xiàn)有開源AI 和人類進行對抗都具有較高的勝率. 混合策略的運用使智能體行為模式更加多樣, 能夠有效避免因為行為模式固定被人類對手針對的問題.
針對陸戰(zhàn)對抗中智能體策略求解困難和行為模式固定的問題, 以陸軍戰(zhàn)術(shù)對抗兵棋推演為場景, 給出博弈矩陣構(gòu)建和混合策略求解的方法, 并通過離線機機測試和在線人機測試對智能體性能進行了測試. 實驗證明該方法得到的智能體策略能夠適用于不同的對抗想定, 同時能夠有效克服智能體行為模式固定的問題. 該方法得到的智能體策略, 可以直接作為復(fù)雜對抗場景中智能體子任務(wù)執(zhí)行方法, 也可用于為基于強化學(xué)習(xí)、遺傳算法等算法的學(xué)習(xí)型智能體初始策略學(xué)習(xí)提供樣本, 有效解決復(fù)雜對抗場景中神經(jīng)網(wǎng)絡(luò)模型冷啟動的問題. 由于該方法得到的智能體策略是通過問題抽象簡化得到的, 其收益矩陣是針對子任務(wù)執(zhí)行得到的近似最優(yōu)解, 在收益矩陣構(gòu)建和計算過程難免會存在要素遺漏, 在下一步工作中, 可與貝葉斯網(wǎng)、遺傳算法、強化學(xué)習(xí)等相結(jié)合, 對智能體對抗策略進行進一步優(yōu)化.