本发明涉及多智能体系统控制技术领域,具体涉及一种马尔科夫切换拓扑条件下的二分同步性控制方法及系统。
背景技术:
多智能系统的同步问题有许多现象,比如分布式传感器、分布式计算、生物群集等;但是在实际应用中,更希望能考虑二分同步。所谓二分同步指的是多智能体分为两类,每一类中的智能体都趋于同步,不同类之间的智能体趋于相反数。二分同步问题是多智能体协同控制中的一个热门方向,具有一定的挑战性,也是多智能体控制中一个重要的方向。
在实际工程应用中,现根据任务要求以及外部环境条件,把多智能体分成两类,通过智能体之间的耦合相互通信,合作最终实现二分同步,比如无人机的编队飞行等。
另一方面由于存在外部的扰动,智能体之间通信的不确定性,导致系统的网络拓扑是随机的,所以需要考虑的马尔可夫切换拓扑条件下的二分同步问题。
技术实现要素:
本发明提出的一种马尔科夫切换拓扑条件下的二分同步性控制方法及系统,可解决由于存在外部的扰动,智能体之间通信的不确定性导致相互耦合的智能体之间很难被同步控制的技术问题。
为实现上述目的,本发明采用了以下技术方案:
一种马尔科夫切换拓扑条件下的二分同步性控制方法,包括:以下步骤:
s100、对于多智能体系统的网络拓扑,获取多智能体系统通信拓扑集合,检查联合图是否是连通的;
s200、计算每一个拓扑出现的概率,如果概率为正,那么保留这个拓扑;否则删除这个拓扑;直到拓扑集中的每一个拓扑出现的概率都为正;然后查看剩余的拓扑集合的联合图是否是连通的;
s300、计算多智能体系统的动力学方程满足的李普希兹条件的李普希兹常数,然后根据通信拓扑、多智能体动力学方程,计算出系统的耦合系数;
s400、最终设计控制器输入,基于步骤s100-s300的条件,进而实现多智能体系统在马尔可夫切换条件下达到二分同步。
另一方面,本发明公开一种基于马尔科夫切换拓扑条件下的二分同步性控制系统,基于多智能体,包括以下模块:
拓扑信息获取判断单元,用于对于多智能体系统的网络拓扑,获取多智能体系统通信拓扑集合,检查联合图是否是连通的;
拓扑概率计算单元,用于计算每一个拓扑出现的概率,如果概率为正,那么保留这个拓扑;否则删除这个拓扑;直到拓扑集中的每一个拓扑出现的概率都为正;然后查看剩余的拓扑集合的联合图是否是连通的;
耦合系数计算单元,用于计算多智能体系统的动力学方程满足的李普希兹条件的李普希兹常数,然后根据通信拓扑、多智能体动力学方程,计算出系统的耦合系数;
二分同步控制单元,用于最终设计控制器输入,进而实现多智能体系统在马尔可夫切换条件下达到二分同步。
由上述技术方案可知,本发明的马尔科夫切换拓扑条件下的二分同步性控制方法相对现有技术具有如下优势:
首先,本发明考虑到一般的网络拓扑仅要求耦合系统的网络拓扑的联合图包含一个生成树,所以只要耦合强度足够大,多智能体系统就能实现均方意义下的二分同步。
进一步,本发明多智能体是以指数的速率达到二分同步,而且系统对外部干扰也有较强的鲁棒性。
最后,本发明中的算法简单易操作和实现,可拓展性比较强,通过马尔科夫切换拓扑条件下的聚类同步,可解决有限时间同步等等问题。
附图说明
图1是本发明的方法流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
如图1所示,本实施例所述的马尔科夫切换拓扑条件下的二分同步性控制方法,包括:
s100、对于多智能体系统的网络拓扑,获取多智能体系统通信拓扑集合,检查联合图是否是连通的;
s200、计算每一个拓扑出现的概率,如果概率为正,那么保留这个拓扑;否则删除这个拓扑;直到拓扑集中的每一个拓扑出现的概率都为正;然后查看剩余的拓扑集合的联合图是否是连通的;
s300、计算多智能体系统的动力学方程满足的李普希兹条件的李普希兹常数,然后根据通信拓扑、多智能体动力学方程,计算出系统的耦合系数;
s400、最终设计控制器输入,基于步骤s100-s300的条件,进而实现多智能体系统在马尔可夫切换条件下达到二分同步。
以下针对上述步骤,具体说明:
首先定义如下的多智能体系统的动力学模型:
其中,xi(t)是智能体i的状态;a,b,c是固定的系数矩阵;f(xi(t))是非线性函数;τ(t)是时延;ui(t)是智能体i的控制输入;
本发明实施例主要考虑马尔可夫切换拓扑条件下的多智能体在合适的控制器条件下,多智能体最终能够实现二分同步的问题。
具体步骤如下:
其中,s100中检查联合图是否是连通的;
具体包括以下步骤:
用
则:
s101,基于已知的多智能体通信拓扑,首先将多智能体分成两部分,每一个子集合中的智能体都趋于同步,但是不同子集合中的智能体的轨迹趋于相反数的关系;
v1和v2是v的两个互不相交的子集合;v1中的智能体的轨迹都将趋于同步;v2中的智能体的轨迹也将趋于同步;但是,v1和v2中的智能体的轨迹将趋于相反数;
s102,首先定义一个规范变换s,s=diag{s1,s2,...,sn},其中diag{s1,s2,...,sn}代表对角矩阵,第i个对角元素是si;当第i个智能体属于集合v1时,si=1;当第i个智能体属于集合v2时,si=-1;
当多智能体系统在控制器ui(t)的作用下,满足下面条件时:
则认为多智能体系统趋于期望意义下的二分同步。
s103,构造网络的拓扑结构以及拓扑切换的办法,以便在接下来的控制器设计。
构造g1,…,gs总共s个拓扑,而且要求g1,…,gs的联合图是连通的。进一步,要求每一个拓扑都是可达到,也就是说拓扑切换这个马尔可夫过程是遍历的。
s104,基于多智能体的联合图是连通的,得出他们的拉普拉斯矩阵li的加权求和lun也是一个拉普拉斯矩阵,而且只包含一个零特征根。
具体来说,定义如下的拉普拉斯矩阵
其中,π=[π1,π2,…,πs]是不变分布,πi是一个正常数。由于联合图是连通的,那么就存在一个正向量β1满足
步骤s100中并不要求拓扑在每一个固定时刻都不都是连通的;仅要求所有拓扑的联合图中是连通的。
另外,要求邻居智能体的状态信息是可得到的,并不要求整个多智能体系统的状态信息是可得到的。
s200是基于多智能体通信拓扑切换的过程是一个马尔可夫过程,而且这个马尔可夫过程是遍历的,于是存在一个不变分布,其中不变分布中的每一个元素都是正的。
多智能体切换拓扑的马尔可夫过程是遍历的,也就是说,多智能体的每一个通信拓扑都有一定的概率被选到,那么存在一个不变分布π=[π1,π2,…,πs,其中πi是一个正常数。
对于s300计算多智能体系统的动力学方程满足的李普希兹条件的李普希兹常数,然后根据通信拓扑、多智能体动力学方程,计算出系统的耦合系数;
则具体包括如下步骤:
s301是基于多智能体的动力学特性,首先要考虑其非线性项f(xi(t))是否满足李普希兹条件,即
|sif(xi(t))-sjf(xj(t))|≤ki|sixi-sjxj|
其中ki是一个正常数。
s302,有了以上的结果,设计如下的耦合强度:
ξ′是一个对角矩阵,λmin(h)λmax(p)分别是h和p的最小,最大特征根。
对于s400、最终设计控制器输入,基于步骤s100-s300的条件,进而实现多智能体系统在马尔可夫切换条件下达到二分同步;
具体如下:基于以上多智能体通信拓扑的分析,马尔可夫切换过程的分析,以及耦合强度γ的分析,设计如下的控制器ui(t):
设计控制算法为如下的形式:
其中ui(t)是智能体i的控制输入;γ代表耦合强度;|aij(t)|代表aij(t)的绝对值;aij(t)代表智能体i和智能体j之间的耦合权重;sgn(aij)是符号函数;xi(t)是智能体i在t时刻的状态。
接下来把同步问题转换为稳定性问题。
定义
选择系统的耦合强度γ足够的强进而满足s4,通信拓扑的联合图是连通的,以及切换拓扑的马尔可夫过程是遍历的。那么多智能体在马尔可夫切换拓扑条件下,通过选择上述控制器,多智能体可以达到在期望意义下的二分同步。
具体来说,分两步:
(1)、先解决强连通部分(对应的拉普拉斯矩阵为l11)的多智能体的同步问题。定义误差向量
(2)、接着处理剩余的多智能体。同样构造误差系统
另一方面,本发明实施例还公开一种基于马尔科夫切换拓扑条件下的二分同步性控制系统,基于多智能体,包括以下模块:
拓扑信息获取判断单元,用于对于多智能体系统的网络拓扑,获取多智能体系统通信拓扑集合,检查联合图是否是连通的;
拓扑概率计算单元,用于计算每一个拓扑出现的概率,如果概率为正,那么保留这个拓扑;否则删除这个拓扑;直到拓扑集中的每一个拓扑出现的概率都为正;然后查看剩余的拓扑集合的联合图是否是连通的;
耦合系数计算单元,用于计算多智能体系统的动力学方程满足的李普希兹条件的李普希兹常数,然后根据通信拓扑、多智能体动力学方程,计算出系统的耦合系数;
二分同步控制单元,用于最终设计控制器输入,进而实现多智能体系统在马尔可夫切换条件下达到二分同步。
其中,所述拓扑信息获取判断单元处理步骤包括:
首先定义如下的多智能体系统的动力学模型:
其中,xi(t)是智能体i的状态;a,b,c是固定的系数矩阵;f(xi(t))是非线性函数;τ(t)是时延;ui(t)是智能体i的控制输入;
其中,检查联合图是否是连通的包括以下步骤:
用
s101,基于已知的多智能体通信拓扑,首先将多智能体分成两部分,每一个子集合中的智能体都趋于同步,但是不同子集合中的智能体的轨迹趋于相反数的关系;
v1和v2是v的两个互不相交的子集合;v1中的智能体的轨迹都将趋于同步;v2中的智能体的轨迹也将趋于同步;但是,v1和v2中的智能体的轨迹将趋于相反数;
s102,定义一个规范变换s,s=diag{s1,s2,...,sn},其中diag{s1,s2,...,sn}代表对角矩阵,第i个对角元素是si;当第i个智能体属于集合v1时,si=1;当第i个智能体属于集合v2时,si=-1;
当多智能体系统在控制器ui的作用下,满足下面条件时:
则认为多智能体系统趋于期望意义下的二分同步;
s103,构造g1,…,gs总共s个拓扑,而且要求g1,…,gs的联合图是连通的;
s104,基于多智能体的联合图是连通的,得出他们的拉普拉斯矩阵li的加权求和lun也是一个拉普拉斯矩阵,而且只包含一个零特征根;
具体来说,定义如下的拉普拉斯矩阵:
由于联合图是连通的,那么就存在一个正向量β1满足
s301、其中考虑其非线性项f(xi(t))是否满足李普希兹条件,即
|sif(xi(t))-sjf(xj(t))|≤ki|sixi-sjxj|
其中ki是一个正常数;
s302、设计如下的耦合强度:
其中,ξ′是一个对角矩阵,λmin(h)λmax(p)分别是h和p的最小,最大特征根。
其中,所述二分同步控制单元,具体处理步骤包括:
设计如下的控制器ui(t):
其中ui(t)是智能体i的控制输入;γ代表耦合强度;|aij(t)|代表aij(t)的绝对值;aij(t)代表智能体i和智能体j之间的耦合权重;sgn(aij)是符号函数;xi(t)是智能体i在t时刻的状态;
则:
s401、给出一个理想的轨迹
s402、接着按照类似的方法处理剩余的多智能体。
可理解的是,本发明实施例提供的系统与本发明实施例提供的方法相对应,相关内容的解释、举例和有益效果可以参考上述方法中的相应部分。
本发明可应用诸多相关领域,比如在机器人编队控制,人们期望机器人分为两组,各自完成各自的任务,同时两组机器人之间还需要协作。在这种情况下,把机器人的通信网络看作本发明的通信拓扑,设计让通信拓扑的马尔可夫过程是遍历的。基于机器人的动力学方程,构造合适的耦合系数,进而可以提出类似上述中的控制器,机器人就可以达到二分同步。
综上所知,本发明思路清晰,结构更加合理,也更加科学,而且以指数的速率达到同步,可以进一步缩短收敛时间。本发明设计的算法速度快,简单易操作。
本申请实施例还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述马尔科夫切换拓扑条件下的二分同步性控制方法,所述方法包括:
对于多智能体系统的网络拓扑,获取多智能体系统通信拓扑集合,检查联合图是否是连通的;
计算每一个拓扑出现的概率,如果概率为正,那么保留这个拓扑;否则删除这个拓扑;直到拓扑集中的每一个拓扑出现的概率都为正;然后查看剩余的拓扑集合的联合图是否是连通的;
计算多智能体系统的动力学方程满足的李普希兹条件的李普希兹常数,然后根据通信拓扑、多智能体动力学方程,计算出系统的耦合系数;
最终设计控制器输入,基于上述条件,进而实现多智能体系统在马尔可夫切换条件下达到二分同步。
上述电子设备提到的通信总线可以是外设部件互连标准(英文:peripheralcomponentinterconnect,简称:pci)总线或扩展工业标准结构(英文:extendedindustrystandardarchitecture,简称:eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(英文:randomaccessmemory,简称:ram),也可以包括非易失性存储器(英文:non-volatilememory,简称:nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(英文:centralprocessingunit,简称:cpu)、网络处理器(英文:networkprocessor,简称:np)等;还可以是数字信号处理器(英文:digitalsignalprocessing,简称:dsp)、专用集成电路(英文:applicationspecificintegratedcircuit,简称:asic)、现场可编程门阵列(英文:field-programmablegatearray,简称:fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一马尔科夫切换拓扑条件下的二分同步性控制方法的步骤。
在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一马尔科夫切换拓扑条件下的二分同步性控制方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。