本章综述了复杂系统的的研究背景,研究方法,复杂系统一致性的研究现状以及发展前景等方面的内容。可见复杂系统的一致性算法在当今科技发展中占有重要地位。所以本文重点针对复杂系统的一致性算法进行研究,并利用Matlab建立仿真平台。同时和没有引入网络的一致性算法进行对比,了解不同条件下的一致性算法的实现的不同之处。
在之后的章节中,第二章将重点介绍一致性算法的相关基础知识,其中包括了Vicsek模型介绍和一致性算法的数学基础。清晰明了的展示了我们在进行Matlab编程实现时应该用到的算法。第三章主要介绍了重点介绍连续时间一致性算法,离散时间一致性算法以及一致性的研究热点。第四章主要介绍了一致性算法的Matlab编程实现和仿真结果。并在仿真结果的基础上对无网络下的一致性算法和有网络下的一致性算法进行了比较。最后第五章对全文进行了总结。
2 一致性算法概述
2.1 引言
近年来,多智能体系统吸引了各个领域的专家学者的兴趣。在众多研究方向中,一致性问题因其重要性引起了广泛的研究。研究者尝试各种方法来解释如何通过简单的局部行为来获得全局的期望行为,Vicsek模型便是在仿真鸟群的过程中提出的一种经典模型。在Vicsek模型中,每个节点通过简单的邻居规则,仅与一小部分节点进行信息交递,最终便可以实现系统的整体一致行为[21]。
一般地,在研究多个体系统的一致性问题时,我们通常会利用图论这一工具来解决问题。我们利用网络图来分析每个个体之间信息的传递情况,同时一通过进一步研究发现网络图的拉普拉斯矩阵的特征值也能影响一致性算法的收敛速度。一般地,我们都是采用图论分析方法,但在特殊的情况下我们还可以采用李雅普洛夫泛函分析方法,矩阵分析等方法[5]。
2.2 Vicsek模型介绍
Vicsek模型是复杂系统研究中的一个非常著名的模型,在Vicsek 模型中,每个人节点通过简单的邻居规则,仅与一小部分节点进行信息传递交换,最终便可以实现系统的整体一致行为[21]。
2.2.1 Vicsek模型的数学表达
对于多智能体系统Vicsek模型,系统中每个节点的邻居定义为以个体为圆心、在半径R范围内的所有节点,在每个离散时刻,节点根据邻居的角度值来更新自己的角度。考虑Vicsek模型,设多智能体系统包含的智能体个数为n,在k时刻个体i的邻居Ni(k),定义如下:
其中, 、 表示k时刻第i个智能体的位置坐标,R为邻居半径,其大小与智能体发射功率有关。在Vicsek模型的实际实现过程中,R的大小还受接收机的识别精度等的影响。
一致性协议所描述的节点间相互作用所采用的规则。Vicsek模型中的每一个节点都拥有固定的移动速率v,只是运动方向θ不同。在离散时刻 ,智能体根据其所有邻居的运动方向 来更新自己的运动方向 ,考虑每个智能体的初始方向 ,则更新协议如下:
将智能体的移动分解到直角坐标系的x、y两个方向,则智能体的位置更新如下:
,
,
上式为Vicsek模型未经过线性化过的原始模型。
2.2.2 Vicsek模型相关概念
1、一致性
在多智能体系中,设系统有N个节点, 表示第i个节点的状态,当 时,
,
则称系统达到了一致。
对Vicsek模型,节点状态就是节点的运动方向。若Vicsek模型达到一致,则有
。
2、系统一致程度
对于可一致的系统来说,达到一致所需的时间或许是研究者最关心的变量。然而在研究过程中,对不可一致的多只能体系统来说,需要其他参数来衡量系统的一致程度。在众多参数中,比值S计算简单,能够反映系统的一致情况。S表示已达到一致的节点个数占系统总节点数的比值。在程序中编写代码实现时采用如下公式[22]: TrueTime网络环境下复杂系统一致性的仿真(3):http://www.751com.cn/zidonghua/lunwen_2164.html