空中作战决策行为树建模与仿真
董 倩,纪梦琪,朱一凡,杨 峰
(国防科技大学系统工程学院,湖南 长沙 410073)
摘 要 :在分析传统空中作战决策研究的基础上,针对状态空间规模增大时,模型外部自主决策的规则和条件描述复杂困难的问题,提出了空中作战决策的行为树建模与仿真方法,阐述了空中作战仿真决策的一般过程,梳理了空中作战的模型外部自主决策规则,构建了基于模型外部自主决策的空中作战行为树模型,并基于Lua脚本语言实现空中作战行为树模型,最后借助仿真推演系统OCEAN进行案例演示,实现空中作战行为树自主决策仿真,证明了该方法的有效性。
关键词 :空中作战决策;行为树;Lua脚本语言
空中作战是航空兵在空中攻击或抗击敌方的行动,目的是消灭敌空中兵力集团,夺取制空权,保障己方空中目标安全和空中行动自由等。空中作战能有效地摧毁敌方军事实力,削弱其战争潜力,对战争的进程和结局有重大影响,是现代战争的重要作战样式。作战仿真推演作为作战活动的一种相似性复现,在提高指挥人员谋略水平、辅助作战决策和进行战术战法研究与验证等方面发挥着越来越重要的作用[1]。
空中作战过程的建模与仿真是一个复杂的系统工程,包括物理系统建模和决策建模[2]。物理系统建模主要是基于物理机理对作战实体的作战行为和过程建模;决策建模包括所有与空中作战相关的决策问题,实现在当前有限的敌情、我情和环境信息支持下,对作战态势进行评估,确定作战目标,选择战法和作战样式,并进行合理的作战资源分配,制定、评估和优化作战方案并实时监控和动态调整[2]。作战决策是整个作战指挥活动的核心,对其进行建模与仿真研究具有重要意义。
传统的作战决策研究主要从以下两个方面进行:
1) 物理模型内部的自主决策算法:依靠固化在模型中的决策功能直接实现仿真模型对战场态势的理解,并形成相应的决策结果[3]。典型的应用是基于多Agent的决策建模,通过构建多Agent间的协同规划与合作机制来实现自主决策。例如,郭智杰等[4]提出一种改进的合同网协议下的多Agent决策方法,并应用于防空武器的协同作战决策中。Mert E等[5]提出三种不同的多Agent模型来模拟陆地作战行动。
2) 模型外部的自主决策模块:通过录入作战指挥人员的决策知识和经验,支撑模型在仿真运行中的决策过程,典型的如基于规则和基于条件的决策建模方法。彭勇[6]提出了一种基于数据化作战方案的自动指挥决策建模方法,该模型本质上是一个改进的基于产生式规则的专家系统,其中的知识库既可以面向作战指挥人员,又可以随着实验问题的变化不断更新。孙鹏等[3]提出了一种基于态势描述的陆军作战仿真决策模型,该方法的本质是一种基于条件的决策方法。
从建模效率上看,模型内部的自主决策方法开发难度较大,且军事专家的知识和经验较难在模型中得到有效地利用,而模型外部的自主决策方法虽然可以充分利用作战指挥人员的知识和经验,但传统的决策方法往往基于规则决策如有限状态机,当状态空间规模增大时,规则和条件的描述空间也不断增加,有限状态机很难维护。行为树作为有限状态机的改进,支持增加单个行为节点或行为子树,具有模块化和可复用特性。本文结合模型内部与模型外部自主决策方法,以空中作战为背景,分析了空中作战决策仿真的一般过程,将其分层过程划分为模型外部自主决策过程和模型内部自主决策过程,并梳理了模型外部自主决策的一般规则,构建了空中作战决策仿真行为树。然后基于Lua脚本语言,设计算法流程实现模型外部自主决策,借助作战仿真推演系统OCEAN,实现模型内部自主决策。最后以某空中作战过程为案例,对该方法进行了演示验证。
1 行为树概念与建模
1.1 行为树
行为树是有限状态机的改进,有限状态机中的每个节点表示一种状态,而行为树中的节点表示一个动作。引入行为树是因为当系统规模增大时,有限状态机的状态增加,转换线不可控,有限状态机较难维护。而行为树支持增加单个行为节点或行为子树,当系统规模增大时,同样适用。行为树的模块化与可复用性使得行为树成为一种非常有力的AI决策工具。Puga等将案例推理应用到行为树中,基本实现NPC(Non-Player-Controlled Character非玩家控制角色)依据相似案例匹配来实现自主决策[7],取得了较好的效果。
1.2 行为树建模
行为树可以描述为由边和节点组成的有组织层次的树状结构,可以表示为二元组BT=<V,E>:
节点集合V =A ∪C ∪N ∪τ ,包括动作节点集A ,条件节点集C ,逻辑节点集N 以及根节点τ 。其中动作节点集和条件节点集是行为树中的叶节点,而逻辑节点是非叶节点。
边集合E ⊂V ×V ,∀<v i ,v j >∈E ,v i ,v j ∈V ,则v i 是v j 的父节点,v j 是v i 的子节点。子节点的执行结果由其父节点进行管理控制。
本文将从节点、返回状态和树的遍历三个方面介绍行为树的建模要素。
2) 实现了作战仿真推演系统OCEAN调用基于行为树的Lua脚本,完成模型外部的自主空中作战决策;
a) 动作节点:用于完成某动作或任务的节点,通常是行为树的叶子节点;
b) 条件节点:检查条件是否满足,满足则返回“真”,否则返回“假”;
c) 修饰节点:一般用来指定额外的附加条件,比如,时间间隔、次数和频率等;
d) 顺序节点:按从左到右的顺序执行完每个子节点或子树。若中途返回失败或者错误则停止。常用的是改进后的带优先级或带权重的顺序节点,即先运行较为重要或影响较大的子节点;
e) 选择节点:按从左到右的顺序选择一个执行条件为真的子节点执行,遇到第一个执行成功或正在执行的子节点则立即返回当前子节点结果,并结束选择操作。如果所有子节点均返回失败,则当前执行节点也为失败。常用的是改进后的带优先级或概率值的选择节点,即优先选择优先级较高的子节点执行或者按概率抽样来执行子节点或子树;
f) 并行节点:并行地执行所有子节点或子树。
4)中国女篮主力队员的前场篮板场均数在日、澳女篮之间;在大前锋和小前锋的位置上,低于2强均值的前场篮板数值;在中锋、组织后卫、得分后卫位置上,中国女篮的前场篮板球数量较2强具有一定优势。
行为树节点设计简单且易于改进,随着行为树的广泛应用,出现了许多有所改进的节点类型,如带时间片的顺序节点和选择节点、带反相器节点等。
情况 4.1 若f3(v)=0,此时最坏的情况是v点关联6个6-面,v的邻点全部为3-点且这些3-点均关联着一个三角形。由R1,R2.1,R3.1或R3.2或R3.4得
黑米酒、小米酒等两款不同风味的米酒中的黄酮及多糖类化合物,主要来源于酿酒发酵原料及其在液体发酵过程中的浸出。绝大多数植物内都含有黄酮及多糖类化合物,其在植物的生长、抗菌防病等方面起着重要的作用。由图4可知,两组样品酒液中的黄酮含量差距不大,范围都在45~50 mg/L之间。黑米酒、小米酒等两款不同风味的米酒中都含有黄酮,但含量都较少。黑米酒中的总多糖含量高于小米酒,表明发酵过程中可能黑米原料中的多糖化合物更容易浸出。黄酮及多糖类化合物均具有抗氧化、清除自由基等生物功效,风味米酒中含有适量的黄酮及多糖类化合物,有利于提高酒体的营养价值,具有潜在的营养保健功效。
2) 返回结果状态。节点执行会得到返回结果,返回结果的状态有Success、Failed、Wait和Error,其中
“一体两翼”式实践教学目标体系是指以应用能力为主体、以职业素质培养和职业资格证书获取为两翼的实践教学目标体系(图1)。
a) Success状态:条件满足或行为已经成功执行完成,返回成功状态;
b) Failed状态:条件不满足或行为未能得到成功执行,返回失败状态;
c) Wait状态:返回等待状态表示行为还未执行完成,还需再次调用使之完成;
d) Error状态:发生错误且已经显式地处理。
3) 树的遍历。行为树的基本实现中,系统每一帧从树的根部开始遍历,按照从上至下,从左至右的顺序检测每个节点是否被激活,直到到达当前激活节点刷新行为树。
2 空中作战决策仿真的行为树建模
2.1 空中作战决策仿真过程分析
空中作战的决策过程实质上是一个动态的条件判断、行为规划和调整的过程[8]。空中作战行为可以从使命、任务和行动3个层次来理解和描述,如图1所示。
图1 空中作战决策框架
自顶向下为决策过程,模型外部自主决策是任务决策Agent依据作战指挥人员录入的知识和规则等来支持仿真运行中的顶层决策过程,将使命任务分配到各个机群。模型内部自主决策包括多Agent间的行动协同及基本行动序列的实现,主要通过作战仿真推演系统内部结合物理模型来设计实现。
自底向上为实现过程,基本行动序列的组合可以完成单机任务,机群内部通过一定协调方式完成机群任务,最后实现作战使命任务。
本文采用行为树对任务决策Agent模型外部自主决策过程进行建模,而模型内部自主决策由作战仿真推演系统实现。通过模型内部自主决策和模型外部自主决策相结合来实现智能决策。
2.2 空中作战的模型外部自主决策规则
本文建立的基于行为树的模型外部自主决策模型,需要从作战仿真推演系统中读取战场态势、兵力资源等信息,并将决策结果即任务反馈给作战仿真推演系统,作战仿真推演系统通过模型内部自主决策模型来实现机群内部的自主协同决策及个体动作。决策规则由条件空间和命令空间组成,本文将决策所需的输入信息(即从作战仿真推演系统中获取的信息)作为规则的条件空间,将决策的输出信息即任务作为规则的命令空间。
1) 决策规则的条件空间
参考文献[9],条件空间的描述维度主要来源于使命任务、作战能力和威胁态势三大方面。
a)使命任务:包括计划时机条件、任务类型条件和使命任务条件等。
b)作战能力:包括可用武器条件、可用能量条件、可用对抗措施条件、自身状态条件等(需要根据OCEAN再进行更改)。
c)威胁态势:包括目标发现条件、目标类型与数量条件、目标方位条件、目标距离条件、目标攻击状态条件、目标防御状态条件、武器攻击可行性条件和威胁告警条件等。
2) 决策规则的命令空间
随着高技术武器装备和指挥控制系统的发展,空中作战过程更加复杂,涉及多类型多数量的作战行动和作战任务,为了有效阐述本文方法,对空中作战过程进行合理简化,选择典型的空中作战任务进行说明,本文主要考虑5类空中作战任务:创建地导、水面和空中禁航区、侦察任务、打击任务、压制敌防空任务、加油任务,其中压制敌防空和加油任务均属于支援任务。
任务可用五元组来表示,以侦察任务为例:
recon-mission< type, GUID, side, rps, free inventory, contacts, state>,其中type对应对空侦察、对地侦察、水面目标及水下目标侦察四种类别,GUID为当前任务的全局唯一标识,side为该任务所属的对阵方,rps为侦察区域的参考点,free inventory为当前任务可用武器库存,contacts为当前侦察区内的目标列表,state为当前任务状态,包括发现新目标、更新侦察区域和任务完成等。
2.3 构建空中决策仿真行为树
任务决策Agent的决策过程在于依据获取的战场态势信息及己方武器装备情况,来进行顶层的任务分配,这包括战场态势信息的实时监控与任务规划。因此空中决策仿真行为树包括监控AI子树(图2)和规划AI子树(图3),其中监控AI子树负责监控实时的战场态势并创建相应的禁航区,规划AI子树负责根据实时的战场态势及己方兵力、武器装备情况来进行任务分配。同时,各个行为树的行为节点是相应的空中作战任务,任务有许多类型和选项,下面将结合行为树进行说明。
阿东终于去了学校。走的那天,他叫阿里起床,阿里高声叫姆妈时,他便拉他到录音机前,让他自己按下播放键。哀乐响了起来。阿里便安静了。他认真地听完,然后自语道:“姆妈睡觉了。”说罢便去穿衣服,然后又走到妈妈房间门口大声说:“姆妈,我去刷牙。”
图2 监控AI子树
图3 规划AI子树
监控AI子树包括4个选择节点(菱形框表示)和6个行为节点(椭圆表示),选择节点负责控制监控AI子树的逻辑,监控地导阵地、水面舰艇和空中作战的禁航区。行为节点为相应的任务,包括更新地导阵地禁航区、创建地导阵地禁航区、更新水面舰艇禁航区、创建水面舰艇禁航区、更新空中作战禁航区和创建空中作战禁航区。
2.问题的设置要有一定的启发性。教师在进行问题设置时必须注意其启发性,学生在思考的时候便会有一定的疑惑,这样很容易让学生为了问题进行争论,这样,学生的交流也会增多,学生的思维也很容易得到开发,比如说教师在教学时,设置问题启发学生进行思考,并对学生进行一定引导,这样学生在思考问题时,便会愿意更加积极地进行探索,从而不断提高自身的思维创造力和探究性思维。教师在设置问题时,应该设置一些灵活性比较强的题目,并对学生进行启发,教会学生举一反三,这样学生的思维会更加灵活,很容易学会一类题的解法。
规划AI子树包括7个选择节点(菱形框表示)、2个顺序节点(矩形框表示)、2个条件节点(带双横的矩形框表示)和8个行为节点(椭圆表示)。规划AI节点依据当前态势情况,判断是否满足攻击条件节点或防御条件节点的条件来选择执行攻击还是防御,在攻击或防御选择节点下进行任务选择。根据空中作战的特点,我们将任务划分为4类:侦察任务、打击任务、防卫任务、加油任务和压制敌防空任务,分别对应了更新或创建的行为节点。
通过行为树建模方法,我们初步实现了一般空中作战决策过程的建模,该方法简单清晰,军事人员可以依据自身军事知识和经验扩展该树。同时,该建模方法可以推广应用到一般作战过程的建模中。
3 基于Lua脚本语言的行为树实现
3.1 Lua脚本语言介绍
脚本语言是为了缩短传统的编写-编译-链接-运行过程而创建的计算机编程语言[10]。Lua是一个轻量级的、独立的、可扩展的嵌入式脚本语言,可以嵌入到应用程序中,为应用程序提供灵活的扩展和定制功能。本文选择Lua脚本语言来实现行为树,原因如下:
1) 跨平台:Lua使用标准C语言实现,几乎在所有操作系统和平台上都可以编译。
2) 轻量级:Lua语言只包括一个精简的核心和最基本的库。这使得Lua体积小、启动速度快。
3) 双向调用:Lua和C/C++函数之间可以相互调用。
本文选择Lua脚本语言作为实现行为树的开发工具,充分利用Lua脚本语言的优势:
继承行为树类BT的属性和方法;
1) 节点。行为树节点包括根节点、动作节点集、条件节点集、逻辑节点集。其中根节点以一定频率向其子节点发送使能信号(Tick),通过逻辑节点逐层传递给动作节点或条件节点,并接收节点的返回结果。动作节点(Action)改变系统状态。条件节点(Condition)查询当前状态。逻辑节点控制整个行为树的执行逻辑,负责向下传递使能信号(Tick)以及向上汇报执行情况。常用的逻辑节点有修饰节点(Decorator)、顺序节点(Sequence)、选择节点(Selector)以及并行节点(Parallel))。各个节点说明如下:
3) 实现了Lua脚本调用作战仿真推演系统OCEAN核心模块的接口,实现了外部系统动态访问系统内核,为实现行为树提供了有力保障。
3.2 作战仿真推演系统OCEAN调度行为树流程设计
作战仿真推演系统OCEAN具有强大的集成场景编辑器,可用于实时模拟海空军作战行动。OCEAN调度行为树是通过决策事件来实现的。事件=触发器+动作,其中触发器是动作发生的条件,满足该条件时,将会触发触发器,并且改变触发器的状态。当触发器的状态发生改变时,则会产生对应的事件。当某个事件产生时,需要采取对应的处理措施,即动作。
决策事件分为内部决策事件和外部决策事件两大类。其中内部决策事件是由物理模型实现,包括武器发射、任务完成、目标丢失等。外部决策事件包括仿真事件、条件事件和计时事件三大类。本文设计了两类外部决策事件:一是加载行为树的Lua脚本,二是更新行为树。
1) 加载行为树的Lua脚本:该事件为条件事件,当满足“加载想定完成”条件时,触发该事件,执行“加载数据库和加载Lua脚本实现的行为树”动作,其中Lua脚本实现的行为树流程如图4所示。
图4 Lua脚本实现行为树流程
依据上图流程初始化当前对阵方的空中作战决策行为树,分别创建规划行为子树和监控行为子树,并管理各个行为树节点。3.3节将对其中重要函数的设计进行说明。
2) 更新行为树:该事件为仿真事件,在仿真时钟内定时更新行为树。
虽经过几年发展,科研众包平台对许多人来说还是一个比较新鲜的事物。调研的几家省级培育平台都很年轻,运营时间最长的也不过7年。自创立以来,这些平台都是边摸索边实践,不断调整平台服务方式及策略,以适应千变万化的创新需求。但无论它们以何种方式开展服务,能否为产业及企业的技术难题提供实实在在的帮助,是科研众包平台有无价值及能否生存下去的根本。科研众包平台发展中面临的各种问题,大部分可以通过市场的手段去解决与消化,有些则需要政府相关部门的关注和重视,采取适当的行政手段来进行优化与改善,以推动科研众包这一创新模式在区域产业科技创新中发挥出更好的助推作用。
3.3 基于Lua脚本语言的函数实现
该行为树涉及的函数大致分为三类:实现基本行为树操作的函数、获取当前对阵方态势及兵力信息的函数和更新创建相关任务的函数。
1) 实现基本行为树操作的函数:这包括创建行为树节点、为当前行为树增加子节点以及顺序节点等逻辑节点的实现。这里以创建行为树节点(伪代码1)和顺序节点(伪代码2)的实现为例进行说明。
将干燥好的金银花样品快速、准确称取1.0g放入已经恒重的铝盒中然后放入小干燥器上部,下部放入不同浓度的硫酸溶液。用硫酸溶液保持干燥器中的相对湿度,不同硫酸浓度在不同温度下的水活度如表1所示。
伪代码 1:创建行为树节点函数
Function创建行为树节点(动作,全局唯一标识,键)
试验组的包装质量、消毒质量、收回及时度、供给及时度等护理质量评分与对照组进行比较,对照组均低于试验组,差异有统计学意义(P<0.05)。见表1。
end
创建实例instance表{};
1) 实现了空中作战决策行为树的逻辑节点及动作节点功能;
创建实例instance的子节点表{};
获取全局唯一标识;
从上文不难看出,在进行防渗墙体修建的过程中对于各项工作都务必要做大谨慎、精密,保证操作流程按照规范的要求进行。在清楚的了解该工程实施防渗墙操作的难题时,需要加强对攻克难题所制定的工作计划检查,有效的保障防渗墙具有足够的防渗效果推动水利大坝工程的施工进度。
获取实例对应的键;
获取节点返回状态;
return 当前节点返回状态为fail
2.1 临床疗效 改良组的总有效率(97.6%)高于传统组(85.7%),差异有统计学意义(P<0.05)。见表1。
}
创建节点时需要指定该节点的类型(选择、顺序或动作等),给定全局唯一标识符及键(键值是相对应的,值的形式多样,键用于存入内存)。每个行为树节点都是一个table(表),用于存储该节点的相关信息,包括元表、全局唯一标识符、子节点和运行结果等。
伪代码 2:顺序节点函数
Function顺序节点( )
{
for 当前节点的子节点表do
if (子节点返回状态==fail) then
return实例instance;
end
茂友叔因为媳妇走失,性格变得沉闷孤僻。平常不轻易到人家里走动,除非要借一升谷子或者十几斤苞谷的时候,他才会来我家。他也去小珍家借,但小珍的妈妈一次都不借给他,说他借一升谷子一拖就是大半年才能还上,借不得。母亲和小珍妈妈不同,母亲是刀子嘴豆腐心,只要别人跟她开口,她总没有一口就拒绝的。这样,茂友叔像是认定了我们家似的,为此,常常惹父亲不高兴。
{
过去的十年,是中国邮轮发展起步的十年,无论从邮轮母港建设、配套设施配备、邮轮市场规范、本土邮轮产业扶持、还是邮轮人才培养方面,我国政府都给予了高度关注以及政策上的倾斜与扶持。如今,中国邮轮母港建设已经初具规模,中国邮轮相关政策相继出台、邮轮市场铺垫初步完成、邮轮相关的产业结构链条也初步建立了起来,而通关业务、市场销售体系规范等相关的软环境体系还存在的诸多问题依然阻碍着中国邮轮产业的发展,迫切需要完善与解决。
return 当前节点返回状态为success
}
在顺序节点的子节点中遍历子节点的结果,当且仅当顺序节点的所有子节点均返回为“真”时,该节点才返回为“真”。
2)获取对阵方态势及兵力信息的函数:这包括预测目标的位置信息、根据给定的位置建立侦察区域、确定武器装备的类型、获取己方各类型兵力库存和获取不明敌方目标等。这里以获取可用战斗机库存为例进行说明,如伪代码3所示。
伪代码 3:获取战斗机库存函数
Function 获取可用战斗机库存 (当前对阵方键)
{
获取可用战斗机全局唯一标识GetGUID ( );
return 可用战斗机全局唯一标识;
}
其中GetGUID()函数的伪代码如下所示。
伪代码 4:GetGUID ( )函数
Function 获取全局唯一标识 (键)
{
获取键值对应的实例;
if 实例==nil then
实例为空;
end
return 实例
}
获取战斗机库存包括获取空闲的战斗机和执行任务的战斗机的信息。依据对阵方信息(键)及想要获得的信息(键)(空闲/忙碌)获得值(在此例中是字符串,表示战斗机),如果存在,则返回战斗机库存的table(表),否则返回空表。
3)更新创建相关任务的函数:相关任务在行为树建模时已经得到定义,这里以创建空中打击任务为例进行说明,如伪代码5所示。
伪代码 5:空中打击任务函数
Function 创建空中打击任务 ( )
{
获取当前对阵方;
获取当前已有的空中打击任务列表;
获取当前位置参考点坐标;
获取当前可用库存;
获取当前目标;
if 当前任务数 > 0 or可用库存数 == 0 or 当前目标数 == 0 then
return false;
end
获取目标区域;
设置参考点;
创建打击任务;
设置任务规则;
分配可用库存;
增加全局唯一标识;
设置时间戳;
return true;
end
}
首先,获取敌我双方位置、库存、目标等变量信息,判断是否满足创建新任务的条件:若已存在任务或库存为0或敌方力量为0时,则不能创建新的打击任务。然后,根据已知信息放置参考点,创建打击任务。最后,为打击任务分配可用兵力并创建全局唯一标识符,返回任务创建成功。
4 案例实现及分析
本文以某空中作战为背景,红方由地面防空部队、水面舰艇和战斗机组成,蓝方的任务是突破由大量战斗机巡逻警戒的反介入/区域拒止环境。(反介入:敌军抑制我军进入作战区域的行为;区域拒止:敌军试图拒止我军在其控制区域内行动自由的行为)。蓝方的空中作战决策过程由前文所述的行为树建模实现,本文将借助作战仿真推演平台OCEAN对蓝方的空中作战决策进行仿真。将Lua脚本语言实现的行为树加载至该作战仿真推演软件中,并依据3.2节的内容设置加载行为树和更新行为树事件。
选择对阵方为蓝方,启动推演后,触发加载行为树的Lua脚本事件,该事件的动作是执行Lua脚本,按照图4流程实现空中作战决策行为树。仿真推演过程中的消息输出如图5所示。
首先是执行规划行为树,即创建任务并分配兵力资源。蓝方首先读取敌我双方的信息,依据态势自行创建任务(白色输出消息),包括侦察任务(a-rec-miss)、支援任务(a-aew-sup-miss)和加油任务(a-tan-sup-miss)等,并通过读取兵力资源信息,为各个任务分配兵力资源(绿色输出消息),参与任务的各战机分别执行探测(黄色输出消息)、打击、支援和加油等任务。具体的战场态势显示如图6所示。
图6中,红色框图为执行空中决策行为树所建立的任务区域,包括侦察任务和打击任务等,同时依据行为树为各任务分配战机,战机从基地按自行规划航线(白色直线)到达任务区域执行相关任务。每个战机具有探测功能(圆形实线表示)。
其次是执行监控行为树,即监控战场态势并更新相关任务。以图6中的左侧防空任务(a-aaw-miss-1)1为例,在推演开始时,该任务区域的4个参考点坐标为:参考点1(55°39′24″N,154°01′43″E)、参考点2(55°39′23″N,166°34′00″E)、参考点3(49°29′39″N,166°37′19″E)、参考点4(49°26′59″N,154°01′02″E)。
随着战场态势的变化,该任务得到更新,如图7所示,更新后的任务区域的4个参考点坐标为:参考点1(56°30′57″N,151°30′38″E)、参考点2(56°33′34″N,165°50′23″E)、参考点3(49°23′18″N,165°41′42″E)、参考点4(55°23′37″N,156°56′32″E)。
图5 仿真推演消息输出
图6 仿真推演态势显示
图7 战场态势更新图
行为树实现的空中作战决策不仅可以完成相关侦察巡逻任务,同时还可以进行压制敌防空和打击等任务,具有较好的自主决策能力。
5 结束语
本文在分析了传统空中作战决策研究的基础上,结合实际应用,提出了空中作战决策的行为树建模与仿真方法,当状态空间增大时,只需要在原来的行为树基础上增加子树即可。该方法具有一定的可行性和有效性,能够实现自主决策。
参考文献 :
[1] 鲁大剑. 面向作战推演的博弈与决策模型及应用研究[D]. 南京:南京理工大学, 2013.
[2] 徐世均, 刘耿, 李杏. 编队作战指挥中作战决策建模技术[J]. 指挥与控制学报, 2017, 3(4):327-329.
[3] 孙鹏, 谭玉玺, 李路遥. 基于态势描述的陆军作战仿真外部决策模型研究[J]. 指挥控制与仿真, 2016, 38(2):15-19.
[4] 郭智杰, 糜玉林, 王建国. 基于MAS的防空武器协同作战决策研究[J]. 兵工自动化, 2016, 35(7):80-85.
[5] Mert E, Jilson E W. Modeling Conventional Land Combat in a Multi-Agent System Using Generalization of the Different Combat Entities and Combat Operations[J]. Thesis Collection, 2001.
[6] 彭勇. 作战方案仿真实验自动指挥决策问题研究[J]. 军事运筹与系统工程, 2017, 31(3):47-50.
[7] Puga G F, Gómez-Martní M A, Daíz-Agudo B, et al. Dynamic Expansion of Behaviour Trees[C], Artificial Intelligence and Interactive Digital Entertainment Conference, October 22-24, 2008, Stanford, California, Usa. DBLP, 2008.
[8] 何磊. 基于DSM的空战效能仿真决策行为建模方法研究[D]. 长沙:国防科学技术大学, 2014.
[9] 张文. 基于脚本的歼击机空战行为决策模型框架研究[D]. 长沙:国防科学技术大学, 2011.
[10]刘晓伟. 基于行为树的游戏智能研究[D]. 长沙:湖南大学, 2014.
Behavioral Tree Modeling and Simulation for Air Operations Decision
DONG Qian, JI Meng-qi, ZHU Yi-fan, YANG Feng
(College of Systems Engineering, National University of Defense Technology, Changsha 410073, China)
Abstract :Based on the analysis about the research of air operation decision-making, when the state space scale increases, the rules and conditions of the model’s external autonomous decision-making describe complex and difficult problems, this paper puts forward the behavioral tree modeling and simulation method for air combat decision-making. The general process of air warfare simulation decision-making is elaborated, the external autonomous decision-making rules of air combat are combed, the air combat behavior tree model based on model external autonomous decision-making is constructed, and the air combat behavior tree model is implemented based on Lua scripting language, and finally simulation is used. The wargaming system OCEAN is used to demonstrate the case and realize the autonomous decision-making simulation of the air combat behavior tree, which proves the effectiveness of the method.
Key words :decision-making in air operations; behavioral tree model; Lua scripting programming language
中图分类号 :E94
文献标志码: A
DOI: 10.3969/j.issn.1673-3819.2019.01.003
文章编号 :1673-3819(2019)01-0012-08
收稿日期 :2018-06-07
修回日期: 2018-06-30
作者简介 :
董 倩(1993-),女,江苏连云港人,硕士研究生,研究方向为指挥流程仿真与推演。
纪梦琪(1993-),女,硕士研究生。
标签:空中作战决策论文; 行为树论文; Lua脚本语言论文; 国防科技大学系统工程学院论文;