APP下载

融合行为树和势力图的作战决策建模方法

2021-11-19张俊峰张媛媛

计算机仿真 2021年10期
关键词:指挥员敌方势力

张俊峰,薛 青,张 扬,张媛媛

(1.陆军装甲兵学院演训中心,北京100072;2.解放军32370部队,北京10091)

1 引言

战术兵棋对战场环境、作战兵力、作战行动等作战相关要素进行抽象,通过数字地图、推演棋子和运行规则等进行作战模拟,具有不完全信息、不确定条件、博弈对抗等特点,为研究作战决策提供了工具手段[1,2]。通常,兵棋分为红蓝两方阵营,一方的指挥员可由AI担当,称为AI指挥员,是作战决策的主体。在兵棋对抗中,作战决策是随着战场态势的变化而不断调整适应的动态过程,如何动态评估战场情况并采取合理有效的战术策略体现AI的智能程度。

AI作战决策建模要反映人类指挥员决策过程,以合理的战术策略为决策对象,主要考虑决策主体分析战场态势、制定作战决心、下达作战命令的一系列活动,决策过程如图1所示。首先是收集信息,分析并评估战场情况,这是指挥官做出决定的前提和基础,指挥官需要掌握兵力部署、敌方兵力对比和作战目标等信息,并分析敌人的主要进攻(防御)方向以及环境对战术行动的影响;然后,指挥官进行兵力分配,确定行动目标和基本战术,做出战术决策。最后,指挥官指挥部队展开战术行动,影响改变战场态势。分析评估战场态势和进行战术选择是决策行为的重要组成部分,两者不是割裂的,并且以分析态势—>采用战术策略—态势变化—>调整战术策略的方式循环运行,两者有机统一地贯穿在AI指挥员决策活动过程中。

图1 指挥员决策过程

势力图(Influence Map,IM)[4]是叠加在地图的信息网格,每个网格基于一些功能函数赋值,可反映融合不同类型的信息,用来为AI指挥官提供战场信息支撑。行为树(Behavior Tree,BT)基于分类的思维方式,对战术行动进行分解,以树的形式对战术选择和行动进行编码,将决策逻辑层次化、可视化,可用来实现AI指挥员的决策行为[3];本文分析作战指挥决策的一般流程,并分析了势力图和行为树的相关原理及其在AI指挥官决策建模中的应用;在此基础上设计融合势力图和行为树的作战决策框架,并针对坦克分队行动决策做了具体阐述;最后借助兵棋对抗比赛平台,设计了智能决策引擎,对算法进行验证。

2 行为树和势力图建模

2.1 行为树建模

AI逻辑常用的实现技术是有限状态机(Finite State Machine,FSM),它维护Agent的状态图,通过逻辑判断来更改Agent的状态,使其从一种状态转换为另一种状态。但是当AI逻辑复杂时,其状态很难重用且状态切换非常繁琐,不方便对现有行为逻辑进行扩展。行为树BT[5,6]是对FSM的改进。FSM中的节点表示状态,而BT中的节点代表动作,BT[7]把AI逻辑抽象成不同类型的节点,并将各节点组织成分层树结构。BT的优点如下:提供许多过程控制方法,使AI逻辑更为明晰;行为模块间藕合度较低且复用性高,可快速迭代;方便代码编写和调试。

BT的建模主要分为节点的内部逻辑和节点的遍历机制。

1)节点的内部逻辑

节点集可表示为V=T∪C∪D∪A∪C,包括根节点T,控制节点集C,装饰节点集,D动作节点集A,条件节点C。父节点控制子节点,子节点向父节点返回True或False。动作节点和条件节点是行为树的叶子节点。

①动作节点:指用于完成动作的节点,可描述AI的各种行为,比如机动、射击等。

②条件节点:自身包含的条件为真则返回True,为假则返回False。

③装饰节点,只能有一个子节点,为子节点添加一些功能设计的。比如说子节点的循环次数,改变子节点的返回状态等。

④控制节点:指具有多个子节点行为的节点,用以实现更为复杂的逻辑,是非叶节点。一般分为选择节点、序列节点、并行节点等。选择节点:从头到尾,依次执行每个子节点直到其中一个成功执行或者全部失败为止;序列节点:从头到尾,顺序执行每一个子节点,直到其中一个失败为止;并行节点:从头到尾,平行执行它的所有子节点。

