基于多Agent联合灭火救援作战仿真方法
2014-03-29刘静,程桦
刘 静,程 桦
(1.中国人民武装警察部队学院消防指挥系,河北廊坊065000;2.安徽大学资源与环境工程学院,安徽合肥230039)
Agent概念源于人们对于人工智能的认识,人工智能的最终目标就是要实现具有智能的、能够代替人来处理事务的“代理”[1].Agent和多Agent系统具有对人类社会系统自然的描述能力特点,本文采用多Agent的方法进行联合灭火救援组织指挥的研究是可行的.
文中拟构造一个联合灭火救援的多Agent系统,该系统由多个Agent组成,Agent间按照联合灭火救援组织指挥机制进行相互之间的信息交换的协作,互相影响彼此的行动过程,即构建一个由多个Agent组成的联合灭火救援模型,最后用Swarm仿真平台验证模型的有效性.
1 多Agent联合灭火救援作战模型
将多Agent联合灭火救援作战模型用一个四元组来定义:
其中:REM为救援环境模型;RC为指挥Agent;RA为作战Agent;INAC为Agent之间的交互关系.它们共同组成了多Agent作战模型的基本结构.
E是联合灭火救援环境空间集合,R是指挥空间集合,A是作战Agent空间集合,即作战力量编成集合,这样就建立了联合灭火救援作战的多Agent系统,E,R和A都可以看作是有限集合,分别代表系统空间集合,E×R×A即为联合灭火救援作战系统空间.将对应的问题定义为Q,Q为E,R和A的函数,可表示为
式中:E={E1,E2,…,Eα};R={R1,R2,…,Rβ}; A={A1,A2,…,Aγ}.
在联合灭火救援多Agent系统中各空间集合在系统运行时都是一个信息处理函数,E,R和A在作战指挥中相互影响,通过不断改变自身的状态而生成动作执行结果.联合灭火救援环境集合不断受到指挥机构和作战Agent信息处理函数的作用改变救援环境状态空间,同样,指挥机构和作战Agent也会由于救援环境信息处理函数的不断变化,调整内部的参数和状态,以适应动态的作战态势.因此,对于联合灭火救援多Agent问题我们将重新描述为
式中:C={C1,C2,…,Cξ};Ck:E×R×A→P,(k=1,2,…,ξ).这里Ck定义为一个二阶函数,这里的E× R×A为函数空间,R为实数空间,×表示笛卡儿乘积.Ck即为E×R×A到P的映射.这样Agent自身的行为处理结果用Q函数进行度量,从而实现了其形式化的描述.
这样联合灭火救援作战系统中的多Agent问题就转化为如下行为动作函数,即:当给定E,R和A,采取何种作战方式和战术措施,使C满足下式:
2 系统主要Agent
2.1 指挥Agent
指挥Agent中具有相应的指挥范围和指挥控制规则,主要行为模式有:接收上级下达的作战行动命令和指示,向上级汇报作战行动进展情况、请求力量增援,并与同级指挥Agent交流信息等,指挥Agent模型如图1所示.
图1 指挥Agent模型
由图1可知:指挥Agent首先获取外部环境情况,这一过程是通过信息感知模块经由信息模块完成的,在非紧急情况下,由决策模块调用规划模块对感知到的获取的信息进行分析、判断并作出决策,分析和决策结果传递到控制模块,由控制模块来做出响应,产生行动.其中,规划模块的推理分析模块进行救援力量调集,突发情况下,直接根据规则做出反应.
2.2 作战Agent
作战Agent是信念(belief)、意图(desire)、目标(intention)即BDI解释模型[2-3].信念、愿望和意图被当做Agent基本的思维属性,作战Agent中的BDI模型描述了思维属性及其各属性之间的相互关联,以及各行为的关系.
信念是对当前状况的认知,根据自身对周围环境的了解和认识对所要达到的期望效果采取的行为有一个大致的估计[4-5].愿望是对未来状况的偏好.愿望表现的是对未来可能出现的状况和可能采取的行为的喜好,所描述的愿望不一定是可实现的.愿望中包括Agent的目标,目标是从愿望中选择的可实现的子集.但是由于受到资源和环境的限制,不可能所有的目标都能够实现,选择某个目标或者目标集并采取具体行动的承诺就形成了意图.意图是对未来的意向[6].意图是已经选定的目标集以及确定的相对应的处理状态,是对Agent行为的引导和监督.
2.3 救援环境Agent
在实际作战仿真应用中,通常将环境建模纳入战术建模的范畴[7-8].环境建模中,应对地理环境、气象环境、水源环境及特殊环境等进行定性定量描述和建模.
一个完整的救援现场环境包括地理环境,气象条件、水源条件以及其他特殊环境等方面.在模型中,根据环境恶劣程度来决定救援的持续时间,为了描述方便,文中将环境恶劣程度用环境系数来表示.环境系数是指救援环境中每个坐标点的一个灾害系数,代表了危险源的灾害程度和救援难度,灾害程度和救援难度的因素包含了救援现场的人员被困情况、气候情况、受损程度、次生灾害发生的情况、应急物质的储备情况以及当地的应急管理体制等各种因素,文中在建立模型时把这些因素综合起来,用一个环境系数来表示.环境系数越大,代表该救援环境的灾害程度越高,并且这个环境系数将直接影响到救援活动的持续时间,即救援效率.
3 联合灭火救援仿真
3.1 Swarm原理
多Agent仿真平台Swarm是研究复杂自适应系统的模拟工具集[9],是1994年由圣塔菲研究所(SFI)开发的,其主要目的是进行复杂适应系统的分析和研究[10].平台提供了一个面向对象的框架,通过建立模型对相互作用的智能体及其行为进行仿真模拟[11].
3.2 联合灭火救援作战仿真模型
联合灭火救援作战中作战Agent具有多个种类,可以是水编成Agent、泡沫编成Agent以及混合编成Agent等.个体Agent建模包括对系统中实体类型的划分和各类实体的具体建模.
3.2.1 实体类型划分
表1给出了联合灭火救援作战中的各种作战、指挥实体类型及其与作战相关特性的描述.
以水为主要灭火剂的救援战斗编成简称为水编成.主要适用于建筑火灾的扑救、石油化工火灾的冷却、防护与灭火,气体泄漏的稀释、防护与洗消等.一般首车出水枪或水炮,二、三车为首车供水.水编成一般不超过3辆水罐车.
泡沫编成是以泡沫为主要灭火剂的灭火救援战斗编成,主要由水罐车和泡沫车构成,适用于石油化工火灾的的灭火、冷却、防护与液体泄漏的覆盖,以及封闭式地下建筑火灾的扑救等.
混合编成是指在水编成或泡沫编成的基础上,添加其他专勤装备的战斗编成.通常情况下,是以专勤车辆和大功率消防车辆为主,对五车或五车以上作战进行编成.五车或五车以上作战是在三车编成的基础上,增加抢险救援车、举高车、防化洗消车等特种车辆,模式一般以扑救的火灾类型来确定.混合编成在编成表里不以分类体现,而是编在其他编成里,以便简化调集程序.在实战调集中,某些专勤装备可视情而调.
表1 Agent实体描述
3.2.2 聚合Agent模型
聚合Agent模型描述联合灭火救援作战中各类实体之间的交互机制.图2中对联合灭火救援作战中各实体的关联与交互进行了描述.
图2 联合灭火救援各Agent聚合模型
以上对联合灭火救援作战各类Agent及其交互进行了概要描述.对于Agent内部建模所采用的各种模型已有相应的研究,此处不再展开阐述.
3.2.3 协同建模
联合灭火救援作战仿真中指控单元、作战单元和预警单元使用信息网络协同作战,为此必须对其协同进行详细建模.
3.2.3.1 指挥实体间的协同通信实现
指挥控制建模(协同组织中各种类别信息确定)中根据消防部队战斗条令和作战指挥实际,设置了指挥控制建模过程中指挥Agent和作战Agent之间可能涉及到的交互信息,共有3类:命令类(command)是指上级指挥机关下达给下级指挥机关或下属部队的作战命令;上报类(report)是下级向上级报告救援现场信息以及作战效果的信息;请求类(request)是指指挥Agent或者作战Agent向其他A-gent请求增援或协助的交互信息.这3类信息在联合灭火救援仿真模型中最为标准的通信语言为指挥控制建模提供信息交互.通信是保障组织指挥跨地区救援行动正常运作必要条件,它主要包括3个方面的内容,一是体现上级意图的各种指示、命令,如上级中央政府、部门对事故处置的一系列指示,救援指挥部的有关战斗的命令,这是各支救援队伍规范自身行动的基本依据.二是供指挥者进行灭火与应急救援决策的各种情报信息,如救援对象情况、火灾燃烧情况、作战环境情况、交通道路情况、水源情况和消防部队战斗力情况等,是指挥者定下正确灭火战斗决心的基本依据.救援对象信息是指挥员实施指挥的首要信息,无论是定下决心还是制定具体作战计划,都脱离不了对救援对象情况的了解.如在扑救失事飞机火灾时,指挥员首先要知道飞机的基本结构、机上人员情况、紧急逃生通道、飞机油箱的油料情况等.三是救援行动中的各种请求信息,是上级部门和指挥人员协调控制各救援队伍救援行动的依据,如需要哪些增援力量,物资补给等.
在建立协作模型时,采用了基于合同网的协同工作模型,根据作战阶段的划分,将现场指挥所视为单个指挥Agent,将作战编成视为一个作战Agent,这样整个仿真系统就构成了一个多Agent系统,模型的描述算法步骤如下:①在作战Agent以及指挥A-gent间建立目标任务规划;②根据协同算法来执行该算法;③如果某一Agent的任务没有完成,那么它将请求指挥Agent进行增援,这样,指挥Agent就需要按照战斗条令以及总队、支队及中队相协调的原则重新进行任务分配,然后转步骤②;④任务执行完毕,继续进行下一作战阶段的作战.
3.2.3.2 目标任务分配算法
下面给出了求解任务分配问题算法求解整体过程的伪码描述.
1)子任务生成与问题分解
子任务生成过程可看作是目标明确化的过程:该过程开始于总指挥采用一个抽象目标并形成一个抽象的规划.该规划由对其作战Agent的直接命令构成,这些命令被采纳为下属的目标.该过程继续直至单元层,该层 Agent将生成并执行详细的规划(OperationalPlans)来实现这些目标.例如其内容是指挥官(Commander)下令战斗组进行灭火总攻,任务需要泡沫编成战斗组(Foam Group)与水编成战斗组(Engine Group)协同完成.
具体任务规划过程如下:
(1)Commander建立问题分解,首先询问下属泡沫编成和水编成,选取最具能力的Agent.
(2)假设Foam Group[i]与Engine Group[j]为可选Agent,分别赋予它们子目标.
(2.1)Engine Group[j]Leader根据上级目标为泡沫编成和水编成制定规划,侦察单元首先进行侦察,作战单元移动至Point1观察,然后开始进攻.
(2.2)Foam Group[i]Leader为下属单元制定规划,移动至Point2观察,然后开始进攻.
2)协作具体算法实现
模拟器生成的规划由多Agent仿真模型进行检验.协同规划模拟器中的Agent角色有作战单元、前沿指挥所、现场作战和总指挥,它们的组织等级依次递增.作战单元和前沿指挥所具有4种能力:侦察、通信、机动以及救援能力.这4种能力分别定义如下:①侦察:作战单元的侦察能力由侦察范围以及描述侦察正确性随救援现场情况变化的函数f(r)进行定义,其中{f(r)|r救援现场变化情况};②通信能力:通过单元定制的规划,传达task指令;③机动:智能体机动能力具有救援现场环境约束Fterrain (根据交通、建筑、消防通道定义折扣因子),并受自身装备情况Eequipment影响;④救援能力:智能体救援能力由出水强度Fpower,控制范围Frange定义.
3.3 仿真试验
仿真试验在SWARM-2.1.1平台下采用JAVA语言编程,建立了联合灭火救援仿真模型,并运行SWARM.
作战Agent调用环境的属性和方法,是整个仿真系统实现的载体,代码如下:
指挥Agent是系统中最为重要的Agent.它提供了系统的各种参数以及获取和设置参数的方法,以便其他相关类进行调用,其代码如下:
环境Agent主要包括坐标属性描述环境Agent的“环境系数”属性,是为作战Agent和指挥Agent提供判断依据,代码如下:
3.4 仿真结果分析
Swarm仿真系统运行如图3所示.
图3 Swarm仿真初期
由图3可见,当救援力量没有到达现场时,救援成功率显示为负数,当初战力量到场,一般指的是辖区中队到场之后开始进行救援,救援成功率呈现出增长趋势,但是显然对于重特大灾害事故,初战力量明显处于劣势,和火势的对比呈现出敌强我弱的态势,图中仍呈现出救援成功率在0以下.15 min之后,也就是常说的“十五分钟消防”的概念,救援成功率开始出现正增长,说明有增援力量到场之后,力量对比态势发生改变,虽然到场力量仍处于劣势,但已经开始呈现增长趋势,这个时期是进行搜索和侦察的最佳时期.
随着时间的推进,到场力量逐渐增多,作战A-gent不断加入到灭火战斗中,这时成功率逐渐开始增长,由于力量调集和部署需要一定的时间,同时在作战行动中需要阵地转移,所以在部分时间段可能出现负增长,因此在图4显示中呈现不稳定状态,这也是火场复杂性的一个充分表现.
图4 作战Agent增加的Swarm仿真图
随着时间的继续推移,如图5,6所示救援成功率不会呈现出大幅波动,会逐渐增长,直至最后火灾扑灭,整个灭火战斗成功.
图5 Swarm仿真推进图
图6 Swarm仿真继续推进图
4 结论
1)文中构造了联合灭火救援的多Agent系统,该系统由指挥Agent、作战Agent和救援环境Agent组成,并对指挥Agent和救援救援环境Agent进行了详细描述.该系统使作战实体既能体现所有单元具有自治性,同时又能层次化地描述出救援现场上具有严格等级的指挥控制关系,与联合灭火救援作战的思想和作战模式相对应.
2)采用多Agent理论中的合同网协议,提出了联合灭火救援的任务优化分配和协作算法.
3)利用多Agent软件工具集和通用软件平台(SWARM),用JAVA语言编程,进行了模拟仿真,并开发了一个原型系统,对文中构造的模型及相应机制进行了功能验证.
References)
[1] Wang Fuzhong.A decision support system for logistics distribution network planning based on multi-agent systems[C]∥Proceedingsof the Ninth International Symposium on Distributed Computing and Applications to Business,Engineering and Science.Hong Kong:IEEE Computer Society,2010:214-218.
[2] Lan Hai,Xiao Yunyun,Zhang Lijun.Multi-agent system optimized reconfiguration of shipboard power system[J].Journal of Marine Science and Application,2010,9(3):334-339.
[3] 路大为.基于 Swarm平台的群体性事件仿真研究[J].中国应急救援,2012(6):38-40.
Lu Dawei.Group events simulation research based on Swarm platform[J].Chinese Emergency Rescue,2012 (6):38-40.(in Chinese)
[4] 蔡红柳,田 磊,高 朦.多Agent的网络对抗系统仿真建模[J].四川兵工学报,2012,33(12):90-93.
Cai Hongliu,Tian Lei,Gao Meng.Simulation module on multi-agent net combat system[J].Journal of Sichuan Ordnance,2012,33(12):90-93.(in Chinese)
[5] 曹 琦,何中市,余 磊.基于HLA的Agent-DEVS协同仿真建模[J].江苏大学学报:自然科学版,2011,32 (2):217-222.
Cao Qi,He Zhongshi,Yu Lei.Collaborative modeling and simulation of Agent-DEVSbased on HLA[J].Journal of Jiangsu University:Natural Science Edition,2011,32(2):217-222.(in Chinese)
[6] Ishii Hitoshi,Oda Eisei.Reproducibility and validity of a satisfaction questionnaire on hypoglycemic agents:the oral hypoglycemic agent questionnaire(OHA-Q)[J].Diabetology International,2012,3(3):152-163.
[7] Yang Haidong,E Jiaqiang,Qu Ting.Multidisciplinary design optimization for air-condition production system based on multi-agent technique[J].Journal of Central South University of Technology:English Edition,2012,19 (2):527-536.
[8] Birukou Aliaksandr,Blanzieri Enrico,Giorgini Paolo.Implicit:a multi-agent recommendation system for web search[J].Autonomous Agents and Multi-Agent Systems,2012,24(1):141-174.
[9] 余柏峰,张 辉.基于swarm仿真平台的合同网协议的应用分析[J].计算机仿真,2008,25(9):179-181.
Yu Baifeng,Zhang Hui.Simulation and analysis of contract net protocol based on swarm multi-agent computer simulation platform[J].Computer Simulation,2008,25 (9):179-181.(in Chinese)
[10] 刘 贞,程勇军.Swarm for Java仿真及编程实现[M].北京:机械工业出版社,2009.
[11] Ma Cuiqin,Zhang Jifeng.On formability of linear continuous-timemulti-agent systems[J].Journal of Systems Science and Complexity,2012,25(1):13-29.