本文考虑了在存在对抗性代理的情况下的多代理共识问题,这些代理可能试图阻止和引入对正常代理之间协调的不希望的影响。在我们的环境中,我们扩展了所谓的平均子序列减少算法,目的是通过两种措施减少通信量。代理商在每次传输时以三元数据的形式交换信息,此外,通过采用自我和事件触发的通信,保持低的数据交换频率。我们将观察到,在有对手的敌对环境中,自触发的方法可以比事件触发的对应方法带来某些优势。
我们引入了基于三元控制器的自触发共识协议,供代理实现共识[15]。在这个协议中,每个代理 i i i 都有状态变量 x i x_i xi,控制 u i u_i ui(被量化为三元值),以及本地时钟变量 θ i θ_i θi。所有这些变量都是在时间 t ≥ 0 t≥0 t≥0 时定义的。每个代理都会根据自己的时钟触发更新事件和传输事件。
1)混合系统格式的动力学:我们将每个代理人 i ∈ V i∈V i∈V 的自触发动态表达为一个混合系统,由三个变量 x i , u i x_i, u_i xi,ui 和 θ i θ_i θi 组成。在时间 t t t,这些状态满足以下连续演化:
x
˙
i
=
u
i
u
˙
i
=
0
θ
˙
i
=
−
1
(1)
除了每一个 t t t,使定时器变量 θ i ( t ) θ_i (t) θi(t) 成为零。这样的时间段被称为自触发时间,用 { t m i } m ∈ Z + \{ t_m^i \}_{m∈ \mathbb{Z}+} {tmi}m∈Z+ 表示,其中 t 0 i = 0 , t m i < t m + 1 i t_0^i = 0,t_m^i < t_{m+1}^i t0i=0,tmi<tm+1i。所有自触发时间的集合由以下公式给出
{
t
l
}
l
∈
Z
+
=
⋃
i
∈
V
{
t
m
i
}
m
∈
Z
+
此外,让
U
(
t
)
\mathcal{U}(t)
U(t) 为自触发时间等于
t
t
t 的节点的集合,即
U
(
t
)
=
{
i
∈
V
:
θ
i
(
t
)
=
0
}
\mathcal{U}(t)= \{ i∈V : θ_i (t) = 0 \}
U(t)={i∈V:θi(t)=0}。
在这样的时间时刻 { t l } \{ t_l \} {tl},代理 i i i 的状态遵循离散演化,由以下公式给出
{
x
i
(
t
+
)
=
x
i
(
t
)
u
i
(
t
+
)
=
{
sign
(
f
ϵ
(
ave
i
(
t
)
)
)
if
i
∈
U
(
t
)
u
i
(
t
)
otherwise
θ
i
(
t
+
)
=
{
max
{
∣
ave
i
(
t
)
∣
,
ϵ
}
if
i
∈
U
(
t
)
θ
i
(
t
)
otherwise
(2)
\left\{
其中映射 f ε ( z ) : R → R f_ε (z) : \mathbb{R} → \mathbb{R} fε(z):R→R,敏感参数为 ε > 0 ε>0 ε>0,被定义为
f
ε
(
z
)
=
{
z
if
∣
z
∣
≥
ε
0
otherwise
f_\varepsilon (z) = \left\{
另外,让 ave i ( t ) \text{ave}_i (t) avei(t) 为邻居的相对状态的加权平均数,由以下公式给出
ave
i
(
t
)
=
∑
a
i
j
(
t
)
(
x
^
j
(
t
−
τ
j
i
(
t
)
)
−
x
i
(
t
)
)
(3)
其中, a i j ( t ) a_{ij} (t) aij(t) 是与 G \mathcal{G} G 对应的(可能是时变的)邻接矩阵 A ( t ) ∈ R n × n A(t)∈\mathbb{R}^{n×n} A(t)∈Rn×n 的第( i , j i, j i,j)个条目,当 a i j ≠ 0 a_{ij} \ne 0 aij=0 时,满足 α ≤ a i j ( t ) < 1 α ≤ a_{ij} (t) < 1 α≤aij(t)<1, α α α 是 0 < α ≤ 1 / 2 0 < α ≤ 1/2 0<α≤1/2 的下限。此外, τ j i ( t ) τ_j^i (t) τji(t) 表示在时间 t t t 从代理 j j j 到代理 i i i 的通信延迟。变量 x ^ j ( t ) \hat{x}j (t) x^j(t) 是代理 i i i 最近收到和存储的代理 j j j 的状态值。更具体地说,它是由 x ^ j ( t ) = x j ( t k j ) \hat{x}_j(t) = x_j(t_k^j) x^j(t)=xj(tkj),对于 t k j < t ≤ t k + 1 j t_k^j < t \le t^j_{k+1} tkj<t≤tk+1j。
此外,对于 t m i < t ≤ t m + 1 i t_m^i < t ≤ t_{m+1}^i tmi<t≤tm+1i,我们定义了代理人 i i i 上次更新后的时间间隔长度 e i ( t ) = t − t m i e_i(t)= t - t_m^i ei(t)=t−tmi。关于通信的延迟时间,我们假设它对任何 i , j , t i,j,t i,j,t 都有 τ ′ τ^′ τ′ 的上限,即
e
i
(
t
)
+
τ
j
i
(
t
)
≤
τ
′
(4)
基于算法(1),(2)的每个代理 i i i 的算法可以描述如下。代理人 i i i 有本地时钟 θ i ( t ) θ_i (t) θi(t),它随着时间的推移而减少。当它的时钟在时间 t t t 达到 0 0 0 时,它根据迄今为止从邻居那里收到的状态 x ^ j ( t ) \hat{x}_j(t) x^j(t) 计算出加权平均 ave i ( t ) \text{ave}_i(t) avei(t)。然后,它将其更新的状态值 x i ( t ) = x ^ i ( t ) x_i (t) = \hat{x}_i (t) xi(t)=x^i(t) 发送给其邻居。这个协议与[15]中提出的协议不同,它不使用 x j ( t ) x_j(t) xj(t),而是使用 x ^ j ( t ) \hat{x}_j(t) x^j(t) 来更新。这意味着代理人不需要向邻居发送请求来接收邻居在时间 t t t 的值。因此,我们可以将该协议应用于有向图。
2)离散系统表述中的动力学:在上面讨论的混合协议的动力学中,对于每个代理 i i i 来说,离散演化时间的间隔时间长度至少是 ε ε ε。同样,在时间 t l < t ≤ t l + 1 \red{t_l}< t ≤ t_{l+1} tl<t≤tl+1 的变量 x ( t ) x(t) x(t) 遵循 x ( t l ) ≤ x ( t ) ≤ x ( t l + 1 ) x(t_l) ≤ x(t) ≤ x(t_{l+1}) x(tl)≤x(t)≤x(tl+1) 或 x ( t l ) ≥ x ( t ) ≥ x ( t l + 1 ) x(t_l) ≥ x(t) ≥ x(t_{l+1}) x(tl)≥x(t)≥x(tl+1)。我们可以通过关注时间 { t l } \{t_l\} {tl} 的演变,将动力学解释为一个离散时间系统。
为了简化符号,我们把具有离散时间 k ∈ Z + k∈\mathbb{Z}+ k∈Z+ 的变量表示为 x [ k ] = x ( t k ) x[k]=x(t_k) x[k]=x(tk), u [ k ] = u ( t k ) u[k]=u(t_k) u[k]=u(tk),并让序列 { k m i } m ∈ Z + \{k_m^i\}_{m∈\mathbb{Z}+} {kmi}m∈Z+ 是
{ k m i } m ∈ Z + = { k : i ∈ U [ k ] , k 0 i = 0 } \{k_m^i\}_{m∈\mathbb{Z}+} = \{k: i\in \mathcal{U}[k], k_0^i = 0 \} {kmi}m∈Z+={k:i∈U[k],k0i=0}
那么代理人 i i i 的自触发算法可以用离散时间表示为
x
i
[
k
+
1
]
=
{
x
^
i
[
k
]
+
f
ε
(
dave
i
[
k
]
)
if
i
∈
U
[
k
]
x
i
[
k
]
+
u
i
[
k
]
(
t
k
+
1
−
t
k
)
otherwise
(5)
x_i[k+1] = \left\{
进一步,
x
^
i
[
k
]
\hat{x}_i[k]
x^i[k] 的更新规则为
x
^
i
[
k
+
1
]
=
{
x
^
i
[
k
]
+
f
ε
(
dave
i
[
k
]
)
if
i
∈
U
[
k
]
x
^
i
[
k
]
otherwise
(6)
\hat{x}_i[k+1] = \left\{
其中
dave
i
[
k
]
\text{dave}_i[k]
davei[k] 定义为
dave
i
[
k
]
=
∑
j
∈
N
i
a
i
j
[
k
−
e
i
[
k
]
]
(
x
^
j
[
k
−
e
i
[
k
]
−
τ
j
i
[
k
]
]
−
x
^
i
[
k
]
)
\text{dave}_i[k] = \sum_{j \in N_i} a_{ij} [k-e_i[k]](\hat{x}_j[k - e_i[k] - \tau_j^i[k]] - \hat{x}_i[k])
davei[k]=j∈Ni∑aij[k−ei[k]](x^j[k−ei[k]−τji[k]]−x^i[k])
对于(4)中给定的
τ
′
τ^′
τ′ 和任何
i
,
j
,
k
i,j,k
i,j,k,假定通信的延迟时间以
τ
τ
τ 为上限。
e
i
[
k
]
+
τ
j
i
[
k
]
≤
τ
<
n
τ
′
ε
(7)
e_i[k] + \tau_j^i[k] \le \tau < \frac{n \tau^\prime}{\varepsilon} \tag{7}
ei[k]+τji[k]≤τ<εnτ′(7)
现在,我们考虑的情况是,网络中的一些节点是有问题的,甚至是有敌意的。这里的目标是使非故障的、正常的节点不受这种对抗性节点的影响。这里,我们介绍一下本文所考虑的对抗性节点的类别。
V \mathcal{V} V 中的节点被划分为两组。 R \mathcal{R} R 表示常规节点的集合, A = V / R \mathcal{A}=\mathcal{V} / \mathcal{R} A=V/R 表示对抗性节点的集合。正规节点将完全按照设计的算法来更新它们的控制 u i u_i ui,而对抗性节点则可以任意地更新 u i u_i ui。这里,让 n R = ∣ R ∣ n_R= |\mathcal{R}| nR=∣R∣, n A = ∣ A ∣ n_A= |\mathcal{A}| nA=∣A∣。攻击者被允许知道常规节点的状态和图的拓扑结构,并在一些约束条件下选择任何节点作为 A \mathcal{A} A 的成员。
对于对抗性节点的类别,我们采用恶意模型,其定义如下[6]。
我们说,如果一个对抗性节点在每次传输时向其所有邻居发送相同的值,那么它就是恶意的。
更难对付的对抗性节点是那些能以任意方式向不同邻居发送不同数值的节点。这样的节点被称为拜占庭节点[7]。
在我们的问题设置中,恶意节点的身份是未知的,但我们假设事先知道网络中恶意节点的最大数量。这是在分布式容错算法的文献中采用的一个常见假设[4]。更具体地说,我们引入以下模型。
对于 F ∈ N F∈\mathbb{N} F∈N,如果 ∣ A ∣ ≤ F |\mathcal{A}|≤F ∣A∣≤F,则对抗集 A \mathcal{A} A 遵循 F F F-总模型;如果 ∣ N i ∩ A ∣ ≤ F |\mathcal{N}_i∩A|≤F ∣Ni∩A∣≤F,则每个节点 i ∈ R i∈\mathcal{R} i∈R 的对抗集遵循 F F F-本地模型。
本文讨论的是 F F F-总模型的网络。
在此背景下,现在已经给出了多代理系统的弹性共识的概念[26]。
给定 c ≥ 0 c≥0 c≥0,如果对于恶意代理的任何可能的集合和行为以及常规节点的任何初始状态值,都满足以下条件,则称多代理系统在误差水平 c c c 达到弹性共识。
本文的多代理问题可以表述如下。给定 c ≥ 0 c≥0 c≥0,为常规代理设计基于事件的更新规则,使其在 F F F-total模型下的误差水平 c c c 达到弹性的共识。
如上所述,每个代理在每个时间通过三元输入更新其状态值,但只有当更新事件发生时,辅助值才会使用其邻居的值来更新。为了达成有弹性的共识,我们采用一种算法,即每个普通代理忽略一些被怀疑有恶意行为的邻居。
我们继[26]之后提出了一种算法,称为基于事件的平均子序列减少(E-MSR)算法。
在基于三元控制器的自触发共识协议中,为了达成弹性共识,可以通过引入E-MSR算法来取代离散演化(2),其算法如下:
{
x
i
(
t
+
)
=
x
i
(
t
)
u
i
(
t
+
)
=
{
sign
(
f
ϵ
(
ave
i
(
t
)
)
)
if
i
∈
U
(
t
)
u
i
(
t
)
otherwise
θ
i
(
t
+
)
=
{
max
{
∣
ave
i
(
t
)
∣
,
ϵ
}
if
i
∈
U
(
t
)
θ
i
(
t
)
otherwise
(8)
\left\{
- 初始化: u i ( 0 ) ∈ { − 1 , 0 , 1 } u_i(0) \in \{-1, 0, 1\} ui(0)∈{−1,0,1}, θ i ( 0 ) = 0 \theta_i(0) = 0 θi(0)=0
- 如果智能体 i i i 收到了来自 j j j 的状态 x j ( t ) x_j(t) xj(t),那么智能体 i i i 存储 x j ( t ) x_j(t) xj(t)
- 如果 θ i ( 0 ) = 0 \theta_i(0) = 0 θi(0)=0,
1. 如果 u i ( t ) ≠ 0 u_i(t) \ne 0 ui(t)=0,针对所有的邻居 j ∈ N i j \in N_i j∈Ni,智能体 i i i 都把自己的状态 x i ( t ) x_i(t) xi(t) 发送给邻居 j j j
2. 使用 E-MSR 的第 2 步并设 M i ( t ) M_i(t) Mi(t), θ i ( t + ) \theta_i(t^+) θi(t+), u i ( t + ) u_i(t^+) ui(t+)- 结束 θ i ( 0 ) = 0 \theta_i(0) = 0 θi(0)=0 的判断
然后,我们就可以介绍每个代理为达成弹性共识所遵循的算法。算法1中给出的协议代表了基于三元控制器的自我触发的弹性共识协议。
在这一节中,我们说明了两个提议的弹性共识协议的有效性,并将其性能与传统的非弹性对应协议进行比较。
首先,我们考虑图2中所示的有8个节点的网络。我们可以检查一下,它是3-robust。对于这三个协议,我们使用共同的初始状态 x ( 0 ) = [ 0 , 1 / 6 , 3 / 1 , 2 / 1 , 2 / 3 , 5 / 6 , 1 , 2 / 1 ] x(0) = [0, 1/6 , 3/1 , 2/1 , 2/3 , 5/6 , 1, 2/1] x(0)=[0,1/6,3/1,2/1,2/3,5/6,1,2/1]。对时间延迟的约束被设定为 τ = 0.1 τ = 0.1 τ=0.1。对手被认为是代理8,它将持续振荡其状态。我们还取敏感性参数 ε = 0.1 ε=0.1 ε=0.1。这里,恶意代理每隔 ε ε ε 的时间长度发送一次其数值。

[15]的传统自触发协议对对抗者来说是没有弹性的。我们证实了代理人的状态会随着时间的推移而变化,并且传输不会停止。图3和图4分别显示了拟议的自触发和事件触发弹性协议的仿真结果。另外,在图中,点表示代理的传输时间段,其颜色与状态的颜色一致。我们观察到,这些协议设法在共识中达到了所需的误差水平。此外,普通代理在达成共识后会停止传输。因此,与基于抽样的时间触发协议相比,这些协议在通信量上更有效率。

