国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

群隊級兵棋實體智能行為決策方法研究

2022-08-17 09:44張宏軍徐有為馮欣亮馮玉芳
關(guān)鍵詞:兵棋棋子決策

劉 滿, 張宏軍, 徐有為, 馮欣亮, 馮玉芳

(1. 陸軍工程大學(xué)指揮控制工程學(xué)院, 江蘇 南京 210007; 2. 中國人民解放軍73131部隊, 福建 漳州 363000;3. 陸軍步兵學(xué)院, 江西 南昌 330000; 4. 中國人民解放軍71375部隊, 黑龍江 哈爾濱 150000)

0 引 言

多智能體(agent)對抗系統(tǒng)的動作空間復(fù)雜度隨智能體的個數(shù)呈指數(shù)增長,這導(dǎo)致了多智能體集中控制的學(xué)習(xí)異常困難。騰訊推出的“絕悟”支持王者榮耀1v1全部角色,需要使用1 064塊NVIDIA GPU訓(xùn)練超過70 h。DeepMind推出的“AlphaStar”支持星際爭霸Ⅱ整場游戲,使用了384塊TPU訓(xùn)練超過44天。然而,對于普通研究機構(gòu),很難擁有這些超大規(guī)模的計算資源。計算機兵棋推演平臺能夠?qū)硨﹄p方或多方的軍事行動進(jìn)行隨機性模擬,為軍事智能決策的研究提供貼近真實戰(zhàn)爭的決策背景和試驗環(huán)境。兵棋推演是典型的多智能體決策環(huán)境,指揮員(兵棋玩家)控制多個同類型或者不同類型的作戰(zhàn)實體(棋子),使之能夠協(xié)同配合,達(dá)到整體的作戰(zhàn)目標(biāo)。在戰(zhàn)術(shù)級兵棋對抗中,深度強化學(xué)習(xí)開始得到應(yīng)用,因訓(xùn)練難度和計算資源的限制,目前只實現(xiàn)2個同類型棋子的控制,且決策場景單一,無法直接遷移。對于群隊級兵棋對抗平臺,單方約有50個左右的棋子需要控制(人類一般需由5個人組成小隊聯(lián)合控制),這種大量作戰(zhàn)實體的聯(lián)合行為決策給人工智能技術(shù)帶來了極大的挑戰(zhàn)。

傳統(tǒng)的計算機生成兵力(computer generated forces, CGF)對仿真中的虛擬實體進(jìn)行行為控制,它借鑒了很多人工智能(artificial intelligence, AI)領(lǐng)域中基于知識驅(qū)動的決策方法,如有限狀態(tài)機(finite state machine, FSM)和行為樹(behavior tree, BT)等。但是這種決策模型主要從定性分析的角度,以邏輯推理的方法得到行為輸出,其模式比較固定,對態(tài)勢變化的響應(yīng)不靈敏,缺乏類人的靈活性。

兵棋推演的復(fù)盤數(shù)據(jù)蘊含了較多的態(tài)勢信息和策略信息,可以為兵棋的定量決策提供信息支撐。但是,這種高維、數(shù)量巨大的數(shù)據(jù)并不能直接使用,必須要經(jīng)過特征提取等方式,才能得到人們?nèi)菀桌斫獾男畔?。鄭書奎等人提出了一種棧式稀疏降噪自編碼深度學(xué)習(xí)網(wǎng)絡(luò)模型,用于兵棋演習(xí)數(shù)據(jù)特征提取,取得較好的分類精度。張可等人設(shè)計了關(guān)鍵點推理遺傳模糊系統(tǒng)框架,有效整合了兵棋專家知識的建模和兵棋復(fù)盤數(shù)據(jù)的學(xué)習(xí),從而提高了關(guān)鍵點的推理質(zhì)量。Pan等人提出基于信息素的兵棋敵方位置估計算法,分析地形、威脅等因素,建立8類信息素,最終通過合成信息素值,預(yù)測敵方棋子可能的位置,取得了top-3的預(yù)測準(zhǔn)確率為70%。借助于這些量化信息或特征的提取方法,一些基于量化決策的兵棋AI智能框架被提了出來。田忠良等人設(shè)計了以多智能體協(xié)同進(jìn)化為設(shè)計理念的群體智能優(yōu)化算法,解決多智能體、多攻擊目標(biāo)的火力分配問題,從而輔助指揮員決策。劉滿等人通過挖掘兵棋復(fù)盤數(shù)據(jù),提取多個位置評價的指標(biāo)用于棋子的位置選擇,提出了完整的決策框架,設(shè)計的兵棋AI展現(xiàn)了較好的智能性。量化分析有效整合了復(fù)盤數(shù)據(jù)中的歷史信息和當(dāng)前的態(tài)勢信息,具有較高的靈活性和魯棒性,但是這種決策方法需要大量高質(zhì)量的人工復(fù)盤數(shù)據(jù),這一前提條件往往很難滿足。

