多智能体系统连通性的检测方法和装置

文档序号:31708837发布日期:2022-10-01 13:49阅读:183来源:国知局
多智能体系统连通性的检测方法和装置

1.本发明涉及智能控制技术,特别是涉及一种多智能体系统连通性的检测方法和装置。


背景技术:

2.多智能体系统是由多个具有独立的信息感知及传输功能的智能体通过网络通信所构成的复杂大规模系统。由于多智能体系统的通信关系可以描述为通信拓扑图,拓扑图的连通程度可以利用代数连通度表示,对于多智能体系统的连通性的监测,可以通过对代数连通度的估计实现。
3.发明人在实现本发明的过程中发现:现有多智能体系统的连通性监测方法存在运算开销大、效率低的问题,具体原因分析如下:
4.现有多智能体系统的连通性监测方法采用分布式协商的方式实现,该方法中系统中的每个节点都需要分别获取自身与相邻节点之间的链路状态数据,然后再基于所有节点获取的链路状态数据,确定当前系统的代数连通度。由于上述方法中依赖于所有节点的参与,以获取用于代数连通度估计的全局通信拓扑信息,因此,存在运算开销大、效率低的问题。另外,由于多智能体系统中节点的运动性特点,使得在实际应用中难以准确获取系统的全局通信拓扑信息,从而影响连通性检测的准确性。


技术实现要素:

5.有鉴于此,本发明的主要目的在于提供一种多智能体系统连通性的检测方法和装置,运算开销低、效率高且准确性高。
6.为了达到上述目的,本发明实施例提出的技术方案为:
7.一种多智能体系统连通性的检测方法,包括:
8.多智能体系统中的第一智能体按照预设的采样周期,采集自身和第二智能体之间的状态向量差值;所述第一智能体和所述第二智能体之间存在相邻直连关系;
9.所述第一智能体根据最近预设k个采样周期采集的所述状态向量差值,利用普通最小二乘法,确定当前系统的连通性;所述k大于1。
10.本发明实施例还提出一种多智能体系统连通性的检测装置,包括:
11.数据采集单元,用于多智能体系统中的第一智能体按照预设的采样周期,采集自身和第二智能体之间的状态向量差值;所述第一智能体和所述第二智能体之间存在相邻直连关系;
12.连通性判断单元,用于所述第一智能体根据最近预设k个采样周期采集的所述状态向量差值,利用普通最小二乘法,确定当前系统的连通性;所述k大于1。
13.本发明实施例还提出一种多智能体系统连通性的检测设备,包括处理器和存储器;
14.所述存储器中存储有可被所述处理器执行的应用程序,用于使得所述处理器执行
如上所述多智能体系统连通性的检测方法。
15.本发明实施例还提出一种计算机可读存储介质,其中存储有计算机可读指令,该计算机可读指令用于执行如上所述多智能体系统连通性的检测方法。
16.本发明实施例还提出一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现上述任一项所述多智能体系统连通性的检测方法的步骤。
17.综上所述,本发明实施例提出的多智能体系统连通性的检测方案,由多智能体系统中的一个智能体(即第一智能体)通过在若干周期采集其与相邻智能体(即第二智能体)之间的状态向量差值,基于所采集的状态向量差值,利用普通最小二乘法,确定当前系统的连通性。如此,仅需对任意一对相邻直连智能体的状态向量差值进行局部观测和计算,即可获知多智能体系统的连通性,而无需获取多智能体系统的全局通信拓扑信息,因此,可以有效降低连通性检测的运算开销,且有效提高了检测效率和检测准确性。
附图说明
18.图1为本发明实施例的方法流程示意图;
19.图2为本发明实施例的五组多智能体系统的通信拓扑图;
20.图3为本发明实施例的五组多智能体系统的最小二乘估计的结果的结果图仿真;
21.图4为本发明实施例的五组多智能体系统的代数连通度的局部估计值仿真结果图;
22.图5为本发明实施例的装置结构示意图。
具体实施方式
23.为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步地详细描述。
24.图1为本发明实施例的多智能体系统连通性的检测方法流程示意图,如图1所示,该实施例主要包括:
25.步骤101、多智能体系统中的第一智能体按照预设的采样周期,采集自身和第二智能体之间的状态向量差值;所述第一智能体和所述第二智能体之间存在相邻直连关系。
26.本步骤中,系统中的一个节点(即第一智能体)为了获知当前多智能体系统的连通性,需要周期性地获取其与某一相邻直连节点(即第二智能体)之间的状态向量差值,以便随时基于当前采集的若干周期的状态向量差值的时间序列,利用普通最小二乘法,对系统的连通性进行准确检测。
27.这里需要说明的是,在现有多智能体系统中,会采用预设的控制律,对系统中的每个智能体的状态进行控制。假设,采用经典的平均一致性控制律:
[0028][0029]
[0030]
其中,为智能体i的状态信息的向量表示,是其控制输入,ni是智能体i的邻居集合,g
ij
表示智能体i和j之间的相邻直连关系,当i和j相邻直连时g
ij
=1,否则g
ij
=0。由于相邻直连,智能体i可以获得集合ni内的邻居智能体状态xj(t)。这样,本步骤中,第一智能体i对其与其邻居智能体j之间的状态向量差值y
i,j,k
进行周期性采样,可以按照下述公式(3)得到:
[0031]yi,j,k
=xi(kτ)-xj(kτ)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
公式(3)
[0032]
步骤102、所述第一智能体根据最近预设k个采样周期采集的所述状态向量差值,利用普通最小二乘法,确定当前系统的连通性;所述k大于1。
[0033]
本步骤中,将基于一对相邻节点间的状态向量差值的时间序列(即由最近k个采样周期采集的k个状态向量差值y
i,j,k
形成的一组局部观测值,k=1,

,k),利用局部状态数据对系统的全局连通性进行估计。
[0034]
这里需要说明的是,发明人在实现本发明的过程中发现:当基于上述k个状态向量差值y
i,j,k
进行普通最小二乘估计的结果接近于0时,意味着代数连通度大(多智能体系统的连通性好),而接近于1时,则意味着代数连通度小(多智能体系统的连通性差)。为此,步骤102中,利用上述和系统连通性的关系,来确定当前系统的连通性。
[0035]
k用于表示采样规模,在实际应用中可由本领域技术人员根据实际需要设置合适取值,例如,可以是10、20或30等,但不限于此。
[0036]
一种实施方式中,具体可以采用下述方法利用普通最小二乘法,确定当前系统的连通性:
[0037]
步骤1021、按照进行最小二乘估计。
[0038]
其中,y
i,j,k
表示在第k个采样周期采集的第一智能体i与第二智能体j之间的状态向量差值;y
i,j,k-1
表示在第k-1个采样周期采集的第一智能体i与第二智能体j之间的状态向量差值。
[0039]
步骤1022、基于所述最小二乘估计的结果按照计算代数连通度的局部估计值
[0040]
其中,τ表示采样周期的时长。
[0041]
这里需要说明的,发明人通过研究分析发现:当k为固定值时,若采样周期τ

