闫雪飞,李新明,刘 东,刘德生,李 强
(装备学院复杂电子系统仿真实验室,北京 101416)
海湾战争以来,体系SoS(System-of Systems)作战成为主要的作战方式,武器装备体系WSoS(Weapon equipment SoS)[1,2]成为各国军队发展的主要立足点,尤其是网络信息体系顶层架构的提出,进一步表明了体系支撑作战的重要性。然而,作为一个典型的复杂系统,WSoS的不确定性、复杂性以及巨量性使得作战仿真研究面临巨大的挑战,目前,针对WSoS的作战仿真研究[3,4]还远未达到成熟的地步。
指挥与控制C2(Command and Control)是作战仿真研究的一项核心技术,也是影响战争胜负的重要因素。传统的C2研究主要集中于战术层次,属于微观层面,这是由于战术层次的实体行为模型较易建立,武器平台的运用规则相对简单,不确定性相对较小,流程相对固定[5]。而战役层次的C2研究则很少见诸文献,这是由于战役层次的C2行为属于宏观层次,考虑的对象不再是单个作战实体,而是多个作战单元,不仅要考虑我方兵力分布,还要考虑敌方态势信息,既跨物理域,又跨信息域、认知域,涉及的范围更广、考虑的因素更多,一直以来都是作战仿真研究领域的难点。
人工智能的迅猛发展,尤其是令人瞩目的谷歌AlphaGo在围棋领域取得的重要突破,表明了基于机器学习的C2建模的可行性。AlphaGo推动了两项与人工智能相关的技术:神经网络技术以及强化学习RL(Reinforcement Learning)技术。神经网络是一种有效的复杂问题离散表示方法[6,7],而RL则相当于不确定性环境中的训练样本,两者结合具有巨大的发展潜力,是作战仿真C2研究的主要发展趋势。为此,针对WSoS作战仿真具有的不确定性、复杂性特点,以及战役层次C2认知行为的实际条件,本文以GRBF(Gauss Radial Basis Function)神经网络作为指挥Agent认知域的离散模型,基于RL技术驱动神经网络的进化,提出了基于RL的SoS对抗仿真战役层次C2算法,并对算法的可行性以及性能进行了作战仿真研究,以期为WSoS战役层次的认知决策技术提供一种有效的解决途径,也为未来WSoS的智能化C2研究进行一定的初步探索。
目前,常用的针对作战Agent认知决策的主要技术包括三种方法:一种是个性优化;另一种是Rule-based算法,对应于反应型Agent;第三种是基于BDI(Belief Desire Intention)的认知型Agent,如表1所示。可以看出,由于WSoS的Agent数目更多、组成要素与内部结构更加复杂、不确定性更高,使得传统的决策算法已经不能有效适用于复杂WSoS的认知决策研究。RL作为一种无师在线决策技术,在无需任何先验知识的情况下即可实现对未知环境的学习,对不确定环境具有自适应能力,因此被广泛用于复杂环境的作战Agent自主决策研究[8]。杨萍等[9]将强化学习引入智能体模糊战术机动决策模型中,有效地解决了马尔科夫决策过程状态转移规律难以获得时的模型求解问题;马耀飞等[6]基于强化学习对战术层面仿真航空兵的空战机动决策问题进行了研究;徐安等[7]基于RBF(Radial Basis Function)神经网络和Q-learning算法对飞行器三维空间的隐蔽接敌策略进行了学习研究。上述研究为RL在体系对抗仿真中的应用提供了一个良好的开端,但也存在一些明显不足:大部分研究针对的并非是体系对抗情形,且以战术层次为主;部分针对对抗决策的情景比较简单,与实际战争中的多回合连续对抗样式区别较大。
Table 1 Traditional cognition and decision algorithms for the battle Agent
鉴于RL算法对未知空间的自适应优势,本文提出一种基于改进Q-learning的面向体系对抗的战役层次认知决策算法,基于跨步差分学习解决单步差分学习用于时间离散指控Agent认知时序存在的两个显著问题。此外,为了解决指挥Agent的不确定性问题,传统的RL认知决策算法的做法是在整个作战回合结束后再进行Q函数的信度分配,效率较低。例如,杨克巍等[10]对基于半自治作战Agent的Profit-sharing增强学习进行的实验研究。因此,跨步差分的另一个优点是将整个作战回合分为多个有效的学习阶段,当满足一定的条件后,即进行Q函数的差分学习,进而提高了学习效率。
Figure 1 UML framework of the WSoS architecture based on AOP图1 基于AOP的WSoS UML结构框架
目前针对体系的相关实验研究均以自行组合构造为主[11],在对文献[12]体系架构发展的基础上,设计的基于AOP(Agent Oriented Programming)的WSoS UML框图如图1所示。其中箭头上面的数字含义表示所指Agent的数目,1代表1个,1..*代表1个或者多个,0..*代表0个或者多个,例如1个武器装备体系由多个Agent组成。该框架设计的基本初衷一方面是为了尽可能囊括现实世界中各种类型的装备,另一方面是为了给武器装备体系的复杂特征[11]提供一个衍生基础,例如修复Agent和补给Agent对于体系的演化性具有重要的影响。
此外,该框架与最新提出的网络信息体系NISoS(Network Information SoS)架构相契合,其中,通信Agent(CCAgent)可组成NISoS中的基础网,感知Agent(SCAgent)可组成NISoS中的感知网,打击Agent(ATAgent)可组成NISoS中的火力网,补给Agent(SUAgent)以及修复Agent(RPAgent)可组成NISoS中的保障网,指挥Agent(CMAgent)可组成NISoS中的决策网,进而可为NISoS的作战仿真研究提供一个实验参考。
为了实现WSoS的作战仿真研究,基于Java语言自主开发了一款作战仿真原型系统,并为不同种类的Agent构建了3D几何模型用于可视化分析。原型系统采用分布式进程调度架构,离散时间仿真协议进行设计开发,共包含6种类型的Agent,对应于WSoS的结构框架,其中CCAgent、SCAgent、ATAgent、SUAgent、RPAgent通过系统提供的项目编辑界面进行参数的编辑并添加到仿真体系,而CMAgent根据体系的层次结构由系统自动添加,其依据是为每个编队设计一个CMAgent。原型系统的物理作战空间是按照Java 3D标准定制的100×100(m2)的三维几何地图,在作战开始时,红蓝双方的兵力被分别自动部署在地图的左右两侧,当仿真开始后,双方会相向运动,直到在中间区域遭遇并展开对抗。其中,战术层次的决策行为相对简单,可采用有限状态机实现。而CMAgent隶属于战役层次,负责对所属Agent的宏观指挥与控制,决策行为比较复杂,是论文研究的重点。
由于系统基于时间离散模型进行调度,因此CMAgent的决策行为是以仿真时钟为单位进行的,其主要目的是在当前感知态势的基础上进行决策,其认知域描述如表2所示,考虑到RPAgent的量少(通常红蓝双方各有一个),故忽略其影响。图2为CMAgent的决策行动原理示意图,其中的Agent代表的是红方的一个编队,只有一个CMAgent,而其他类型的Agent则不止一个,这些战术层Agent会始终与CMAgent分别保持在一个固定的距离之内。可以看出,前进行动的原理比较直观,对于进攻行动,作战Agent会根据CMAgent发送的优先打击目标执行相应的逼近行动;而对于撤退行动,CMAgent会首先根据敌我数目对比计算出前、后、左、右四个方向的敌军力量,例如OL-EL=-10代表左方敌军比友军多10个,最终,根据计算结果,CMAgent会决定向右方移动。
图2中,O为友军Agent数目,E为敌军Agent数目,L代表左方,R代表右方,F代表前方,B代表后方。
如果将CMAgent的态势信息作为状态空间S={s1,s2,…,sn},将可采取的决策指令作为行为集合A={a1,a2,…,am},则CMAgent的认知可以视为从S到A的一个映射,即f(s)→a,其中s∈S,a∈A,在RL领域中,通常将其称为一个策略π,而最合理的映射即对应于RL领域中的最优策略为π*。由于仿真进程是以仿真时钟为单位向前推进的,因此CMAgent的认知行为也是以仿真时钟为单位,即在每一个仿真时钟步t,CMAgent都会根据当前状态st选择一个合理的行为at,进而完成一次决策。在WSoS框架基础上,结合RL算法的概念以及作战实际情形,对CMAgent认知行为的六条假设如表3所示。
Table 3 Hypothesis of the cognition anddecision actions for the CMAgent
Table 2 Description of the cognition domain of the CMAgent
Figure 2 Principle diagram of the decision actions for the CMAgent图2 指挥Agent的决策行动原理示意图
可以看出,CMAgent认知过程的不确定性、随机性和未知性均要高于其他应用领域,仅能根据自身的有限信息进行策略的学习。
为了压缩参数空间,也为了使学习成果更具一般性,需要首先对用到的学习参数进行归一化,其意义类似于流体力学中的无量纲化,这对实验结果至关重要。主要包括状态空间参数的归一化以及奖赏参数的归一化。状态空间的归一化公式如下所示:
(1)
其中,δ是一个极小值,其意义是避免除零,根据归一化公式,CMAgent的状态空间可由四维参数向量(Nc,Nsc,Nsu,Na)表示。奖赏信息的归一化公式为:
.5∈(-0.5,0.5)
(2)
其中,KE为杀死敌军数目,KO为死亡友军数目,δ的意义同前。可以看出,当r>0时,CMAgent得到的是正奖赏,当r<0时,CMAgent得到的是负奖赏,奖赏的好坏一目了然。通过以上对学习参数的归一化处理,使得学习数据更具普遍性和可比性。
传统的Q函数采用表格进行状态空间的离散,然而,当状态空间是连续的且维数较多时,表格离散法会面临“分割难题”,并且学习效率较低。考虑到GRBF神经网络的离散性能以及泛化能力,可以采用GRBF神经网络对Q函数进行离散[6,7]。所谓泛化能力是指即使某个样本没有学习,GRBF神经网络也能估计其输出,而这是表格离散法不能做到的,其网络结构如图3所示。由图3可知,GRBF神经网络由四层组成,第一层为输入层,第二层为离散层,第三层为隐含层,第四层为输出层。其中,离散层的等宽离散公式如下所示:
(3)
Figure 3 Discretization of the Q table based on the GRBF neural network图3 基于GRBF神经网络的Q离散
可以算出,输入状态空间的样本数目最大为54=625个,可以想象采用传统离散方法的复杂性,其输出层输出的是对应动作的Q值,共有7个动作,其计算公式为:
(4)
(5)
其中,径向基函数bi(s)的计算公式如下所示:
,i=1,2,…,m
(6)
其中,ci是第i个基函数的中心,与s具有相同的维度,σi是第i个基函数的宽度,m是隐含层的个数,‖s-ci‖为输入状态与基函数中心的欧氏距离。
Q-learning利用时间差分TD(Temporal Difference)公式直接估计状态-动作(s-a)对的期望值,采用Q*(s,a)表示,对应于行为选择策略π*。假设Q*(s,a)的当前估计值用Q(s,a)表示,下一时刻的值用Vt(s)来表示,根据TD公式有:
Qt(s,a)=Qt-1(s,a)+αtVt(s)-Qt-1(s,a)
(7)
Qt(s,a)=Qt-1(s,a)+
(8)
其中t表示当前仿真时钟步,αt表示学习速率。可以看出,Q-learning的迭代公式采用的是单步差分公式,即在每个时间步都进行Q表(状态-动作对表格)的学习。而实际上,对于基于WSoS对抗仿真的战役层次指挥Agent认知决策问题,有两个显著的特点:一是指挥Agent的状态并非在每个时间步都会发生变迁,往往连续多个仿真时钟步都是同一个状态,即st=st-m;二是单步奖赏值rt非常小甚至趋于零,即Agent在st时采取一个动作at后没有收到任何回报,因此也就无法对Qt(s,a)的好坏进行评价。可通过某次仿真的某指挥Agent认知过程时序图进一步印证这两个特点,如图4所示,其中X轴为仿真时刻,Y轴为状态编号,Z轴为奖赏值。
Figure 4 Time sequence change of the cognition domain of the CMAgent for a battle simulation图4 某次作战仿真的CMAgent认知域时序变化图
由图4可以看出,状态不变或者单步奖赏值为零的时刻居多,并且状态与奖赏值变化之间没有绝对关联,状态变化奖赏值不一定变化,奖赏值变化状态不一定变化。考虑到这两种特殊情况,一是状态未改变,二是奖赏值为零,均不适合进行差分学习,反而会造成计算资源的浪费,为此,提出跨步时间差分STD(Stride Temporal Difference)的Q-leaning迭代公式,即用于Q值更新的奖赏值不是单步奖赏,而是未来N步的累积奖赏值R,相应地,Q表不会立即更新,而是当R大于一定的阈值R′或者状态发生改变后再进行更新。采用STD-Q不仅能够解决上述问题,而且能够提高仿真效率,同时能够增强学习信号,使针对Q(s,a)的估计也更加准确,尤其是对于不确定性极高的体系对抗环境。
假设Vt-m(st-m)是t-m时刻状态st-m对应的新的Q*值,根据TD公式,可得Q函数在t时刻的更新公式如下所示:
Qt(st,a)=Qt-m(st-m,a)+
αtVt-m(st-m)-Qt-m(st-m,a)
(9)
又由于在Q表更新之前:
Vt-m(st-m)=rt-m+γVt-m+1(st-m+1)
Vt-m+1(st-m+1)=rt-m+1+γVt-m+2(st-m+2)
⋮
Vt-1(st-1)=rt-1+γVt(st)
则有:
Vt-m(st-m)=rt-m+γVt-m+1(st-m+1)=
rt-m+γ[rt-m+1+γVt-m+2(st-m+2)]=
rt-m+γrt-m+1+γ2Vt-m+2(st-m+2)=
rt-m+γrt-m+1+γ2[rt-m+2+γVt-m+3(st-m+3)]=
rt-m+γrt-m+1+γ2rt-m+2+γ3Vt-m+3(st-m+3)=…=
rt-m+γrt-m+1+γ2rt-m+2+…+γm-1rt-1+
γmVt(st)=rt-m+γrt-m+1+γ2rt-m+2+…+
(10)
将式(10)代入式(9)得到最终的STD-Q函数更新公式如下所示:
(11)
Figure 5 Cognition and learning framework of the CMAgent based on STD-Q图5 基于STD-Q的CMAgent认知学习框架
(12)
学习过程以周期计数,当一个回合的作战结束时视为一个学习周期的结束,其学习框架如图5所示。基于STD-Q的WSoS战役层次CMAgent的决策过程如下:
步骤1初始化CMAgent的GRBF神经网络,通过k-means聚类设置GRBF的中心和宽度,设定最大学习周期数K,令k=1;
步骤5执行决策指令at,转到新的状态st+1;
步骤6如果仿真没有分出胜负或者t小于最大仿真步数,返回步骤3;
步骤8k=k+1,如果k>K则结束学习,否则转步骤2。
5.2.1 不同隐含层节点数的效能分析
得到的体系对抗结果如图6所示,为不同隐含层节点数目对应的STD-Q算法作战效能(由胜率和总奖赏共同评估),其中m∈{2,10,20,30,…,610,620}(m最小不能小于2,最大不大于625),胜率W由获胜次数除以学习周期计算(当对方兵力完全被消灭或者将一定会被完全消灭时视为获胜),总奖赏RALL的计算公式为:
Table 4 Decision rule of theCMAgent based on rule-based
RALL=((KBI-KBE)+δ)/((KBI-KBE)+δ+(KRI-KRE)+δ)-0.5
(13)
其中,KBI为开始时敌军总数,KBE为周期结束时敌军总数,KRI为开始时友军总数,KRE为周期结束时友军总数。由图6可知,蓝方W以及RALL要优于红方,当m∈{2,10,20,30,…,200}时,蓝方占有绝对优势,胜率几乎为1,但当200 Figure 6 Operational effectiveness changes of the red and blue camp varied with number of nodes of the hidden layer图6 红蓝双方作战效能随隐含层节点数目的变化 图7为总用时随m的变化,可以看出随着m的增大,总用时总体保持增加的趋势,但当m∈{100,110,…,200}时出现了一个波峰,这是由误差导致的,通过多次仿真取均值或增大最大仿真步长可以有效消除其影响。根据以上的分析,m在{2,10,20,…,100}之内选择最佳。 Figure 7 Total time consumption changes with the number of nodes of the hidden layer 图7 总用时随隐含层节点数目的变化 5.2.2 算法的收敛性分析 Figure 8 Development of the total repay value of the red and blue camps changes with learning cycles 图8 红蓝双方总奖赏值随学习周期的演化 5.2.3 可视化仿真回溯分析 为了探索算法的优势根源,选择算法收敛时的一组对抗数据进行可视化仿真回溯分析,图9为不同阶段下红蓝双方可视化对抗情景。其中,图9a表示对抗开始时双方寻敌作战情景,图9b是双方在中间发生遭遇后开始作战,图9c是双方激战阶段,从图9d时刻开始,蓝方开始占据优势,之后,红方依据撤退规则开始执行撤退行为,如图9e所示,而蓝方则一直在追击并打掉了红方的大本营(RPAgent),由于此时红方已经无处可退,且有生兵力已经全部阵亡,获胜概率为零,被系统判定为负,使得对抗过程提前结束,最终,采用STD-Q的蓝方获得最后胜利,如图9f所示。 Figure 9 Typical visualization scene of the red-blue confrontation process图9 典型的红蓝双方对抗可视化情景(N为兵力数目) 进一步对双方的对抗情景进行多次反复可视化回溯分析,发现蓝方胜利的直接因素主要表现在两方面:一是与蓝方优先选择空中目标进行攻击有一定的关联,并且蓝方的火力打击更加协调;二是蓝方地面兵力一直在进行小范围机动,这使得红方的炮弹存在大量的落空,避免了蓝方地面兵力的大量伤亡,而激战过程中的红方地面兵力则一直保持静止,使得蓝方炮弹“弹无虚发”,致使红方的伤亡十分严重,最终不敌蓝方溃败。以上只是对双方对抗过程的一种粗略的可视化分析,实际的对抗过程十分复杂,具有更多的复杂因素有待挖掘。 考虑到RL在复杂环境、不确定性环境以及未知环境中的求解优势,本文提出了基于跨步差分Q-leaning的体系对抗智能认知决策算法,并通过武器装备体系对抗仿真实验进行了验证,表明了算法的有效性;同时表明,基于GRBF神经网络的状态空间离散方法能够有效应对体系对抗环境下指挥Agent认知域状态连续多维的分割难题,并且以较少的隐层节点数即可获得优异的决策效能。研究对于体系对抗仿真环境下战役层次指挥Agent认知决策以及信息化对抗环境下辅助指挥员进行决策具有一定的参考价值。6 结束语