考虑拜占庭攻击的多智能体网络弹性分布式在线优化方法

文档序号:31669875发布日期:2022-09-28 00:42阅读:223来源:国知局
考虑拜占庭攻击的多智能体网络弹性分布式在线优化方法

1.本发明涉及电子信息通信技术领域,尤其涉及一种考虑拜占庭攻击的多智能体网络弹性分布式在线优化方法。


背景技术:

2.近年来,随着科学技术的快速发展,网络化多智能体系统受到了国内外研究者的广泛关注。网络化多智能体系统的研究是为了解决复杂、规模大、实时性强的和信息不确定的优化问题。在网络化多智能体系统中,每个具备一定的计算、通信、感知、学习和执行能力的个体则称为智能体。这些智能体之间通过相互协作共同完成一些复杂的任务,并且智能体之间可通过交互信息达到协同合作的目的以及协调解决智能体之间的矛盾与冲突。由于数据和资源分散在不同的智能体上,所以每个智能体只拥有所要完成任务的局部信息,而不能获得所要完成任务的全局信息,而且它们也不能独立地处理复杂的工作。因此,在网络化多智能体系统中,没有集中控制系统,只能进行分布式处理。
3.当前的分布式优化算法研究依然面临着包括实时性、安全性在内的很多挑战。在实时性方面,现有大多数研究为静态优化算法,无法实时地在线优化节点状态。而现有的在线优化算法往往又为集中式,它具有鲁棒性、可扩展性较差等缺点。在安全性方面,分布式网络中存在恶意节点,它向邻居节点传送恶意信息,对智能体网络进行拜占庭攻击,进而破坏全局目标。而现有的分布式优化算法为抵抗攻击增加了其它计算项,这种情况下往往会导致系统性能变差。


技术实现要素:

4.本发明提供一种考虑拜占庭攻击的多智能体网络弹性分布式在线优化方法,以克服上述技术问题。
5.为了实现上述目的,本发明的技术方案是:
6.一种考虑拜占庭攻击的多智能体网络弹性分布式在线优化方法,包括如下步骤:
7.s1:初始化多智能体网络中的节点的状态,以获取所述节点的初始状态和初始辅助向量;所述节点包括正常节点和恶意节点;所述正常节点包括可信节点和普通节点;
8.s2:建立智能体的弹性约束集,生成过滤恶意节点的约束集合;
9.s3:获取弹性约束集中的所有正常节点的状态值的和;
10.s4:根据所述弹性约束集和所述弹性约束集中的所有正常节点的状态值的和,按照节点状态的迭代规则进行迭代,直至节点状态满足迭代终止条件,以获取最优节点状态;
11.s5:输出所述最优节点状态。
12.进一步的,所述节点的初始状态为xi(1)∈ω;
13.所述节点的初始辅助向量为:zi(1)=[0,...,0,1i,0,...,0]
t