2)节点的遍历机制

从根节点开始,查询子节点的状态,当节点状态为激活时,会继续执行节点的逻辑,节点执行后,向父节点返回True或者False。

战术兵棋中,BT将作战决策过程抽象为控制节点和动作节点,如进攻,侦察,目标选择等[8];而后组织成分层行为树推理战术决策结果。由于其可视化和可拓展的特点,军事需求人员可以方便地添加和完善功能。

2.2 势力图建模

势力图基于空间区域划分实体的势力范围,定义每个实体在空间区域的影响[9,10]。势力图将作战地图划分为多级单元格网格,每个单元格反映有关该区域的特定信息。每个战斗单位都占据并影响一定的空间,通常影响效果随距离增加而减小;具有相同属性的单位可以叠加影响效果。

实体u在网格(x,y)的势力值可用下式表示,其势力值随着距离的变化而变化。

(1)

其中influence表示实体在所在位置的势力值,Size表示势力图的大小。

为使AI指挥员获取尽可能多的信息,降低决策信息熵,本文构建了基于概率模型的综合势力图,以更充分地挖掘态势信息,为战术策略选择提供支撑,如图2所示。

图2 基于概率模型的综合势力图

综合势力图有多个信息层组成,其信息来源一方面是完全信息,一方面是不完全信息,即动态估计的信息。完全信息可分为静态信息和历史经验信息。图中,图层颜色的深浅反映出某种势力属性的强弱,箭头从上到下,反映了势力图的形成过程。首先,提取对战初始状态的信息例如我方兵力,可观察到的敌方部署,战术要点等,量化处理后形成静态信息层;然后对数千局兵棋对战信息进行数据挖掘,分析关键地点,敌方分队的常用行进路线,形成经验信息层;最后,在作战过程中,分析交战规则、裁决信息和战场态势信息,通过功能函数加权运算,形成代表视野和火力威胁等动态信息的势力图层。

2.3 决策循环过程

AI指挥官综合分析战场环境和兵力对比等信息,结合经验知识确定作战目标、制定相应的战术策略,定下战斗决心;指挥作战部队执行战术行动,引发战场情况的变化;根据态势变化调整战术策略,整个过程形成一个决策循环。在决策建模过程中充分利用了势力图和行为树技术,如图3所示。

图3 决策循环过程

运用行为树将战术指令进行梳理分析成控制节点和行为结点,以树的形式进行组织,使得AI具备了分类推理的能力。利用势力图管理综合信息:地形及可见实体信息;通过历史数据挖掘的包括分队关键地点和行进常用路线等信息;利用功能函数计算得到的敌方概略位置、敌我双方观察视野、敌我双方火力覆盖范围等动态信息,使得AI拥有了经验知识和推理计算能力。AI指挥官通过势力图获取尽可能多的信息,然后通过查询策略行为树,得到决策结果,执行战术指令。

3 融合行为树和势力图的作战决策模型

3.1 决策框架

AI指挥员作战决策是对情况进行判断、定下决心和任务规划的动态过程。基于行为树和势力图的决策模型契合了这一过程。对战博弈中,AI指挥官始终考虑战场态势和敌方战术变化,根据掌握的综合信息,运用势力图对敌方位置和火力威胁等进行估计。如图4所示。

图4 基于行为树的决策框架

AI指挥员可利用势力图对不完全信息进行有效预估。以敌方位置估计为例,采用实时侦察结果、裁决结果和历史对抗数据的先验知识进行融合建模,预测棋子位置的准确率平均可达到85%以上。如果敌方作战单元可被我侦察到,则其位置是确定的;在敌方作战单元位置难以确定时,可通过式(2)计算敌方单位在势力图任意位置上出现的概率。

(2)

式中:gi为势力图上的任一方格,N为网格数;ω为不同因素的权重;vi_hpos、vi_v、vi_tdis分别指先验位置、敌方视野、敌方单位与关键要点的距离对位置估计的影响值。

AI指挥员根据战场态势分析情况,将任务分解为子任务;子任务划分为若干个行动,由作战分队划分为若干个小组分别完成。作战小组在执行行动前,利用势力图判断情况,进行决策,下面以坦克分队执行目标攻击任务为例进行说明。

3.2 坦克分队行动决策