本文提出了知識與數(shù)據(jù)互補的行為決策方法,有效利用人類專家先驗知識和基于兵棋數(shù)據(jù)的量化數(shù)據(jù)進(jìn)行綜合決策。特別是對于群隊級這種大規(guī)模作戰(zhàn)實體聯(lián)合決策的情況,進(jìn)行了針對性改進(jìn),提出了按實體類型分組決策、作戰(zhàn)目標(biāo)指引、位置評價指標(biāo)并行計算等方法。最終,設(shè)計了適用于營級規(guī)模作戰(zhàn)實體的行為決策框架,并實現(xiàn)了一個群隊級兵棋AI,實驗結(jié)果表明,此AI具有較強的靈活性和遷移能力。

1 兵棋行為決策算法

1.1 群隊級兵棋推演及其行為決策

兵棋是運用規(guī)則、數(shù)據(jù)和階段描述實際或假定的態(tài)勢,對敵對雙方或多方的軍事行動進(jìn)行模擬的統(tǒng)稱,是分析戰(zhàn)爭的重要手段。陸軍戰(zhàn)術(shù)級兵棋是指單方兵力規(guī)模在營及以下的兵棋系統(tǒng),一般可以分為分隊級和群隊級。分隊級的兵力一般由連級規(guī)模的多種作戰(zhàn)力量組成,包括10個以下棋子(1個棋子代表1個班組或1個排)。群隊級的兵力一般為營級規(guī)模的多種作戰(zhàn)力量組成,包括多個分隊級兵力和配屬力量(炮兵、空中力量),棋子個數(shù)一般在50個左右。因為需要控制的棋子數(shù)量較大,且沒有大量的人類復(fù)盤數(shù)據(jù)供監(jiān)督學(xué)習(xí),群隊級兵棋智能體決策是人機博弈領(lǐng)域有待攻克的挑戰(zhàn)。

因地形遮擋和觀察距離的限制,棋子很多時候不能被對方觀察到,因此不完全態(tài)勢是戰(zhàn)術(shù)級兵棋的典型特點。戰(zhàn)術(shù)級兵棋智能決策的主要內(nèi)容是根據(jù)盤面上的不完全態(tài)勢,判斷決策出作戰(zhàn)實體的行動。該實體行動具有4個明顯的特點:規(guī)則性、目的性、位置主導(dǎo)和高度協(xié)同。規(guī)則性是指實體行動必須遵循兵棋系統(tǒng)所有的規(guī)則;目的性是指實體行動必須以作戰(zhàn)目標(biāo)(如奪控某個位置)為導(dǎo)向;位置主導(dǎo)是指實體必須依靠合適的地形、地物才能保護自己并發(fā)揮武器效能;高度協(xié)同是指各作戰(zhàn)實體間必須相互配合協(xié)同作戰(zhàn)。因此,戰(zhàn)術(shù)級兵棋智能決策是“多實體在兵棋規(guī)則的限制下,高度協(xié)同配合,在合適的時間,棋子能夠移動到具有戰(zhàn)術(shù)優(yōu)勢的地點,對敵人實施打擊,最終完成作戰(zhàn)目的”。

按問題的量化程度,決策可以分為定性決策和定量決策。定性決策是指決策問題的諸因素不能用確切的數(shù)據(jù)表示,只能進(jìn)行定性分析的決策。定量決策是指決策問題能量化成數(shù)學(xué)模型并可進(jìn)行定量分析的決策。戰(zhàn)術(shù)級兵棋的具體原子動作可以表示為動作名稱和動作參數(shù)的聯(lián)合,根據(jù)有無動作參數(shù)和動作參數(shù)的復(fù)雜程度,可以將棋子的動作分為宏觀動作和微觀動作,宏觀動作是指動作的組合、參數(shù)未知的虛動作或簡單參數(shù)的動作,微觀動作是指具有復(fù)雜參數(shù)的動作。一般來說,宏觀動作不需要求解復(fù)雜的動作參數(shù),可以從定性決策的角度,以態(tài)勢信息為判斷條件,利用專家知識和兵棋規(guī)則進(jìn)行推理得出;而微觀動作需要求解復(fù)雜的動作參數(shù),如機動終點、機動路線、射擊目標(biāo)等,可以從定量決策的角度,對兵棋數(shù)據(jù)進(jìn)行數(shù)學(xué)計算,利用量化評估的方式選出離散的動作參數(shù)??梢?宏觀動作和微觀動作并沒有明顯的區(qū)分界限,二者關(guān)注動作的方式不一樣,宏觀動作關(guān)注的是動作名稱,即要不要執(zhí)行某個動作,而微觀動作關(guān)注的是動作的復(fù)雜參數(shù),即動作的具體內(nèi)容。

1.2 基于知識驅(qū)動的決策算法

兵棋行為決策中的知識是指人類在長時間的兵棋推演中認(rèn)識和總結(jié)的行為規(guī)律和制勝方法,它能以戰(zhàn)法、策略等形式用文字概略描述出來。編程人員可以和兵棋專家合作,將這些戰(zhàn)法和策略進(jìn)行梳理、分解,形成領(lǐng)域知識庫,并以邏輯推理的形式模仿專家的推理進(jìn)行決策。

