張俊峰,薛 青,張 揚,張媛媛
(1.陸軍裝甲兵學院演訓中心,北京100072;2.解放軍32370部隊,北京10091)
戰術兵棋對戰場環境、作戰兵力、作戰行動等作戰相關要素進行抽象,通過數字地圖、推演棋子和運行規則等進行作戰模擬,具有不完全信息、不確定條件、博弈對抗等特點,為研究作戰決策提供了工具手段[1,2]。通常,兵棋分為紅藍兩方陣營,一方的指揮員可由AI擔當,稱為AI指揮員,是作戰決策的主體。在兵棋對抗中,作戰決策是隨著戰場態勢的變化而不斷調整適應的動態過程,如何動態評估戰場情況并采取合理有效的戰術策略體現AI的智能程度。
AI作戰決策建模要反映人類指揮員決策過程,以合理的戰術策略為決策對象,主要考慮決策主體分析戰場態勢、制定作戰決心、下達作戰命令的一系列活動,決策過程如圖1所示。首先是收集信息,分析并評估戰場情況,這是指揮官做出決定的前提和基礎,指揮官需要掌握兵力部署、敵方兵力對比和作戰目標等信息,并分析敵人的主要進攻(防御)方向以及環境對戰術行動的影響;然后,指揮官進行兵力分配,確定行動目標和基本戰術,做出戰術決策。最后,指揮官指揮部隊展開戰術行動,影響改變戰場態勢。分析評估戰場態勢和進行戰術選擇是決策行為的重要組成部分,兩者不是割裂的,并且以分析態勢—>采用戰術策略—態勢變化—>調整戰術策略的方式循環運行,兩者有機統一地貫穿在AI指揮員決策活動過程中。

圖1 指揮員決策過程
勢力圖(Influence Map,IM)[4]是疊加在地圖的信息網格,每個網格基于一些功能函數賦值,可反映融合不同類型的信息,用來為AI指揮官提供戰場信息支撐。行為樹(Behavior Tree,BT)基于分類的思維方式,對戰術行動進行分解,以樹的形式對戰術選擇和行動進行編碼,將決策邏輯層次化、可視化,可用來實現AI指揮員的決策行為[3];本文分析作戰指揮決策的一般流程,并分析了勢力圖和行為樹的相關原理及其在AI指揮官決策建模中的應用;在此基礎上設計融合勢力圖和行為樹的作戰決策框架,并針對坦克分隊行動決策做了具體闡述;最后借助兵棋對抗比賽平臺,設計了智能決策引擎,對算法進行驗證。
AI邏輯常用的實現技術是有限狀態機(Finite State Machine,FSM),它維護Agent的狀態圖,通過邏輯判斷來更改Agent的狀態,使其從一種狀態轉換為另一種狀態。但是當AI邏輯復雜時,其狀態很難重用且狀態切換非常繁瑣,不方便對現有行為邏輯進行擴展。行為樹BT[5,6]是對FSM的改進。FSM中的節點表示狀態,而BT中的節點代表動作,BT[7]把AI邏輯抽象成不同類型的節點,并將各節點組織成分層樹結構。BT的優點如下:提供許多過程控制方法,使AI邏輯更為明晰;行為模塊間藕合度較低且復用性高,可快速迭代;方便代碼編寫和調試。
BT的建模主要分為節點的內部邏輯和節點的遍歷機制。
1)節點的內部邏輯
節點集可表示為V=T∪C∪D∪A∪C,包括根節點T,控制節點集C,裝飾節點集,D動作節點集A,條件節點C。父節點控制子節點,子節點向父節點返回True或False。動作節點和條件節點是行為樹的葉子節點。
①動作節點:指用于完成動作的節點,可描述AI的各種行為,比如機動、射擊等。
②條件節點:自身包含的條件為真則返回True,為假則返回False。
③裝飾節點,只能有一個子節點,為子節點添加一些功能設計的。比如說子節點的循環次數,改變子節點的返回狀態等。
④控制節點:指具有多個子節點行為的節點,用以實現更為復雜的邏輯,是非葉節點。一般分為選擇節點、序列節點、并行節點等。選擇節點:從頭到尾,依次執行每個子節點直到其中一個成功執行或者全部失敗為止;序列節點:從頭到尾,順序執行每一個子節點,直到其中一個失敗為止;并行節點:從頭到尾,平行執行它的所有子節點。
2)節點的遍歷機制
從根節點開始,查詢子節點的狀態,當節點狀態為激活時,會繼續執行節點的邏輯,節點執行后,向父節點返回True或者False。
戰術兵棋中,BT將作戰決策過程抽象為控制節點和動作節點,如進攻,偵察,目標選擇等[8];而后組織成分層行為樹推理戰術決策結果。由于其可視化和可拓展的特點,軍事需求人員可以方便地添加和完善功能。
勢力圖基于空間區域劃分實體的勢力范圍,定義每個實體在空間區域的影響[9,10]。勢力圖將作戰地圖劃分為多級單元格網格,每個單元格反映有關該區域的特定信息。每個戰斗單位都占據并影響一定的空間,通常影響效果隨距離增加而減小;具有相同屬性的單位可以疊加影響效果。
實體u在網格(x,y)的勢力值可用下式表示,其勢力值隨著距離的變化而變化。
(1)
其中influence表示實體在所在位置的勢力值,Size表示勢力圖的大小。
為使AI指揮員獲取盡可能多的信息,降低決策信息熵,本文構建了基于概率模型的綜合勢力圖,以更充分地挖掘態勢信息,為戰術策略選擇提供支撐,如圖2所示。

