摘" 要:針對目前作戰(zhàn)仿真Agent無法適應(yīng)復(fù)雜戰(zhàn)場環(huán)境、動態(tài)規(guī)劃能力不足的問題,找到了一個基于BDI行為模型的多Agent智能開發(fā)平臺JACK。基于此平臺,開發(fā)了裝甲步兵班陣地進攻作戰(zhàn)仿真系統(tǒng);依托JACK Team平臺,設(shè)計了作戰(zhàn)仿真Agent能力組件的結(jié)構(gòu)、功能類和行為算法,構(gòu)建了單兵行為模型和班組行為模型;通過表現(xiàn)模塊,實現(xiàn)了JACK Team和Unity3D仿真環(huán)境數(shù)據(jù)交互。同過系統(tǒng)仿真數(shù)據(jù)統(tǒng)計,驗證了JACK平臺BDI模型的有效性和與開放環(huán)境的良好交互性。
關(guān)鍵詞:JACK;BDI;作戰(zhàn)仿真;Multi-Agent;開放環(huán)境
中圖分類號: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系統(tǒng)(Multi-Agent System, MAS)參與實體動作空間復(fù)雜度的增加,人們越來越關(guān)注動態(tài)復(fù)雜環(huán)境下多智能體(Agent)行為的智能性。Agent智能行為規(guī)劃主要集中在多Agent協(xié)作問題的研究,最早的行為規(guī)劃系統(tǒng)ATRIPS [1]引入過程化表示語言來表示基于邏輯的規(guī)劃問題,但難以適應(yīng)現(xiàn)實世界問題的復(fù)雜需求。HTN、PDDL [2]模型基于靜態(tài)環(huán)境并且完全可觀察,將任務(wù)不斷分解直至Agent能夠執(zhí)行,不響應(yīng)外部環(huán)境的變化。BID [3]模型依托外部環(huán)境,對每個事件形成一個可行規(guī)劃集,以承諾的方式進行規(guī)劃選擇,通過規(guī)劃選擇的約束條件和執(zhí)行方式完成和開放環(huán)境的智能交互?;贐DI模型的系統(tǒng)有UM-RPS、dMARS、JACK [4]等,本文以JACK為例,對班組作戰(zhàn)行動的智能決策進行仿真。
1" BDI模型
Agent [5]具有自治性、能動性、自覺性、社會性等特性,多Agent系統(tǒng)體現(xiàn)的是協(xié)作能力,需要Agent具有一定的智能行為能力,通過對知識結(jié)構(gòu)、環(huán)境信息、問題求解等信息的表示實現(xiàn)思維過程的模擬,表現(xiàn)出Agent的心智和態(tài)度。
傳統(tǒng)的Agent行為是針對具體問題編寫程序使主體進行推理、計算,該方法不適用于主體(Agent)在開放、動態(tài)的環(huán)境中保持更強的解決問題的能力。Bratman從哲學(xué)角度對行為進行研究[6],認為只有保持信念、愿望和意圖(Belief-Desire-Intention, BDI)的理性平衡才能有效地解決問題。BID [7]模型本質(zhì)上是如何確定主體(Agent)的目標以及如何實現(xiàn)這個目標的一種行為模型。信念(Belief)包括了與世界相關(guān)的信念、與其他主體(Agent)思維趨向相關(guān)的信念和自我信念,主體(Agent)對世界的認知;愿望(Desire)是主體(Agent)的最初動機,是希望達到或保持的狀態(tài)的集合;意圖(Intention)是從承諾實現(xiàn)的愿望中選取一個當前最需要完成或者最適合完成的,是當前主體(Agent)將要或正在實現(xiàn)的目標、承諾的愿望。
BDI Agent [8,9]行為的一般結(jié)構(gòu)如圖1所示。通過感知環(huán)境變化,對信念集進行修正,根據(jù)任務(wù)目標構(gòu)建愿望集,結(jié)合當前態(tài)勢篩選意圖集,依據(jù)行為規(guī)則選擇行為序列進行輸出。
2" JACK介紹
JACK是澳大利亞Agent Oriented Software公司研發(fā)的智能開發(fā)平臺,該公司專注于人工智能、自主和機器人系統(tǒng),與英國國防部、RAAF、澳大利亞陸軍、RAN、CASG和DST團隊合作開發(fā)自主系統(tǒng)。JACK是一個用于構(gòu)建、運行和集成商業(yè)級Multi-Agent系統(tǒng)的跨平臺開發(fā)環(huán)境,以BDI行為模型為邏輯基礎(chǔ),基于Java語言,同時還支持Prometheus等主流面向Agent軟件開發(fā)方法。
2.1" JACK Agent
JACK Agent擴充的類包括Agent、Event、Plan、BeliefSets、Capability、View。Agent可以具有Event、BeliefSets、Plan、Capability。Event設(shè)置了需要Agent做出反應(yīng)的環(huán)境和信息。BeliefSets信念集,相當于知識表示,用來存儲Agent的信念和外部環(huán)境信息,當它發(fā)生變化時可以產(chǎn)生事件,這就使得Agent能夠?qū)?nèi)部狀態(tài)及時做出反應(yīng)。Plan是對Event做出反應(yīng)的執(zhí)行過程。JACK的這些擴充保證了Agent對BDI行為模型的實現(xiàn)。
2.2" JACK Team
JACK Team [10]提供一種面向多智能體[11]的框架,對開發(fā)小組來說面向Team編程是一種Mutil-Agent系統(tǒng)應(yīng)用。它是JACK Agent的一種擴充,二者最明顯的不同在于是否存在Team推理實體。Team包括的類在Agent基礎(chǔ)上增加了Team、Role、TeamPlan。
其中Team是一個特殊的BDI推理實體,它以requires角色或preform角色為特征。Team運行分兩個階段,第一個階段通過初始化文件建立一個角色義務(wù)結(jié)構(gòu)(role obligation structure),第二個階段執(zhí)行Team規(guī)劃的實際運算。
Role包含一個Team和sub-team之間必需的功能描述,指明role tenderer(角色提供者)和role filler(角色填充者)對角色的需求。角色函數(shù)作為一個接口,表明填充一個既定角色必須有能力處理和發(fā)送某些事件。Role類還有一個功能,執(zhí)行TeamPlan和信念傳播是利用Role類中定義的角色關(guān)系和role obligation structure來實現(xiàn)的。
TeamPlan是針對Team事件的規(guī)劃。指明怎樣利用一個或多個角色來完成任務(wù)。其中利用#requires role語句聲明需要哪些角色,在body()執(zhí)行之前會先執(zhí)行establish ()推理方法,利用該方法和角色關(guān)系建立完成該任務(wù)的task team。之后執(zhí)行@team_achieve語句進行任務(wù)規(guī)劃。
JACK Team和JACK Agent另一個顯著不同之處在于信念的傳播。Agent中對信念的添加修改只有該Agent可見,而Team中每個sub-team/team信念的改變,整個Team都可見。該功能是利用角色關(guān)系和#Propagates change等語句完成的。
2.3" JACK Sim
JACK Agent和JACK Team為BDI模型提供理論、程序結(jié)構(gòu)和運行支持,這就使得依托BDI模型進行仿真[12]變得簡單,JACK Sim仿真結(jié)構(gòu)如圖2所示。
在這個仿真結(jié)構(gòu)中將模型分為四部分:行為、表現(xiàn)、設(shè)備、環(huán)境,用一個連接層連接行為規(guī)劃和仿真實現(xiàn)。JACK Sim本身可實現(xiàn)整個仿真過程,通過基礎(chǔ)Agent如TimeSource Agent和TimeDispatcher Agent來控制仿真過程,通過可視化模型來顯示仿真實體,可視化模型包括可視化框架和外觀對象,其中外觀對象有圓、矩形、線等。
3" 基于JACK的行為規(guī)劃仿真實現(xiàn)
基于多Agent的作戰(zhàn)能力仿真一直是研究重點[13,14],本文實現(xiàn)某次班組作戰(zhàn)行動任務(wù),要考慮的是一個團隊,選擇JACK Team與Unity3D結(jié)合進行仿真。任務(wù)描述如下:班長帶領(lǐng)全班發(fā)起沖擊,通過通路,占領(lǐng)敵陣地。在通過通路時,班長發(fā)現(xiàn)前方敵反坦克手,要求火箭筒手進行殲敵,然后全班沖擊到敵陣地前沿,最后占領(lǐng)敵陣地。
3.1" Team結(jié)構(gòu)
一個班BanBehavior,用Team表示,部分角色如表1所示。
具體結(jié)構(gòu)說明如圖3和圖4所示。
Role對應(yīng)的sub-team如表2所示,在JACK Team中表示,如圖3所示。
3.2" 系統(tǒng)結(jié)構(gòu)
本次仿真不需要外部設(shè)備和環(huán)境,則系統(tǒng)包括三部分:行為部分、連接部分、表現(xiàn)部分,各部分組件實現(xiàn)如表3所示。
JACK Team和Unity3D的交互內(nèi)容包括上級下達的動作指令和下級匯報觀察到的戰(zhàn)場情況和執(zhí)行命令結(jié)果等。每個sub-team應(yīng)具有基本行動能力和接受上級任務(wù)能力,JACK設(shè)計界面如圖5所示。
仿真運行初始化通過RunProgram event,隨之BanBehavior team通過選擇合適的plan(在這里是ProgramRun_TP)處理這個事件。ProgramRun_TP是team plan,使用默認的establish()方法建立任務(wù)團隊(task team)。控制仿真運行主要是通過@teamAchieve()來完成,如圖6所示。
4" 仿真結(jié)果
仿真系統(tǒng)運行后,Unity3D端不斷產(chǎn)生新的戰(zhàn)場態(tài)勢,JACK端更新信念集,引發(fā)狀態(tài)、屬性等信息改變,更新愿望集。班長等Agent進行慎思,即進行篩選,更新意圖集,進行行動選擇,輸出可執(zhí)行的行動,驅(qū)動Agent行為,更新Unity3D端。不斷重復(fù)此過程,直至完成所有愿望,Unity3D仿真圖如圖7所示。
通過對仿真過程進行數(shù)據(jù)統(tǒng)計,如表4所示,可以看出Agent對于屬性、狀態(tài)改變事件和作戰(zhàn)命令事件的處置情況,基本符合實際戰(zhàn)場環(huán)境,總體上與作戰(zhàn)理論和經(jīng)驗一致。
5" 結(jié)" 論
本文利用JACK Team對班組作戰(zhàn)行動進行仿真,該仿真結(jié)構(gòu)還可以優(yōu)化,比如:Plan中的角色不必指定sub-team,可以需要時再動態(tài)添加執(zhí)行角色的sub-team,更具靈活性;該仿真只是示例,其中處理事件的規(guī)劃只有一個,沒有體現(xiàn)出BDI行為理論的智能性等。作戰(zhàn)仿真系統(tǒng)是極其復(fù)雜和靈活的系統(tǒng),是對復(fù)雜作戰(zhàn)過程的有效仿真,但如何評估系統(tǒng)中模型框架的準確性和有效性,如何提高仿真系統(tǒng)的可信度,仍需要進行進一步研究。BDI Agent模型是一種提高Agent行為置信度的有效方法,但也有一定的局限性,仍需探討不同模型或多種模型結(jié)合的方法,以便更真實地反映客觀世界。本文只是初步利用JACK軟件的部分功能,未來可深入研究,并與其他智能軟件相結(jié)合,使得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系統(tǒng)設(shè)計方法研究 [J].數(shù)字技術(shù)與應(yīng)用,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].重慶理工大學(xué)學(xué)報:社會科學(xué),2022,36(9):46-54.
[8] 李童心,王維平,王濤,等.基于知識圖譜的戰(zhàn)略智能體BDI模型 [J].系統(tǒng)工程與電子技術(shù),2023,45(1):119-126.
[9] 萬謙,劉瑋,徐龍龍,等.基于Q-learning的不確定環(huán)境BDI Agent最優(yōu)策略規(guī)劃研究 [J].計算機工程與科學(xué),2019,41(1):166-172.
[10] 程顯毅,聶文惠,謝軍.面向agent開發(fā)環(huán)境JACK的實踐 [M].北京:科學(xué)出版社,2009.
[11] 曾雋芳,牟佳,劉禹.多智能體群智博弈策略輕量化問題 [J].指揮與控制學(xué)報,2020,6(4):381-387.
[12] 邱志明,李恒,周玉芳,等.模擬仿真技術(shù)及其在訓(xùn)練領(lǐng)域的應(yīng)用綜述 [J].系統(tǒng)仿真學(xué)報,2023,35(6):1131-1143.
[13] 韓明磊,馬晶,周澤宇,等.基于Agent建模的海戰(zhàn)場殺傷鏈評估系統(tǒng)研究 [J].計算機仿真,2022,39(3):11-16+406.
[14] 孫彧,曹雷,陳希亮,等.多智能體深度強化學(xué)習(xí)研究綜述 [J].計算機工程與應(yīng)用,2020,56(5):13-24.
作者簡介:張京麗(1982—),女,漢族,河北石家莊人,講師,碩士,研究方向:人工智能、行為規(guī)劃;于妍(1983—),女,漢族,河北石家莊人,副教授,碩士,研究方向:作戰(zhàn)仿真。