基于知識的推理是AI技術(shù)最早期的經(jīng)典方法之一,它通過專家知識構(gòu)建的規(guī)則庫,用邏輯的方式實現(xiàn)決策,是符號主義的代表。FSM和BT的模型構(gòu)建比較簡單,易于維護,在CGF和游戲的行為控制中得到廣泛應(yīng)用。

FSM是具有基本內(nèi)部記憶功能的抽象機器模型,表示有限離散狀態(tài)以及這些狀態(tài)之間轉(zhuǎn)移的數(shù)學(xué)模型,其在任意時刻都處于有限狀態(tài)集合中的某一個狀態(tài),當(dāng)滿足轉(zhuǎn)移條件中的某一確定事件時,FSM會從當(dāng)前狀態(tài)轉(zhuǎn)移到另一個狀態(tài)。BT是適用于控制決策的分層節(jié)點樹,可解決可伸縮性問題。行為樹中有葉節(jié)點和組合節(jié)點,同時把行為劃分成了很多層級,低層級的行為為葉結(jié)點,低層級的行為能夠組合成較高層級的行為,以組合結(jié)點表示。行為樹在執(zhí)行的時候,會執(zhí)行深度優(yōu)先搜索,依次達(dá)到末端的葉節(jié)點,從而選擇出葉結(jié)點(底層級行為)。BT是FSM的改進(jìn),它將狀態(tài)高度模塊化,減少了狀態(tài)轉(zhuǎn)移條件,使?fàn)顟B(tài)變成一個行為,從而使模型設(shè)計更加容易。但是當(dāng)決策邏輯復(fù)雜時,行為樹的組織結(jié)構(gòu)會迅速擴張,這會造成行為樹的可讀性降低。

對于兵棋多agent行為決策,既要考慮集體行為,也要考慮個體行為,本文提出FSM與BT分層決策的方法。FSM建模兵棋多agent作戰(zhàn)任務(wù)的轉(zhuǎn)換,可以從整場比賽的角度優(yōu)化決策模型;BT建模單個agent在給定任務(wù)條件下行為動作的輸出,完成單個agent在特定任務(wù)條件下的局部優(yōu)化。圖1展示了FSM和BT分層的多agent行為決策框架,FSM根據(jù)整場比賽的情況進(jìn)行任務(wù)轉(zhuǎn)移,輸出作戰(zhàn)任務(wù),單個agent根據(jù)作戰(zhàn)任務(wù),考慮局部態(tài)勢情況,通過行為樹決策輸出動作。

圖1 FSM和BT分層的多agent行為決策框架Fig.1 Hierarchical multi-agent behavior decision-making framework based on FSM and BT

FSM、BT這種行為模型大量地依賴領(lǐng)域相關(guān)人員參與構(gòu)建,能夠較好地模擬人類頂層的推理思維,適宜兵棋智能對抗中宏觀動作的決策。但是,包含復(fù)雜參數(shù)的微觀動作,需要對態(tài)勢數(shù)據(jù)、地圖數(shù)據(jù)充分響應(yīng),基于知識的推理算法難以精細(xì)處理。常用的解決思路是基于方案設(shè)計,即領(lǐng)域?qū)<姨崆邦A(yù)想多種情況,并充分分析地圖,將復(fù)雜的參數(shù)(如機動終點)提前以腳本的形式固化下來,形成多套方案供決策模型選擇。但是這種做法使模型輸出的行為缺乏靈活性,同時決策模型也難以遷移到其他推演想定。

對于復(fù)雜動作參數(shù)的優(yōu)化問題,一個可行的方法是使用定量決策的方法,充分利用兵棋數(shù)據(jù)進(jìn)行評估優(yōu)化。

1.3 基于數(shù)據(jù)驅(qū)動的軟決策算法

兵棋數(shù)據(jù)按產(chǎn)生的方式可以分為想定數(shù)據(jù)、環(huán)境數(shù)據(jù)、規(guī)則數(shù)據(jù)、復(fù)盤數(shù)據(jù)和態(tài)勢數(shù)據(jù)。想定數(shù)據(jù)是指一場兵棋推演對地圖、實體、作戰(zhàn)目標(biāo)等規(guī)定的數(shù)據(jù);環(huán)境數(shù)據(jù)是指兵棋系統(tǒng)對戰(zhàn)場環(huán)境的量化表示而產(chǎn)生的數(shù)據(jù),如地圖數(shù)據(jù)等;規(guī)則數(shù)據(jù)是指兵棋系統(tǒng)對作戰(zhàn)實體、作戰(zhàn)規(guī)則等描述而產(chǎn)生的數(shù)據(jù);復(fù)盤數(shù)據(jù)是指兵棋推演系統(tǒng)在推演整個過程中記錄下來的過程數(shù)據(jù)。態(tài)勢數(shù)據(jù)是指在兵棋推演中實時產(chǎn)生的描述戰(zhàn)場動態(tài)情況的數(shù)據(jù)。這些兵棋數(shù)據(jù)蘊含了大量兵棋行為決策的知識,可以通過數(shù)據(jù)挖掘等方法將它們轉(zhuǎn)化為支持決策的量化數(shù)據(jù)。

