
多智能体系统之二分共识学习日记(一)
多智能体系统的二分共识问题入门
前言
多智能体二分共识的应用背景和由来
多智能体系统是由多个智能体组合在一起的智能体组合,一般的研究都是将该组合的关系都默认为合作关系,即所有智能体都朝着同一个目标努力,但是事实真是如此吗?
以比较常见的社会现象为例:在社交网络环境中,个体基于共同的兴趣或观点而聚集在一起,形成社区或团体。但同时,不同个体也可能因为持有对立的观点而产生冲突。
以机器人编队控制为例:在复杂的任务执行过程中,如搜索救援、军事侦察等场景下,机器人编队需要能够灵活应对各种情况。有时候,为了达到特定的目的,比如包围一个目标区域,一部分机器人可能会被指派朝一个方向移动,而另一部分则向相反的方向行动。
那么问题来了,如何在多智能体系统中表示这个现象呢,研究者们因此提出了“二分共识”的概念,同时考虑智能体之间的合作和竞争关系,对网络动态和决策过程有更全面的理解。
一、图论
在了解什么是二分共识之前,应该先了解多智能体系统中的图论相关知识。
1、 图的基本定义
- 图:一个图 G G G 由两个集合组成:顶点(节点)集合 V V V 和边集合 E E E,即 G = ( V , E ) G = (V, E) G=(V,E)。
- 无向图:如果图中的边没有方向性,则称为无向图。对于无向图中的边 e i j ∈ E e_{ij} \in E eij∈E, e i j = e j i e_{ij} = e_{ji} eij=eji。
- 有向图:如果图中的边具有方向性,则称为有向图或定向图。对于有向图中的边 e i j ∈ E e_{ij} \in E eij∈E, e i j ≠ e j i e_{ij} \neq e_{ji} eij=eji。
2、 邻接矩阵与度矩阵
- 邻接矩阵
A
A
A:对于一个包含
n
n
n 个顶点的图,其邻接矩阵
A
A
A 是一个
n
×
n
n \times n
n×n 的矩阵,其中
a
i
j
a_{ij}
aij 表示从顶点
j
j
j 能否到达顶点
i
i
i (即,智能体j到i之间是否存在边)。如果存在边,则
a
i
j
≠
0
a_{ij} \neq 0
aij=0,否则
a
i
j
=
0
a_{ij} =0
aij=0。一般的共识问题中,只考虑
a
i
j
>
0
a_{ij} > 0
aij>0的情况。对于无向图,
A
A
A 是对称的,即
a
i
j
=
a
j
i
a_{ij} = a_{ji}
aij=aji,在考虑二分关系时,几乎只考虑为有向图。
注:为什么 a i j a_{ij} aij表示的是 j j j到 i i i而不是 i i i到 j j j的权重关系,这个只是定义的方式不同,有的是用 a j i a_{ji} aji表示智能体 j j j到 i i i的权重。 - 度矩阵 D D D:度矩阵是一个 n × n n \times n n×n 的对角矩阵,其中对角线上的元素 d i i d_{ii} dii 表示顶点 i i i 的度数,即与之相连的边的数量。对于无向图, d i i = ∑ j = 1 n a i j d_{ii} = \sum_{j=1}^n a_{ij} dii=∑j=1naij。
3、 拉普拉斯矩阵
- 传统拉普拉斯矩阵 L L L:它是度矩阵 D D D 减去邻接矩阵 A A A 的结果,即 L = D − A L = D - A L=D−A。拉普拉斯矩阵在分析图的连通性和稳定性方面起着核心作用。对于一个连通图,拉普拉斯矩阵 L L L 的最小特征值为 0,且对应的特征向量是全 1 向量。
- 二分共识中的拉普拉斯矩阵 L L L:在符号图中的拉普拉斯矩阵被定义为: L = [ l i j ] ∈ R N × N L=[l_{ij}]\in R^{N\times N} L=[lij]∈RN×N,其中 l i i = ∑ j ≠ i ∣ a i j ∣ l_{ii}=\sum_{j\neq i}|a_{ij}| lii=∑j=i∣aij∣以及 l i j = − a i j l_{ij}=-a_{ij} lij=−aij, j ≠ i j\neq i j=i。
二、二分一致性
1、定义
首先,考虑一个如下简单的线性离散多智能体系统:
x
i
(
t
+
1
)
=
x
i
(
t
)
+
u
i
(
t
)
,
x_i(t+1)=x_i(t)+u_i(t),
xi(t+1)=xi(t)+ui(t),
这里,
x
i
(
t
)
x_i(t)
xi(t)指的是第i个智能体的状态,
u
i
(
t
)
u_i(t)
ui(t)是第i个智能体的控制输入。那么在控制输入的作用下,如果能满足
lim
t
→
∞
∣
x
i
(
t
)
∣
=
x
\lim_{t\rightarrow \infty}|x_i(t)|=x
limt→∞∣xi(t)∣=x,那么就称这个系统实现了二分共识。
这个定义,通俗的理解就是,同一合作关系的智能体都朝一个目标控制,而竞争关系就算往数值 相同但是反向相反的目标。
2、控制器/协议
复习一下传统多智能体的控制协议是什么样的,并且从最基本上去理解为什么这么设计可以实现多智能体一致性或者是多智能体共识。
u
i
(
t
)
=
K
∑
j
∈
N
i
a
i
j
[
x
j
(
t
)
−
x
i
(
t
)
]
,
u_i(t)=K \sum_{j\in N_i}a_{ij}[x_j(t)-x_i(t)],
ui(t)=Kj∈Ni∑aij[xj(t)−xi(t)],
这个控制器公式描述的是一个典型的多智能体系统中用于实现共识的控制策略。让我们从基础层面来解释为什么这样的控制器能够帮助智能体达成共识。
其中:
- u i ( t ) u_i(t) ui(t) 是施加在智能体 i i i 上的控制输入。
- N i N_i Ni 表示智能体 i i i 的邻居集合,即与智能体 i i i 直接相连的其他智能体。
- a i j a_{ij} aij 是邻接矩阵中的元素,表示从智能体 j j j 到智能体 i i i 的连接权重(如果存在边,则 a i j > 0 a_{ij} > 0 aij>0;否则 a i j = 0 a_{ij} = 0 aij=0)。
- x j ( t ) − x i ( t ) x_j(t) - x_i(t) xj(t)−xi(t) 是智能体 j j j 和智能体 i i i 状态之间的差异。
- K K K 是待设计的控制器增益。
为什么这个控制器能实现共识?
-
状态差驱动:控制器基于智能体与其邻居之间的状态差异进行调整。如果智能体 i i i 的状态 x i ( t ) x_i(t) xi(t) 低于其某个邻居 j j j 的状态 x j ( t ) x_j(t) xj(t),那么项 [ x j ( t ) − x i ( t ) ] [x_j(t) - x_i(t)] [xj(t)−xi(t)] 将是正数,导致 u i ( t ) u_i(t) ui(t) 也是正数,从而促使智能体 i i i 的状态增加。反之,如果 x i ( t ) x_i(t) xi(t) 高于 x j ( t ) x_j(t) xj(t),则 u i ( t ) u_i(t) ui(t) 会是负数,促使 x i ( t ) x_i(t) xi(t) 减少。这样,每个智能体都会根据其邻居的状态进行调整,以缩小与邻居之间的状态差距。
-
局部信息利用:每个智能体仅依赖于它直接相邻的邻居的信息来更新自己的状态。这种分布式控制策略使得整个系统不需要全局信息就能运作,增加了系统的鲁棒性和可扩展性。
-
连续迭代:随着时间的推移,智能体会不断地调整自己的状态。通过不断减小自己与邻居状态的差异,最终所有智能体的状态将会收敛到一个共同值,即达成共识。
-
网络连通性:为了确保所有智能体能够达成共识,网络必须是连通的。这意味着每个智能体要么直接要么间接地与所有其他智能体相连。如果网络不连通,那么不同的子网可能会达成各自的局部共识,但整体上不会形成全局的一致性。
-
权重的影响:权重 a i j a_{ij} aij 可以用来调节不同邻居对智能体 i i i 的影响程度。如果某些邻居被赋予更高的权重,那么它们的状态将对智能体 i i i 产生更大的影响,从而可能加速共识的达成过程。
其中最主要的其实就一个,也就是状态误差驱动,我们的目标是所有智能体达到一个值,那么就以单个智能体和其余智能体之间的误差作为反馈输入,来控制状态的更新,那么只要没有其他因素干扰,理论上一定可以实现共识控制。
那其实这个时候根据二分共识的定义和前面说到的传统一致性控制协议的设计理念,就可以很容易的设计出,能够实现二分共识的控制器:
u
i
(
t
)
=
K
∑
j
∈
N
i
[
∣
a
i
j
∣
x
j
(
t
)
−
a
i
j
x
i
(
t
)
]
,
u_i(t)=K \sum_{j\in N_i}[|a_{ij}|x_j(t)-a_{ij}x_i(t)],
ui(t)=Kj∈Ni∑[∣aij∣xj(t)−aijxi(t)],
当
a
i
j
>
0
a_{ij}>0
aij>0的时候,即智能体间为合作关系时,与前面提到的传统一致性控制器一样;当
a
i
j
<
0
a_{ij}<0
aij<0的时候,即智能体间为竞争关系时,这时候就相当于是
x
i
(
t
)
x_i(t)
xi(t)的目标是与其竞争关系智能体状态的相反数,所以最终通过设计
K
K
K是可以实现二分共识。
总结
通过上述机制,控制器让每个智能体不断地调整自己的状态,以匹配其邻居的状态。由于每个智能体都在努力减少与邻居之间的状态差异,整个网络逐渐趋向于一个稳定的状态,在这个状态下,所有合作关系的智能体的状态都相同或非常接近竞争关系的智能体的状态就互为相反数,从而实现了二分共识。
本人拙见:二分共识所体现的这个合作竞争关系,仅仅是面向这个大的智能体组合而言的。他们虽然是有竞争,但是目标也是类似的。就比如一群人在面对某一事情投票时,总是有的人赞同有的人反对,那持反对意见的不还是这个群体的内部人员吗,当真正要一致对外的时候,也应该是从对内的“竞争”变成对外的“合作”才对,或许这可以是一个未来研究反向。
欢迎大家的批评指正,一起讨论学习!!!
后续还会继续学习新知识,随时发布新内容。
更多推荐
所有评论(0)