邢思远 倪晚成 张海东 闫科
1.中国科学院大学北京100049 2.中国科学院人工智能创新研究院北京100190 3.中国科学院自动化研究所北京100190 4.国防大学联合作战学院北京100091
兵棋[1]被誉为导演战争的“魔术师”,是通过不断地“模拟-复盘-重新推导”以研究战争和分析战争的有效工具.兵棋推演的最大特点在于“人在回路决策”,其实质是对人在回路的O-O-D-A[2](观测–判断–决策–行动)指挥控制过程的模拟.因此,计算机兵棋推演所产生的复盘数据中蕴含了大量指挥人员关于地形利用、武器使用、行动协同等决策经验的高价值知识.博弈复盘一直是人类总结和获取博弈经验的有效途径,如何从大量复盘数据中自动/半自动提取出高价值指挥员经验知识,是一项极富吸引力的工作.
数据挖掘[3]利用统计方法、机器学习以及数据库系统等方法和技术,从海量数据中提取隐藏于其中的知识与模式.文献[4]提出了一种挖掘兵力部署模式和缺陷的方法,帮助指挥员分析战场态势.文献[5]提出了兵棋应用可拓数据挖掘的必要性,并且将其用于知识库构建.文献[6]提出一种基于梯度提升树(Gradient Boosting Decision Tree,GBDT)的机器学习算法对反映兵棋战场态势的数据样本进行行为性描述分类,帮助降低人工标注标签的成本.目前数据挖掘在兵棋数据分析中的应用,主要解决了推演对抗的其中一方算子的行为分析的问题,然而博弈对抗中的行动决策是指挥员综合推演规则、目标、作战环境以及敌方行动而做出的判断.从大规模复盘数据中获取指挥员的经验知识,必须将对手的行为数据和地形、武器等作战要素纳入考虑,从数据中挖掘地形、武器等客观要素与主观行动、行动与战果之间的关联关系.
本文以“人在回路”的兵棋推演产生的大数据为基础,基于关联规则挖掘思想,对推演过程中复杂的耦合拓扑关系和时空关系综合考虑,能够挖掘兵棋对抗过程中的关键指标,并依据这些指标对指挥员作战决策与战场态势的条件进行关联,深入挖掘指挥员对环境进行观察、判断到决策这一动态过程的规律和方法.
本文所使用的陆军战术兵棋,将军事对抗抽象为棋子、棋盘和裁决规则3 类要素.其中棋子表示双方的作战力量,由作战单位和作战武器组成;棋盘表示作战的环境或地形,由一系列带有坐标信息和地理地形信息的特殊六角网格组成;裁决规则模拟了武器产生的毁伤效果.
火力打击行动,是指运用火力手段对敌目标实施的各种毁伤、破坏行动[7],是陆军作战的重要手段,也是夺取战场控制权和作战胜利的关键性决策.陆军战术兵棋推演中的火力打击行动表现为针对视野范围内对敌方作战单位的射击行动,包含行进间射击、机会射击和掩护射击.针对这些火力打击行为中指挥员对武器使用规律的挖掘,提出火力打击要素分析模型的总体框架如下.
基于兵棋推演复盘数据的火力打击要素分析模型框架,由数据层、兵棋要素层、关联挖掘层3 层组成,如图1所示.
数据层是火力打击要素关联分析模型的底层支撑,存储数据包含静态数据和动态数据两类.静态数据是指在推演设计时对地形、武器、夺控要点等兵棋要素进行的设定数据.动态数据是在推演过程中,产生的序列化行动相关数据.
兵棋要素层抽取与火力打击决策有关的战场态势关键因素,建立可计算的要素表示模型.主要包含火力打击中己方实力属性、敌方实力属性和战场环境的客观因素属性3 方面.其中己方实力属性和地方实力属性分别包含作战单位、攻击武器、单位数量、装甲防护、所处状态等.客观因素包含火力打击时间、火力打击所处地形、火力打击距离等.
关联规则挖掘层基于数据层构建出的火力打击行动的结构化数据和兵棋要素层分析的与火力打击行为决策相关的要素,从地形、协同和战果3 个维度按照不同要素选择和约束条件构建待挖掘频繁项集,最终通过关联规则挖掘算法(Apriori)挖掘火力打击行动与作战要素之间的关联规律,分析挖掘结果以得出武器的使用规律及效用.
图1 火力打击要素分析模型总体框架
本文将火力打击关键要素分为我方要素、敌方要素和环境要素3 类,如图2所示.
图2 火力打击要素
为实现要素之间的关联关系挖掘,对相关要素进行形式化表示如下:
1)时间要素
在兵棋推演中,推演按照推演流程和推演时间进行.推演时间包含推演回合和推演阶段,表示为T=t1,t2,t3,···,tn的序列形式.
2)地图要素
定义1地图单元格Coordinate是兵棋地图的基本单位,通常为六角格形态,定义为以下四元组形式:
其中,Type为单元格地质;Dif为单元格高程;Lon为单元格经度坐标;Lat为单元格纬度坐标.
基于地图格单元,兵棋地图定义为:
定义2兵棋地图Map是由兵棋地图格Coordinate组成的二维矩阵,表示为:
其中,row为兵棋地图行数;col为兵棋地图的列数.
3)作战单位要素
定义3作战单位Unit是兵棋的基本作战单元,定义为如下四元组形式:
其中,Weapon为作战单位的武器配置;Num为在所处推演阶段作战单位剩余车/班数;State为作战单位所处状态,包含机动、掩蔽、压制、行军、堆叠等;Equip为作战单位装甲等级.
4)火力打击行为
定义4火力打击行动Action定义为作战单位向敌方目标实施的一次射击行为,表示为如下五元组形式:
其中,Unit_Obj为攻击方作战单位;Unit_Tar为被攻击方作战单位;Coordinate_Obj为攻击方作战单位所处六角格;Coordinate_Tar为被攻击方作战单位所处六角格;Time为火力打击时间.
5)合同火力打击行为
合同火力打击通常是指作战指挥员在获取敌方作战单位的暴露信息后,根据战场态势,向己方两个及以上的作战单位下达针对敌方暴露单位的火力打击任务.执行这一任务的作战单位之间则产生了作战协同关系.如图3描述了在一次行动中,红方两辆坦克合同进攻蓝方处于一定区域内战车和步兵的过程.合同战术是当今作战理论的重要研究领域之一.
定义5合同火力打击行动定义为两个(及以上)作战单位发出的攻击行为,其各自的火力打击行动发生时间间隔不超过T∆,且相邻两次火力打击的目标之间距离阈值不超过D∆,基于式(4)所定义的火力打击行为如下:
图3 合同火力打击模式构建
“合同火力打击”构建约束条件的数学表达式为:
其中,Fire_Time1 和Fire_Time2表示两次火力打击行动所处推演时刻,Target_Loc1 和Target_Loc2表示两次打击目标所处兵棋六角格的位置.当两次火力打击行动目标为同一作战单位时,为合同火力打击模式的特例.
关联规则挖掘算法[8]是一种挖掘隐含于大量数据中事务之间产生依赖或关联的机器学习方法,对于战争规律挖掘具有广阔的应用场景,其基本概念如下:
给定一个含有m个事务的数据库D={d1,d2,···,dm},其中事务中项的全集为I={i1,i2,···,in},属性的总数为n.那么每个事务d都是项全集I的一个子集.
项集是指包含0 个或多个项的集合,如果项集中包含k个项目,则称其为k项集.项集的一个重要性质是其支持度计数,其数学定义为
式中,|·|表示集合中元素的个数.
关联规则是形如A⇒B的蕴涵表达式,其中A和B是项集,且A⊆I,B⊆I,A∩B=∅,A称为规则前项,B称为规则后项.
关联规则A⇒B的支持度sup表征规则中前项A和后项B所组成的项集在数据库D中给定事务中的频繁度,其数学定义为
式中,m表示事务数据的数量.
关联规则A⇒B的置信度con表征规则中后项B在包含前项A的事务数据库D中出现的频繁程度,其数学定义为
本文采用经典Apriori 关联规则算法[8]挖掘作战要素与行为之间的关联,其算法流程如图4所示.
Step1预定义最小支持度min_sup和最小置信度min_con的两个阈值.
Step2扫描数据库D,生成所有频繁1- 项集,记为L1.
图4 Apriori 算法流程图
Step3Lk−1进行项“连接”生成候选k-项集Ck,遍历Ck中每项的支持度,删除支持度低于min_sup的候选项,从而获得频繁k-项集.
Step4若由Lk能生成候选k+1-项集Ck+1,则k=k+1 并跳转到步骤3,否则跳转至步骤5.
Step5计算频繁项集置信度,生成所有两个频繁项之间的置信度大于min_con的关联规则.
根据2.1 节所述,基于Apriori 关联规则挖掘算法,从兵棋复盘数据中获取火力打击的武器效用知识流程如图5所示.其中关键步骤为:1)根据原始数据构建火力打击数据集.2)生成待挖掘的频繁项集.进而可使用Apriori 算法对频繁项集进行计算,挖掘关联规则.
2.2.1 火力打击数据集构建
兵棋复盘原始数据包含地形数据、武器数据、对抗数据和裁决数据,通常存储于业务系统不同数据表中.首先对原始数据进行多表连接,并按照推演时间t顺序排列所有火力打击行动;再按照1.2 节式(4)对火力打击行为的表示,提取形成结构化的火力打击行动数据集,其内容如表1所示.
2.2.2 面向武器效用的频繁项集构建
1)地形与武器使用和打击目标选择的频繁项集构建
该项集构建用于挖掘不同地形条件与指挥员实施火力打击的武器使用和目标选择之间的关联,以获得指挥员在不同地形条件下运用武器实施火力打击的经验规律.
图5 关联规则挖掘算法流程图
表1 火力打击行动结构化数据集(局部)
在如表1所示数据集中,按照每个不同地形分别筛选行动数据中的攻击单位和目标单位,从而形成与不同作战地形上(作战武器,攻击目标)对构成的待挖掘频繁项集D,如表2所示.
表2 武器使用与目标选择项集示例
2)协同规律频繁项集构建
协同规律项集用于挖掘不同地形条件与指挥员实施火力打击的单位间的关联,获得指挥员在不同地形条件下火力打击协同运用经验.
根据1.2 节式(6)对合同火力打击约束条件的定义,从表1中筛选出满足条件的记录;再使用式(5)从中抽取出参与合同的作战单位,构成使用与目标选择的项集D的示例如表3.
表3 合同火力打击项集示例
3)战果致因频繁项集
战果致因关系分析目的是衡量不同作战属性对火力打击结果影响的大小,以及属性之间的耦合关系对火力打击结果的影响.战果致因包括攻击方属性、被攻击方属性和客观属性的3 方面潜在原因属性,如图6所示.
战果致因项集相对较为复杂,其构建方法如下:首先根据式(3)基本作战单元的要素的表示形式,从表1中筛选其中攻击单元Obj=[Unit_ObjObj_WeaponObj_NumObj_State],目标单元Tar= [Unit_TarTar_Equip,Tar_Num,Tar_State];然后根据式(4)筛选火力打击行动中的客观属性,包含推演时间、火力打击射击距离、射击高差和射击类型,表示为Environment=[Time,Dist,Dif,Type];筛选火力打击行动效能,包含攻击等级Result和战斗结果Kill,表示为Efficacy= [Result,Kill].将上述数据项进行拼接,形成的战果致因项集,如表4所示.
图6 战果致因关系分析模型
表4 战果致因项集示例
本文所用实验平台为陆军铁甲突击群兵棋推演系统.所用数据来源为2018年第2 届全国兵棋大赛分赛区数据,共包含19 963 场复盘数据按照地图和竞赛等级的统计如表5所示.
表5 第二届兵棋大赛比赛场次统计
根据2.2 所述3 个维度的频繁项集构建方法,进而使用Apriori 关联规则算法挖掘算法,从复盘数据中的海量火力打击行为记录获得不同地形条件下的武器使用经验规律、兵种合同火力打击运用规律和火力打击战果致因分析结果.
根据大赛地形想定,分别以城镇居民、山地通道、山岳丛林和岛上苔地4 种地形按照2.1 和2.2 节方法构建全量数据的(作战武器,攻击目标)对数据项集.以城镇居民地形为例,在该数据项集上使用式(7)计算生成Apriori 算法流程中步骤2 的频繁1 项集,如表6所示.
表6 频繁1-项集
使用式(8)生成Apriori 算法流程中步骤3 的频繁2 项集如表7所示.
表7 频繁2-项集
得到实验结果如下:
1)不同地形条件下对作战平台的使用偏好
实验探究红方坦克、战车和步兵3 种作战平台在不同地形下的火力打击频繁度.使用攻击方作战平台支持度,表征在该作战平台进行火力打击次数占所有作战实体平台打击次数的比例.表6中攻击单位支持度计算示例如下:城镇居民地地图下共有数据40 235 条,包含{攻击单位= 坦克}的项有23 658 条,根据式(7),频繁项{攻击单位=坦克}的支持度为58.80%;其他频繁项的计算方式同上,结果如图7所示.
2)不同地形条件下的打击目标选择规律
使用红方打击目标的作战单位在不同地形下的支持度,表征目标作战单位受到火力打击次数占所有作战单位受到火力打击次数的比例.表6中目标的支持度计算示例如下,城镇居民地共有数据40 235条,包含{目标=坦克}的项有21 164 条,根据式(7),频繁项{目标=坦克}的支持度为5 260%;其他频繁项的计算方式同上,结果如图8所示.
图7 火力打击攻击方作战平台的运用情况
图8 火力打击目标选择频繁度
3)攻击平台与目标关联规则
将对抗中出现的攻击方与被攻击方作战实体关系对,表示为A→B的形式,其中A表示攻击方作战平台,B表示目标作战实体.计算关系对的支持度sup(A→B)和置信度con(A→B).在城镇居民地地形对抗数据集下,共有数据40 235 条,含{攻击单位=坦克,目标=坦克}的项有11 145 条,{攻击单位=坦克,目标=战车}的项有7 085 条,{攻击单位=坦克,目标=步兵}的项有4 828 条.根据式(8),因此,表(7)中频繁项{攻击单位=坦克,目标=坦克}的支持度为27.7%;频繁项{攻击单位=坦克,目标=坦克}的置信度为47.1%;其他频繁项的计算方式同上,结果如表8所示.
表8即生成了攻击关系的关联规则,以坦克→战车为例进行解释:对于红方的一次火力打击行为,该行动是使用坦克攻击蓝方战车的概率为18.6%;当已知红方使用坦克作为攻击单位时,其攻击目标是蓝方战车的概率为31.6%.
4)实验结果分析
上述数据挖掘结果揭示了在不同地形下,指挥员进行火力打击行动对于作战单元和武器的使用具有不同规律.
表8 攻击平台与目标关联规则
图7实验结果表明:在各种不同地形下,坦克均是指挥员用于实施火力打击的主力作战武器;而在山岳丛林地形上,坦克和战车射击概率降低,步兵射击概率则升高,表明步兵在山岳丛林地形上作战较其他地形更具优势.这与山岳丛林地谷深岭宽、林密草深、荆棘丛生,不便于车辆等部队机动的地形自身特点相符.
图8实验结果展示了不同地形条件下指挥员对攻击目标的选择.在不同地形下,坦克都是被攻击的主要目标,其被攻击的概率均超过50%.在山地通道中,步兵作为火力打击目标的频率为7.2%,相比其他地形有很大的降低,是由于该地形中作战双方部队被地形断绝,使得步兵不易快速占据多控点.
表8的结果则揭示了指挥员在运用武器单元实施火力打击的一些战法规律:如坦克为主战武器,坦克攻击不同目标的优先程度为:坦克>战车>步兵.
以合成营级对抗复盘数据中红方实施火力打击行动部分为挖掘对象,使用2.2.2 中协同规律项集构建方法,以城镇居民地对抗为例,共筛选形成合同火力打击数据项集9 806 条,其中包含{坦克}的项8 541条,根据式(7),频繁项{坦克}的支持度为871%,其他频繁项和其他地形上的计算实验结果如表9所示.
表9 作战单位参与合同作战支持度
上述9 806 条数据集中,包含频繁2- 项集{坦克,战车}的项2 050 条,根据式(8),频繁项{坦克,战车}的支持度为209%,其他频繁项的计算方式同上,实验结果如表10所示.
表10 合同火力打击模式支持度
实验结果分析:合同火力打击项集中的频繁1-项集支持度表征了该类算子在合同火力打击行动中的参与程度;频繁2-项集的支持度则表征了两种不同作战单位之间产生协同行动的概率.故表9、表10的结果表明:在全国赛不同想定下的合成营对抗中,坦克是参与协同火力打击的主要力量,坦克与坦克相互支援联合打击共同目标是协同行动中的主要作战方式.主要原因是坦克机动能力强,在敌方目标视野暴露时,容易寻找火力打击位置.战车与步兵、步兵与步兵产生协同的概率则很低,坦坦协同、步坦协同是全国赛数据中呈现出的主要协同方式.
在山岳丛林地形下,战车与战车之间的的协同概率达到15.2%,相对其他地形高出接近10%.其原因极可能是山岳丛林易于战车隐蔽,战车可以利用其机动性能抢先占据有利地形完成火力设伏,以火力大范围覆盖敌方活动区域,等待时机进行伏击.
为探究火力打击中影响战果的因素规律,选取2018年第2 届全国兵棋大赛城镇居民、山地通道、山岳丛林和岛上苔地4 种地形所有连级对抗下的火力打击共151 183 条数据按2.2.2 节方法,构建包含{攻击单位=坦克→产生战果}的项有65 765 条,包含{攻击单位=坦克→未产生战果}的项有29 685条,根据式(8),频繁项{攻击单位= 坦克→产生战果}的支持度为435%;根据式(9),频繁项{攻击单位=坦克→产生战果}的置信度为689%.设定最小支持度阈值min_sup取20%,最小置信度阈值min_con取60%,选取关联规则算法挖掘出的后项为产生战果的强关联规则,结果如表11所示.
根据上述强关联规则挖掘结果,对战果致因分析如下:
1)坦克是最具杀伤效果的武器平台,并且当坦克在搭载更大攻击力的直瞄火炮时,其攻击效果也更大(数据反应坦克搭载大号直瞄炮战果最大).
2)当选择战车开展打击时,其有88.0%的概率获得战果,即在对抗数据中战车表现为最易受损的武器平台.这条规则对于火力打击目标选择具有重要参考意义,战车的损毁也表现出与战车配置装甲等级有关.
3)战果与发出火力打击的单位数量,以及与被攻击目标的单位数量相关,单位数量越多,则越容易产生战果.
4)火力打击与客观属性有关,数据表明当火力打击中攻击单位所处高度与攻击目标所处高度间高差为0 时,有64.7%的概率产生战果.
本文提出一种基于战术级兵棋复盘数据的火力打击行动要素关联分析模型与挖掘方法,旨在挖掘指挥人员在不同决策要素条件下对武器的使用规律和效用.由于兵棋推演是一个多层次、决策与环境动态交互并且时空相互关联的对抗过程,因此,对兵棋推演进行数据挖掘是一个很大的难题.针对此进行算法设计需要抓住两个主要特点,一是动态演化性,二是环境与决策行为的交互性.实验结果证明了本文分析模型和方法,能够有效挖掘兵棋对抗中人类指挥员进行火力打击行动的决策规律.本文提出的关联规则方法,不仅可以对战果致因和火力打击属性进行其单一因素的定量分析,还可以解决常规数理分析方法难以实现的任务,即多因素关联关系挖掘.
表11 战果致因强关联规则
本文的研究工作是应用数据挖掘方法从对抗数据中获取武器使用经验的初步尝试,后续的工作还将在关联要素分析模型框架的基础上,从研究多个作战单位之间的同级协同方式以及上下级单位之间的协同模式挖掘,并将机器挖掘的协同模式规律加入陆军兵棋领域的指挥员作战知识库.