對于戰(zhàn)術(shù)級兵棋的棋子移動位置決策,文獻(xiàn)[12]使用兵棋數(shù)據(jù)挖掘與融合的方法,提取了多個與棋子位置選擇相關(guān)的指標(biāo),通過多指標(biāo)綜合評價優(yōu)選算法,得出棋子的移動位置。

首先對多個標(biāo)準(zhǔn)化之后的指標(biāo)進(jìn)行綜合,令

(1)

式中:為第個終點位置的加權(quán)綜合評價值;為第個位置的第個標(biāo)準(zhǔn)化指標(biāo)值;為第個屬性值的加權(quán)系數(shù)。

將綜合評價值轉(zhuǎn)換為能夠調(diào)控?zé)岫鹊母怕手?并依據(jù)概率的大小來選擇方案:

(2)

=random_choice()

(3)

式中:表示由評價值轉(zhuǎn)換的概率值;>0,稱為“溫度因子”,具有調(diào)控概率的作用;為待評估位置的總數(shù);為由組成的離散概率數(shù)組;random_choice()為依概率選擇坐標(biāo)函數(shù);為最后優(yōu)選出的棋子移動位置。

當(dāng)→0時,趨向于最大評估值決策;當(dāng)→+∞時,趨向于隨機選擇決策;當(dāng)1≤≤e時,決策較好地兼顧質(zhì)量與變化。

使用這種基于數(shù)據(jù)驅(qū)動的軟決策方法充分利用了兵棋數(shù)據(jù)特別是態(tài)勢數(shù)據(jù)中的信息,可以部分解決不完全態(tài)勢的問題,優(yōu)選出的棋子移動位置兼顧了質(zhì)量與變化,配合規(guī)則推理,使兵棋AI的決策具有高度的靈活性。另外,這個算法依據(jù)數(shù)據(jù)計算,不依靠專家知識,有很好的可復(fù)用性。

但是,大量高質(zhì)量的人工復(fù)盤數(shù)據(jù)集很難得到,這一前提條件限制了該算法的應(yīng)用范圍。

2 群隊級兵棋AI關(guān)鍵技術(shù)和框架

2.1 知識與數(shù)據(jù)互補的行為決策算法

基于數(shù)據(jù)驅(qū)動的軟決策算法具有靈活的優(yōu)勢,但是需要人工高質(zhì)量的復(fù)盤數(shù)據(jù);基于知識驅(qū)動的決策算法利用兵棋專家的領(lǐng)域知識進(jìn)行決策,無需人工復(fù)盤數(shù)據(jù),但是難以優(yōu)化復(fù)雜的動作參數(shù)。本文將這兩種算法結(jié)合起來,提出了知識與數(shù)據(jù)互補的行為決策算法。

圖2展示了知識與數(shù)據(jù)互補的行為決策算法框架,在構(gòu)建知識庫時,專家將不再對地圖具體點進(jìn)行分析,而是根據(jù)戰(zhàn)場進(jìn)程,設(shè)定agent的任務(wù)區(qū)域和任務(wù)區(qū)域內(nèi)選點的指標(biāo)權(quán)重。利用基于知識驅(qū)動的決策算法對整場推演進(jìn)行戰(zhàn)術(shù)籌劃,即使用FSM對多agent任務(wù)進(jìn)行決策,使用BT對agent進(jìn)行行為決策,輸出動作名稱、任務(wù)區(qū)域和指標(biāo)權(quán)重。任務(wù)區(qū)域具有全局位置優(yōu)化的能力。在任務(wù)區(qū)域和指標(biāo)權(quán)重給定的條件下,利用基于數(shù)據(jù)驅(qū)動的軟決策算法,就可以計算出棋子在任務(wù)區(qū)域內(nèi)的移動終點。當(dāng)然,我們也可以使用定量計算的方法得到其他動作參數(shù),如機動路線、射擊目標(biāo)等。最后,綜合動作函數(shù)和動作參數(shù),就可以解析出原子動作命令。另外,基于數(shù)據(jù)驅(qū)動的軟決策算法需要復(fù)盤數(shù)據(jù)作為支撐,本文使用隨機數(shù)據(jù)讓決策模型先運行起來,從而得到自我對戰(zhàn)的復(fù)盤數(shù)據(jù),進(jìn)而通過迭代優(yōu)化,提升復(fù)盤數(shù)據(jù)質(zhì)量,進(jìn)而優(yōu)化整個決策模型的決策質(zhì)量。

圖2 知識與數(shù)據(jù)互補的行為決策算法框架Fig.2 Framework of behavior decision-making algorithm based on complementary knowledge and data

知識與數(shù)據(jù)互補的行為決策算法,將全局規(guī)劃、行動推理交給基于知識驅(qū)動的決策算法處理,將動作參數(shù)的計算和優(yōu)選交給基于數(shù)據(jù)驅(qū)動的軟決策算法處理,分別發(fā)揮了兩種算法的優(yōu)勢,實現(xiàn)了兵棋AI在無人類復(fù)盤數(shù)據(jù)指導(dǎo)下的靈活決策。

2.2 群隊級兵棋實體行為決策面臨的困難和解決思路

群隊級兵棋的作戰(zhàn)力量一般由多個分隊,以及附屬的多個空中力量和炮兵力量組成,單方控制的棋子數(shù)量約50個左右,奪控點約5~10個。使用知識與數(shù)據(jù)互補的行為決策算法時,這種大量作戰(zhàn)實體的控制將面臨以下幾個困難:

(1) 作戰(zhàn)力量包括多個分隊和配屬的空中力量、炮兵力量,如果以分隊為單位設(shè)計有限狀態(tài)機和行為樹,專家的工作量將大大增加;

(2) 奪控點數(shù)量增加,且數(shù)量不固定,如何為大規(guī)模的作戰(zhàn)實體分配合適的奪控點作為作戰(zhàn)目標(biāo);

(3) 位置評價指標(biāo)的總時間與棋子個數(shù)的關(guān)系為()。群隊級棋子指標(biāo)的計算時間嚴(yán)重拖延了決策速度。

為了解決以上問題,我們提出了以下方法:

(1) 按棋子類型分組

群隊包含多個分隊,分隊包括多個不同類型的棋子,如果按照正常的人類指揮控制方式,為每個分隊確定作戰(zhàn)任務(wù),分隊內(nèi)棋子根據(jù)任務(wù)確定行為樹,這樣分解將大大增加專家的工作量,且設(shè)計出的決策模型遷移能力較差。本文采用按棋子類型分組的方式,每個類型分組內(nèi)包含同類型的多個棋子,這些棋子可以共用一個行為樹。類型組的作戰(zhàn)任務(wù)將著眼于整個戰(zhàn)場,而不需要考慮不同類型組的作戰(zhàn)地域劃分,作戰(zhàn)任務(wù)按照作戰(zhàn)進(jìn)程進(jìn)行劃分。類型相同的棋子在作戰(zhàn)任務(wù)條件下復(fù)用同一個行為樹。為了使同類型棋子的行為輸出多樣化,以作戰(zhàn)目標(biāo)(奪控點)來確定作戰(zhàn)區(qū)域,這樣同類型的不同棋子的作戰(zhàn)區(qū)域?qū)煌?/p>

(2) 類型組內(nèi)作戰(zhàn)目標(biāo)(奪控點)自動分配

群隊級兵棋推演一般會設(shè)置多個奪控點作為作戰(zhàn)目標(biāo),敵對雙方圍繞這些奪控點展開爭奪戰(zhàn)。對于多個奪控點,綜合考慮距離和均勻分配,為類型組內(nèi)的每個棋子分配一個奪控點作為作戰(zhàn)目標(biāo)。這樣該棋子行為樹中任務(wù)區(qū)域的計算將以該奪控點和當(dāng)前位置為定位點,以扇形、圓形、環(huán)形區(qū)域及這些區(qū)域的集合運算確定任務(wù)區(qū)域。

(3) 評價指標(biāo)并行計算

使用多指標(biāo)綜合評價軟優(yōu)選算法,一般是已知待選作戰(zhàn)區(qū)域后,才調(diào)用指標(biāo)計算函數(shù)計算這個區(qū)域的多個評價指標(biāo)。當(dāng)棋子數(shù)量急劇增加后,這種按需計算的方式,嚴(yán)重降低了決策環(huán)的速度。為此,提出了雙進(jìn)程指標(biāo)并行計算的方法。如圖3所示,單進(jìn)程指標(biāo)按需計算是指當(dāng)優(yōu)選算法需要指標(biāo)數(shù)值時,調(diào)用函數(shù)計算指標(biāo)值,其計算可以分為3步。雙進(jìn)程指標(biāo)并行計算是指主進(jìn)程控制決策流程,另外開辟一個子進(jìn)程,循環(huán)計算我方每個棋子周邊區(qū)域六角格的指標(biāo)值供主進(jìn)程算法調(diào)用,其計算分為2步。主進(jìn)程使用位置評價指標(biāo)時,可以直接調(diào)用子進(jìn)程計算好的數(shù)值,這樣就大大縮短了決策環(huán)的時間。

圖3 單進(jìn)程指標(biāo)按需計算和雙進(jìn)程指標(biāo)并行計算過程對比Fig.3 Comparison of single process attribute on demand computing and dual process attribute on parallel computing

以上3點改進(jìn),使知識與數(shù)據(jù)互補的行為決策算法在群隊級兵棋推演中能夠使用,簡化了專家的工作量,提升了計算效率,也使模型的泛化性大大提升。

2.3 群隊級兵棋AI技術(shù)框架

OODA(Observe,Orient,Decide,Act)環(huán)理論提供了一種以觀察、判斷、決策、行動循環(huán)來描述對抗的方法,被廣泛應(yīng)用于軍事決策過程模型的研究。反映到?jīng)Q策行為模型中,觀察和行動是與外界環(huán)境交互的過程,分別完成了模型的輸入(戰(zhàn)場態(tài)勢)和輸出(作戰(zhàn)行動)。態(tài)勢判斷和行動決策運行于模型的內(nèi)部,完成決策的生成。

