多智能体系统蜂拥问题的研究 16
发生的。为了解决这个问题,人们改写方程(5),方程如下
||qj?qi||??d?,?j?NI(q) (2-13)
其中da?||d||?。因此,可以得到以下势能函数 V(q)?12???ij?ia(||qj?qi||?) (2-14)
这里?a(z)是光滑的成对的吸引/排斥势能(由公式2-16给出),其中有限的间断在
ra?||r||?取得,全局最小值为z?da。
为了建立一个含有有限间断的光滑的成对的势能函数,我们加入功能函数?a(z)它对于所有z?ra为0。定义这个功能函数是
?a(z)?ph(z/ra)?(z?da)?(z)?12[(a?b)?1(z?c)?(a?d)] (2-15)
其中?1(z)?z/1?z2而且?(z)是一个s型函数满足0?a?b,c?|a?b|/4ab从而满足?(0)?0。这个成对的吸引/排斥势能在公式(2-14)中定义为
z?a(z)???daa(s)ds. (2-16)
这个函数的曲线在图2-7中给出。
图2-7在有限间断的光滑势能?a(z)
多智能体系统蜂拥问题的研究 17
2.3蜂拥控制算法介绍
本节首先介绍自由空间蜂拥的离散算法,其针对的是带有动态属性qi?ui的α智能体。自然界中的α智能体可对应于鸟类,蜜蜂,鱼和蚂蚁。之后,介绍考虑到了障碍和集体的影响的β智能体和γ智能体算法。这些算法的基础是蜂拥中的α智能体和它们互相的影响。
在自由蜂拥中,每一个?智能体接收到三项信号
ui?fi?fi?figdr.. (2-17)
其中三个分量分别是速度、障碍和反馈影响。这里有一个蜂拥中的群体向一个方向移动的例子,Olfati-Saber提出两个离散算法来建立在三维空间中的蜂拥运动。
在一个群体中的具有客观的蜂拥表现的微粒/智能体称作α智能体。这里介绍三种关于α智能体的可扩展的蜂拥算法。第一种蜂拥算法是一种基于梯度的具有速度匹配的算法。事实表明,这种算法体现了Reynolds所有三个规则。
第二种算法是蜂拥在自由m空间运动中的主要算法。这个算法有一个附加的条件γ-智能体,它对群体的目标进行考虑。在分析算法2的过程中,会提出两个猜测,关于蜂拥的空间秩序的关键性解释,和相互连接的移动智能体网络的自组织性。
第三算法具有避障功能。通过β-智能体表现障碍的影响。这些智能体是运动的而且在障碍的边界运动。之后,通过第三种算法的设计和分析,人们可以塑造多种类涌现势能。可以表明,蜂拥的跟踪问题可以通过没有领导者的点对点架构解决。 2.3.1蜂拥控制基本算法(算法1)
由于Reynolds所提出的三条基本规则实际上是基于系统环境中智能体的位置和速度来考虑的。因此,考虑N智能体在n维的欧式空间中运行,假设第i个智能体的运动方程为:
?.?qi?pi, ?.??pi?ui, (2-18)
其中q代表智能体i的位置向量,p代表智能体i的速度向量,u代表智能体i的控制输入(加速度)向量。此时的蜂拥问题就转化为,当输入值u满足什么条件时,能够使得N个智能体的群体行为满足Reynolds所提出的三条规则。
其研究的主要工具是图的应力元素,定义与共识网络G(q)的边(i,j)相对应的应力为
多智能体系统蜂拥问题的研究 18
sij(q)??a(||qj?qi||?)1??||qj?qi||?,(i,j)??(q). (2-19)
不相邻智能体之间的应力元素为0。算法1的蜂拥可以用应力和邻接元素表示成以下形式
上述方程包含了三条Reynolds法则,代表了速度匹配,和蜂拥的聚合,分离规则。
ijijui?a?s(q)(qj?qi)??a(q)(qj?qi)?ui?ui.gd为了证明这一事实,让我们定义Si(q)?我们得到
ui?qg?sij(q).
?sij(q)(qj?qi)?Si(q)(qi??qi?).
(2-20)
是的智能体i的相邻位置加权平均。因此,每个智能体遵循下列规定:a)如果
,则远离加权相邻中心。这与智能体
Si(q)?0,则移向相邻加权中心。b)如果Si(q)?0的速度一致性一起证明了算法1满足三项Reynolds法则。
令时刻t每个智能体的邻域为Ni(t),他是智能体i能感受到智能体的集合,把智能体视为节点,当两个智能体之间有影响时,把两节点相连,构成边。这些由节点和边组成无向图G(t)。如果每个智能体(节点)邻域内的智能体都不随时间而变化,那么该无向图也不随时间而变化,此时系统具有固定的拓扑结构。如果对于网络中的某个智能体,上一时段在其邻域范围内的一些智能体在某时刻动到了其邻域之外,或者上一时段不在其邻域范围内的一些智能体在某时刻移动到了其临域内,则称系统具有切换拓扑结构。
图G(t)对应的邻接矩阵为A(G(t))?[aij(t)],其中
??1,j?Ni(t)?aij(t)??, ??0,j?Ni(t)?aii(t)?0? (2-21)
图G(t)的拉普拉斯矩阵为L(G(t))??(G(t))?A(G(t)),其中度矩阵?(G(t))是一个对角矩阵,其中第i个对角元是节点i的度。L(t)是一个对称的半正定矩阵,它的零特征值的数目等于图G(t)中的连通子图的数目。当图G(t)连通时,则L(G(t))的零特征值数目为1,其中对应的特征值向量为全1向量,而且其他特征值均为正。
如果只考虑要求系统中所有的智能体的速度达到一致,就可以对智能体的速度方程
多智能体系统蜂拥问题的研究 19
通过一致算法来实现速度匹配。对于任意两个智能体,若时间趋近于无穷大时,它们的速度向量趋近于相同,则称它们的速度达到一致。连续时间系统的一致算法可以取为:
ui(t)??(pj(t)?pi(t))??aij(t)(pj(t)?pi(t))?lij(t)vj(t) (2-22)
对于固定拓扑结构来说,如果无向图G(t)为连通;或者对于切换拓扑结构来说,如果存在无穷多个非空时间段内无向图的并为连通,那么各个智能体的速度最终能够达到一致。
近年来,许多控制学者通过利用速度一致性和人工势能函数梯度的方法构造蜂拥控制算法以实现Reynolds的蜂拥规则。对于智能体i,其控制输入为:
ui?fi?figd (2-23)
其中右边第一项为人工势能函数梯度,用于实现分离和聚合两条规则。第二项用速度一致性算法,用于实现智能体之间的速度匹配。对于固定拓扑结构,如果拓扑结构是全连通的,则所有的智能体的速度大小和方向将会渐进趋近于一致,系统智能体之间的势能会达到最小,智能体之间不会发生碰撞;对于切换拓扑结构,如果智能体切换前后,拓扑结构图始终能够保持连通则所有的智能体的速度仍然会渐进趋于一致,智能体的势能会达到最小且不会碰撞。
当蜂拥算法1的初始条件是任意选取时,可能会产生分裂象,如图2-8所示。整个群体被分为三个子组,每个子组内的智能体只能与自己子组内的智能体交换信息,而且在自己内部子组中达到局部蜂拥现象,但对于整个群体来说产生了分裂现象;只有当各分组在运行中碰巧相遇,这样子组之间才会发生信息交换。蜂拥控制的实现此时严重依赖于初始值的分布。
图2-8分裂现象
多智能体系统蜂拥问题的研究 20
2.3.2具有单个虚拟领导者的蜂拥控制算法(算法2)
Olfati-Saber针对切换拓扑结构的基本蜂拥算法1容易形成分裂现象,在其基础上增加了关于位置和速度反馈项。对于智能体i,他的控制输入函数为:ui?uig?uid?uir 或
ui????(||qj?qi||?)nij??aij(q)(pj?pi)?fi(qi,pi,qr,pr) (2-24)
r其中uir反映智能体受到来自领导者的影响,定义如下
ui?fi(qi,pi,qr,pr)??c1(qi?qr)?c2(pi?pr),c?0
rr其中(pr,qr)是领导者智能体的速度和位置,一个领导智能是动态或固定的智能体,可以被看到作为移动的汇合点。当领导者智能体是固定的时,(pd,qd)是一个固定的矢量对,这指出了领导者智能原始的位置和速度。当一个领导者智能体是动态的,它有下面的模型。
.?qr?pr,??.??pr?fr(qr,pr), (2-25)
在初始能量有限的假设条件下,Olfati-saber证明了在控制算法2的作用下,Reynolds的三条规则均可以实现,其中包括聚合,速度匹配和避免碰撞。该算法初始值任意选取时,即使因为出是值得原因而分成了各个子组,最终也能保证实现蜂拥,避免发生分裂现象。
2.3.3障碍物环境下的蜂拥算法(算法3)
迄今为止,本文所介绍的多智能体的蜂拥控制都是假设在个不存在障碍物的环境中,智能体的移动不受环境的限制的。对于运动环境中存在障碍物的情形,显然,障碍物对智能体的影响与其二者间的距离有关。智能体和障碍物之间距离存在某一临界值,当两者的距离小于此临界值时,障碍物则会对智能体“产生”排斥力来阻止智能体继续接近障碍物,以避免最终相撞;而二者之间距离大于等于此临界值时,则障碍物与智能体间不存在任何作用力。另外,如果要求智能体集中到达目标位置,显然,目标点对智能体的影响与其二者问的距离也是有关。随着距离的减小,目标点对智能体“产生”吸引力越小,直至智能体到达目标点的吸引力为零。
为了方便表示,Olfati-Saber除了将真正的智能体表示成?智能体,虚拟领导者表示成?智能体外,当智能体和障碍物距离小于临界距离时,把障碍对?智能体的排斥表示
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库多智能体蜂拥的研究(4)在线全文阅读。
相关推荐: