張俊峰,薛 青,張 揚,張媛媛
(1.陸軍裝甲兵學院演訓中心,北京100072;2.解放軍32370部隊,北京10091)
戰(zhàn)術兵棋對戰(zhàn)場環(huán)境、作戰(zhàn)兵力、作戰(zhàn)行動等作戰(zhàn)相關要素進行抽象,通過數(shù)字地圖、推演棋子和運行規(guī)則等進行作戰(zhàn)模擬,具有不完全信息、不確定條件、博弈對抗等特點,為研究作戰(zhàn)決策提供了工具手段[1,2]。通常,兵棋分為紅藍兩方陣營,一方的指揮員可由AI擔當,稱為AI指揮員,是作戰(zhàn)決策的主體。在兵棋對抗中,作戰(zhàn)決策是隨著戰(zhàn)場態(tài)勢的變化而不斷調(diào)整適應的動態(tài)過程,如何動態(tài)評估戰(zhàn)場情況并采取合理有效的戰(zhàn)術策略體現(xiàn)AI的智能程度。
AI作戰(zhàn)決策建模要反映人類指揮員決策過程,以合理的戰(zhàn)術策略為決策對象,主要考慮決策主體分析戰(zhàn)場態(tài)勢、制定作戰(zhàn)決心、下達作戰(zhàn)命令的一系列活動,決策過程如圖1所示。首先是收集信息,分析并評估戰(zhàn)場情況,這是指揮官做出決定的前提和基礎,指揮官需要掌握兵力部署、敵方兵力對比和作戰(zhàn)目標等信息,并分析敵人的主要進攻(防御)方向以及環(huán)境對戰(zhàn)術行動的影響;然后,指揮官進行兵力分配,確定行動目標和基本戰(zhàn)術,做出戰(zhàn)術決策。最后,指揮官指揮部隊展開戰(zhàn)術行動,影響改變戰(zhàn)場態(tài)勢。分析評估戰(zhàn)場態(tài)勢和進行戰(zhàn)術選擇是決策行為的重要組成部分,兩者不是割裂的,并且以分析態(tài)勢—>采用戰(zhàn)術策略—態(tài)勢變化—>調(diào)整戰(zhàn)術策略的方式循環(huán)運行,兩者有機統(tǒng)一地貫穿在AI指揮員決策活動過程中。
圖1 指揮員決策過程
勢力圖(Influence Map,IM)[4]是疊加在地圖的信息網(wǎng)格,每個網(wǎng)格基于一些功能函數(shù)賦值,可反映融合不同類型的信息,用來為AI指揮官提供戰(zhàn)場信息支撐。行為樹(Behavior Tree,BT)基于分類的思維方式,對戰(zhàn)術行動進行分解,以樹的形式對戰(zhàn)術選擇和行動進行編碼,將決策邏輯層次化、可視化,可用來實現(xiàn)AI指揮員的決策行為[3];本文分析作戰(zhàn)指揮決策的一般流程,并分析了勢力圖和行為樹的相關原理及其在AI指揮官決策建模中的應用;在此基礎上設計融合勢力圖和行為樹的作戰(zhàn)決策框架,并針對坦克分隊行動決策做了具體闡述;最后借助兵棋對抗比賽平臺,設計了智能決策引擎,對算法進行驗證。
AI邏輯常用的實現(xiàn)技術是有限狀態(tài)機(Finite State Machine,F(xiàn)SM),它維護Agent的狀態(tài)圖,通過邏輯判斷來更改Agent的狀態(tài),使其從一種狀態(tài)轉(zhuǎn)換為另一種狀態(tài)。但是當AI邏輯復雜時,其狀態(tài)很難重用且狀態(tài)切換非常繁瑣,不方便對現(xiàn)有行為邏輯進行擴展。行為樹BT[5,6]是對FSM的改進。FSM中的節(jié)點表示狀態(tài),而BT中的節(jié)點代表動作,BT[7]把AI邏輯抽象成不同類型的節(jié)點,并將各節(jié)點組織成分層樹結(jié)構(gòu)。BT的優(yōu)點如下:提供許多過程控制方法,使AI邏輯更為明晰;行為模塊間藕合度較低且復用性高,可快速迭代;方便代碼編寫和調(diào)試。
BT的建模主要分為節(jié)點的內(nèi)部邏輯和節(jié)點的遍歷機制。
1)節(jié)點的內(nèi)部邏輯
節(jié)點集可表示為V=T∪C∪D∪A∪C,包括根節(jié)點T,控制節(jié)點集C,裝飾節(jié)點集,D動作節(jié)點集A,條件節(jié)點C。父節(jié)點控制子節(jié)點,子節(jié)點向父節(jié)點返回True或False。動作節(jié)點和條件節(jié)點是行為樹的葉子節(jié)點。
①動作節(jié)點:指用于完成動作的節(jié)點,可描述AI的各種行為,比如機動、射擊等。
②條件節(jié)點:自身包含的條件為真則返回True,為假則返回False。
③裝飾節(jié)點,只能有一個子節(jié)點,為子節(jié)點添加一些功能設計的。比如說子節(jié)點的循環(huán)次數(shù),改變子節(jié)點的返回狀態(tài)等。
④控制節(jié)點:指具有多個子節(jié)點行為的節(jié)點,用以實現(xiàn)更為復雜的邏輯,是非葉節(jié)點。一般分為選擇節(jié)點、序列節(jié)點、并行節(jié)點等。選擇節(jié)點:從頭到尾,依次執(zhí)行每個子節(jié)點直到其中一個成功執(zhí)行或者全部失敗為止;序列節(jié)點:從頭到尾,順序執(zhí)行每一個子節(jié)點,直到其中一個失敗為止;并行節(jié)點:從頭到尾,平行執(zhí)行它的所有子節(jié)點。
2)節(jié)點的遍歷機制
從根節(jié)點開始,查詢子節(jié)點的狀態(tài),當節(jié)點狀態(tài)為激活時,會繼續(xù)執(zhí)行節(jié)點的邏輯,節(jié)點執(zhí)行后,向父節(jié)點返回True或者False。
戰(zhàn)術兵棋中,BT將作戰(zhàn)決策過程抽象為控制節(jié)點和動作節(jié)點,如進攻,偵察,目標選擇等[8];而后組織成分層行為樹推理戰(zhàn)術決策結(jié)果。由于其可視化和可拓展的特點,軍事需求人員可以方便地添加和完善功能。
勢力圖基于空間區(qū)域劃分實體的勢力范圍,定義每個實體在空間區(qū)域的影響[9,10]。勢力圖將作戰(zhàn)地圖劃分為多級單元格網(wǎng)格,每個單元格反映有關該區(qū)域的特定信息。每個戰(zhàn)斗單位都占據(jù)并影響一定的空間,通常影響效果隨距離增加而減??;具有相同屬性的單位可以疊加影響效果。
實體u在網(wǎng)格(x,y)的勢力值可用下式表示,其勢力值隨著距離的變化而變化。
(1)
其中influence表示實體在所在位置的勢力值,Size表示勢力圖的大小。
為使AI指揮員獲取盡可能多的信息,降低決策信息熵,本文構(gòu)建了基于概率模型的綜合勢力圖,以更充分地挖掘態(tài)勢信息,為戰(zhàn)術策略選擇提供支撐,如圖2所示。
圖2 基于概率模型的綜合勢力圖
綜合勢力圖有多個信息層組成,其信息來源一方面是完全信息,一方面是不完全信息,即動態(tài)估計的信息。完全信息可分為靜態(tài)信息和歷史經(jīng)驗信息。圖中,圖層顏色的深淺反映出某種勢力屬性的強弱,箭頭從上到下,反映了勢力圖的形成過程。首先,提取對戰(zhàn)初始狀態(tài)的信息例如我方兵力,可觀察到的敵方部署,戰(zhàn)術要點等,量化處理后形成靜態(tài)信息層;然后對數(shù)千局兵棋對戰(zhàn)信息進行數(shù)據(jù)挖掘,分析關鍵地點,敵方分隊的常用行進路線,形成經(jīng)驗信息層;最后,在作戰(zhàn)過程中,分析交戰(zhàn)規(guī)則、裁決信息和戰(zhàn)場態(tài)勢信息,通過功能函數(shù)加權運算,形成代表視野和火力威脅等動態(tài)信息的勢力圖層。
AI指揮官綜合分析戰(zhàn)場環(huán)境和兵力對比等信息,結(jié)合經(jīng)驗知識確定作戰(zhàn)目標、制定相應的戰(zhàn)術策略,定下戰(zhàn)斗決心;指揮作戰(zhàn)部隊執(zhí)行戰(zhàn)術行動,引發(fā)戰(zhàn)場情況的變化;根據(jù)態(tài)勢變化調(diào)整戰(zhàn)術策略,整個過程形成一個決策循環(huán)。在決策建模過程中充分利用了勢力圖和行為樹技術,如圖3所示。
圖3 決策循環(huán)過程
運用行為樹將戰(zhàn)術指令進行梳理分析成控制節(jié)點和行為結(jié)點,以樹的形式進行組織,使得AI具備了分類推理的能力。利用勢力圖管理綜合信息:地形及可見實體信息;通過歷史數(shù)據(jù)挖掘的包括分隊關鍵地點和行進常用路線等信息;利用功能函數(shù)計算得到的敵方概略位置、敵我雙方觀察視野、敵我雙方火力覆蓋范圍等動態(tài)信息,使得AI擁有了經(jīng)驗知識和推理計算能力。AI指揮官通過勢力圖獲取盡可能多的信息,然后通過查詢策略行為樹,得到?jīng)Q策結(jié)果,執(zhí)行戰(zhàn)術指令。
AI指揮員作戰(zhàn)決策是對情況進行判斷、定下決心和任務規(guī)劃的動態(tài)過程。基于行為樹和勢力圖的決策模型契合了這一過程。對戰(zhàn)博弈中,AI指揮官始終考慮戰(zhàn)場態(tài)勢和敵方戰(zhàn)術變化,根據(jù)掌握的綜合信息,運用勢力圖對敵方位置和火力威脅等進行估計。如圖4所示。
圖4 基于行為樹的決策框架
AI指揮員可利用勢力圖對不完全信息進行有效預估。以敵方位置估計為例,采用實時偵察結(jié)果、裁決結(jié)果和歷史對抗數(shù)據(jù)的先驗知識進行融合建模,預測棋子位置的準確率平均可達到85%以上。如果敵方作戰(zhàn)單元可被我偵察到,則其位置是確定的;在敵方作戰(zhàn)單元位置難以確定時,可通過式(2)計算敵方單位在勢力圖任意位置上出現(xiàn)的概率。
(2)
式中:gi為勢力圖上的任一方格,N為網(wǎng)格數(shù);ω為不同因素的權重;vi_hpos、vi_v、vi_tdis分別指先驗位置、敵方視野、敵方單位與關鍵要點的距離對位置估計的影響值。
AI指揮員根據(jù)戰(zhàn)場態(tài)勢分析情況,將任務分解為子任務;子任務劃分為若干個行動,由作戰(zhàn)分隊劃分為若干個小組分別完成。作戰(zhàn)小組在執(zhí)行行動前,利用勢力圖判斷情況,進行決策,下面以坦克分隊執(zhí)行目標攻擊任務為例進行說明。
戰(zhàn)術兵棋中有多種類型作戰(zhàn)單元,如坦克、裝甲車和步兵等,其武器裝備和作戰(zhàn)樣式也不同。以坦克分隊打擊決策為例,把分隊行動劃分為偵察、撤回、射擊、防御、攻擊等子節(jié)點。AI指揮員利用行為樹實現(xiàn)坦克分隊攻擊的合理決策,在此過程中不斷計算、查詢和更新勢力圖,如圖5所示。圖中一格表示六角格棋盤上的一個距離單位。從圖中可以看出行為樹對整個決策過程有清晰直觀的表達,而且動作結(jié)點在很大程度上可以復用。決策過程體現(xiàn)為以下步驟:
圖5 基于行為樹的坦克分隊行動決策
步驟1.坦克分隊通過勢力圖判斷戰(zhàn)場情況,并決定進攻還是防守。決策依據(jù)是
?最大化視野內(nèi)敵我雙方兵力比。
?最大化我方火力覆蓋范圍。
?最大化降低作戰(zhàn)單元被擊中的概率。
根據(jù)基于概率的勢力圖模型,建立敵方火力威脅、指定范圍內(nèi)敵我兵力對比、我方火力覆蓋等目標函數(shù)。式(3)計算決策綜合指標。
μ=W1*Peu+W2*Pflevel+W3*Pv
(3)
式中:ω為決策因素的權重,Peu是雙方兵力比;Pflevel表示敵方火力威脅,Pv表示我方火力覆蓋度。定義決策閾值,比較μ和閾值得到?jīng)Q策結(jié)果。
步驟2.根據(jù)上步結(jié)果決定是否執(zhí)行攻擊動作。繼續(xù)判斷攻擊方式:運動間射擊還是停止間射擊,如果攻擊范圍內(nèi)發(fā)現(xiàn)敵方作戰(zhàn)單元,可執(zhí)行停止間射擊或者執(zhí)行前出射擊,作戰(zhàn)單位根據(jù)目標特征選擇毀傷效果最佳的武器;如果攻擊范圍內(nèi)沒有敵人,需要在運動時偵察尋找目標。
步驟3.通過勢力圖進行查找敵方目標最可能出現(xiàn)的位置,提高對目標的搜索效率和準確性。綜合考慮路徑長度和威脅度獲取最佳的偵察路線,執(zhí)行一格偵察或兩格偵察,偵察過程中發(fā)現(xiàn)目標即發(fā)起攻擊。
步驟4.通過運動偵察找到目標,選擇對敵毀傷效果最好的武器執(zhí)行射擊動作。最后,為盡量避開敵人的前出射擊,根據(jù)最新的勢力圖,規(guī)劃撤離路線,完成一次攻擊行動。
實驗基于“先知·兵圣”兵棋對抗賽使用的兵棋平臺進行,該平臺包含內(nèi)置腳本AI,并為參賽隊伍提供了完備的應用程序接口,可對AI指揮官進行編程。在此基礎上,本文設計了AI決策引擎,對基于勢力圖和行為樹的作戰(zhàn)決策方法進行了實驗。
AI決策引擎設計如圖6所示。決策引擎從兵棋接口平臺中獲取地形、兵力、裁決結(jié)果等信息,從歷史對戰(zhàn)數(shù)據(jù)中挖掘出經(jīng)驗信息,生成綜合勢力圖。AI指揮員利用行為樹技術,推理行為策略,向接口平臺輸出動作指令,然后驅(qū)動前端界面顯示。
圖6 AI決策引擎
基于決策引擎開發(fā)融合行為樹和勢力圖技術的AI指揮員,稱之為BTAgent。BTAgent融合戰(zhàn)場態(tài)勢信息、歷史經(jīng)驗數(shù)據(jù)等信息,構(gòu)建基于概率模型的勢力圖;使用行為樹推理選擇戰(zhàn)術策略,并充分利用勢力圖提供的信息進行決策。BTAgent吸取了人類選手的經(jīng)驗,其做出的戰(zhàn)術行為較為合理,實現(xiàn)了最大限度地消滅敵人并保存自己的戰(zhàn)術目標。
在兵棋比賽中,BTAgent與其它參賽隊伍開發(fā)的AI指揮員之間進行機機對戰(zhàn),其總成績名列前茅,驗證了建模方法的有效性。
在兵棋對戰(zhàn)博弈中,AI指揮官如何運用更靈活和更合理的戰(zhàn)術策略?本文提出了行為樹與分層勢力圖相結(jié)合的作戰(zhàn)決策方法來解決該問題。利用行為樹對AI行為邏輯進行建模,利用分層勢力圖掌握盡可能多的戰(zhàn)場態(tài)勢信息、為AI指揮員確定打擊目標,選擇戰(zhàn)術策略提供信息支撐;利用行為樹使得決策過程更為明晰,AI指揮官的戰(zhàn)術決策更為合理。本文所提方法通用性強,隨著軍事需求的拓展,很容易修改或添加決策相關功能,為作戰(zhàn)決策建模提供了參考借鑒。