本文基于知識與數(shù)據(jù)互補的決策算法,并對群隊級具有大量作戰(zhàn)實體的情況進(jìn)行針對性改進(jìn),依照OODA環(huán)的流程,設(shè)計了群隊級兵棋AI技術(shù)框架。分為5個模塊:離線學(xué)習(xí)模塊、感知模塊、判斷模塊、決策模塊和行動模塊,如圖4所示。離線學(xué)習(xí)模塊是對自對抗復(fù)盤數(shù)據(jù)集或其他復(fù)盤數(shù)據(jù)集進(jìn)行數(shù)據(jù)挖掘,增量更新知識數(shù)據(jù)。其他部分對應(yīng)于OODA環(huán)的4個部分。

圖4 群隊級兵棋AI技術(shù)框架Fig.4 Group-level wargame AI technology framework

離線學(xué)習(xí)模塊設(shè)計按照文獻(xiàn)[12]中數(shù)據(jù)挖掘部分的框架和流程進(jìn)行設(shè)計,提取兵棋數(shù)據(jù)中一些支持決策的知識數(shù)據(jù)(棋子歷史位置概率表、奪控?zé)岫缺怼⒂^察表等)。

感知模塊對兵棋推演平臺推送的態(tài)勢數(shù)據(jù)進(jìn)行格式整理和分類存放,形成狀態(tài)數(shù)據(jù)(全局狀態(tài)、我方棋子狀態(tài)、敵方可見棋子狀態(tài)、奪控點狀態(tài)等),便于后續(xù)模塊使用。

判斷模塊設(shè)計參考文獻(xiàn)[12]中數(shù)據(jù)融合的方法,但是在計算方式上采取子進(jìn)程并行計算,即狀態(tài)數(shù)據(jù)不斷循環(huán)更新,指標(biāo)數(shù)據(jù)也不斷循環(huán)計算更新。得到的多個指標(biāo)傳輸?shù)街鬟M(jìn)程中存儲,供多指標(biāo)綜合評價軟優(yōu)選算法查詢調(diào)用。

決策模塊是兵棋智能決策引擎的核心部件,它主要由3部分組成:一是專家知識庫,二是基于知識驅(qū)動的決策算法,三是基于數(shù)據(jù)驅(qū)動的決策算法。專家知識庫和基于知識驅(qū)動的決策算法聯(lián)合設(shè)計,可以復(fù)用的部件放入專家知識庫中,形成作戰(zhàn)任務(wù)庫、條件庫、超參數(shù)庫和動作函數(shù)庫?;谥R的決策算法主要負(fù)責(zé)行為的推理決策,以FSM、BT的形式編程。群隊級所有作戰(zhàn)力量按照類型進(jìn)行分組,而后為每個類型組設(shè)計有限狀態(tài)機,為了簡單起見,本文為所有類型組設(shè)計了通用有限狀態(tài)機。另外,我們需要為類型組內(nèi)的每個棋子分配合適的奪控點作為作戰(zhàn)目標(biāo)。基于知識的決策算法完成多agent的動作名稱輸出,即FSM生成類型組當(dāng)前的作戰(zhàn)任務(wù),BT生成當(dāng)前作戰(zhàn)任務(wù)下單個agent的動作名稱、任務(wù)區(qū)域和指標(biāo)權(quán)重?;跀?shù)據(jù)驅(qū)動的決策算法以任務(wù)區(qū)域和指標(biāo)權(quán)重為參數(shù),調(diào)用任務(wù)區(qū)域?qū)?yīng)的多個評價指標(biāo),根據(jù)軟概率優(yōu)選和路徑算法,最后生成棋子移動路徑作為動作參數(shù)。

行動模塊為每一個棋子生成原子動作命令。原子動作命令是兵棋對抗環(huán)境能夠識別的棋子動作。專家建模了動作函數(shù)庫,動作函數(shù)以動作名稱和動作參數(shù)為輸入,經(jīng)過基于兵棋規(guī)則的合法性篩查后,輸出多agent原子動作序列。需要特別指出的是,動作參數(shù)并不是都需要計算,如狀態(tài)轉(zhuǎn)換、上車、下車、奪控等只需要實體對象作為參數(shù),通過簡單的邏輯判斷就可以得出。但是機動路線、行軍路線、射擊目標(biāo)選擇等都是需要計算評估后才能得到合適的動作參數(shù)。

3 群隊級兵棋AI主要模塊設(shè)計

3.1 作戰(zhàn)目標(biāo)點分配和通用有限狀態(tài)機設(shè)計

群隊級兵棋AI的棋子按照類型進(jìn)行分組,小組內(nèi)每個棋子可以復(fù)用相同的行為樹進(jìn)行決策,但是為了避免小組內(nèi)棋子行為趨于一致,需要為小組內(nèi)每個棋子指定不同奪控點為作戰(zhàn)目標(biāo)。我們以距離為匹配標(biāo)準(zhǔn),均勻分配奪控點給同類型的棋子。以士兵為例,分配算法如下。

* 設(shè)定未被選擇奪控點集合open,包括所有奪控點,集合close為空集* 對每個步兵棋子i進(jìn)行循環(huán):* 從open集合中找到與i機動時間最小的奪控點j,將j分配給棋子i,open集中去除j,close集中增加j* 當(dāng)open集合為空時,初始化open和close集合

