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