《1 引言》
1 引言
所谓“复杂”系统是指具有大量交互成分, 内部关联复杂、不确定, 总体行为具有非线性, 即不能通过系统的局部特性形式或抽象地描述整个系统特性的系统
《2 Agent 简介》
2 Agent 简介
Agent通常由9个部分组成
1) 知识库 是存储Agent的知识, 知识来源有2个途径:一是由网络中别的Agent获得, 二是通过学习获得
2) 推理机 包括推理模块、学习模块。其中, 推理模块是从感知机获得新的战场实时情况后利用已有知识和规则进行推理, 形成决策, 控制执行器 (事件处理模块) 执行;学习模块是从Agent的不断运行过程中总结经验, 为知识库增加新的知识。
3) 动作规则库和行为知识库 这两个库的知识在初始化时输入, 很少再改动。
4) 通信模块 它负责Agent与外界 (环境或别的Agent) 的通信, 更新知识库或获得上级指令直接送执行器执行。
5) 执行器 (事件处理模块) 是Agent要实现目标的事件处理方法的集合, 依据送来的决策或指令执行相应的动作。
6) 数据库管理器 组织、协调本地数据库、动作规则库和行为知识库, 将推理过程中必须用到的知识、规则等送到推理机。
7) 感知机 从外界获得战场实时信息并对信息的紧迫性做出判断, 对于简单或紧急情况的信息, 送直接反应模块以便及时做出响应;对于一般情况则送推理机, 判断可信度、实用性, 以便形成最准确可靠的决策信息
8) 直接反应模块 对于一些紧急情况直接做出反应, 形成决策。
9) Agent标识 它包括Agent ID和Agent级别等。
《3 军用复杂系统建模》
3 军用复杂系统建模
笔者所建立的军用复杂系统模型是基于空中力量和反空中力量的模型, 也就是红蓝双方以飞机、导弹和雷达为工具进行战斗仿真的基本模型。基于Agent所建立的军用复杂系统模型是在VC++6.0平台下建立的, 每个类完成一个Agent的功能, 主要由以下7个类完成:远程预警雷达类;防空制导雷达类;作战指挥雷达类;战斗机类;轰炸机类;预警机类;地空 (防空) 导弹类。
《3.1阵地模型的生成[5]》
3.1阵地模型的生成[5]
阵地模型如图2所示, 作战指挥中心是要害目标所在地, 在距指挥中心R1 (800 km) 的圆形区域上均匀分布8个远程预警雷达, 该预警雷达的最大有效范围为R3 (300 km) ;在距指挥中心R2 (200 km) 的圆形区域上均匀分布6个防空制导雷达, 即6个地空导弹阵地, 该制导雷达的最大有效半径为R4 (150 km) , 而地空导弹的有效杀伤范围为50 km。阵地中心毁伤数学模型为
式中r为来袭导弹炸点到阵地中心的距离 (km) ;f (r) 为阵地中心的损伤能量值, 其中阵地中心的能量总值为100, 阵地中心Agent在遭遇袭击、记录来袭方向后, 一方面阵地中心向相反方向移动, 另一方面调整防空制导雷达分布, 使来袭方向的导弹阵地密度大于未遭受来袭方向的导弹阵地密度。
《3.2雷达Agent模型[6]》
3.2雷达Agent模型[6]
雷达Agent模型主要有3种:远程预警雷达Agent、防空制导雷达Agent和作战指挥雷达Agent。远程预警雷达Agent发现目标以后, 通过自身通信模块将来袭目标方位信息传递给防空制导雷达Agent和作战指挥雷达Agent;防空制导雷达Agent发现目标以后, 将目标各种参数传递给地空导弹Agent, 导弹接到从防空制导雷达Agent送来的有关目标的各种信息后, 发射导弹击毁目标。当远程预警雷达未能发现目标时, 防空制导雷达可能自身发现目标, 并指挥导弹袭击目标。当然, 相对于有远程预警雷达提供信息而言, 发现目标的概率较小。当远程预警雷达和防空制导雷达均未能发现目标时, 作战指挥雷达可能发现目标并指挥导弹。在这种情况下, 击毁目标的可能性更小。作战指挥雷达纪录下目标入侵方向的信息并传递给其他雷达Agent, 其他雷达Agent修改自身知识库并做相应调整。此外, 预警机Agent发现目标后将信息直接送到作战指挥雷达Agent和防空制导雷达Agent, 这样击毁目标的可能性最大。其数学模型是:
1) 在没有别的Agent提供信息的情况下, 各种雷达Agent发现目标的概率为
2) 在有别的Agent提供信息的情况下, 各种雷达Agent发现目标的概率为
式 (2) 、式 (3) 中r为来袭目标航迹至雷达中心的距离;R为雷达有效作战半径:远程预警雷达Agent的作战半径R=300 km, 防空制导雷达Agent的作战半径R=150 km, 作战指挥雷达Agent的作战半径R=200 km。
《3.3飞机Agent模型》
3.3飞机Agent模型
飞机Agent模型主要有3种:战斗机Agent、轰炸机Agent和预警机Agent。其中战斗机主要用于打击空中目标, 轰炸机主要用于打击地面目标, 预警机主要用于发现目标和指挥己方飞机飞行。当预警机发现有己方飞机伤亡时, 修改其自身知识库, 并回传给其他Agent, 其他飞机下次会改道飞行, 进行目标的攻击。其数学模型是:
1) 战斗机Agent、预警机Agent数学模型
式中r为其他空中目标至战斗机的距离;对于战斗机Agent, R表示战斗机的作战半径, 即战斗机所携带的空空导弹的有效射程, 仿真过程取有效射程R=15 km;对于预警机Agent, R表示发现半径, 仿真过程取发现半径R=300 km。p (r) 表示击毁或发现对方目标 (如轰炸机、战斗机、预警机等) 的概率。
2) 轰炸机Agent的数学模型
式中r2为轰炸机至需要轰炸目标的距离;R为轰炸机的作战半径;r1为轰炸机所携带的空地导弹着陆点 (炸点) 至需要轰炸目标的距离。p (r1) 为炸点落入r1±Δr的概率, 仿真过程中取Δr=10 m, R=10 km。
《3.4导弹Agent模型》
3.4导弹Agent模型
导弹Agent主要接收制导雷达Agent送来的信息发射导弹, 如果制导雷达没有送来有关目标的信息, 导弹可以接收作战指挥雷达送来的信息发射导弹。任何一部雷达一旦发现目标, 即修改其知识库, 并做出相应的反应 (如移动自己的位置以便更好地发现目标) , 将信息传递给其他Agent。导弹毁伤来袭目标的概率主要分两种情况:
1) 防空制导雷达发现目标的情况
2) 作战指挥雷达发现目标的情况
式中r为目标航迹至离导弹所处位置中心的距离, R为导弹的有效杀伤半径, 在仿真过程取R=50 km;p (r) 表示击毁来袭目标的概率。
《3.5系统总体工作过程》
3.5系统总体工作过程
如图3所示, 开始仿真前, 红蓝双方首先选定战争策略和兵力数量。战争策略有2种:一是以进攻为主, 防守辅助;二是以防守为主, 进攻辅助。初始化兵力数量如下:远程预警雷达总数10部, 使用8部, 备用2部;防空制导雷达总数10部, 使用6部, 备用4部;作战指挥雷达总数2部, 使用1部, 备用1部;战斗机总数100架, 轰炸机总数100架, 预警机总数5架, 地空导弹总数300枚。红蓝双方的战争策略可以相同, 也可以不同。选择策略后, 进行阵地中心生成和兵力分布, 然后各个Agent依据战争策略进行初始化和行为规则知识的初始化。初始化完后战斗运行, 各个Agent运行。判断战争是否结束的条件是指挥中心, 也就是要保卫的目标的能量是否被损伤完;如果没有, 则记录数据并继续仿真;否则, 输出数据, 仿真结束。各个Agent的具体运行情况如下:
预警机Agent一方面探测敌方战斗机, 一方面指挥己方战斗机, 发现目标后, 传递目标信息给雷达Agent, 并指挥己方轰炸机进行拦截, 探测过程中己方战斗机被击落后, 预警机Agent收集相关信息 (如敌方战斗机出现方位、己方战斗机伤亡地点、情况等) , 记录同时传递给指挥中心, 再传给其他Agent, 预警机经多次探测、学习、推断后, 确定敌方阵地中心, 指挥己方轰炸机进行攻击。处于作战指挥中心的作战指挥雷达接收到预警机送来的信息后, 存储、学习并进行推理, 判断其真实可靠性, 将真实信息传递给其他Agent, 并调整自身位置;同时, 调整防空制导雷达和导弹阵地的位置, 改变远程预警雷达的方位等。预警雷达发现目标后, 存储并传输目标信息, 并做相应的调整。
《4 仿真与结论》
4 仿真与结论
仿真过程如图4所示。
《图4》
Fig.4 Simulation of the military large-scale complex system based on agent
结论:
1) 在相同兵力条件下, 以攻为主、防守辅助的战争策略获胜概率大于以守为主、进攻辅助的战争策略。
2) 在红方 (以攻为主) 兵力不变的情况下, 增加蓝方 (以守为主) 的导弹数量, 获胜概率可逐渐提高, 如图5所示。
3) 图6为蓝方兵力不变的情况下, 红方增加战斗机数量与获胜的概率, 从图中可以看出, 进攻方可以较小的代价换取较大的获胜概率。
《5 结语》
5 结语
1) 出于安全考虑, 笔者给出的各种导弹、飞机、雷达的参数都是假设的, 要对现代条件下的战争进行评估, 应以真实参数代替假设参数。
2) 笔者仅对军用复杂仿真系统中的空中力量和反空中力量进行了研究。下一步工作, 应该加入陆军力量 (如坦克、防空兵、地地导弹等) 和海军力量 (如各种舰船、潜艇等) , 这样的仿真才更逼近现代条件下的实际战争, 仿真结果才更具有现实意义。