為了減小設(shè)計工作量,給全部作戰(zhàn)力量按照棋子類型進(jìn)行分組后,我們僅設(shè)計一個通用有限狀態(tài)機供紅藍(lán)雙方所有類型組使用,如圖5所示,作戰(zhàn)分為3個階段:機動滲透階段、中遠(yuǎn)攻擊階段和奪控階段,并且設(shè)計了轉(zhuǎn)移條件。這些狀態(tài)和轉(zhuǎn)移條件組成作戰(zhàn)任務(wù)庫和條件庫。

圖5 通用FSM狀態(tài)轉(zhuǎn)移圖Fig.5 General state transition diagram of FSM

3.2 基于棋子類型的行為樹設(shè)計

通用FSM設(shè)計好之后,需要按照3個作戰(zhàn)階段為每個類型的棋子設(shè)定行為樹,這里以紅方步兵、裝甲車為例,描述這些類型棋子的作戰(zhàn)內(nèi)容,如表1所列。最后根據(jù)作戰(zhàn)內(nèi)容,為每類棋子設(shè)計行為樹。

表1 紅方步兵和裝甲車各作戰(zhàn)階段的作戰(zhàn)內(nèi)容

3.3 基于共享內(nèi)存的多進(jìn)程機制

Python語言環(huán)境有兩種方式支持并行計算:多線程(調(diào)用threading模塊)和多進(jìn)程(調(diào)用multiprocessing模塊)。但是Python多線程受全局解釋器鎖(global interpreter lock, GIL)限制,不能實現(xiàn)真正意義上的并行計算。本文使用多進(jìn)程實現(xiàn)多指標(biāo)并行計算。共享內(nèi)存是最快的IPC(inter-process communication)方式,它是針對其他進(jìn)程間通信方式運行效率低而專門設(shè)計的,本文采用這種方式進(jìn)行IPC。共享內(nèi)存的方法就是在主進(jìn)程中建立共享內(nèi)存對象,它包括3個方法:初始共享內(nèi)存建立、數(shù)據(jù)存儲和數(shù)據(jù)讀取。這個共享內(nèi)存對象可以被不同進(jìn)程調(diào)用,并傳遞數(shù)據(jù)。本文以多進(jìn)程和共享內(nèi)存通信實現(xiàn)文獻(xiàn)[12]介紹的位置評價指標(biāo)的并行計算。

4 兵棋AI實現(xiàn)和對抗性能

4.1 兵棋AI編程實現(xiàn)

本文基于戰(zhàn)術(shù)級兵棋即時策略推演平臺“廟算·智勝”開發(fā)實現(xiàn)了一個群隊級兵棋AI。該群隊級兵棋AI使用python語言,采用結(jié)構(gòu)化、對象化的思想進(jìn)行編程。兵棋AI能夠運行之后,還需要對決策模塊進(jìn)行優(yōu)化:

(1) 優(yōu)化知識數(shù)據(jù)。開啟自對戰(zhàn)模式,收集復(fù)盤數(shù)據(jù)并離線增量更新知識數(shù)據(jù)。如果有其他復(fù)盤數(shù)據(jù)集,也可以基于這個復(fù)盤數(shù)據(jù)集更新知識數(shù)據(jù)。

(2) 優(yōu)化超參數(shù)。專家根據(jù)機機對抗的復(fù)盤回放,觀察兵棋AI的動作執(zhí)行效果。針對AI決策效果弱的地方,調(diào)整超參數(shù)庫中的任務(wù)區(qū)域和指標(biāo)權(quán)重,使兵棋AI在移動位置選擇上策略更優(yōu)。

我們實現(xiàn)的群隊級兵棋AI支持2張地圖共3個想定,命名為“道·思-group”。

4.2 對抗性能分析

“道·思-group”參加了全國“先知·兵圣-2019”戰(zhàn)術(shù)級人機對抗挑戰(zhàn)賽,取得前8名。因為比賽使用的是預(yù)設(shè)想定,其他隊伍可以按照專家制定的作戰(zhàn)方案指導(dǎo)棋子的行為決策。相比較而言,我們的兵棋AI在作戰(zhàn)效果上并不特別突出。

隨后,“道·思-group”參與了“廟算·智勝”人機對抗平臺組織的AI綜合能力測評。測評對象為國內(nèi)主要的5個兵棋AI團隊開發(fā)的群隊級兵棋AI。

表2給出了5支AI隊伍的機機對抗勝率。在既定想定的機機對抗中,“道·思-group”排名第4,展現(xiàn)了一定智能性。另外,測試組設(shè)置了臨機想定。臨機想定改變了作戰(zhàn)力量的規(guī)模和奪控點的個數(shù)。在臨機想定測評中,“道·思-group”的勝率由24%上升到46.5%,展現(xiàn)了基于通用FSM的設(shè)計,其可移植性較強的特點。

表2 群隊級兵棋AI對抗勝率

