吴 蕾 伍文峰
(1.国防大学联合作战学院 北京 100091)(2.陆军航空兵研究所 北京 101121)
计算机模拟演习过程中产生的指挥行动数据纷繁复杂,种类多样,数量庞大,往往会使人眼花缭乱,看不清楚,给演习复盘评估带来极大困难。因此,需要对作战行动数据进行一定程度聚合,使整个作战过程看起来更加清晰,从而有助于进一步分析作战行动及描述作战过程。
“聚合”一词在化学[1~2]、情报[3~6]、作战模拟[7~9]等领域中,代表不同的含义。而在信息领域,聚合通常是指对海量信息进行内容筛选、整合、呈现的数据处理方式[10~12]。国内外的机构或者学者对数据聚合进行了相关定义或研究聚合,IBM 知识中心(Knowledge Center)给出定义,“数据聚合是收集原始数据并以摘要形式表示以进行统计分析的过程”[13]。刘辉[14]将数据聚合定义为“通过同时聚集一个和多个数据源分析数据来获取信息全貌的方法”。Arguello 等[15]提出了内容聚合的概念,将其表达为特定情境下对多源异构数据进行筛选、组织、排序与呈现的任务与方法,包括聚合情景、聚合对象粒度、聚合对象之间关系及用户和聚合对象之间关系三个组成部分。张平[16]指出“数据聚合是按照一定的规则,对来自多个信息源的信息或数据进行组合和合并,以便形成一个更有价值结果的技术”。他认为数据聚合实际上是将海量数据向特定问题维度进行投影变换以实现对数据的压缩和提炼的过程。总之,对于数据来说,聚合的概念正是基于其割裂性、冗余性、不确定性而提出来的。通常认为数据聚合是数据融合的一种,通过数据聚合能够使用户对数据的认识更加准确、更加全面、更加清晰。
传统演习中,信息处理任务重、速度慢,指挥员通常通过简单计算,依靠自己的经验,经过定性分析就作出决策判断[17]。而计算机演习模拟的是现代战争,是参演各方作战力量模拟执行若干作战行动以完成特定任务序列的过程。由于该作战过程涉及多维战场空间以及各方、各军兵种多种作战要素,作战行动具有交互复杂、样式繁多、数量庞大的特点,整个作战过程会出现很多相似性较大或者重复率较高的行动,因此需要对作战行动按照特定规则进行聚合,快速排除冗余信息,形成相对精简的行动,使作战过程中的作战行动看起来更加清晰。
目前,国内外关于作战行动聚合的相关研究很少,本文在分析行动数据来源的基础上,设计作战行动聚合原则及聚合方案,分别从作战力量、作战资源以及时空维度研究作战行动聚合方法,并以火力打击行动区域聚合为例,对其聚合流程以及聚合方法进行探讨。通过对海量行动数据进行聚合可以更加清楚地展示作战行动,提升演习复盘评估的效果,满足导演部讲评作战过程的需求。
作战行动具有数量庞大、样式繁多、交互复杂等特点,这对导演部、指挥员看清整个战役的作战进程带来了挑战,为了对作战行动进行聚合,首先需要分析作战行动数据来源和确定作战行动聚合原则。
一次计算机模拟演习是各方指挥员通过计算机模拟作战行动并产生交互作用的过程。为了实现作战使命,各方指挥员会通过下达若干条作战指令指挥由模型扮演的部队,以完成多项作战任务。每一条成功下达且成功执行的指令代表一次作战行动,包括作战行动的类型名称、行动时间、作战单元、武器弹药类型及数量、作战目标、地理位置等内容,这些作战行动所涉及的作战单元以及作战目标的具体属性参数以部队表和目标表的形式保存在数据库中,与指令表相关联。
若干条成功执行的作战指令转化为若干个作战行动,推动着演习态势不断变化。一次计算机模拟演习过程中,各参战方、各作战指挥员往往会下达海量的作战指令指挥作战实体,从而产生相应的作战行动以完成作战任务。因此,一次演习过程的作战行动数量非常庞大,往往会使人眼花缭乱,使导演部和指挥员难以快速地掌握作战进程。将来源于作战指令的作战行动数据作为研究对象开展作战行动聚合方法的研究就非常有必要。
一个作战过程,主要由围绕作战目的和作战效果的包含若干作战行动的任务序列构成。从一定意义上来说,作战过程体现的就是作战实体在执行既定任务时应对态势,作出动作或改变状态的过程。作战行动作为作战任务的基本构成要素,其数据聚合需要遵循以下四个基本原则。
1)阶段区分原则
不同的作战阶段有不同的作战任务和行动,以时间顺序或者任务优先级顺序依次进行行动层聚合和任务层聚合。例如:对于时间顺序,拦截导弹需要先进行预警探测,得到敌方导弹的信息后才能进行火力拦截;对于任务优先级顺序,进行海岛占领作战时,需要登陆之后才能继续之后的进攻作战。
2)多样化聚合原则
一是贯穿不同聚合层次,作战行动、作战任务、作战过程之间具有层次关系,对作战行动聚合时需要逐层进行;二是覆盖多个聚合维度,每个作战行动都对应着相应作战域并且具有时空特性,因此,对作战行动聚合需要从作战域、作战时间、作战空间等多个维度去考虑;三是延伸一定聚合深度,通过作战行动的聚合,为进一步开展行动关联分析、行动重要度评估等深层次分析打好基础。
3)信息完整原则
信息完整指的是聚合后的行动信息需要具有相对完整性,这就包含了两点:一是行动要素完整,行动聚合后不能缺失行动的重要要素,缺失重要行动的作战行动聚合不是有效聚合;二是行动内容完整,聚合后的行动能够综合聚合前行动的信息和特点,准确反映行动的大致情况,不能以偏概全或者以点概面。因此,聚合时必须选择合适的聚合粒度,在主题信息丰富和整体效果呈现清晰中取得平衡。
4)结果清晰原则
根据作战过程中涉及的行动要素,进行行动聚合后,要保证聚合后的行动能清楚反映行动情况,并且数据可用。因此,聚合的结果,一是要求形成的文字及可视化描述,能够让导演部、指挥员、专家看得懂或听得懂;二是需要以合适的结构化数据形式进行存储,方便后续进行数据分析和行动挖掘。
不同类型的作战行动有着不同的行动要素,各类作战行动由于类型不同,进行行动层聚合时,除了需要考虑聚合的颗粒度问题,聚合规则也应有所区分。哪些行动要素先聚合,哪些行动要素后聚合,这些都需要在设计阶段考虑。
不同类型的作战行动有着不同的行动要素,对同一类的作战行动以一定顺序进行行动要素聚合可以形成行动层作战行动,对行动层所有作战行动按任务分类分别聚合可以形成任务层作战行动的集合。图1为作战行动聚合流程。
图1 作战行动聚合流程
对作战行动进行多层次聚合,首先需要进行行动聚合模板和任务聚合模板的设计,然后按照模板对原始行动清单中的大量行动进行聚合,再根据任务与作战行动之间的关联关系,进行任务层作战情况的聚合。按照先行动聚合后任务聚合的方式,对原始行动清单进行聚合,得到战役层次使命任务完成情况,并建立战役层次使命任务与战术层次行动的关联关系。聚合后的作战行动有两种呈现方式:一种以结构化数据保存在数据库中,方便后期分析挖掘研究;另一种以非结构化描述形式表现出来,也就是关于某一阶段内多种行动的概括性描述,方便用户能够宏观把握或者查询战役行动的进程和效果。具体作战行动聚合框架如图2所示。
图2 作战行动层次化聚合框架
对作战行动开展聚合分析过程中需要根据实际作战行动的要素特点采用合适的聚类算法。聚类算法作为一种无监督的学习方法,对作战行动聚类不需要任何先验知识,这是聚类的基本思想,但在实际使用中,选取聚类算法通常需要遵循一定的准则。
1)具有可伸缩性
一些聚类算法可能在数据规模较小的数据集上能够取得不错的聚类效果,但是对于一个数据量非常庞大的大规模数据集来说,进行样本集合的聚类分析可能会使结果产生较大偏差。因此选择聚类算法的时候,需要考虑其是否具有可伸缩性。可以选用既能够在小样本数据集上具有良好的聚类表现,也能有效地应用于大规模样本中的聚类算法。
2)适用于各种形状的簇
很多情况下样本数据自身的数据特点也可能会对聚类分析的结果有较大影响。有些聚类算法,如划分聚类方法和层次聚类方法适用于发现球状簇,很难使用它们发现其他形状的簇,这样就会对分析的数据对象产生局限性,因此选用能够发现各种形状的簇的算法就非常重要。
3)参数确定相对简单
一些聚类算法在使用时通常需要用户预先设置参数,其中有的算法参数值的选择对聚类的结果影响很大,想要很好的聚类效果通常需要具备丰富领域知识的军事专家设置参数才能完成。这就限制了使用者的范围,而不限制使用者则很难保证每次聚类的质量。因此为了聚类不受限制,需要选择参数确定相对简单的聚类算法。
4)对噪声数据不敏感
通常,对于大规模行动数据集,其中往往存在孤立点、缺失值或者错误信息等现象。有的聚类算法,如k-means方法、层次聚类方法等,面对噪声数据特别敏感,或许会令分析结果不太理想。改用对噪声数据不是很敏感的算法如密度算法,就能够获得相对来说比较好的效果。
火力打击行动是信息化联合作战中瘫敌、破敌、歼敌的主要手段,其行动聚合包括行动属方聚合、行动区域聚合、武器弹药聚合以及打击目标聚合等,这里主要讨论其区域聚合,从而观察某作战阶段的火力打击行动的主要区域。
假设作战行动数据集中都为火力打击类行动,参战方为X、Y 两方。在聚合前提条件判断的基础上,以先目标区域聚合再打击区域聚合为例,具体聚合流程见图3。
图3 火力打击行动区域聚合流程
聚合流程:
1)选定作战行动数据集;
2)对作战行动数据集中作战行动按打击方为X、被打击方为Y筛选、分组;
3)针对“X打Y”的火力打击行动进行目标区域聚合,即按照打击目标分布分为多个作战行动集合;
4)针对同一目标区域的火力打击行动,按照发射点进行区域聚合;
5)针对同一打击区域、同一目标区域的所有原始行动集合,聚合为一个行动。
从以上分析可以看出,先后通过两端的作战区域聚合作战行动,可以将“重复”的作战行动聚合为一个,使火力打击行动的发射区域和打击区域看着更为清晰。
结合DBSCAN 聚类算法和Convex Hull 算法,对火力打击行动的主要发射区域和目标区域如何聚合进行分析。以火力打击行动的目标区域聚合为例,目的是看清作战行动主要打击的区域。
1)基于DBSCAN算法区域聚类
DBSCAN 算法是最常用的基于密度的聚类算法之一,也是最早提出密度聚类思想的算法。假设有数据对象集合D={p1,p2,…,pn},ε和MinPts 是DBSCAN 算法中的重要参数,其数值可根据实际场景具体设定。该算法根据以上定义在数据集D 中发现簇和孤立点,首先检查D中每个对象的ε邻域,如果对象p1是核心点,则生成包含Nε(p1)中对象的簇C;然后检测C 中所有未被处理的对象p2的Nε(p2),如果p2是核心点,则将还未被包含在C 中的Nε(p2)中的对象加入到簇C 中,并且这些对象的ε邻域在下一步进行检测。这一过程反复执行直到没有新对象加入到当前的簇C中,如图4所示。
图4 DBSCAN区域聚类示意图
2)基于Convex Hull算法绘制聚合区域
Convex Hull算法,即凸包算法。凸包指的是包含离散点集的最小凸集,在某向量空间Y 中,对于给定的点集P,所有包含点集P 的凸集的交集Z 可以被称为点集P的凸包。
在二维向量空间里,点集P 的凸包可以用P 中所有点{p1,p2,…,pn}的线性凸组合来表示。
Convex Hull 算法步骤如图5 所示,主要分为四步:第一步,遍历点集P 中的所有点,并确定纵坐标最小的点,记作p1;第二步,分别计算点集P 中其余各点和p1的连线与x 轴之间的余弦值,并将这些点按照其对于p1的正弦值由大至小排列,排列形成的点的序列Q假设为{p2,p3,…};第三步,将点p1和序列Q 中的第一个点p2压入栈中;第四步,从下一个点p3开始计算,判断栈顶两个点与该点三者向量是否为逆时针转动,若判断成立,则将该点压入栈中,否则将栈顶元素推出;最后,栈里剩余的点即所有的凸包外围的点。
图5 Convex Hull算法示意图
DBSCAN 算法具有能发现任意形状簇的优点,对于孤立点等噪声数据也不是太敏感。但其也存在一些不足,主要表现为确定ε和MinPts 数值有一定难度,如果MinPts 数值太大,会出现大量的孤立点,而ε数值过小,则会将本身距离较远的簇合并起来。由于火力打击行动的武器主要是导弹、炮弹等,其射程比较远,为了聚合后的作战行动的完整性,MinPts数值的选取不宜过大。通过对某次演习火力打击行动目标区域进行聚类发现,MinPts ≥3时和ε数值过小时,孤立点和簇的数量会明显增多,显然这就无法达到区域聚类的目的。如图6 所示,从本次模型选取的6 组参数对比分析可知,ε确定时,MinPts 设置过大会导致簇包围区域过小,最终可以分析出MinPts=2且ε=9000时,聚类效果比较好。
图6 不同参数情况下区域聚类效果
Convex Hull 算法可以应用于聚类结果的可视化呈现中,将区域聚类形成的每个簇的边界绘制出来。应用到实际演习中,可以很直观地呈现出火力打击行动打击目标所在的热点区域的边界及其形状特征,也可以呈现实施该火力打击行动的部队的集中分布区域。如图7 所示,图7(a)为火力打击行动目标区域聚合后形成的簇的区域边界,图7(b)结合热力图形式突出火力集中的热点区域的效果。
图7 基于Convex Hull算法绘制聚合区域
计算机演习行动数据数量庞大、冗余性高的特点给演习复盘评估阶段的讲评活动带来了严峻的挑战,迫切需要对这些行动数据开展聚合,使作战行动呈现得更为清晰,从而为导演部讲评作战过程提供良好的依据。本文以作战行动数据为研究对象,分析了作战行动数据来源、聚合原则和聚合方案,对火力打击行动区域聚合流程和方法进行了研究,并开展了相关实例分析,实现了理论和实践两方面的探索。