










摘" 要:針對目前作戰仿真Agent無法適應復雜戰場環境、動態規劃能力不足的問題,找到了一個基于BDI行為模型的多Agent智能開發平臺JACK。基于此平臺,開發了裝甲步兵班陣地進攻作戰仿真系統;依托JACK Team平臺,設計了作戰仿真Agent能力組件的結構、功能類和行為算法,構建了單兵行為模型和班組行為模型;通過表現模塊,實現了JACK Team和Unity3D仿真環境數據交互。同過系統仿真數據統計,驗證了JACK平臺BDI模型的有效性和與開放環境的良好交互性。
關鍵詞:JACK;BDI;作戰仿真;Multi-Agent;開放環境
中圖分類號:TP311.5" 文獻標識碼:A 文章編號:2096-4706(2024)12-0129-05
Combat Simulation Research Based on JACK Team
ZHANG Jingli, YU Yan
(Department of Mechanized Infantry, The Army Infantry College of PLA in Shijiazhuang Campus, shijiazhuang" 050083, China)
Abstract: In order to solve the problem that the current combat simulation Agent can not adapt to the complex battlefield environment and lack of dynamic planning ability, a multi-Agent intelligent development platform JACK based on BDI behavior model is found. Based on this platform, the armored infantry squad position attack combat simulation system is developed. The structure, function class and behavior algorithm of the Agent capability component of combat simulation are designed based on JACK Team platform. The individual soldier behavior model and team behavior model are constructed. The data exchange between JACK Team and Unity3D simulation environment is realized by Embedded models. The validity of the BDI model of JACK platform and good interaction with the open environment is verified by the system simulation data statistics.
Keywords: JACK; BDI; combat simulation; Multi-Agent; open environment
0" 引" 言
近年來,隨著多Agent系統(Multi-Agent System, MAS)參與實體動作空間復雜度的增加,人們越來越關注動態復雜環境下多智能體(Agent)行為的智能性。Agent智能行為規劃主要集中在多Agent協作問題的研究,最早的行為規劃系統ATRIPS [1]引入過程化表示語言來表示基于邏輯的規劃問題,但難以適應現實世界問題的復雜需求。HTN、PDDL [2]模型基于靜態環境并且完全可觀察,將任務不斷分解直至Agent能夠執行,不響應外部環境的變化。BID [3]模型依托外部環境,對每個事件形成一個可行規劃集,以承諾的方式進行規劃選擇,通過規劃選擇的約束條件和執行方式完成和開放環境的智能交互。基于BDI模型的系統有UM-RPS、dMARS、JACK [4]等,本文以JACK為例,對班組作戰行動的智能決策進行仿真。
1" BDI模型
Agent [5]具有自治性、能動性、自覺性、社會性等特性,多Agent系統體現的是協作能力,需要Agent具有一定的智能行為能力,通過對知識結構、環境信息、問題求解等信息的表示實現思維過程的模擬,表現出Agent的心智和態度。
傳統的Agent行為是針對具體問題編寫程序使主體進行推理、計算,該方法不適用于主體(Agent)在開放、動態的環境中保持更強的解決問題的能力。Bratman從哲學角度對行為進行研究[6],認為只有保持信念、愿望和意圖(Belief-Desire-Intention, BDI)的理性平衡才能有效地解決問題。BID [7]模型本質上是如何確定主體(Agent)的目標以及如何實現這個目標的一種行為模型。信念(Belief)包括了與世界相關的信念、與其他主體(Agent)思維趨向相關的信念和自我信念,主體(Agent)對世界的認知;愿望(Desire)是主體(Agent)的最初動機,是希望達到或保持的狀態的集合;意圖(Intention)是從承諾實現的愿望中選取一個當前最需要完成或者最適合完成的,是當前主體(Agent)將要或正在實現的目標、承諾的愿望。
BDI Agent [8,9]行為的一般結構如圖1所示。通過感知環境變化,對信念集進行修正,根據任務目標構建愿望集,結合當前態勢篩選意圖集,依據行為規則選擇行為序列進行輸出。
2" JACK介紹
JACK是澳大利亞Agent Oriented Software公司研發的智能開發平臺,該公司專注于人工智能、自主和機器人系統,與英國國防部、RAAF、澳大利亞陸軍、RAN、CASG和DST團隊合作開發自主系統。JACK是一個用于構建、運行和集成商業級Multi-Agent系統的跨平臺開發環境,以BDI行為模型為邏輯基礎,基于Java語言,同時還支持Prometheus等主流面向Agent軟件開發方法。
2.1" JACK Agent
JACK Agent擴充的類包括Agent、Event、Plan、BeliefSets、Capability、View。Agent可以具有Event、BeliefSets、Plan、Capability。Event設置了需要Agent做出反應的環境和信息。BeliefSets信念集,相當于知識表示,用來存儲Agent的信念和外部環境信息,當它發生變化時可以產生事件,這就使得Agent能夠對內部狀態及時做出反應。Plan是對Event做出反應的執行過程。JACK的這些擴充保證了Agent對BDI行為模型的實現。
2.2" JACK Team
JACK Team [10]提供一種面向多智能體[11]的框架,對開發小組來說面向Team編程是一種Mutil-Agent系統應用。它是JACK Agent的一種擴充,二者最明顯的不同在于是否存在Team推理實體。Team包括的類在Agent基礎上增加了Team、Role、TeamPlan。
其中Team是一個特殊的BDI推理實體,它以requires角色或preform角色為特征。Team運行分兩個階段,第一個階段通過初始化文件建立一個角色義務結構(role obligation structure),第二個階段執行Team規劃的實際運算。
Role包含一個Team和sub-team之間必需的功能描述,指明role tenderer(角色提供者)和role filler(角色填充者)對角色的需求。角色函數作為一個接口,表明填充一個既定角色必須有能力處理和發送某些事件。Role類還有一個功能,執行TeamPlan和信念傳播是利用Role類中定義的角色關系和role obligation structure來實現的。
TeamPlan是針對Team事件的規劃。指明怎樣利用一個或多個角色來完成任務。其中利用#requires role語句聲明需要哪些角色,在body()執行之前會先執行establish ()推理方法,利用該方法和角色關系建立完成該任務的task team。之后執行@team_achieve語句進行任務規劃。
JACK Team和JACK Agent另一個顯著不同之處在于信念的傳播。Agent中對信念的添加修改只有該Agent可見,而Team中每個sub-team/team信念的改變,整個Team都可見。該功能是利用角色關系和#Propagates change等語句完成的。
2.3" JACK Sim
JACK Agent和JACK Team為BDI模型提供理論、程序結構和運行支持,這就使得依托BDI模型進行仿真[12]變得簡單,JACK Sim仿真結構如圖2所示。
在這個仿真結構中將模型分為四部分:行為、表現、設備、環境,用一個連接層連接行為規劃和仿真實現。JACK Sim本身可實現整個仿真過程,通過基礎Agent如TimeSource Agent和TimeDispatcher Agent來控制仿真過程,通過可視化模型來顯示仿真實體,可視化模型包括可視化框架和外觀對象,其中外觀對象有圓、矩形、線等。
3" 基于JACK的行為規劃仿真實現
基于多Agent的作戰能力仿真一直是研究重點[13,14],本文實現某次班組作戰行動任務,要考慮的是一個團隊,選擇JACK Team與Unity3D結合進行仿真。任務描述如下:班長帶領全班發起沖擊,通過通路,占領敵陣地。在通過通路時,班長發現前方敵反坦克手,要求火箭筒手進行殲敵,然后全班沖擊到敵陣地前沿,最后占領敵陣地。
3.1" Team結構
一個班BanBehavior,用Team表示,部分角色如表1所示。
具體結構說明如圖3和圖4所示。
Role對應的sub-team如表2所示,在JACK Team中表示,如圖3所示。
3.2" 系統結構
本次仿真不需要外部設備和環境,則系統包括三部分:行為部分、連接部分、表現部分,各部分組件實現如表3所示。
JACK Team和Unity3D的交互內容包括上級下達的動作指令和下級匯報觀察到的戰場情況和執行命令結果等。每個sub-team應具有基本行動能力和接受上級任務能力,JACK設計界面如圖5所示。
仿真運行初始化通過RunProgram event,隨之BanBehavior team通過選擇合適的plan(在這里是ProgramRun_TP)處理這個事件。ProgramRun_TP是team plan,使用默認的establish()方法建立任務團隊(task team)。控制仿真運行主要是通過@teamAchieve()來完成,如圖6所示。
4" 仿真結果
仿真系統運行后,Unity3D端不斷產生新的戰場態勢,JACK端更新信念集,引發狀態、屬性等信息改變,更新愿望集。班長等Agent進行慎思,即進行篩選,更新意圖集,進行行動選擇,輸出可執行的行動,驅動Agent行為,更新Unity3D端。不斷重復此過程,直至完成所有愿望,Unity3D仿真圖如圖7所示。
通過對仿真過程進行數據統計,如表4所示,可以看出Agent對于屬性、狀態改變事件和作戰命令事件的處置情況,基本符合實際戰場環境,總體上與作戰理論和經驗一致。
5" 結" 論
本文利用JACK Team對班組作戰行動進行仿真,該仿真結構還可以優化,比如:Plan中的角色不必指定sub-team,可以需要時再動態添加執行角色的sub-team,更具靈活性;該仿真只是示例,其中處理事件的規劃只有一個,沒有體現出BDI行為理論的智能性等。作戰仿真系統是極其復雜和靈活的系統,是對復雜作戰過程的有效仿真,但如何評估系統中模型框架的準確性和有效性,如何提高仿真系統的可信度,仍需要進行進一步研究。BDI Agent模型是一種提高Agent行為置信度的有效方法,但也有一定的局限性,仍需探討不同模型或多種模型結合的方法,以便更真實地反映客觀世界。本文只是初步利用JACK軟件的部分功能,未來可深入研究,并與其他智能軟件相結合,使得Agent更具智能性。
參考文獻:
[1] FIKES R E,NILSSON N J. Strips: A New Approach to the Application of Theorem Proving to Problem Solving [C]//Proceedings of the 2nd International Joint Conference on Artificial Intelligence.London:Morgan Kaufmann Publishers Inc,1971:608-620.
[2] MALIK G,HOWE A,KNOBLOCK C,et al. PDDL-the Planning Domain Definition Language, Technical Report CVC TR-98-003/DCS TR-1165 [R].Connecticut:Yale Center for Computational Vision and Control,1998.
[3] RAO A S,GEORGEFF M P. BDI Agents: from Theory to Practice [C]//Proceedings of the First International Conference on Multiagent Systems (ICMAS-95).San Francisco:AAAI Press/The MIT Press,1995(6):312-319.
[4] 楊永健.基于JACK平臺的多Agent系統設計方法研究 [J].數字技術與應用,2014(5):69-70.
[5] 壽步.人工智能中agent的中譯正名及其法律意義 [J].科技與法律:中英文,2022(3):1-13.
[6] BRATMAN M E,ISRAEL D,POLLACK M E. Plans and Resource-bounded Practical Reasoning [J].Computational Intelligence ,1988,4(3):349-355.
[7] 郝一江,陳亞楠.基于偏好排斥等級BDI主體的決策行為研究 [J].重慶理工大學學報:社會科學,2022,36(9):46-54.
[8] 李童心,王維平,王濤,等.基于知識圖譜的戰略智能體BDI模型 [J].系統工程與電子技術,2023,45(1):119-126.
[9] 萬謙,劉瑋,徐龍龍,等.基于Q-learning的不確定環境BDI Agent最優策略規劃研究 [J].計算機工程與科學,2019,41(1):166-172.
[10] 程顯毅,聶文惠,謝軍.面向agent開發環境JACK的實踐 [M].北京:科學出版社,2009.
[11] 曾雋芳,牟佳,劉禹.多智能體群智博弈策略輕量化問題 [J].指揮與控制學報,2020,6(4):381-387.
[12] 邱志明,李恒,周玉芳,等.模擬仿真技術及其在訓練領域的應用綜述 [J].系統仿真學報,2023,35(6):1131-1143.
[13] 韓明磊,馬晶,周澤宇,等.基于Agent建模的海戰場殺傷鏈評估系統研究 [J].計算機仿真,2022,39(3):11-16+406.
[14] 孫彧,曹雷,陳希亮,等.多智能體深度強化學習研究綜述 [J].計算機工程與應用,2020,56(5):13-24.
作者簡介:張京麗(1982—),女,漢族,河北石家莊人,講師,碩士,研究方向:人工智能、行為規劃;于妍(1983—),女,漢族,河北石家莊人,副教授,碩士,研究方向:作戰仿真。