黄其旺 王跃利 褚明伟 刘捷
1.军事科学院评估论证研究中心北京100091
模拟体系对抗条件下的指挥控制过程,需对作战兵力的组织结构、指挥关系、作战任务、战术规则等指挥决策要素进行建模.体系对抗条件下作战兵力涉及的军兵种范围广,任务种类繁多,而且不同任务下的决策内容多种多样,如目标识别、威胁判断、攻击、防御、机动、武器分配等.因此,建立一种通用化并且高效的指挥控制模型,是进行作战指挥与控制仿真的重点和难点.
在作战仿真领域,美军一直非常重视对指挥控制的建模工作,美国国防部牵头建设了面向不同军种、各具特色的众多仿真平台和系统,如CFOR(Command Forces)项目、ModSAF 系统、扩展防空仿真系统(EADSIM)、联合作战仿真系统(JWARS)等都开发了相应的指挥控制模型[1−2].其中,CFOR 项目通过在已有的仿真系统中增加体系结构描述、通讯语言以及灵活的开发策略来建模指挥控制.ModSAF 系统通过异步增量有限状态机实现指挥控制的行为模型.JWARS 系统通过指挥员模型和指挥员行为模型的相互协调和配合,解决对地面作战的指挥控制建模仿真问题[3].国内指挥控制建模仿真技术重点用于作战训练、装备论证和效能评估以及作战问题研究等方面,主要采用的建模仿真方法包括基于Petri 网、复杂网络、超网络、组件化仿真、多Agent 仿真等,在一定程度上解决了某些特定领域的指挥控制建模问题[4−10].随着人工智能、大数据等高新技术的迅猛发展,战争形态和运行规律发生了质的变化,对指挥控制建模提出了新的要求,需要更好的描述体系对抗过程中的不确定性、涌现性和分布性等特征.
基于Agent 的建模仿真(Agent Based Modeling and Simulation,ABMS)是分布式人工智能研究的热点领域之一,单个Agent 本身具有自主性、智能性等优良特性,而且多Agent 之间通过相互协调与合作可以很好地解决复杂决策任务的建模仿真问题.针对指挥控制建模的新特点,结合ABMS 和HFSM 各自的优势,提出了指挥控制建模框架和相应的行为描述规范.本文所提的指挥控制模型主要可以应用于体系对抗条件下的战役级仿真系统中,重点解决指挥控制组织结构关系和指挥节点指挥控制行为描述两个问题.
ABMS 也可以称为基于Agent 建模(Agent Based Modeling,ABM)、基于Agent 仿真(Agent Based Simulation,ABS)或基于个体建模(Individual Based Modeling,IBM),是一种采用许多相互之间具有交互行为的自治Agent 对复杂系统进行描述和抽象的建模仿真方法[11].不同研究领域对Agent 的定义和理解存在一定的差异,本文借鉴Mark d’Inverno和Michael Luck 于2001年提出的Agent 定义及其开发形式化框架SMART(Structured and Modular Agent and Relationship Types)[12].
SMART 概念框架中采用实体(Entities)、对象(Objects)、主体(Agents)和自治主体(Autonomous Agents)4 个层次定义Agent,具体关系如图1所示.基于这一定义,可以从基本的实体建模出发,通过不断地细化和精炼形成最终的高层Agent 描述.
SMART 概念框架的结构组成如图2所示,实体集合只具备最抽象的组件描述,通过属性集合进行表示.具有与环境进行交互能力的实体定义为对象,通过活动来与外界进行交互,从而影响环境和改变自身状态.主体被定义为能够按照目标来产生相应活动从而影响环境的对象,并且具有一定的感知能力.自治主体是主体的升级版本,具有更强的智能性,能够通过内部动机产生自身的目标,并具有相应的推理能力.
有限状态机(Finite State Machine,FSM)又称有限状态自动机,是用来表示有限个状态以及这些状态之间的转移和动作等行为的特殊有向图,它包含一些状态(节点)和连接这些状态的有向弧.通俗地讲,有限状态机可以解释为一个设备或者是一个设备模型,具有有限数量的状态,它可以根据当前的状态和相应的输入(转移条件)进行操作,使得从当前状态转移到另一个状态,同时可能促使一个输出或者一种行为的发生.FSM 可以表示为一个四元组G[13]:
G=<S X Y f>
S为状态空间的非空有限集;
X为输入空间的非空有限集;
Y为输出空间的有限集;
f:S×X→S×Y为状态转移函数.
图2 SMART 框架结构组成
分层有限状态机(Hierarchical Finite State Machine,HFSM)是对FSM 模型的扩展,允许状态空间中的状态为一个HFSM 或FSM,从而简化了对复杂适应系统的描述.HFSM 在描述复杂系统尤其是系统行为方面,效果直观、简洁,而且能够清晰地描述各状态机之间的层次关系.
指挥控制系统是综合电子信息系统的核心,它将预警探测、情报侦察、通信网络、导航定位等系统融为一体,为指挥员提供完整的战场态势感知,支撑指挥员获得信息优势和决策优势,为获得最优作战效果奠定基础[14].在美军联合出版物JP1-02 中,指挥控制被定义为:为完成指定的任务,由正式任命的指挥官对隶属和配属的部队行使职权和指导的活动.指挥控制的本质特征可以被抽象为以下3 点[15−19]:
1)指挥控制系统具有一个共同的总目标,这个总目标可能由一系列不同但又相互影响的子目标构成,因此,指挥控制系统是基于目标的系统.
2)目标是由个体的独自行动以及团队的一致协作来具体实现的,因此,指挥控制系统必然需要良好的协同交互机制,加之各个实体在地理位置上是分散的,需要相互通信并共享态势.
3)指挥控制系统中各个实体之间具有明显的层级关系,各个层级通过任务的分解和下发共同完成总体的目标.
这3 个本质特征与上面提到的SMART 概念框架中Agent 的内涵基本上是一一对应的,概念框架中定义的Agent 具有特定的目标,能够在一定程度上根据自己的目标来自主地选择相应行动,同时Agent 也划分为对象、主体和自治主体等层级.
在信息化、智能化作战条件下,指挥控制过程涉及信息域、物理域和认知域之间的复杂交互过程.针对指挥控制的特征规律,借鉴SMART 概念框架的建模思想和基于OODA 环的指挥控制流程,设计了以Agent 建模为核心的通用建模框架,如图3所示.
指挥控制系统在态势感知的基础上,综合各方面情报信息,根据当前的总体目标规划自身以及所属实体的作战行为,在整个过程中,需要同外部环境以及其他实体进行包括信息、探测、毁伤等方面的各种交互.其中,通信、信息处理过程表示信息域的主要活动,探测和毁伤过程以及机动等表示物理域主要活动,指挥决策则表示认知域的活动过程.
在军事作战模型的开发过程中,如何将军事概念模型有效地转化成程序设计模型,如何以一种简单明了的方式描述逻辑复杂的作战模型,并给军事人员提供一种有效的业务模型设计规范,如何让作战模型框架更好地支撑AI 在智能指挥决策中发挥有效的作用等一系列问题,是行为建模发展所面临的几大关键问题.具体而言,指挥控制行为模型构建的需求包括以下几个方面:
一是行为规则描述和实现的简便性.为提升指挥控制行为建模效率,行为的模型留给军事人员的接口必须直观易懂,方便对所有行为规则的建模与实现.
二是行为规则的形式化建模.对指挥控制行为的形式化建模是指采用直观和标准的表现方式对行为规则进行描述,可以使得行为建模有据可依,减少建模的随意性,提升模型的开发、理解和维护效率.
三是行为建模方法易于仿真实现.所选的建模方法要能够嵌入到指挥实体建模的工程实践全过程中去,行为建模方法能够支撑指挥控制实体的具体构建.
事件驱动的分层异步有限状态机已在很多游戏AI 框架中有成熟的应用,集合了状态机设计结构清晰、易读好懂、层次分明、设计方法规范、易于工具支持等优点,是智能对象行为建模中不可或缺的关键技术之一,能够在很大程度上满足以上需求.
有限状态机(Finite State Machine,FSM)是表示有限个状态以及这些状态之间的转移和动作等行为的数学模型.每个状态存储了描述模型的一系列信息,在某些事件发生时,且满足一定条件时,系统从一个状态转移到另一个状态[20].
图3 指挥控制建模框架
以察打一体无人机编队为例,设计相应的有限状态机模型.无人机存在的可能状态主要包括起飞、巡航、空中待战、空中机动、编队汇合、编队分离以及降落等[21]在满足某些特定条件或者遭遇相应情景时,无人机可以在这些状态之间相互转换,具体情况如图4所示,其中{Ci,i=1,2,3,4,5,6,7,8,9}表示不同的转换条件.
图4 有限状态机示意图
但是,在实践中状态机有个致命的缺点,当状态一旦多了之后,它的跳转就会变得不可维护,假设有n个状态的话,那就需要维护最多n∗n的跳转链接,而应用到军事复杂系统建模过程中,模型的状态数量往往跟模型的复杂程度成正比.而层次化状态机结构(HFSM)就是为了减少跳转而作出的努力,采用分层状态机,在实际建模过程中,考量每一个状态间的关系,定义所有的跳转链接,然后将建模对象行为进行分类,把几个小状态归并到一个状态里,再定义高层状态和高层状态中内部小状态的跳转链接.状态内的状态是不需要关心外部状态的跳转的,这样也就做到了无关状态间的隔离,从而大大降低了状态机的复杂度,另外,如果觉得两层的状态机还是状态太多的话,可以定义更多的状态层次以降低跳转链接数.
同样以察打一体无人机编队为例,无人机的空中机动状态又可以细分为侦察机动、攻击机动、低空突防等子状态,它们各自对应着不同的战场态势和转换条件,同理巡航、编队汇合、编队分离等状态也可以细分为相应的若干子状态.当这些子状态都要加入到状态机中时,就会出现前面提到的问题,状态机中的跳转链接会随着状态数量的增加成倍增长,从而变得难以维护.此时,利用有限状态机进行行为描述会带来状态与状态之间的组合爆炸问题,混乱的跳转链接会使得用户和军事人员无法理解和不好使用.
采用分层有限状态机(HFSM)通过将几个子状态归并到一个状态里,可以很好地解决这一问题,具体描述方式如图5所示,其中{Ci,i=1,2,3,4,5,6,7,8,9,10,11,12}表示不同的转换条件.通过上面的例子可以看出,在处理状态数量比较多,状态之间跳转链接复杂的行为建模问题时,采用分层有限状态机进行建模可以达到简洁、清晰、便于理解的效果.
图5 分层有限状态机示意图
基于分层有限状态机(HFSM)进行行为建模时,首先要对实体行为进行划分,即梳理实体行为的状态集以及这些状态之间的转换规则,从而实现对实体行为的形式化描述.在进行实体行为划分时,需要遵循两个基本原则,一是实体行为的状态集要包含仿真对象在相应边界内的所有行为状态;二是划分的每一个状态和相应的转换规则要有具体的军事含义,便于军事人员理解和进行使用[18].
采用组件化的建模思想,基于前面提出的建模框架,指挥控制体系模型组件构成如图6所示.利用层次化Agent 建立指挥控制体系结构,作战体系包含不同的作战单元,作战单元又包含不同的作战实体,各个层级都可以构建相应层级的指挥实体.作战实体通过自身搭载的导航系统、武器系统、通信设备和传感器,与外部环境和实体进行交互,实现机动、交火、通信以及探测交互行为.
在指挥控制体系模型组件中,作战体系由不同的可以指挥的作战单元组成,同时指挥控制可以包含多个层级,所以作战单元也可以是由多个子作战单元所构成,可以进行相应的嵌套表示.在开发不同的指挥控制实体时,可以给这些实体配置不同的属性值,从而表示特定类型的指挥控制实体.而基于HFSM 的行为描述可以访问和设置这些属性,并且操作实体所配备的各种装备对象,从而实现指挥控制实体、作战体系在战场环境中的仿真对抗.
事件驱动的分层有限状态机解决了传统状态机的缺点,具备支撑复杂军事系统指挥控制行为建模能力,是一套完善的行为交互体系,在梳理清楚实体行为状态集以及这些状态之间的转换规则的前提下,具体实现时主要涉及状态机组件、状态机上下文、状态机要素及黑板等几部分.各模块之间的体系结构关系及主要接口如图7所示.
4.2.1 状态机组件
状态机组件依附于具有行为能力的实体模型,且每个实体可添加多个状态机组件,来完成不同的行为活动.状态机以事件为驱动,包括初始化事件、周期性事件及仿真运行中实体收到的各种主题事件.当这些事件产生时,实体便会调度状态机的执行处理接口,按组织好的顺序调度各个状态内动作的逻辑执行,并更新状态,执行触发的跳转事件等.
4.2.2 状态机上下文
状态机上下文负责状态、状态机对象、关联的仿真要素、事件的管理维护工作.同时,状态机上下文中记录了当前所在的仿真元素、状态机组件、当前状态及当前仿真事件等信息,包装了常用的功能方法,如态势记录、获取仿真对象等.
4.2.3 状态机要素
状态机要素分以下4 大类型:条件(Condition)、动作(Action)、状态(State)、转移(Transition),其内部示意图如图8所示.
状态(State)是指模型在仿真过程中的一种状况,模型处于某个特定状态时必然会满足某些条件、执行某些动作或等待某些事件.状态是由若干个动作组成的.组成状态的这些动作是否执行的条件只取决于上一个动作是否执行成功,即这些动作是按照顺序逐一执行的.
图7 状态机体系结构
图8 状态机内部示意图
动作(Action)是指状态中可以执行的原子操作,是不可再拆解或不准备进一步进行仿真的最小逻辑单元.所谓原子操作是指它们在运行过程中不能被其他事件中断,必须一直执行下去.
事件(Event)是指在时间和空间上占有一定位置,并且对状态机来讲具有意义的那些事情.事件通常会引起状态的转移,促使状态机从一个状态转移到另一个状态.
转移(Transition)是指状态之间转移时需要进行的活动,与转移绑定的就是条件,只有某个事件发生或满足特定条件才能从一个状态转移到另一个状态.
条件(Condition)可以分组,同一组内的各个条件是“与”的关系,不同组之间是“或”的关系.
4.2.4 黑板
黑板是用于运行期数据交互的,非运行期产生的数据不需要定义为黑板.在定义黑板数据时,需要考虑黑板数据的输入、输出以及使用者.同一实体的所有状态机共用一块黑板,即同一实体的状态机之间可以通过黑板交互数据,同一状态机内部的各个动作之间也可以通过黑板交互数据.动作可以读/写黑板;条件只能读黑板,不能写黑板.
图9 状态机交互序列
实体与状态机之间的交互关系如图9所示.用户可以根据指挥控制实体的实际情况,对其配属的状态机组件进行编辑,设计相应的状态(State)、动作(Action)、转移(Transition)和条件(Condition).在实际运行时,状态机组件首先进行初始化,包括设置黑板和初始化状态机要素,初始化后状态机进入开始状态,根据接收到的态势、消息以及周期事件对状态机进行更新,更新完后检查所有转移条件,满足转移条件时就执行相应的动作,转移失败就退出相应状态,转移成功则进入下一状态,随后又根据接收到的态势、消息以及周期事件对状态机进行更新,从而周而复始地循环下去,直到退出.
本文在深入研究信息化、智能化时代指挥控制基本特征的基础上,分析了指挥控制模型构建的新特点,建立了基于ABMS 的通用指挥控制建模框架,并针对建模框架的仿真实现,设计了模型组件构成、组件之间的交互关系以及指挥控制体系结构组成.在此基础上,对指挥控制行为建模的需求进行了梳理,提出了基于HFSM 的行为建模方法,以察打一体无人机编队为例,对HFSM 方法进行了详细介绍,并从状态机组件、状态机上下文、状态机要素、黑板系统,以及实体与状态机之间的交互关系等方面对HFSM 行为建模方法进行了详细的仿真设计.本文设计了一种指挥控制建模的通用建模框架,并为指挥控制行为建模的格式化描述和形式化表达提供具体的方法,实现了行为模型与物理模型的完全分离.下一步重点研究内容主要针对在建模框架和行为描述规范下的实例分析.