战术兵棋中有多种类型作战单元,如坦克、装甲车和步兵等,其武器装备和作战样式也不同。以坦克分队打击决策为例,把分队行动划分为侦察、撤回、射击、防御、攻击等子节点。AI指挥员利用行为树实现坦克分队攻击的合理决策,在此过程中不断计算、查询和更新势力图,如图5所示。图中一格表示六角格棋盘上的一个距离单位。从图中可以看出行为树对整个决策过程有清晰直观的表达,而且动作结点在很大程度上可以复用。决策过程体现为以下步骤:

图5 基于行为树的坦克分队行动决策

步骤1.坦克分队通过势力图判断战场情况,并决定进攻还是防守。决策依据是

•最大化视野内敌我双方兵力比。

•最大化我方火力覆盖范围。

•最大化降低作战单元被击中的概率。

根据基于概率的势力图模型,建立敌方火力威胁、指定范围内敌我兵力对比、我方火力覆盖等目标函数。式(3)计算决策综合指标。

μ=W1*Peu+W2*Pflevel+W3*Pv

(3)

式中:ω为决策因素的权重,Peu是双方兵力比;Pflevel表示敌方火力威胁,Pv表示我方火力覆盖度。定义决策阈值,比较μ和阈值得到决策结果。

步骤2.根据上步结果决定是否执行攻击动作。继续判断攻击方式:运动间射击还是停止间射击,如果攻击范围内发现敌方作战单元,可执行停止间射击或者执行前出射击,作战单位根据目标特征选择毁伤效果最佳的武器;如果攻击范围内没有敌人,需要在运动时侦察寻找目标。

步骤3.通过势力图进行查找敌方目标最可能出现的位置,提高对目标的搜索效率和准确性。综合考虑路径长度和威胁度获取最佳的侦察路线,执行一格侦察或两格侦察,侦察过程中发现目标即发起攻击。

步骤4.通过运动侦察找到目标,选择对敌毁伤效果最好的武器执行射击动作。最后,为尽量避开敌人的前出射击,根据最新的势力图,规划撤离路线,完成一次攻击行动。

4 实验

实验基于“先知·兵圣”兵棋对抗赛使用的兵棋平台进行,该平台包含内置脚本AI,并为参赛队伍提供了完备的应用程序接口,可对AI指挥官进行编程。在此基础上,本文设计了AI决策引擎,对基于势力图和行为树的作战决策方法进行了实验。

4.1 运行环境

AI决策引擎设计如图6所示。决策引擎从兵棋接口平台中获取地形、兵力、裁决结果等信息,从历史对战数据中挖掘出经验信息,生成综合势力图。AI指挥员利用行为树技术,推理行为策略,向接口平台输出动作指令,然后驱动前端界面显示。

图6 AI决策引擎

4.2 实验效果

基于决策引擎开发融合行为树和势力图技术的AI指挥员,称之为BTAgent。BTAgent融合战场态势信息、历史经验数据等信息,构建基于概率模型的势力图;使用行为树推理选择战术策略,并充分利用势力图提供的信息进行决策。BTAgent吸取了人类选手的经验,其做出的战术行为较为合理,实现了最大限度地消灭敌人并保存自己的战术目标。

在兵棋比赛中,BTAgent与其它参赛队伍开发的AI指挥员之间进行机机对战,其总成绩名列前茅,验证了建模方法的有效性。

5 结论

在兵棋对战博弈中,AI指挥官如何运用更灵活和更合理的战术策略?本文提出了行为树与分层势力图相结合的作战决策方法来解决该问题。利用行为树对AI行为逻辑进行建模,利用分层势力图掌握尽可能多的战场态势信息、为AI指挥员确定打击目标,选择战术策略提供信息支撑;利用行为树使得决策过程更为明晰,AI指挥官的战术决策更为合理。本文所提方法通用性强,随着军事需求的拓展,很容易修改或添加决策相关功能,为作战决策建模提供了参考借鉴。

猜你喜欢

指挥员敌方势力
少林韦陀十八手
UP!00后新势力
柳婉琴 柔势力 新经济
水果大作战
火场秩序混乱的原因分析及对策
贵州: 干好“指挥员” 做优“作战员”
三十六计之顺手牵羊
小罗汉拳技击术(上)
罗汉神打 (下)
指挥员