💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
🎁完整资源、论文复现、期刊合作、论文辅导及科研仿真定制事宜点击:
👉👉👉本文完整资源下载
⛳️座右铭:行百里者,半于九十。
⛳️赠与读者
👨💻做科研,涉及到一个深在的思想系统,需要科研者逻辑缜密,踏实认真,但是不能只是努力,很多时候借力比努力更重要,然后还要有仰望星空的创新点和启发点。建议读者按目录次序逐一浏览,免得骤然跌入幽暗的迷宫找不到来时的路,它不足为你揭示全部问题的答案,但若能解答你胸中升起的一朵朵疑云,也未尝不会酿成晚霞斑斓的别一番景致,万一它给你带来了一场精神世界的苦雨,那就借机洗刷一下原来存放在那儿的“躺平”上的尘埃吧。
或许,雨过云收,神驰的天地更清朗.......🔎🔎🔎
💥第一部分——内容介绍
从全局依赖到完全分布:线性多智能体系统自适应动态共识协议的理论演进与前沿挑战
摘要
分布式共识是多智能体协同控制的基础性问题。传统共识协议的设计长期依赖通信拓扑的全局信息(如拉普拉斯矩阵的最小非零特征值),这限制了系统在动态、大规模或对抗性环境中的可扩展性。自适应动态协议通过引入时变耦合权重的在线调节机制,使智能体仅凭局部相对输出信息即可实现完全分布式的共识控制,成为突破上述瓶颈的关键路径。本文系统梳理了该方向的研究脉络:从Li等(2013)提出的边基与节点基两类基础自适应协议出发,分析其设计哲学与理论贡献;进而考察该框架向有向图、时变拓扑、领导者-跟随者场景及输出反馈情形的扩展;最后讨论数据驱动自适应共识的新近进展与复合型挑战下的开放问题。研究表明,自适应动态协议的核心价值在于将“全局信息需求”转化为“局部自适应能力”,但其在异质系统、通信约束与安全对抗等多重挑战并存时的统一理论框架仍不成熟,构成了未来研究的关键突破方向。
关键词:多智能体系统;分布式共识;自适应动态协议;完全分布式控制;线性系统
一、引言
多智能体系统的分布式共识问题,旨在设计仅依赖局部信息交换的控制策略,使一组智能体在某一感兴趣的变量上达成一致。这一问题在无人机编队、传感器网络、微电网协调等领域具有广泛的应用背景。在共识理论的早期发展中,Olfati-Saber与Murray等人建立了基于代数图论的一般性分析框架,但彼时协议设计通常需要预先获知通信拓扑的全局特征——尤其是拉普拉斯矩阵的最小非零特征值。这一信息本质上是全局的:每个智能体必须掌握整个通信图的结构才能计算该特征值。由此导致的困境是,协议在理论上具有“分布式”的形式,在实现上却依赖“集中式”的信息前提。
自适应动态协议的引入从根本上改变了这一格局。其核心思想是:将原本固定的耦合权重转化为由局部状态误差驱动的时变量,使智能体在运行过程中自主“学习”到合适的耦合强度,从而在无需预知拓扑全局参数的情况下达成共识。这一思路将控制理论中的自适应机制与多智能体共识问题深度融合,催生了一系列兼具理论深度与应用潜力的研究成果。
本文以Li、Ren、Liu和Xie于2013年发表在Automatica上的开创性工作为起点,系统回顾自适应动态共识协议的理论演进。第二节阐述两类基础协议的设计逻辑与核心贡献;第三节考察该框架在多方向上的扩展;第四节讨论当前面临的挑战与未来方向;第五节给出结论。
二、自适应动态协议的基础框架
(一)问题设定与传统局限
Li等所研究的问题具有相当的普遍性:每个智能体由一般连续时间线性动态描述,智能体之间通过无向连通图交换信息,且仅相对输出信息可获取,而非全状态。这一设定覆盖了大量实际场景——在许多物理系统中,传感器的测量量是输出而非内部状态,智能体能够观测到邻居的有限信息而非完整状态。
传统动态共识协议(如基于观测器的协议)的不足在此设定下暴露无遗。Scardovi与Sepulchre等此前提出的动态协议虽然能够处理相对输出信息,但要求状态矩阵没有不稳定特征值,且协议维度较高。更重要的是,这些协议的设计仍需全局信息,无法实现真正的完全分布式运行。
(二)边基自适应协议
边基协议的核心设计是为通信图中的每条边分配一个时变耦合权重。该权重的动态更新由相邻智能体之间的相对输出误差驱动:当某条边上的不一致性较大时,耦合权重增长以增强该边的控制作用;当不一致性趋于消失时,权重收敛至某一有限稳态值。
这一机制的精妙之处在于其“隐式协调”特性。每条边上的权重独立演化,但所有边的权重动态共同作用的结果是全局共识的达成。换言之,智能体无需知道拓扑中有哪些边、哪些邻居更为关键——耦合权重的自适应过程自动完成了对拓扑结构的“隐式编码”。理论分析表明,该协议适用于任意无向连通图,且对于任意切换连通图同样有效。
(三)节点基自适应协议
节点基协议将时变耦合权重分配给每个节点而非每条边。每个智能体拥有一个自适应的耦合参数,该参数根据其与所有邻居的相对输出误差的总和进行调整。
与边基协议相比,节点基协议在通信负担上更具优势:智能体无需为每条通信链路维护独立的权重变量,仅需更新一个本地标量。然而,这一简化并非没有代价。节点基协议的维度虽然低于Scardovi等人的早期协议,但其适用性分析更为复杂,需要更精细的稳定性论证。从理论统一性的角度看,两类协议共享相同的设计哲学——以局部自适应替代全局预知——但在实现复杂性与适用场景上各有侧重。
(四)领导者-跟随者情形的处理
Li等进一步将自适应协议框架扩展至存在领导者的情形,其中领导者的控制输入可能非零且时变,但仅有界而无需已知上界。这一扩展具有明确的现实动机:在分布式跟踪任务中,领导者的行为往往不可精确预知,要求跟随者预知其控制输入的上界是不切实际的。
所设计的分布式连续自适应协议保证共识误差的最终有界性,适用于包含以领导者为根的有向生成树的通信图,且跟随者子图无向。值得注意的是,该协议同时不要求通信图的全局信息,也不要求领导者控制输入的上界——这两点使得协议在实际部署中具有显著的鲁棒性优势。作为特殊情况,文中还讨论了分布式不连续协议。
三、理论扩展与后续发展
(一)向有向图与切换拓扑的推广
基础自适应协议的无向图假设是一个有意义的理论起点,但实际通信往往具有方向性。后续研究将有向图情形下的完全分布式自适应共识作为重要目标。核心困难在于:有向图对应的拉普拉斯矩阵不再对称,其非零特征值可能为复数,且最小非零特征值的实部仍然构成全局信息。针对这一挑战,研究者提出了适用于包含有向生成树的通信图的自适应协议,通过引入辅助变量或改进权重更新律,在保持完全分布式特性的同时处理有向信息流的不对称性。
切换拓扑是另一类重要扩展。边基协议的一个突出优势在于其对任意切换连通图的适用性——权重自适应机制能够在拓扑变化时重新调整耦合强度,而无需重新设计协议参数。这一特性对于通信链路可能中断或重构的动态网络具有重要价值。
(二)输出反馈与观测器设计的融合
基础协议已考虑相对输出信息可获取的情形,但协议本身仍包含一个动态状态变量(协议状态)。后续研究进一步将自适应机制与降阶观测器、分布式观测器设计相结合,降低协议维度并放松对智能体动态的假设。例如,针对一般线性系统,研究者提出了基于相对输出的降阶观测器协议,在保持完全分布式特性的同时减少了信息交换量和计算负担。
(三)数据驱动与无模型自适应共识
近年来,数据驱动方法为自适应共识协议注入了新的内涵。传统自适应协议的设计仍然需要智能体动态模型的知识(尽管不需要全局拓扑信息),而数据驱动自适应共识旨在进一步放松对模型先验的依赖。2024年发表的一项代表性工作提出了融合离线与在线设计的直接数据驱动自适应协议:离线数据用于确定协同控制参数,在线数据实现耦合权重的自主动态调整,并建立了从噪声数据到控制设计的直接映射关系,避免了传统系统辨识与数据去噪的复杂过程。这一方向代表了自适应共识研究从“基于模型”向“数据赋能”的范式延伸。
(四)异质系统与复合约束下的自适应
实际多智能体系统往往由异质智能体构成,且面临通信时延、数据量化、执行器饱和等多重约束的叠加。自适应动态协议的思想已被引入异质线性多智能体系统的输出共识问题,以及具有未知控制方向的非线性系统等场景。然而,当多种挑战——异质性、有向拓扑、时延、对抗攻击——同时存在时,现有协议往往难以兼顾完全分布式特性与鲁棒性能。这正是当前研究的一个显著空白。
四、开放问题与未来方向
(一)复合型挑战的统一理论框架
正如近期综述所指出的,现有研究在单一挑战(如时延补偿、攻击免疫、有限时间收敛)上取得了丰富成果,但针对“异质+有向+时延+对抗”等复合型问题的统一理论框架尚不成熟。自适应动态协议的完全分布式特性使其在应对单一约束时具有天然优势,但当多种约束耦合时,权重更新律的设计面临根本性困难:例如,时延会引入相位滞后,可能破坏自适应律的稳定性;有向图下的权重收敛性分析本就更为复杂,与异质性叠加后挑战倍增。
(二)自适应协议的收敛速度与性能保证
耦合权重的在线调整赋予了协议对拓扑变化的适应性,但也可能带来收敛速度的退化或权重的过度增长。如何在保持完全分布式特性的前提下,为自适应协议的收敛速度提供可预测的界,是一个兼具理论意义和实用价值的问题。现有的Lyapunov分析通常只能保证渐近收敛,定量性能保证仍然缺乏。
(三)从“状态一致”到“任务协同”
当前共识研究的关注点主要集中在状态层面的一致性——即所有智能体的某一变量趋于相同。然而,许多实际任务要求的是更高层次的协同:智能体需要在保持功能一致的同时完成分工协作,或在存在对抗性干扰时维持任务层面的鲁棒性。从“状态一致”向“任务协同”的范式转变,要求自适应协议的设计目标从“误差趋零”扩展为“在不确定性和对抗性环境下的任务效能最优”。这一转变可能需要将自适应控制与博弈论、强化学习等工具深度融合。
五、结论
自适应动态协议为线性多智能体系统的分布式共识提供了一条摆脱全局信息依赖的有效路径。以Li等(2013)的边基与节点基协议为标志,该方向形成了从基础设计到多维度扩展的较为完整的理论体系。其核心贡献在于将“全局信息需求”转化为“局部自适应能力”,使完全分布式共识从理论构想走向可实现的协议架构。然而,面对异质性、通信约束与安全对抗等多重挑战并存的实际场景,自适应协议的设计仍面临根本性困难。构建能够融合处理复合型挑战的统一理论框架,深化数据驱动与学习型自适应方法,以及推动研究范式从状态一致向任务协同演进,构成了该领域下一阶段的核心探索方向。
📚第二部分——运行结果
本文研究了具有一般连续时间线性动态的多智能体系统的分布式共识问题,包括无领导者和有领导者(其控制输入可能非零且时变)的两种情况。对于无领导者的情况,基于相邻智能体的相对输出信息,提出了两种类型的分布式自适应动态共识协议,分别是:边基自适应协议(edge-based adaptive protocol),该协议为通信图中的每条边分配一个时变耦合权重;以及节点基自适应协议(node-based adaptive protocol),该协议为每个节点使用一个时变耦合权重。这两种自适应协议旨在确保在所有无向连通通信图中以完全分布式的方式达成共识。结果表明,边基自适应共识协议适用于任意切换连通图。
对于存在领导者(其控制输入可能非零且有界)的情况,设计了一种分布式连续自适应协议,以保证在任何包含以领导者为根的有向生成树的通信图中,共识误差的最终有界性,且该通信图中跟随者的子图是无向的。这种协议不需要通信图的全局信息,也不需要领导者控制输入的上界信息。此外,还讨论了一种分布式不连续协议作为特殊情况。最后,通过仿真例子验证了理论结果。
共识问题是多智能体系统协同控制领域中的一个重要问题。共识的主要思想是开发分布式控制策略,使一组智能体能够在某些感兴趣的量上达成一致。由于其在航天器编队飞行、传感器网络等广泛领域的潜在应用,共识问题受到了众多研究人员的广泛关注。例如,Jadbabaie等(2003)利用代数图论工具为Vicsek模型的线性化提供了理论解释;Olfati-Saber和Murray(2004)提出了固定或切换拓扑结构下积分器网络共识问题的一般框架;Ren和Beard(2005)等也对这一领域做出了重要贡献。
现有的共识算法大致可以分为两类:无领导者共识(即无领导共识)和有领导者共识。有领导者共识也被称为领导者-跟随者共识或分布式跟踪。例如,Hong等(2008)和Hu等(2010)利用基于邻居的状态估计器研究了具有活动领导者的多智能体共识的分布式跟踪控制。此外,Jiang和Wang(2010)以及Ren和Atkins(2007)研究了双积分器和高阶积分器网络的共识问题。
本文研究了一般连续时间线性动态的多智能体系统的分布式共识问题。与以往工作不同,本文提出了一种统一框架,用于处理无领导者和有领导者(其控制输入可能非零且时变)的情况,并设计了完全分布式自适应协议,这些协议不需要相邻智能体的相对状态信息。具体而言,对于无领导者的情况,基于相邻智能体的相对输出信息,提出了两种分布式自适应动态共识协议:边基自适应协议和节点基自适应协议。这些协议能够在不需要通信图全局信息的情况下,确保在任何无向连通通信图中达成共识。对于有领导者的情况,设计了一种分布式连续自适应协议,以保证在包含以领导者为根的有向生成树(且跟随者的子图为无向图)的通信图中,共识误差的最终有界性。此外,还讨论了一种分布式不连续自适应协议作为特殊情况。
这些自适应协议的存在条件是每个智能体是可控和可观测的。与Scardovi和Sepulchre(2009)提出的动态共识协议相比,本文提出的自适应共识协议具有以下优势:首先,不需要假设状态矩阵A没有不稳定特征值;其次,节点基自适应协议的维度低于Scardovi和Sepulchre(2009)中的协议;最后,本文的框架可以处理领导者控制输入非零且时变的情况。
结论
本文研究了具有一般线性动态的多智能体系统的共识问题,包括无领导者和有领导者(其控制输入可能非零)的两种情况,且无需知晓相邻智能体的相对状态。基于相邻智能体的相对输出和相对状态估计,设计了若干分布式自适应协议,以实现无领导者和有领导者情况下的完全分布式共识,这些协议既不需要通信图的全局信息,也不需要领导者控制输入的上界信息。所提出自适应协议存在的充分条件是每个智能体是可控和可观测的。一个有趣的未来研究方向是将这些结果推广到具有一般有向通信图的情况。
原文结果:
代码运行结果:
部分代码:
%系统状态矩阵
SA=[0 1 0;0 0 1;0 0 0];
%输入矩阵
SB=[0 0 1]';
%输出矩阵
SC=[1 0 0];
%反馈矩阵
F=-[3 6.5 4.5];
%状态x
x_state=-4*rand(order,n)+2;
%x_state=zeros(order,n);
%状态y
y_state=zeros(1,n);
%状态v
v_state=zeros(order,n);
%输入u
u_input=zeros(1,n);
%tao
tao=[1 -1;-1 1];
%L
L=-[2.1115 1.3528 0.6286]';
%状态x的连续值
x1_state=zeros(order,n,loop);
c_state=zeros(n,n,loop);
u1_input=zeros(loop,n);
c=[-1.5 -1 -0.5 0 0.5 1;
-1 -0.5 0 0.5 1 1.5;
-0.5 0 0.5 1 1.5 2;
0 0.5 1 1.5 2 2.5;
0.5 1 1.5 2 2.5 3;
1 1.5 2 2.5 3 3.5];
errorAdded = zeros(n);
%-----------系统初始化--------------------------
%----------开始循环--------------------------
%---------对智能体进行循环,实验主题---------
for ld=1:loop
x1_state(:,:,ld)=(x_state(:,:)-x_state(:,1));%保存状态信息
% x1_state(:,:,ld)=x_state(:,:);
c_state(:,:,ld)=c(:,:);%保存自适应率信息
u1_input(ld,:)=u_input;
if mod(ld, 2) == 0
A=A1;
else
A=A2;
end
%计算cij
for i=1:n
for j=1:n
c(i,j)=c(i,j)+step*A(i,j)*[(y_state(i)-y_state(j));SC*(v_state(:,i)-v_state(:,j))]'...
*tao*[(y_state(i)-y_state(j));SC*(v_state(:,i)-v_state(:,j))];
end
end
%计算相对误差求和
for i=1:n
errorAdded(i)=0;
for j=1:n
errorAdded(i)=errorAdded(i)+c(i,j)*A(i,j) *(SC*(v_state(:,i) - v_state(:,j))-(y_state(i)-y_state(j)));
end
%计算状态v
% v_state(:,i)=(step*(SA+SB*F)+eye(3))*v_state(:,i)+step*L*errorAdded(i);
v_state(:,i)=step*((SA+SB*F)*v_state(:,i)+L*errorAdded(i))+v_state(:,i);
end
%计算状态u
for i=1:n
u_input(i)=F*v_state(:,i);%F:1*3,v_state:3*6
end
%----------------对智能体进行计算------------
for i=1:n
% x_state(:,i)=(eye(3)+step*SA)*x_state(:,i)+step*SB*u_input(i);
x_state(:,i)=x_state(:,i)+step*(SA*x_state(:,i)+SB*u_input(i));
y_state(i)=SC*x_state(:,i);
% disp(y_state(i));
end
end
🎉第三部分——参考文献
文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。(文章内容仅供参考,具体效果以运行结果为准)
🌈第四部分——本文完整资源下载
资料获取,更多粉丝福利,MATLAB|Simulink|Python|数据|文档等完整资源获取
本文完整资源下载