圖2 基于概率模型的綜合勢力圖
綜合勢力圖有多個信息層組成,其信息來源一方面是完全信息,一方面是不完全信息,即動態估計的信息。完全信息可分為靜態信息和歷史經驗信息。圖中,圖層顏色的深淺反映出某種勢力屬性的強弱,箭頭從上到下,反映了勢力圖的形成過程。首先,提取對戰初始狀態的信息例如我方兵力,可觀察到的敵方部署,戰術要點等,量化處理后形成靜態信息層;然后對數千局兵棋對戰信息進行數據挖掘,分析關鍵地點,敵方分隊的常用行進路線,形成經驗信息層;最后,在作戰過程中,分析交戰規則、裁決信息和戰場態勢信息,通過功能函數加權運算,形成代表視野和火力威脅等動態信息的勢力圖層。
AI指揮官綜合分析戰場環境和兵力對比等信息,結合經驗知識確定作戰目標、制定相應的戰術策略,定下戰斗決心;指揮作戰部隊執行戰術行動,引發戰場情況的變化;根據態勢變化調整戰術策略,整個過程形成一個決策循環。在決策建模過程中充分利用了勢力圖和行為樹技術,如圖3所示。

圖3 決策循環過程
運用行為樹將戰術指令進行梳理分析成控制節點和行為結點,以樹的形式進行組織,使得AI具備了分類推理的能力。利用勢力圖管理綜合信息:地形及可見實體信息;通過歷史數據挖掘的包括分隊關鍵地點和行進常用路線等信息;利用功能函數計算得到的敵方概略位置、敵我雙方觀察視野、敵我雙方火力覆蓋范圍等動態信息,使得AI擁有了經驗知識和推理計算能力。AI指揮官通過勢力圖獲取盡可能多的信息,然后通過查詢策略行為樹,得到決策結果,執行戰術指令。
AI指揮員作戰決策是對情況進行判斷、定下決心和任務規劃的動態過程。基于行為樹和勢力圖的決策模型契合了這一過程。對戰博弈中,AI指揮官始終考慮戰場態勢和敵方戰術變化,根據掌握的綜合信息,運用勢力圖對敵方位置和火力威脅等進行估計。如圖4所示。

圖4 基于行為樹的決策框架
AI指揮員可利用勢力圖對不完全信息進行有效預估。以敵方位置估計為例,采用實時偵察結果、裁決結果和歷史對抗數據的先驗知識進行融合建模,預測棋子位置的準確率平均可達到85%以上。如果敵方作戰單元可被我偵察到,則其位置是確定的;在敵方作戰單元位置難以確定時,可通過式(2)計算敵方單位在勢力圖任意位置上出現的概率。

