基于JACK平台的作战仿真研究
2024-12-31张京丽于妍
摘" 要:针对目前作战仿真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—),女,汉族,河北石家庄人,副教授,硕士,研究方向:作战仿真。