∞,则趋于0,λ2为系统的代数连通度真实值,即代数连通度估计值能够收敛到真实值λ2。另外,即使用于计算状态向量差值的状态信息xi(kτ)和xj(kτ)存在误差,仍然可以以作为指标,利用上述和系统连通性的关系,对代数连通度的大小进行判别。
[0042]
步骤1023、基于所述代数连通度的局部估计值确定当前系统的连通性。
[0043]
这里,基于上述分析可知,x时,代数连通度估计值能够收敛到真实值λ2,因此,上述步骤1022得到的即可视为当前系统的代数连通度,基于该代数连通度,即可获知当前系统的连通性。
[0044]
通过上述实施例可以看出,上述技术方案仅需要利用一对相邻智能体之间的状态数据,即可实现对多智能体系统全局连通性的准确检测,而不需要所有节点参与全局通信拓扑信息的获取,因此,可以有效提高连通性的检测效率和准确性,并且大幅度降低了检测开销。下面结合上述方法的仿真示例,对本发明的具体实现进行详细说明。
[0045]
图2描述了五组多智能体系统通信拓扑图,其含有智能体数量分别是4、9、16、25和36个。
[0046]
图3描述的是普通最小二乘法(ols)估计值的变化趋势。如图3所示,当τ较小时,波动较大。随着τ逐渐增大,五组多智能体的会很快趋近于0。
[0047]
下述表1和图4描述的是五组多智能体系统的代数连通度的估计值与真实值λ2,从中可以看出:随着着τ逐渐增大,五组多智能体的逐渐趋近与真实值λ2。从表1不同的采样周期τ中可以看出,当τ=8,估计值与真实值的误差都小于0.12。当τ增加到16时,误差已经小于0.01,几乎与真实值相等。
[0048][0049]
表1
[0050]
基于上述方法实施例,本发明实施例还提出一种多智能体系统连通性的检测装置,如图5所示包括:
[0051]
数据采集单元501,用于多智能体系统中的第一智能体按照预设的采样周期,采集自身和第二智能体之间的状态向量差值;所述第一智能体和所述第二智能体之间存在相邻直连关系。
[0052]
连通性判断单元502,用于所述第一智能体根据最近预设k个采样周期采集的所述状态向量差值,利用普通最小二乘法,确定当前系统的连通性;所述k大于1。
[0053]
一种实施方式中,所述连通性判断单元502用于利用普通最小二乘法,确定当前系统的连通性,具体包括:
[0054]
按照进行最小二乘估计;其中,y
i,j,k
表示在第k个采样周期采集的第一智能体i与第二智能体j之间的状态向量差值;y
i,j,k-1
表示在第k-1个采样周期采集的第一智能体i与第二智能体j之间的状态向量差值;基于所述最小二乘估计的结果按照计算代数连通度的局部估计值其中,τ表示采样周期的时长;基于所述代数连通度的局部估计值确定当前系统的连通性。
[0055]
需要说明的是,上述方法和装置是基于同一发明构思的,由于方法及装置解决问题的原理相似,因此,装置和方法的实施可以相互参见,重复之处不再赘述。
[0056]
基于上述方法实施例,本发明实施例还提出一种多智能体系统连通性的检测设备,包括处理器和存储器;所述存储器中存储有可被所述处理器执行的应用程序,用于使得所述处理器执行如上所述多智能体系统连通性的检测方法。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施方式的功能的软件程序代码,且使该系统或者装置的计算机(或cpu或mpu)读出并执行存储在存储介质中的程序代码。此外,还可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作。还可以将从存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的cpu等来执行部分和全部实际操作,从而实现上述多智能体系统连通性的检测方法实施方式中任一实施方式的功能。
[0057]
其中,存储器具体可以实施为电可擦可编程只读存储器(eeprom)、快闪存储器(flash memory)、可编程程序只读存储器(prom)等多种存储介质。处理器可以实施为包括一或多个中央处理器或一或多个现场可编程门阵列,其中现场可编程门阵列集成一或多个中央处理器核。具体地,中央处理器或中央处理器核可以实施为cpu或mcu。
[0058]
本技术实施例实现了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现如上所述多智能体系统连通性的检测方法的步骤。
[0059]
需要说明的是,上述各流程和各结构图中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。各模块的划分仅仅是为了便于描述采用的功能上的划分,实际实现时,一个模块可以分由多个模块实现,多个模块的功能也可以由同一个模块实现,这些模块可以位于同一个设备中,也可以位于不同的设备中。
[0060]
各实施方式中的硬件模块可以以机械方式或电子方式实现。例如,一个硬件模块可以包括专门设计的永久性电路或逻辑器件(如专用处理器,如fpga或asic)用于完成特定的操作。硬件模块也可以包括由软件临时配置的可编程逻辑器件或电路(如包括通用处理器或其它可编程处理器)用于执行特定操作。至于具体采用机械方式,或是采用专用的永久性电路,或是采用临时配置的电路(如由软件进行配置)来实现硬件模块,可以根据成本和时间上的考虑来决定。
[0061]
在本文中,“示意性”表示“充当实例、例子或说明”,不应将在本文中被描述为“示
意性”的任何图示、实施方式解释为一种更优选的或更具优点的技术方案。为使图面简洁,各图中的只示意性地表示出了与本发明相关部分,而并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”并不表示将本发明相关部分的数量限制为“仅此一个”,并且“一个”不表示排除本发明相关部分的数量“多于一个”的情形。在本文中,“上”、“下”、“前”、“后”、“左”、“右”、“内”、“外”等仅用于表示相关部分之间的相对位置关系,而非限定这些相关部分的绝对位置。
[0062]
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1