[0014]
其中:xi(1)为节点i的初始状态,即智能体网络中节点i的初始状态;zi(1)为节点i的初始辅助向量,即智能体网络中节点i的初始辅助向量;
ω
为节点状态所形成的定义域。
[0015]
进一步的,所述弹性约束集建立如下:
[0016]
si(t)={j∈ni∪{i}|x
mi
(t)≤xj(t)≤x
mi
(t)};
[0017]
式中,si(t)表示节点i在第t次迭代的弹性约束集;i、j均代表节点的编号;ni表示节点i以及节点i的邻居节点;{i}表示任意节点i的集合;xj(t)表示节点j在第t次迭代时的状态;x
mi
(t)表示x
p
,p∈ti∪{i}第t次迭代中的最大值;x
mi
(t)表示x
p
,p∈ti∪{i}第t次迭代中的最小值;x
p
表示节点i的状态和与节点i的可信节点的邻居的状态中任意一个状态;p表示节点i和与其相邻的可信节点;ti表示节点i和节点i的可信节点的邻居集;其中,ti=ni∩v
t
;v
t
表示可信节点集合。
[0018]
进一步的,所述弹性约束集中的所有正常节点的状态值的和获取如下:
[0019][0020]
式中:yi(t)表示节点i在第t次迭代的弹性约束集中的所有正常节点的状态值的和。
[0021]
进一步的,所述节点状态的迭代规则如下:
[0022][0023]
其中,xi(t+1)为更新后的节点状态;|si(t)|表示si(t)的数量;p
ω
(
·
)表示使(
·
)中的值向ω上投影;α
t
表示迭代步长;表示局部代价函数函数f
ti
(
·
)状态为xi(t)时的梯度,z
ii
(t)表示节点i的第t次迭代的辅助向量zi(t)中的第i个元素,表示节点i的第t次迭代的辅助向量zi(t)中的第n0个元素,其中,n0代表正常节点的数量;
[0024]
其中,
[0025][0026]
式中,zi(t)表示节点i的第t次迭代的辅助向量;a
ij
表示有向边(i,j)的权重,其中有向边(i,j)表示的是从节点i到节点j的一条有向边。
[0027]
进一步的,所述迭代终止条件设置如下:
[0028][0029]
式中:ri(t)表示节点i的遗憾;t代表所有节点迭代次数的总数量;x*表示迭代结束后计算出的最优节点状态,f
t
(xi(t))表示第t次迭代时的全部节点的局部代价函数;其中,n0表示普通节点和可信节点的数量总和;表示的是节点i在第t次迭代时的局部代价函数;
[0030]
当满足时,迭代终止;
[0031]
此时,成立。
[0032]
有益效果:本发明的一种考虑拜占庭攻击的多智能体网络弹性分布式在线优化方法,解决了在多智能体网络的动态环境下,由于系统中普通节点受到拜占庭攻击,导致普通节点无法收敛到最优值的问题,在保证普通节点抗攻击性能的同时提高算法的最优性和收敛速度。
附图说明
[0033]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0034]
图1为本发明的方法流程图;
[0035]
图2为本发明的智能体网络通信拓扑图;
[0036]
图3为本发明的z
ii
项对rodo-t的遗憾界影响分析图;
[0037]
图4为本发明的算法在离线形式下rodo-t与rdo-t的xi(t)对比示意图;
[0038]
图5为本发明的算法中有z
ii
项和无z
ii
项中rodo-t的xi(t)对比示意图。
具体实施方式
[0039]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0040]
本实施例提供了一种考虑拜占庭攻击的多智能体网络弹性分布式在线优化方法,包括如下步骤:如图1所示,
[0041]
s1:初始化多智能体网络中的节点的状态,以获取所述节点的初始状态和初始辅助向量;所述节点包括正常节点和恶意节点;所述正常节点包括可信节点和普通节点;
[0042]
具体的,在本实施例中的智能体网络中,每个智能体就是一个节点,所述节点的状态指的就是智能体网络中的智能体的状态。v={1,2,...,n}代表智能体网络中的节点的集合,其中,n为节点的数量,即智能体网络中智能体的数量;将节点的集合v分成可信节点的集合v
t
、普通节点的集合vn和恶意节点的集合va的方法是现有技术,这里不进行详细描述。其中,正常节点的集合v0=vn∪v
t
,n0=nn+n
t
,其中,v0代表正常节点集合即除恶意节点外的普通节点与可信节点集合;n0代表正常节点集合中的节点的数量即除恶意节点外的普通节点集合与可信节点集合中的节点的数量的和;nn为普通节点的集合中的节点的数量;n
t
为可信节点的集合中的节点的数量和na为恶意节点的集合中的节点的数量。其中的,恶意节点无视整个智能体网络的迭代规则,在每轮迭代时向其邻居节点发送错误的状态信息,弹性约束集会过滤掉其中与可信节点与正常节点状态偏差较大的恶意节点的状态值。
[0043]
优选地,所述节点的初始状态为xi(1)∈ω;
[0044]
所述节点的初始辅助向量为:zi(1)=[0,...,0,1i,0,...,0]
t

