陆战Agent自主协作机制模型研究
2011-07-16韩月敏李卫平刘玉涛刘永锋
韩月敏,李卫平,刘玉涛,刘永锋
(石家庄陆军指挥学院,河北 石家庄 050084)
陆军作战是典型的复杂系统[1]。陆战 Agent是陆军作战复杂系统 ABMS核心的基础要素。友方陆战Agent之间的协作机制是陆军作战复杂系统演化运行的关键支撑之一。陆战Agent之间的协作可归纳为自主协作和上级统一组织协作两种模式。文献[2]对上级统一组织的协作机制模型进行了研究,而对陆战Agent自主协作机制模型的专门研究还很鲜见。陆战Agent自主协作,虽与一般 Agent系统中的协作模式相同,但由于陆军作战的特殊性,必须研究符合陆军作战特点的陆战Agent自主协作机制模型。
1 陆战Agent自主协作方法
陆战Agent自主协作是同级的陆战Agent在自身没有能力完成任务时,发出临时协作请求,再根据对方陆战Agent的回应情况,进行协作任务的分配。其自主协作过程可抽象简化为“分析作战任务—形成协作团队—生成任务计划—执行监控任务”等四个阶段。其中,形成协作团队是关键环节,并且陆战Agent自主协作的双方是一种对等关系。因此,其协作方法应该采用合同网协议[3]。
1.1 合同网协议的作战应用分析
合同网协议作为一个基于市场运行机制的协作方法,可以成功地解决一个任务在多个Agent之间的分配问题,但将其应用于陆战Agent自主协作,还存在以下5个问题:
1)合同网协议不符合陆战高时效、近实时的作战特点。合同网协议采用广播通信方式进行任务招标,一方面会造成系统的通信量过大,另一方面会加重管理Agent对每个投标评价择优的决策负担。因此,难以满足陆军作战高时效、近实时的要求。
2)合同网协议不能完全反映陆战Agent协作配合的主动性。合同网协议中的合同Agent只能被动地接受管理 Agent发布的任务信息,不能完全反映陆战Agent协作配合的主动性。
3)合同网协议基于市场协作的描述方式及运行机制不适用于作战领域。合同网协议的任务分配过程是运用经济行为中的“招标-投标-中标-签约”机制,以标值为纽带的Agent之间的协商过程。这种基于市场协作的描述方式及运行机制,不符合作战领域的实际。
4)合同网协议缺乏对陆战Agent作战能力动态变化的考虑。合同网协议只考虑了Agent的静态能力,很难反映作战过程中陆战 Agent作战能力的动态变化。
5)合同网协议对协作任务失效的处置不符合战场实际。合同网协议对任务失效情况的处置方法是重新发布任务,以寻求新的合作者。这种方法不符合陆战场作战任务不可重复及高时效性的实际。
1.2 合同网协议的改进思路
针对以上问题,本文提出以下5条改进思路:
1)针对合同网协议信息交互量大的问题,用黑板代替广播的通信模式,作战任务信息由协作请求者发布到黑板上,系统中的协作参与者自行感知相关任务信息。
2)针对合同网协议不能反映陆战Agent协作配合主动性的问题,引入陆战Agent主动感知特性,用能力参数值来衡量协作参与者当前的负载和资源状况。协作参与者通过计算自身的感知系数来确定是否响应协作请求者的作战任务信息。
3)针对合同网协议基于市场协作的描述方式及运行机制不适用于作战领域的问题,对合同网协议进行重新描述,使其符合作战领域的特殊要求,具体描述如表1和表2所示。
表1 合同网协议作战应用阶段描述
表2 合同网协议作战应用角色描述
4)针对合同网协议缺乏对陆战Agent作战能力动态变化考虑的问题,引入评估模型,定期对各陆战Agent进行评估,及时更新其作战能力状况,以作为参与作战协作的依据。
5)针对合同网协议对协作任务失效处置不符合战场实际的问题,为防止作战任务分配过程中出现任务失效情况,在陆战Agent执行作战任务过程中,如果出现突发情况需要调整甚至放弃协作任务时,不能简单地中止或调整其正在执行的作战任务,必须制定相应的规则,指导陆战Agent处置突发情况。
1.3 改进合同网协议的实现方法
根据合同网协议的改进思路,引入心智参数的概念,对其协作准备、协作请求、发送任务承诺、协作成员优选等各个阶段进行改进。
1.3.1陆战Agent心智参数
1)感知度
定义1 感知度:协作参与陆战Agentj对于协作请求者发布作战任务的响应程度,称为陆战Agentj的感知度,记为Prej。
协作参与者的感知度由其自身可用资源状况,以及其当前的忙闲程度决定:
其中,Resj表示陆战Agentj本身所具有的可用资源量;Idlej表示陆战Agentj的忙闲度,以衡量自身任务量的繁重程度。P1、P2是资源和忙闲度的权值,可根据实际情况设置。
定义2 感知阈:允许协作参与者陆战Agentj获取作战任务感知度的最小值,称为陆战Agentj的感知阈,记为PreThj。
当Prej≤PreThj时,则禁止协作陆战Agentj响应任何作战任务信息。
2)能力度
定义3 能力度:协作参与陆战Agentj能够顺利完成任务的作战能力,称为陆战Agentj的能力度,记为Capj。
协作参与陆战Agentj的能力度主要由主观能力度R1和客观能力度R2两部分组成。
主观能力度R1是依据协作参与陆战Agentj主观条件所建立的能力度,主要取决于对协作参与陆战Agentj的指挥控制能力 C、训练水平 L、士气状态 S的分析和评价。
客观能力度R2是依据协作参与陆战Agentj客观条件所建立的能力度,主要取决于对协作参与陆战Agentj的武器装备性能W、综合能力F及作战环境条件 E(表示作战环境对于作战效能的影响)的分析和评估。
能力度Capj可表示如下:
其中,Capj、R1、R2、C、L、S、、W、F、α、β、ω1、ω2、ω3、μ1、μ2、μ3的取值范围均为[0,1]之间的实数,表示权重系数,并且α+β=1,ω1+ω2+ω3=1,μ1+μ2+μ3=1 。
陆战Agent的能力度是协作请求者选择协作伙伴的主要指标之一,是一个动态变量,受多个因素影响。在协作参与者完成一个任务后,需要对其能力度重新进行评估。
3)能力度修正值ξ
为了体现陆战Agent执行不同任务时所表现出的不同作战能力,可依据任务类型,定义相应的修正值,以保证能力度较好地刻画其相应的作战能力。ξ的值域范围为[0,1]。
4)熟悉度
定义4 陆战Agentj成功完成陆战Agenti交给作战任务的次数与陆战Agenti委托作战任务的总次数之比,称为陆战Agenti对陆战Agentj的熟悉度,记为Fri(i,j)。
其中,Nij表示陆战 Agentj成功完成陆战 Agenti交给任务的次数;Ni表示陆战Agenti委托任务的总次数。
熟悉度也是协作请求者选择协作伙伴的重要指标之一。对于同一作战任务,在能力度相当的情况下,协作请求陆战Agent更倾向于选择熟悉度较高的协作参与陆战Agent。
5)协作承诺阈
定义5 协作参与陆战Agentj在同一时刻能够发送的最多作战任务承诺数,称为陆战Agentj的协作承诺阈,记为Thdj。
设置协作承诺阈的目的是为了限制协作参与者对作战任务的盲目参与,保证协作参与者的每个承诺都是有效的。承诺阈的大小与协作参与者的感知度相关,并随着感知度的变化而变化。
6)协作承诺数
定义6 协作参与陆战Agentj当前发送的所有作战任务承诺总数,称为协作承诺数,记为Tamj。
当Tamj<Thdj时,协作参与者可响应黑板上的协作任务信息。
1.3.2协作准备
协作准备包括对待分配任务的分析与分解、制定作战任务信息表等工作。作战任务信息表主要包括协作请求者、作战任务描述、作战任务约束条件以及作战任务参与、完成时限等信息。
1.3.3协作请求
协作请求的方法是协作请求者将作战任务信息发布到黑板上,并且在作战任务信息中设置截止时间参数。当到达截止时间时,任务信息失效,黑板系统自动删除作战任务信息。同时协作参与陆战Agent根据自身感知度的大小,判断能否从黑板获取作战任务信息,从而参与协作。
协作请求的工作流程如图1所示。
图1 协作请求工作流程
1.3.4任务承诺
协作参与陆战Agent接收到黑板上的作战任务信息后,即进入了任务承诺阶段。任务承诺的主要工作包括协作参与陆战Agent对协作子任务的评估及向协作请求者发出任务承诺。
为了限制陆战Agent象传统合同网协议中的合同者那样盲目参与,避免由于协作参与者自身能力不足,而造成承诺失败的问题,从节约系统资源,减轻陆战Agent负担,加快系统执行效率的角度出发,对合同网协议作如下改进:
1)为每个协作参与者设置一个协作参与阈值,即每个协作参与者能够进行任务承诺的最大值,其大小与陆战Agent的感知度相关联。当感知度降低时,协作参与阈值也同时降低,表示陆战Agent并行执行任务的能力降低,反之亦然。
2)当协作参与者有能力执行作战任务时,设置评估函数对作战任务进行排序,从中选出自己最有把握的作战任务,按照一定的规则形成任务承诺信息发送给协作请求者。
1.3.5优选最佳协作参与者
优选最佳协作参与者就是按照某种策略,从众多参与者中选择合适的协作伙伴。总的原则是能更好地完成作战任务的各个子目标,在对协作参与陆战Agent优选时,需要考察其综合能力,如完成作战任务的质量、能力度、熟悉度、感知度等,以保证作战任务总体效果能达到最佳。这些因素有些是无法准确量化的,因此,应该采用基于模糊综合评判的优选策略。
2 陆战Agent自主协作功能结构
根据陆战Agent的内部结构[4]和合同网协议的改进思路,可得到陆战Agent自主协作功能结构,主要由任务处理器、知识库、协作处理器和通信处理器等组成,如图2所示。
图2 陆战Agent自主协作功能结构
3 陆战Agent自主协作框架
在改进的合同网协议中,协作请求陆战Agent和协作参与陆战Agent分别承担合同网协议中管理者和合同者的角色。在陆军作战过程中,上级陆战 Agent主要负责管理所有陆战Agent的相关信息,并在作战的不同阶段向陆战Agent分配作战任务或打击目标,其所关注的重点是对战场的整体协调和控制,不参与具体的自主协作控制;而协作请求陆战Agent依据上级陆战Agent下达的作战任务或战场空间临时出现的突发情况,利用改进合同网协议,自主向其他陆战Agent发出作战任务协作请求,寻求协作伙伴;协作参与陆战Agent则负责响应作战任务请求信息,以及作战任务的协作执行。
因此,陆战Agent自主协作框架可由两个层次构成。第一个层次是从上级陆战Agent获取本级任务,如果陆战Agent不能独立完成则转到第二个层次。在第二个层次上,本级陆战Agent是任务的分配方,并自动成为协作请求者,通过黑板向其他陆战Agent发出协作请求。得到协作请求信息的其他陆战Agent都可成为作战任务的接受方,并自动成为协作参与者,如图3所示。
图3 陆战Agent自主协作框架
4 陆战Agent自主协作策略
4.1 自主协作请求策略
陆战Agent自主协作请求策略是以黑板作为中间媒介,协作参与者根据自身类型、资源及负载状况而参与作战任务的协作。通过设置感知度Pre与感知阈值PreTh两个参数来限制协作参与者的协作参与,即当Pre>PreTh时,允许协作参与者从黑板获取请求协作任务信息,以此减少任务的发送范围,提高效率。
4.2 自主协作承诺策略
陆战Agent的自主协作承诺策略,依据其自身的负载和资源状况,为每个协作参与陆战Agent设置一个协作参与阈值Thd,表示每个陆战Agent能同时参与协作任务的个数,以保证协作参与者每次的任务承诺都有效。而参与协作阈值与陆战Agent自身感知度相关。
1)当协作参与陆战Agent接到协作任务后,将此时协作参与陆战Agent已经发送的任务承诺值TAm与其当前感知度下的协作参与阈值Thd进行比较,如果TAm<Thd,则禁止响应协作请求。
2)协作承诺值的调整
①向协作请求者发送任务承诺后:TAm=TAm+1
②承诺被拒绝时:TAm=TAm-1
③承诺被选中的陆战Agent成为子任务的执行者时:TAm=TAm-1,Pre=Pre-Δpre,Thd=Thd-ΔThd;
④任务完成时:Pre=Pre+Δpre,Thd=Thd+ΔThd。
4.3 自主协作团队优选策略
基于模糊综合评判的评估策略,协作请求者根据作战任务分配的特征和协商目标确定影响协作团队优选的因素评价集,利用模糊综合评判的结果对潜在的协作参与者做出评价,进而挑选出最佳的协作任务执行者。
模糊综合评判是应用模糊关系合成的原理,由多个因素来综合评判事物隶属等级的方法。通常包含确定因素集、确定评价集、确定各因素的权重、单因素模糊评判和模糊综合评判等5个基本步骤。
各因素的权重用来反映其对评判对象影响的重要程度,因素ui的权重记为iη,且有
单因素模糊评判旨在建立因素集与评价集之间的一种模糊关系,如第i个因素的评价结果可记为:
其中,rij为因素iu产生结果vj的隶属度。
5 陆战Agent自主协作流程
陆战Agent自主协作流程如图4所示。
图4 陆战Agent自主协作流程
5.1 作战任务识别
作战任务识别的主要工作是对上级陆战Agent授予的作战任务按一定的规则或需求,分解成多个协作子任务,并将这些协作子任务按照一定的格式生成作战任务信息表,发送到黑板上,以寻求协作。
其协作子任务信息表中每个子任务的内容为:
其中:
AgentID表示协作请求陆战Agent标识。
TaskID表示子任务标识。
TaskType表示协作子任务类型,参与者按任务类型修正自身能力度,用于对任务的期望评估。
Priority表示任务优先度,用于标识当前任务的重要程度。
TaskDescription表示对子任务的简要描述。
ExpireTime表示协作请求者接收协作参与者发出任务承诺的截止时限。
Address表示协作请求陆战Agent物理地址,用以实现与协作陆战Agent之间的通信交互。
TaskRestriction表示协作请求陆战 Agent提出完成任务的约束条件,包括对协作参与者完成任务的代价约束、资源约束和质量约束等。TaskRestriction={Cost、ξCap、Quality、Pre},其中 Cost表示完成任务的代价;ξCap表示协作参与陆战Agent依据作战任务类型修正后的作战能力参数;Quality表示任务预计能达到的效果;Pre表示协作参与陆战Agent的感知度。
5.2 形成协作团队
形成协作团队的过程是基于改进合同网协议,陆战Agent之间进行交互协商的过程,其工作流程如下:
1)协作参与者从黑板感知协作任务信息
当满足以下条件时,允许陆战Agent参与协作:
① 感知度大于感知阈值:Pre>PreTh
② 已发出的任务承诺数小于协作参与阈值:TAm<Thd。
这两种情况表示陆战Agent当前有能力参与到作战任务的协作之中,允许其感知黑板的协作任务信息。
2)协作期望评估
为保证陆战Agent所承诺的任务都是最有把握完成的作战任务,设置一个协作参与评估函数Par(i,j,t),表示协作参与陆战Agentj对于协作请求陆战Agenti发布的任务t进行的协作期望评估。期望值越高,表示完成的可能性就越大。
其中,1λ、2λ和3λ是能力度、感知度、熟悉度在协作参与评估函数中所占的权值,并且λ1+λ2+λ3= 1 。
同时,根据任务t的类型参数及其对应的能力修正参数 ξ,修正陆战 Agent的作战能力,用于对每个子任务的评估。多个子任务按照评估值进行排序,陆战Agent依据排序后任务序列,选择最能胜任的任务。
最后协作参与陆战Agent根据协作任务信息,结合知识库中的战斗规则、战斗范例以及各种评估方法模型,对协作任务进行解算,按TaskRestriction规定的格式,生成任务承诺信息,在截止时限前提交给协作请求者。
3)协作团队优选
在基于改进合同网协议的自主协作中,最佳协作参与陆战Agent的选择,依赖于对其完成协作任务质量的承诺、所付出的代价、自身能力、感知度及其他陆战Agent的信任度等因素的评估。
利用模糊综合评判法选择协作参与陆战Agent的影响因素集为{承诺值,完成代价,能力度,感知度},这些因素对应的权重可依据经验数据设定,例如可设为{0.4,0.2,0.2,0.2},评价值集为[0,1]。
由此可对所有协作参与陆战Agent进行评判,通过对评判结果排序,选出最大值所对应的陆战Agent,作为协作伙伴。
4)形成协作团队
协作请求陆战Agent在达到任务截止时限后,确定所有子任务的协作伙伴,形成协作团队。并且将协作团队所有陆战Agent的相关信息,按照一定的格式,发送给协作团队中的每个成员,以方便协作参与陆战Agent之间的通信交互,以及在出现突发事件时,能及时通知其他成员。其协作团队成员信息的格式如表3所示。
表3 协作团队成员信息表
5.3 形成任务计划
协作团队生成后,可采用一种节点规划和通用部分全局规划(GPGP:Generalized Partial Global Planning)[5]的方法形成一个全局决心方案。协作团队中的所有成员均按照此决心方案,执行相关的作战任务。
节点规划是协作问题求解的重要思想,可以看作是多个规划问题的复合。首先,各陆战Agent建立其内部规划和决策模块共同作用,形成各自任务计划。然后,陆战 Agent相互交换各自的本地规划,利用GPGP协调机理建立全局的具有时间、空间等约束关系的决心方案。
5.4 任务执行与监控
在形成作战任务计划后,各陆战Agent按总体计划执行任务。在协作任务执行过程中,一方面,由于战场态势瞬息万变,如果出现突发情况,导致必须中止当前的作战任务;另一方面,由于陆战Agent权威性和受控性的特点,如果陆战Agent接到上级命令,要求其立刻执行某项任务,则陆战Agent会立即放弃正在进行的所有任务,而去执行上级新的命令。这两种情况都会造成协作关系的失效。因此,需要定义相应的规则,以方便团队内的所有协作伙伴能及时处理,避免不必要的损失。
表4中列举了一些简单的事件规则,由于战场的复杂性,需要对规则进行不断的补充和修改。
任务执行完成后,需要综合考虑陆战Agent在作战任务执行期间的战损情况、士气、指挥等因素,从而实现对所有协作成员能力的动态评估,具体可根据实际能力情况更新模型。
6 陆战Agent自主协作实施步骤
首先假设:
陆战Agentq:为协作请求者;
P:为所有协作参与者的集合,P={陆战Agent1,陆战Agent2,…,陆战Agentm};
T:为协作请求者陆战 Agentq提交的所有协作任务集,T={T1,T2,…,Tn};
表4 陆战Agent事件处理规则
TIDk:为协作任务Tk的标识;
PIDj:为协作参与者陆战Agentj的标识;
Prej:为协作参与者陆战Agentj的感知度;
PreThj:为协作参与者陆战Agentj的感知阈值;
Tamj:为协作参与者陆战Agentj当前发送参与协作任务承诺数;
Thdj:为协作参与者陆战Agentj的参与阈值;
Parjk:为协作参与者陆战Agentj关于协作任务Tk的协作期望值;
Qjk:为协作参与者陆战Agentj承诺完成协作任务Tk的效果;
Costjk:为协作参与者陆战 Agentj完成协作任务Tk的战损和消耗;
Resjk:为协作参与者陆战Agentj完成协作任务Tk的可用资源;
Capjk:为协作参与者陆战Agentj完成协作任务Tk的作战能力度;
CadTIDk:为协作任务Tk的候选参与协作者集,CadTIDk={ cadk1,cadk2,…,cadkv};
Bestk:为协作任务Tk的最佳协作者;
BestTeam:为最后形成的协作团队;
ExpireTime:为协作请求者陆战Agentq接收协作任务承诺的截止时刻;
SendPromises:为协作参与者陆战 Agentj向协作请求者陆战Agentq发送关于协作任务Tk的承诺函数,SendPromises(Qjk,Costjk,Resjk,Capjk,TIDk,PIDj);
ReceivePromises:为协作请求者陆战Agentq接收协作任务承诺函数,ReceivePromises(Qjk,Costjk,Resjk,Capjk,TIDk,PIDj);
Selectbest(CadTIDk):根据模糊综合评判法为协作任务Tk选择最优协作参与者函数;
SendMember:为协作请求者陆战 Agentq向协作参与者陆战Agentj发送关于其成为Tk的协作成员信息函数,SendMember(PIDj,TIDk)。
那么,陆战Agent自主协作实施步骤如下:
1)陆战 Agentq向黑板提交任务集合 T={T1,T2,…,Tn}
2)所有协作参与者陆战 Agentjj=1,2,…,m 同时对协作任务进行评估,对自身最能胜任的协作任务进行承诺:
①判断感知度和协作参与阈值是否满足任务读取条件:
3)陆战Agentq为每一个协作任务接收承诺信息,形成候选参与协作者集:
4)根据模糊综合评判法为每个协作任务优选协作者,形成团队:
5)发布协作团队成员信息:
6)协作团队修正感知度,协作成员按照内部规划,形成协作任务计划。
7)按GPGP方法生成任务总体计划。
8)按任务总体计划执行,任务执行中按事件规则处理突发事件。
9)如果 异常执行步骤(10),否则执行步骤11)。
10)按异常处理规则处理。
11)任务结束,修正能力度、感知度。
12)结束。
7 结束语
本文通过对合同网协议应用于陆战Agent自主协作所存在问题的分析,提出了改进合同网协议的思路和方法,在此基础上,探讨了陆战Agent自主协作机制模型的功能结构、框架、策略、流程和实施步骤,为陆军作战复杂系统的ABMS奠定了基础。
[1]Andrew Ilachinski.Land Warfare and Complexity.Part I:MathematicalBackgorundandTechnicalSourcebook[DB/OL].CenterforNavalAnalyses,1996[2009-03-10].http://w ww.cna.org.
[2]韩月敏,刘非平,刘丽巧,等. 陆战Agent协作机制模型研究[J].指挥控制与仿真, 2009,31(6):6-10.
[3]Smith R.G. The Contract Net Protocol: High-Level Conation Communication and Control in distributed problem solver [J]. IEEE Transactions on Computer, 1980,29(12):1104-1113.
[4]韩月敏,彭海,张金荣,等. 陆军作战复杂系统 ABMS机理研究[J].指挥控制与仿真, 2011,33(2):1-4.
[5]韩祥兰,张刚,刘仰光.通用模糊综合评判工具的研究与应用[J].计算机应用与软件,2010,27(2):187-190.