但是總體對抗成績不高,也反映了只使用通用FSM,使多agent作戰(zhàn)任務(wù)的劃分不夠精細(xì),棋子間的協(xié)同配合不夠,整體作戰(zhàn)策略優(yōu)化不好。使用雙進(jìn)程指標(biāo)并行計算方式,對計算資源的要求較大,指標(biāo)計算子進(jìn)程運算耗時長,計算出的指標(biāo)與實時態(tài)勢不匹配,從而影響了決策質(zhì)量。

“廟算·智勝”測試組最后總結(jié):測評的AI可以分為基于算法驅(qū)動和基于方案設(shè)計2類,基于算法驅(qū)動的智能體具有更好的地形分析計算和利用能力,火力使用更為敏捷和激進(jìn);基于方案設(shè)計的智能體則表現(xiàn)更為保守,射擊頻次和戰(zhàn)果更少,但卻通過更少的戰(zhàn)損,以及較高的有效射擊效率贏得對抗的勝利。臨機想定中設(shè)置了與既定想定較大的差異,基于方案設(shè)計的團隊多采用精細(xì)化方案設(shè)計,智能體模型更擅長打“有準(zhǔn)備之仗”,但遇到新情況后,原方案可能會失效;基于算法驅(qū)動的團隊多采用算法驅(qū)動的智能體模型,在戰(zhàn)場態(tài)勢發(fā)生突變時,具有更好的應(yīng)變與穩(wěn)定性。

得益于知識與數(shù)據(jù)互補的決策算法,我們的兵棋AI應(yīng)屬于算法驅(qū)動類型。有以下優(yōu)點:

(1) 兵棋AI構(gòu)建較為快速。FSM和BT分層決策的方法符合軍事組織指揮的架構(gòu)和任務(wù)分解模式,且免除了具體地圖點的分析?;跀?shù)據(jù)驅(qū)動的決策方法無想定限制?;诳蓮?fù)用的領(lǐng)域知識庫,只需要對FSM與BT進(jìn)行簡單的再設(shè)計,即可構(gòu)建新的兵棋AI。

(2) 模型具有較高的靈活性和遷移性。每個兵棋想定中奪控點、起始點為已知點,以這兩類點為定位點,設(shè)計相對位置的任務(wù)區(qū)域,并且增大任務(wù)區(qū)域范圍,就可以提高決策模型的遷移性。另外,多指標(biāo)綜合評價軟優(yōu)選算法中探索因子增大后,決策模型的靈活性就會大大增加。

5 結(jié) 論

本文分析了群隊級兵棋智能對抗中控制大量兵棋實體面臨的困難,提出了知識與數(shù)據(jù)互補的決策算法,解決了無人類復(fù)盤數(shù)據(jù)情況下,實現(xiàn)棋子行為的靈活決策。我們提出了按棋子類型分類、分配奪控點為作戰(zhàn)目標(biāo)、位置評價指標(biāo)并行計算等方法,解決了知識與數(shù)據(jù)互補的決策算法控制大量實體存在的困難,設(shè)計了群隊級兵棋AI的技術(shù)框架。最后我們實現(xiàn)了群隊級兵棋AI“道·思-group”,此AI在全國智能兵棋比賽和第三方測評中性能表現(xiàn)優(yōu)異,顯示出了設(shè)計簡單、決策靈活和可遷移的特點。

但是使用通用有限狀態(tài)機,雖然簡化了設(shè)計難度,但是整體策略不夠精細(xì),導(dǎo)致高層策略并不是很優(yōu)。另外,并行計算只是部分解決了計算時間問題,此兵棋AI依然存在計算量大、占用內(nèi)存大的問題。下步將從3個方面做深入研究,一是設(shè)計更為通用的FSM和BT決策體系,并研究HTN等自動規(guī)劃算法,使模型的可遷移能力更強,并可以自主規(guī)劃作戰(zhàn)任務(wù);二是優(yōu)化基于數(shù)據(jù)驅(qū)動的軟決策體系,提升計算效率,同時利用深度神經(jīng)網(wǎng)絡(luò)的感知能力對評價指標(biāo)進(jìn)行計算;三是研究超參數(shù)的自動優(yōu)化方法,減少專家工作量,同時提升模型決策能力。

猜你喜歡
兵棋棋子決策
為可持續(xù)決策提供依據(jù)
棋子多少顆
兵棋推演:未來戰(zhàn)爭的水晶球
基于兵棋推演實驗的綜合評估指標(biāo)度量方法
決策大數(shù)據(jù)
決策大數(shù)據(jù)
擺棋子
諸葛亮隆中決策
基于深度學(xué)習(xí)的兵棋實體決策效果智能評估模型
基于混合Beta分布的兵棋推演可信度評估方法研究
铜山县| 南开区| 梅河口市| 黄龙县| 息烽县| 南城县| 阿克苏市| 通渭县| 漳平市| 嘉义市| 南昌县| 松潘县| 乌什县| 南投县| 乳源| 巴彦县| 当阳市| 县级市| 台北市| 旌德县| 德清县| 宜丰县| 临安市| 宁德市| 衢州市| 韩城市| 上高县| 富川| 枣庄市| 桐乡市| 申扎县| 平潭县| 日喀则市| 郯城县| 穆棱市| 乐业县| 石楼县| 阿城市| 平顺县| 北票市| 娄烦县|