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