计算机生成兵力(computer generated force,CGF)指的是由计算机创建并能对其全部或部分动作和行为实施自主控制或指导的虚拟作战兵力对象,构建CGF的核心任务是对战场环境中作战实体的行为进行建模[1]。CGF路径规划是CGF行为建模中的重要环节,既是任务规划、协同等行为的基础,又是机动、冲击等动作的前提[2],因此研究CGF路径规划问题对CGF行为建模具有重要意义。现有路径规划问题常采用遗传算法、蚁群算法、粒子群算法、A*算法以及人工势场法等方法进行研究[3-7]。但现有方法在路径规划的过程中通常要求环境模型是完全可知的,需要提前获取全局精确信息,而复杂多变的战场环境要求CGF实体能够针对环境变化实时生成应对策略,因此将现有方法直接应用到CGF路径规划中具有一定局限性[8]。
强化学习不需要完备的先验知识,学习者面对陌生环境能够通过与环境的动态交互自主获得最优行为策略,因此将强化学习应用到CGF路径规划中具有一定优势[9]。本文针对军用仿真系统中CGF实体路径规划问题进行研究,基于红蓝对抗系统构建直升机CGF突袭雷达阵地模型,结合人工势场原理构建动态奖赏函数对强化学习SARSA算法进行改进。实验表明改进SARSA算法性能有明显提升,能够为直升机CGF规划出安全路径。
某红蓝对抗系统中包含以下作战单元:
1) 蓝方直升机CGF:搭载有射程为8 km的空地导弹,告警装置能够捕获雷达波束从而判断自身是否被雷达锁定。蓝方CGF的任务是突袭50 km以外的红方雷达阵地,其飞行过程坠机概率p与飞行高度h相关,可表示为
(1)
由于军用直升机坠机概率数据通常是保密的,式(1)采用的是简化后的概率模型。
2) 红方雷达阵地:阵地包含雷达和防空武器系统,防空导弹的射程为10 km。红方受训人员可以操控雷达及时发现蓝方CGF并锁定,待蓝方CGF进入防空导弹射程后将其击毁。已知雷达侦测半径最大为45 km,由于受到地面反射杂波以及探测角度等因素的影响,通常雷达难以探测到低空飞行的目标,雷达能够探测到蓝方CGF的概率i与蓝方CGF同雷达间距离d以及蓝方CGF的飞行高度h均相关,具体可表示为
(2)
由式(2)可得雷达探测概率模型如图1所示。
图1 雷达探测概率模型示意图
Fig.1 Radar detection probability model
红蓝对抗系统中,蓝方直升机CGF是红方受训人员的打击对象,理想的蓝方CGF应具有足够的智能性,能够随着红方受训人员的训练水平提升而提高自身能力,从而进一步砥砺受训人员。目前蓝方CGF建模通常采用有限状态机、行为树、规则脚本等知识工程方法,构建的蓝方CGF行为方式相对固定[10],红方人员经过多次观察后便能掌握其行动规律,不利于进一步训练。此次研究目的是结合强化学习算法使蓝方直升机CGF拥有自主学习能力,能够根据系统环境信息平衡坠机概率和雷达探测概率,选取适当高度飞行自主规划出突袭安全路径,从而提高其智能性。
假设红蓝双方攻击时均能保证百分百命中率,则蓝方胜利的条件是至少飞抵距红方雷达阵地8 km的空域,并且在飞行过程中蓝方CGF应避免被红方雷达侦测到。据图1可知,蓝方CGF在雷达探测范围之外飞行时不会被发现,在雷达探测范围内时,如果在0.2 km以下高度飞行也能够躲避雷达探测。因此,蓝方CGF可以利用图中探测概率较低的区域进行突袭。
对战场环境建模是CGF路径规划的前提。战场建模是将战场环境中与CGF路径规划相关的元素抽象为适合算法输入的内部模型信息,从而将战场区域划分为可通行区域和不可通行区域[11]。将战场空间栅格化是研究路径规划问题常用的方式之一[12],栅格化可以将战场空间中的连续信息离散化,便于强化学习算法的输入,且离散化后的信息便于存储和维护,本文采用栅格法进行战场环境建模,具体建模情况如下。
结合系统信息,采用50×10的栅格对战场环境进行仿真,利用二维直角坐标即可确定战场环境中相关元素空间位置,并对每个栅格从左至右,从上到下依次标号得到图2。
图2 栅格战场环境示意图
Fig.2 Grid battlefield
图2中每个栅格包含飞行高度和飞行距离二维信息,方格内隐含雷达探测概率和环境影响因素等。蓝方直升机CGF在栅格内运动方向为前、后、上、下4个方向,飞行过程中如果被红方雷达侦察到或发生坠机事件则视为任务失败,若蓝方CGF和红方雷达阵地距离小于8 km则视为突袭成功。
强化学习是从环境状态到动作映射的学习,目的是让智能体(Agent)的动作从环境中获得的累积奖赏最大,从而学习到最优策略[13]。在强化学习算法中,SARSA算法是一种采用实际Q值进行迭代更新的在线学习算法。SARSA算法迭代更新时需要借助五元组(st,at,rt+1,st+1,at+1)进行,其中st表示当前状态;at表示当前状态下选择的动作;rt+1是选择动作at后获得的奖赏;st+1和at+1则分别代表后续的状态和动作,具体更新方式如下:
Q(st,at)=Q(st,at)+α(rt+1+γQ(st+1,at+1)-Q(st,at))
(3)
式中Q(st,at)表示状态st下选择动作at的期望奖赏值(表 1),α∈(0,1]为学习率,用来控制学习过程中未来奖赏的占比,γ∈(0,1)为衰减因子,表示未来奖赏的衰减,随着γ和α的增大,算法收敛速度会加快,但是震荡也会增大。对于式(3),如果每个状态st和动作at被无限访问,且参数取合适值,那么 Q 值就会最终收敛到固定值[14]。
按照上述迭代公式,算法会形成状态与动作对应的Q表,最终Agent可按照Q表根据贪婪策略来进行动作决策。贪婪策略定义探索因子ε,当随机数大于ε,Agent随机选择可选动作;而随机数小于ε时,Agent基于Q表选择当前状态下对应奖赏最大的动作,因此随着ε增大,Agent会变得愈发“短视”,不利于进一步探索次优动作。对于参数γ、α和ε的取值,要根据实际情况经过探索最终确定。表1为4个状态、2个动作的Agent生成的Q表示例。
表1 Q表
Table 1 Q table
状态动作a1a2s1Q(s1,a1)Q(s1,a2)s2Q(s2,a1)Q(s2,a2)s3Q(s3,a1)Q(s3,a2)s4Q(s4,a1)Q(s4,a2)
为使SARSA算法顺利更新,需要设置合适的奖赏集合R,通常情况下设置Agent完成任务时获得奖赏,其他状态则无奖赏。对于此次研究,系统中直升机CGF(Agent)从初始状态开始探索时存在探索状态空间爆炸的问题,假设最简单的情况下,Agent需要50个状态步到达目标空域,每走一步均可做4种选择,因此50步可做出的选择组合为450,如果采用上述奖赏设置方法,则仅在Agent到达目标区域时的状态步才会获得奖赏,在此之前的49个状态步均为无效状态,这种奖赏设置方式会导致算法收敛困难。
对于上述问题,可以通过奖励塑造[15]方式来解决。奖励塑造指的是利用先验人工知识来设计附加奖励函数从而引导Agent完成期望任务。由先验知识可知,此次模型中直升机CGF(Agent)的后退和上升高度动作是相对无效的动作,结合奖励塑造的思想可以对这2个方向的动作进行约束,并且在Agent每完成一个状态转换且自身安全时都给予奖赏,如果完成状态转换后发生坠机或者被敌方雷达发现则给予惩罚,这种奖赏规则能够克服稀疏奖励引起的系统发散问题。但是引入人工先验知识容易使算法陷入局部最优,且人工设计奖赏函数的过程繁琐效率较低,为了进一步优化解决方式,本文将结合人工势场法原理构建动态奖赏函数对SARSA算法进行改进。
人工势场指的是战场空间在障碍物和目标点的共同作用下会形成一个虚拟力场,其中障碍物会被斥力势场所包围,其产生的排斥力会随着Agent与障碍物距离的减小而增大,排斥力的方向是背离障碍物的,而目标点则会被引力势场所包围,其产生的吸引力会随着Agent与目标位置的接近而减小,吸引力的方向则指向目标点。最后将战场空间中的障碍物和目标点所产生的势能求和,沿着势能函数梯度下降的方向就可以规划出无碰路径[16-17]。
结合上述原理,引入动态奖赏机构对SARSA算法进行改进。对于SARSA算法,假设目标点对Agent既有引力作用也有斥力作用,且引力随着Agent 与目标位置的接近而增大,斥力则随着Agent与目标位置的接近而减小,可引入动态奖赏机构将目标点对Agent引力与斥力作用分别转化为Agent执行动作后得到的奖赏和受到的惩罚,引入动态奖赏函数:
(4)
式中:θ∈(0,∞)为奖赏系数,dt为当前状态st时Agent和目标距离,dt+1为后续状态Agent和目标距离,Dmax为取值大于任意位置Agent和目标距离最大值的常数。
由式(4)可知,在Agent每次位置发生变化后,如果离目标更近,则可获得奖赏,如果离目标更远,则会受到惩罚(负奖赏),这与强化学习的基本原理一致。分析奖赏函数可知,Agent与目标位置较远时,在负奖赏的约束下会快速向目标点靠近,而随着Agent靠近目标点,负奖赏的约束能力逐渐减弱,正奖赏的激励作用增强,Agent可以在靠近目标点得同时适当探索次优动作(采取次优动作不会受到大力度惩罚),从而顺利规划出最优路径。改进SARSA算法学习框图如图3。
图3 改进SARSA算法学习框图
Fig.3 Improved SARSA algorithm learning block diagram
改进SARSA算法的主要改变是在Agent的学习过程中引入动态奖赏机构,Agent执行动作后并不会立即得到奖赏,而是需要待奖赏机构结合环境信息和Agent的状态变化情况生成实时奖赏,生成的奖赏值能够反映出Agent当前状态与任务目标之间的关系。与采取奖励塑造方式人工设计得奖赏函数相比,此次改进能够简化奖赏函数设计过程,提高效率,且动态奖赏函数继承了人工势场法良好平滑得控制性能,相对人工设计的固定奖赏而言能够根据连续预估得代价场信息进行优化搜索,从而具有更为平滑的奖赏累积过程。改进SARSA算法具体流程如算法1所示:
算法1 改进SARSA算法
1) 初始化:Q(st,at)=0,∀(st,at)∈S×A
2) repeat (对于每一个迭代回合N)
3) 初始化状态st
4) 状态st下,根据贪婪策略选择动作at
5) repeat (对于回合中的每一步)
6) 采取动作at,获得后续状态st+1
7) 比较状态st和状态st+1获得奖赏rt+1
8) 在状态st+1下,根据贪婪策略选择动作at+1
9) Q(st,at)=Q(st,at)+α(rt+1+γQ(st+1,at+1)-Q(st,at))
10) st←st+1,at←at+1
11) end repeat (st为终止状态)
12) end repeat (训练结束)
13) 输出Q表
为了验证改进SARSA算法性能,基于本文构建的模型环境选择传统SARSA算法和改进SARSA算法进行对比实验。结合栅格战场,将Agent当前状态(飞行高度、飞行距离、是否坠机和是否被雷达侦察到)做为算法输入,直升机CGF(Agent)在栅格内运动方向为前、后、上、下4个方向,分别用F、B、U、D表示,这样此次训练形成的Q表容量为500×4,Agent起始位置在(1,1.0)处,雷达位置为(50,0.1)。按照算法1流程,算法完成初始化得到Q表后,结合当前Agent状态信息根据贪婪策略选择相应动作,动作执行完毕得到对应奖赏对Q表进行更新,待迭代完成得到经过训练的Q表,Agent依据训练过的Q表行动便能得到规划路径。此次对比实验的目的是验证改进SARSA算法性能,因此2种算法均采用相同参数,其中学习率α为0.01,衰减因子γ为0.1,探索因子ε为0.9,传统SARSA算法奖赏函数r1表示为
(5)
改进SARSA算法奖赏函数r2表示为
(6)
式中: failure代表直升机CGF坠机或者被雷达发现,success和safety分别代表直升机CGF完成任务以及自身安全,对比式(5)和式(6)可知传统SARSA算法通过奖励塑造方式对Agent动作进行了约束,改进SARSA则采用了动态奖赏。在上述参数下分别对2种算法进行1 000次迭代训练,选择算法收敛时所需迭代次数和经过训练CGF完成任务的成功率两个指标对算法优劣进行评价。为消除实验误差,每种算法各进行5次实验,并对实验结果进行平均处理,得到表2、表3。
表2 算法收敛所需迭代次数
Table 2 Comparison of the number of iterations required for algorithm convergence
算法12345平均传统SARSA325338311299318318改进SARSA156149163161152156
表3 完成任务成功率
Table 3 Comparison of the success rate of completing tasks
算法12345平均传统SARSA717370747272改进SARSA848187858384
对比实验结果可知,收敛所需迭代次数方面,改进SARSA算法收敛时所需迭代次数是传统SARSA算法的一半,能够以更少迭代次数收敛。完成任务成功率方面,经过1 000次迭代,改进SARSA算法完成任务成功率平均为84%,传统SARSA仅为72%,成功率提升12%,表明改进SARSA算法拥有更好的训练效果。
改进SARSA算法收敛速度快的原因在于路径规划时,奖赏机构能够根据Agent状态实时生成动态奖赏,激励Agent快速向目标位置靠拢,提高了算法训练效率。在动态奖赏的作用下,改进SARSA算法能够综合环境信息,探索出最优飞行高度进行突袭,从而有效提高完成任务的成功率。
为了使Agent能够充分利用模型环境信息,利用改进SARSA算法对Agent进行十万次训练,训练结果如图5所示,图5中横坐标为算法迭代次数,纵坐标为直升机CGF(Agent)完成突袭任务的成功率。由图5可知经过10万次训练Agent完成突袭任务的成功率能够稳定在95%以上,能够满足作战仿真需求。训练完成之后,将直升机CGF(Agent)完成突袭任务经过的坐标位置输出,便可绘制出路径规划结果,同人工规划的结果一起作图得到图6。
图5 100 000次训练结果曲线
Fig.5 100 000 training results
图6 规划路径曲线
Fig.6 Plan path comparison
图6中横坐标代表飞行距离,纵坐标代表飞行高度,人工路径是根据已知模型信息人为规定的安全路径,智能路径则是经过算法训练的Agent完成突袭任务时经过的路径。由图可知,经过训练后直升机CGF(Agent)在飞抵红方雷达边界前(5 km处)能够主动下降飞行高度从而避免被雷达侦察到,之后选择安全高度(0.1~0.2 km)飞行,且在飞行过程中通过衡量因飞行高度过低而导致坠机概率增加和因飞行高度过高而被雷达侦察到事件之间的关系,从而采取最优飞行高度进行突袭,飞行过程中能够主动变换飞行高度进一步优化自身行动,最终顺利完成突袭任务。对比分析可知,人工规划的路径相对固定灵活性差,容易被红方掌握规律后进行针对性打击,智能规划路径则更为灵活,能够结合环境信息实时规划出安全路径,从而不容易被红方针对。
改进SARSA算法相对传统SARSA算法有着更优异的性能,算法收敛速度以及任务完成率都有明显提升。改进SARSA算法实时性好,能够使直升机CGF顺利规划出安全路径,且生成的路径比人工规划路径更灵活。
[1] 张琪,曾俊杰,许凯,等.基于机器学习的计算机生成兵力行为建模研究综述[J].系统仿真学报,2021,33(02):280-287.
Zhang Q,Zeng J J,Xu K,et al.Summarization of research on computer-generated force behavior modeling based on machine learning[J].Journal of System Simulation,2021,33(02):280-287.
[2] 党维涛.CGF并行路径规划方法研究[D].长沙:国防科学技术大学,2014.
Dang W T.Research on CGF parallel path planning method[D].Changsha:National University of Defense Technology,2014.
[3] 程泽新,李东生,高杨.一种改进遗传算法的无人机航迹规划[J].计算机仿真,2019,36(12):31-35.
Cheng Z X,Li D S,Gao Y.An improved genetic algorithm for UAV trajectory planning[J].Computer Simulation,2019,36(12):31-35.
[4] 李宪强,马戎,张伸,等.蚁群算法的改进设计及在航迹规划中的应用[J].航空学报,2020,41(S2):213-219.
Li X Q,Ma R,Zhang S,et al.Improved design of ant colony algorithm and its application in trajectory planning[J].Acta Aeronautica Sinica,2020,41(S2):213-219.
[5] B T T M A,C C C,B D T T,et al.A hierarchical global path planning approach for mobile robots based on multi-objective particle swarm optimization[J].Applied Soft Computing,2017,59(11):68-76.
[6] 王玮,王玉惠,王文敬,等.基于改进加权A*算法的舰机联合航迹规划[J].电光与控制,2016,23(09):7-10,23.
Wang W,Wang Y H,Wang W J,et al.Combined trajectory planning of ship and aircraft based on improved weighted A* algorithm[J].Electronics Optics and Control,2016,23(09):7-10,23.
[7] 于振中,闫继宏,赵杰,等.改进人工势场法的移动机器人路径规划[J].哈尔滨工业大学学报,2011,43(01):50-55.
Yu Z Z,Yan J H,Zhao J,et al.Mobile robot path planning based on improved artificial potential field method[J].Journal of Harbin Institute of Technology,2011,43(01):50-55.
[8] Aggarwal S,Kumar N.Path planning techniques for unmanned aerial vehicles:A review,solutions,and challenges[J].Computer Communications,2020,149(09):270-299.
[9] Li R,Fu L,Wang L,et al.Improved Q-learning based route planning method for UAVs in unknown environment[C]//2019 IEEE 15th International Conference on Control and Automation (ICCA).IEEE,2019.
[10] 张琪.学习驱动的 CGF 决策行为建模方法研究[D].长沙:国防科技大学,2019.
Zhang Q.Study on CGF Decision Behavior Modeling Method Driven by Learning[D].Changsha:National University of Defense Technology,2019.
[11] 邓青,薛青,陈琳,等.一种混合路径规划方法在装甲车辆CGF中的应用[J].兵器装备工程学报,2018,39(07):120-122,150.
Deng Q,Xue Q,Chen L,et al.Application of a hybrid path planning method in armored vehicle CGF[J].Chinese Journal of Ordnance Equipment Engineering,2018,39(07):120-122,150.
[12] 刘正锋,张隆辉,魏纳新,等.环境地图的格栅化及路径规划研究[J].舰船科学技术,2021,43(07):141-145.
Liu Z F,Zhang L H,Wei N X,et al.Research on Gridization and Path Planning of Environmental Map[J].Ship Science and Technology,2021,43(07):141-145.
[13] Villanueva A,Fajardo A.Deep Reinforcement Learning with Noise Injection for UAV Path Planning[C]//2019 IEEE 6th International Conference on Engineering Technologies and Applied Sciences (ICETAS).IEEE,2019.
[14] 赵冬斌,邵坤,朱圆恒,等.深度强化学习综述:兼论计算机围棋的发展[J].控制理论与应用,2016,33(06):701-717.
Zhao D B,Shao K,Zhu Y H,et al.Overview of deep reinforcement learning:Concurrently discuss the development of computer go[J].Control Theory and Applications,2016,33(06):701-717.
[15] 杨瑞,严江鹏,李秀.强化学习稀疏奖励算法研究——理论与实验[J].智能系统学报,2020,15(05):888-899.
Yang R,Yan J P,Li X.Research on reinforcement learning sparse reward algorithm——Theory and experiment[J].Journal of Intelligent Systems,2020,15(05):888-899.
[16] 罗梓瑄,刘学文.基于蚁群算法的物流配送路径优化研究[J].重庆工商大学学报(自然科学版),2020,37(04):89-94.
Luo Z X,Liu X W.Research on logistics distribution path optimization based on ant swarm algorithm[J].Journal of Chongqing Technology and Business University(Natural Science Edition),2020,37(04):89-94.
[17] 张琪.分队战术CGF路径规划算法研究[D].长沙:国防科学技术大学,2013.
Zhang Q.Research on CGF path planning algorithm for unit tactics[D].Changsha:National University of Defense Technology,2013.