[0045]
其中:xi(1)为节点i的初始状态,即智能体网络中节点i(第i个智能体)的初始状态;zi(1)为节点i的初始辅助向量,即智能体网络中节点i的初始辅助向量;ω为节点状态所形成的定义域;
[0046]
具体的,本实施例研究的是分布式在线优化问题,而智能体间的通信关系通常被建模成由节点和边组成的通信拓扑图。多智能体网络中每个智能体被视为通信拓扑图中的一个节点,记g=(v,e)表示智能体网络中智能体间的通信拓扑图e={(i,j)|i,j∈v}代表通信边的集合;v代表所有节点的集合;
[0047]
在任意一轮迭代,节点i利用历史迭代的节点信息做出决策,更新节点i的状态的定义域ω内的状态xi(t),其中ω为节点状态所形成的定义域,xi(t)为节点i的状态。若节点i的状态计算结果不在定义域ω内,则令节点i的状态值对定义域ω的范围形成的区间进行投影,使得状态回到此范围。
[0048]
当节点i的状态xi(t)确定后,当前时刻的目标函数才被揭示,其中的当前时刻的目标函数即局部代价函数即节点i的状态的局部代价函数在xi(t)∈ω确定后才可知;对于每次迭代t∈[t],其中[t]为整数集合{1,....,t};t代表迭代次数的编号;
[0049]
s2:建立智能体的弹性约束集,(即正常节点的集合),以生成过滤恶意节点的约束集合;
[0050]
所述弹性约束集建立如下:
[0051]
si(t)={j∈ni∪{i}|x
mi
(t)≤xj(t)≤x
mi
(t)};
[0052]
式中,si(t)表示节点i在第t次迭代的弹性约束集;i、j均代表节点的编号;ni表示节点i以及节点i的邻居节点的集合;{i}表示任意节点i的集合;xj(t)表示节点j在第t次迭代时的状态;x
mi
(t)表示x
p
,p∈ti∪{i}第t次迭代中的最大值;x
mi
(t)表示x
p
,p∈ti∪{i}第t次迭代中的最小值;x
p
表示节点i的状态和与节点i的可信节点的邻居的状态中任意一个状态;p表示节点i和与其相邻的可信节点;ti表示节点i和节点i的可信节点的邻居集;其中,ti=ni∩v
t
;v
t
表示可信节点集合;
[0053]
具体的,节点i的弹性约束集si(t)为由在节点i在第t次迭代时的状态xi(t)和与节点i相邻的可信节点的状态集合中,大于等于x
mi
(t)且小于x
mi
(t)的节点i的邻居节点状态对应的节点标号j的集合;
[0054]
s3:获取弹性约束集中的所有正常节点的状态值的和;
[0055]
所述弹性约束集中的所有正常节点的状态值的和获取如下:
[0056][0057]
式中:yi(t)表示节点i在第t次迭代的弹性约束集中的所有正常节点的状态值的和;
[0058]
其中,步骤s3为一致性项,能够完成弹性约束集中的节点间的信息交流,以克服节点获取优化信息的不完整的问题。
[0059]
s4:根据所述弹性约束集和所述弹性约束集中的所有正常节点的状态值的和;按照节点状态的迭代规则进行迭代,直至节点状态满足迭代终止条件,以获取最优节点状态;
[0060]
所述节点状态的迭代规则如下:
[0061][0062]
其中,xi(t+1)为更新后的节点状态;|si(t)|表示si(t)的数量;p
ω
(
·
)表示使(
·
)中的值向ω上投影;α
t
表示迭代步长,α
t
满足且α
t+1
≤α
t
;表示局部代价函数函数状态为xi(t)时的梯度,z
ii
(t)表示节点i的第t次迭代的辅助向量zi(t)中的第i个元素(即梯度缩放量),表示节点i的第t次迭代的辅助向量zi(t)中的第n0个元素,其中,其中对于任意节点是用来生成v0中所有节点组成的拓扑图的邻接矩阵a的左特征向量的辅助向量;v0代表正常节点集合;
[0063]
其中,
[0064][0065]
式中,zi(t)表示节点i的第t次迭代的辅助向量;a
ij
表示节点i和j之间的通信边的权重;
[0066]
所述迭代终止条件设置如下:
[0067][0068]
式中:ri(t)表示节点i的遗憾;t代表所有节点迭代次数的总数量;x*表示迭代结束后计算出的最优节点状态,f
t
(xi(t))表示第t次迭代时的全部节点的局部代价函数;其中,n0表示普通节点和可信节点的数量总和;表示的是节点i在第t次迭代时的局部代价函数;
[0069]
当满足时,迭代终止;
[0070]
此时,成立。
[0071]
此时说明算法有效,即,所获得的更新后的节点状态随着迭代次数的增加越来越接近最优值。
[0072]
具体的,在线优化算法的性能通常可以用遗憾来衡量,遗憾指的是在每轮迭代中,所有使用当前迭代状态的节点i的函数值,与使用迭代结束后我们计算的最优状态的节点i的函数值的差的累加和。其中i可代表任何一个节点。遗憾也可以看做是单个节点的函数值误差在t轮迭代的累加和。
[0073]
s5:输出所述最优节点状态。
[0074]
具体的,本实施例的工作原理如下:在分布式优化算法的每次迭代中,行为不当的节点即恶意节点可以将任意值发送给它们的邻居。在拜占庭攻击下,不可能保证计算出真正的最优点。考虑到攻击者能够使受损的节点任意更新状态,并向不同的邻居广播不同的状态。为了容忍这种攻击必须考虑最坏的情况,即一些节点的局部代价函数发生了改变,并像普通节点一样遵循迭代规则。由于很难判断节点是否为恶意节点,因此优化问题只能针对于所有节点展开。
[0075]
具体的,在本实施例中,我们将节点分为三种类型,即普通节点、可信节点和恶意节点。具体来说,普通节点可能会变为恶意节点。可信节点具有更高的安全级别,不会成为恶意节点。其中,恶意节点为:节点代价函数被篡改,且自身节点状态xi(t)不遵循算法的迭代规则,只根据自己的代价函数而变化,故在与其他非恶意节点通信交流节点状态信息时,恶意节点发送其自身的状态信息会使得其他节点收到其发送的错误状态值,导致非恶意节点状态迭代收到干扰,目的使得所有非恶意节点的状态无法达到共识或共识点不为最优值;正常节点为:除恶意节点外的普通节点与可信节点统称为正常节点,即非恶意节点。
[0076]
本实施例中的拜占庭攻击是指通信网络中恶意节点将错误的信息发送给它们的邻居节点,导致系统不可能计算出真正的最优点。拜占庭攻击发生在节点之间状态值交换的过程中,恶意节点由于其自身状态函数被改变,且不遵循算法迭代规则,从而恶意节点对其他节点发送的自身状态xi(t)为错误的。将恶意节点发送错误的自身状态参数xi(t)给其他节点的这个动作称为拜占庭攻击。
[0077]
本实施例中,在每一轮迭代节点之间信息互相交流,目标是解决优化问题:
[0078][0079]
其中的xi(t)泛指所有节点的状态,rn代表n维实数向量空间,本公式中n=1;其中xi(t)∈ω,t是所有节点的迭代总数,对于每次迭代t∈[t],局部代价函数在xi(t)∈ω确定后才可知,
[0080]
在线优化算法的性能通常可以用遗憾来衡量,具体定义如下:遗憾指的是在每轮迭代中,所有使用当前迭代状态的节点i的函数值,与使用迭代结束事后我们计算的最优状态的节点i的函数值的差的累加和。其中i可代表任何一个节点。遗憾也可以看做系统中单个节点的函数值误差在t轮迭代的累加和。
[0081]
当算法满足则该在线算法有效,即代表本专利中节点的状态随着迭代次数的增加越来越接近最优值。
[0082]
受拜占庭攻击的影响,在这种攻击下,目标问题变为
[0083][0084][0085]
式中:rm表示m维实向量集合。所考虑的情形是:当受到拜占庭攻击时,在线分布式
优化算法难以达到很好的优化效果,为抵抗拜占庭攻击,多智能体系统的邻接矩阵为行随机,在此情况下节点更容易实现在本地为来自其邻居的变量分配权重,但也会带来由于不平衡权值矩阵导致的梯度下降不精确问题。结合本实施例的分布式在线优化问题,因此本实施例目的是设计一种相比rdo-t算法(抗对抗攻击的弹性分布式优化算法)最优性更强且在线改进后的抗拜占庭分布式优化算法。
[0086]
最后,本实施例通过数值结果研究了rodo-t的有效性。考虑由三个恶意节点、三个可信节点和两个普通节点组成的网络.将这些节点标记为1~8,其通信图如图2所示。每个节点的局部代价函数定义为恶意节点的其状态更新规则为x6(t)=3sin(t),x7(t)=3cos(t),x8(t)=3.5。从ω中选择正常和可信节点的初始值,给定x的约束区间为ω=[0,10],从中随机选择初始状态。
[0087]
图3描述了算法中梯度缩放项对节点遗憾界的影响,选取总迭代轮次t=100,由图3可知,虽然算法rodo-t在梯度缩放量z
ii
有无时的遗憾界都趋于0,且在t=2之前曲线基本重合,这是因为z
ii
初始值均为1,对梯度项没有影响。从t=2之后z
ii
开始渐近学习邻接矩阵a的左特征向量,同时由于z
ii
小于1,导致则相比于无z
ii
量的算法其收缩速度更快,且随着t的增大z
ii
越来越接近邻接矩阵a的左向量,并与梯度权值进行抵消使得梯度权值均为1。所以有z
ii
时算法得遗憾界接近0的速度明显比无z
ii
时更快且震荡幅度更小。
[0088]
图4展示了改进后的算法在离线形式下最优性仍然好于改进前算法。图5展示了梯度跟踪项对改进后算法的最优性的影响。选取总迭代轮次t=100,由图4和图5对比可以看出,图中各节点收敛到最优值的速度更快,图上部的优化精度高于图下部。且图下半部分的计算结果与最优值相比有较大偏差。这是由于加入z
ii
不仅会加速节点达成共识,且共识的准确性由于梯度权值渐近为1而大大提升,而无z
ii
项时算法中各个节点的梯度权值偏差较大且无法被修正,导致优化结果与最优结果偏差较大。
[0089]
综上所述,本实施例具有如下有益效果:
[0090]
提出了一种基于多智能体网络的抗拜占庭攻击的弹性分布式在线优化算法,根据基于一致性估计的梯度缩放技术,克服了随机权值矩阵导致的梯度权重不平衡的研究局限性,使得算法的收敛速度和精度大幅度提高。并且为了解决在线分布式优化中拜占庭攻击导致的节点状态一致性问题,利用节点的状态的有界性,限制不同节点之间状态的偏差,在线化改进已有离线的抗拜占庭攻击分布式优化算法,并为每个节点推导出相应的遗憾界。
[0091]
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1