(2)
式中:gi為勢力圖上的任一方格,N為網格數;ω為不同因素的權重;vi_hpos、vi_v、vi_tdis分別指先驗位置、敵方視野、敵方單位與關鍵要點的距離對位置估計的影響值。
AI指揮員根據戰場態勢分析情況,將任務分解為子任務;子任務劃分為若干個行動,由作戰分隊劃分為若干個小組分別完成。作戰小組在執行行動前,利用勢力圖判斷情況,進行決策,下面以坦克分隊執行目標攻擊任務為例進行說明。
戰術兵棋中有多種類型作戰單元,如坦克、裝甲車和步兵等,其武器裝備和作戰樣式也不同。以坦克分隊打擊決策為例,把分隊行動劃分為偵察、撤回、射擊、防御、攻擊等子節點。AI指揮員利用行為樹實現坦克分隊攻擊的合理決策,在此過程中不斷計算、查詢和更新勢力圖,如圖5所示。圖中一格表示六角格棋盤上的一個距離單位。從圖中可以看出行為樹對整個決策過程有清晰直觀的表達,而且動作結點在很大程度上可以復用。決策過程體現為以下步驟:

圖5 基于行為樹的坦克分隊行動決策
步驟1.坦克分隊通過勢力圖判斷戰場情況,并決定進攻還是防守。決策依據是
?最大化視野內敵我雙方兵力比。
?最大化我方火力覆蓋范圍。
?最大化降低作戰單元被擊中的概率。
根據基于概率的勢力圖模型,建立敵方火力威脅、指定范圍內敵我兵力對比、我方火力覆蓋等目標函數。式(3)計算決策綜合指標。
μ=W1*Peu+W2*Pflevel+W3*Pv
(3)
式中:ω為決策因素的權重,Peu是雙方兵力比;Pflevel表示敵方火力威脅,Pv表示我方火力覆蓋度。定義決策閾值,比較μ和閾值得到決策結果。
步驟2.根據上步結果決定是否執行攻擊動作。繼續判斷攻擊方式:運動間射擊還是停止間射擊,如果攻擊范圍內發現敵方作戰單元,可執行停止間射擊或者執行前出射擊,作戰單位根據目標特征選擇毀傷效果最佳的武器;如果攻擊范圍內沒有敵人,需要在運動時偵察尋找目標。
步驟3.通過勢力圖進行查找敵方目標最可能出現的位置,提高對目標的搜索效率和準確性。綜合考慮路徑長度和威脅度獲取最佳的偵察路線,執行一格偵察或兩格偵察,偵察過程中發現目標即發起攻擊。
步驟4.通過運動偵察找到目標,選擇對敵毀傷效果最好的武器執行射擊動作。最后,為盡量避開敵人的前出射擊,根據最新的勢力圖,規劃撤離路線,完成一次攻擊行動。
實驗基于“先知·兵圣”兵棋對抗賽使用的兵棋平臺進行,該平臺包含內置腳本AI,并為參賽隊伍提供了完備的應用程序接口,可對AI指揮官進行編程。在此基礎上,本文設計了AI決策引擎,對基于勢力圖和行為樹的作戰決策方法進行了實驗。
AI決策引擎設計如圖6所示。決策引擎從兵棋接口平臺中獲取地形、兵力、裁決結果等信息,從歷史對戰數據中挖掘出經驗信息,生成綜合勢力圖。AI指揮員利用行為樹技術,推理行為策略,向接口平臺輸出動作指令,然后驅動前端界面顯示。

圖6 AI決策引擎
基于決策引擎開發融合行為樹和勢力圖技術的AI指揮員,稱之為BTAgent。BTAgent融合戰場態勢信息、歷史經驗數據等信息,構建基于概率模型的勢力圖;使用行為樹推理選擇戰術策略,并充分利用勢力圖提供的信息進行決策。BTAgent吸取了人類選手的經驗,其做出的戰術行為較為合理,實現了最大限度地消滅敵人并保存自己的戰術目標。
在兵棋比賽中,BTAgent與其它參賽隊伍開發的AI指揮員之間進行機機對戰,其總成績名列前茅,驗證了建模方法的有效性。
在兵棋對戰博弈中,AI指揮官如何運用更靈活和更合理的戰術策略?本文提出了行為樹與分層勢力圖相結合的作戰決策方法來解決該問題。利用行為樹對AI行為邏輯進行建模,利用分層勢力圖掌握盡可能多的戰場態勢信息、為AI指揮員確定打擊目標,選擇戰術策略提供信息支撐;利用行為樹使得決策過程更為明晰,AI指揮官的戰術決策更為合理。本文所提方法通用性強,隨著軍事需求的拓展,很容易修改或添加決策相關功能,為作戰決策建模提供了參考借鑒。