复杂网络鲁棒性理论基础
复杂网络理论基础
1.网络定义
网络的定义: G = ( V , E ) G=(V,E) G=(V,E), where V = { 1 , 2 , … , N } V=\{1, 2,\dots,N\} V={1,2,…,N} is the set of nodes, and E = { e i j ∣ i , j ∈ V , i ≠ j } E=\{e_{ij}|i,j \in V,i \neq j\} E={eij∣i,j∈V,i=j} is the set of M M M links.
2.重要性指标
边度的定义:
k i j = k i × k j , i ≠ j ∈ V , e i j ∈ E , k_{ij}= \sqrt {k_i \times k_j},i \neq j \in V,e_{ij} \in E, kij=ki×kj,i=j∈V,eij∈E,
其中 k i k_i ki和 k j k_j kj分别代表节点 i i i和节点 j j j的度数。
节点介数中心性的定义:
c l B = ∑ i ≠ j ∈ V P i j l P i j , l ∈ V , c_l^B=\sum_{i \neq j \in V } \frac{P_{ij}^l}{P_{ij}}, l \in V, clB=i=j∈V∑PijPijl,l∈V,
其中 c B l c_B^l cBl代表及节点 l l l的介数中心性, P i j P_{ij} Pij代表在节点 i i i和节点 j j j之间的最短路径数量, P l i j P_l^{ij} Plij代表节点 i i i和节点 j j j之间经过节点 l l l的数量。
边介数中心性的定义:
c e k l B = ∑ i ≠ j ∈ V P i j e k l P i j , e i j ∈ E , c_{e_{kl}}^B=\sum_{i \neq j \in V } \frac{P_{ij}^{e_{kl}}}{P_{ij}}, e_{ij} \in E, ceklB=i=j∈V∑PijPijekl,eij∈E,
c e k l B c_{e_{kl}^B} ceklB代表边 e k l e_{kl} ekl的介数中心性, P i j e k l P_{ij}^{e_{kl}} Pijekl代表节点节点 i i i和节点 j j j之间经过边 e k l e_{kl} ekl的数量。
节点紧密中心性的定义:
c ’ i C = 1 N − 1 ∑ j ∈ V d i j , i ≠ j ∈ V , {c’}_i^C =\frac{1}{N-1}\sum_{j \in V}d_{ij},i \neq j \in V, c’iC=N−11j∈V∑dij,i=j∈V,
- d i j d_{ij} dij为节点 i i i与节点 j j j之间的最短路径的长度。
边紧密中心性的定义:
c ’ e i j C = c ′ i C × c ′ j C , i ≠ j ∈ V , e i j ∈ E , {c’}_{e_{ij}}^C =\sqrt{{c'}_i^C \times {c'}_j^C},i \neq j \in V,e_{ij} \in E, c’eijC=c′iC×c′jC,i=j∈V,eij∈E,
其中 c ′ i C {c'}_i^C c′iC和 c ′ e i j C {c'}_{e_{ij}}^C c′eijC分别代表节点和边的紧密中心性。 d i j d_{ij} dij是节点 i i i和节点 j j j之间的最短路径,节点的紧密中心性描述了这个节点是否是易达的。紧密中心性越小,节点或边越容易到达,也就是这个节点或边越重要。
而实际上,由于网络受到攻击后可能会断开,因此两个节点之间的最短路径长度可能是无限的,因此修改上述节点和边紧密中心性的计算公式如下:
c ’ i C = 1 N − 1 ∑ j ∈ V 1 d i j , i ≠ j ∈ V , {c’}_i^C =\frac{1}{N-1}\sum_{j \in V}\frac {1}{d_{ij}},i \neq j \in V, c’iC=N−11j∈V∑dij1,i=j∈V,
c ’ e i j C = c ′ i C × c ′ j C , i ≠ j ∈ V , e i j ∈ E , {c’}_{e_{ij}}^C =\sqrt{{c'}_i^C \times {c'}_j^C},i \neq j \in V,e_{ij} \in E, c’eijC=c′iC×c′jC,i=j∈V,eij∈E,
通过上述改变,紧密中心性越大代表节点或边越重要。
3.网络拓扑指标
平均最短路径:
D ( G ) = 1 N ( N − 1 ) ∑ i ≠ j d i j D(G)=\frac{1}{N(N-1)}\sum_{i\neq j}d_{ij} D(G)=N(N−1)1i=j∑dij
- d i j d_{ij} dij是两个节点之间的最短路径
相配性:
γ = M − 1 ∑ i = 2 N ∑ j = 1 i a i j k i k j − [ M − 1 ∑ i = 2 N ∑ j = 1 i 1 2 a i j ( k i + k j ) ] 2 M − 1 ∑ i = 2 N ∑ j = 1 i 1 2 a i j ( k i 2 + k j 2 ) − [ M − 1 ∑ i = 2 N ∑ j = 1 i 1 2 a i j ( k i + k j ) ] 2 \gamma=\frac{M^{-1}\sum_{i=2}^N\sum_{j=1}^{i}a_{ij}k_ik_j-\bigg[M^{-1}\sum_{i=2}^N\sum_{j=1}^{i}\frac{1}{2}a_{ij}(k_i+k_j)\bigg]^2}{M^{-1}\sum_{i=2}^N\sum_{j=1}^{i}\frac{1}{2}a_{ij}(k_i^2+k_j^2)-\bigg[M^{-1}\sum_{i=2}^N\sum_{j=1}^{i}\frac{1}{2}a_{ij}(k_i+k_j)\bigg]^2} γ=M−1∑i=2N∑j=1i21aij(ki2+kj2)−[M−1∑i=2N∑j=1i21aij(ki+kj)]2M−1∑i=2N∑j=1iaijkikj−[M−1∑i=2N∑j=1i21aij(ki+kj)]2
-
k i k_i ki是节点 i i i的度
-
M M M是总度的数量
-
a i j a_{ij} aij邻接矩阵中 A i j A_{ij} Aij的值
a i j = { 1 , if e i j ∈ E ; 0 , otherwise. a_{ij}=\begin{cases}1,& \text {if }e_{ij}\in E;\\ 0,& \text{otherwise.} \end {cases} aij={1,0,if eij∈E;otherwise.
网络模体:
在网络 G G G中,模体是受一组参数 P , U , D , N {P,U,D,N} P,U,D,N约束的子图 G k G_k Gk,其中 P P P表示概率阈值, U U U表示最小阈值, D D D表示最小差异阈值, N N N表示生成随机网络的数目。 G k G_k Gk满足以下条件:
P r o b ( f r a n d o m ( G k ) > f o r i g i n a l ( G k ) ) ≤ P f o r i g i n a l ( G k ) ≥ U f o r i g i n a l ( G k ) − f ‾ ( G k ) > D × f ‾ r a n d o m ( G k ) Prob(f_{random}(G_k)>f_{original}(G_k))\leq P\\ f_{original}(G_k)\geq U\\ f_{original}(G_k)-\overline f(G_k)>D \times \overline f_{random}(G_k) Prob(frandom(Gk)>foriginal(Gk))≤Pforiginal(Gk)≥Uforiginal(Gk)−f(Gk)>D×frandom(Gk)
其中 f o r i g i n a l ( G k ) f_{original}(G_k) foriginal(Gk)表示子图 G k G_{k} Gk在真实网络中的数目, f r a n d o m ( G k ) f_{random}(G_k) frandom(Gk)表示子图 G k G_k Gk在随机网络中的数目, f ‾ r a n d o m ( G k ) \overline f_{random}(G_k) frandom(Gk)表示子图 G k G_k Gk在随机网络中的平均数目。
4.蓄意攻击类型
HDA(High Degree Adaptive Attack)算法在每一个时间步中都会删除掉一个度数最大的节点。
HBA(High Betweenness Centrality Attack)算法中在每一个时间步中有最大介数中心性的边总会被移除。
HIA(High Importance Adaptive Attack)算法在每一个时间步中都会先计算节点或边的重要性,并删除当前最重要的节点或边。然后剩余的节点和边的重要性会被再次计算,继续重复上述过程直到整个网络中只剩下孤立的节点。
- N A H D A NA_{HDA} NAHDA: 基于节点度进行攻击
- L A H D A LA_{HDA} LAHDA: 基于边度进行攻击
- N A H B C A NA_{HBCA} NAHBCA: 基于节点介数中心性进行攻击
- L A H B C A LA_{HBCA} LAHBCA: 基于边介数中心性进行攻击
- N A H C C A NA_{HCCA} NAHCCA: 基于节点紧密中心性进行攻击
- L A H C C A LA_{HCCA} LAHCCA: 基于边紧密中心性进行攻击
5.鲁棒性测度
5.1.基于连接的鲁棒性测度
边连通性的定义如下:
v ( G ) = m i n s , t ≠ s ∈ V { v s − t ( G ) } , v(G)=\underset{s,t\neq s\in V}{min}\{v_{s-t}(G)\}, v(G)=s,t=s∈Vmin{vs−t(G)},
其中 v s − t ( G ) v_{s-t}(G) vs−t(G)代表想让节点 s s s和 t t t断开连接,所要移除的最少的边的数目。该指标的值不大于最小节点度数。因此在不改变度分布和各节点度的情况下,通过调整网络拓扑,该度量的值无法被改变太多。
节点连通性的定义如下:
w ( G ) = m i n s , t ≠ s ∈ V ∧ e s t ∉ E { w s − t ( G ) } , w(G)=\underset{s,t\neq s\in V \wedge e_{st} \notin E}{min}\{w_{s-t}(G)\}, w(G)=s,t=s∈V∧est∈/Emin{ws−t(G)},
其中 w s − t ( G ) w_{s-t}(G) ws−t(G)代表想让节点 s s s和 t t t断开连接,所要移除的最少的节点的数目。根据定义, w ( G ) w(G) w(G)在全联通图中没有定义,显然对于任意的 s s s与 t t t, w s − t ( G ) ≤ v s − t ( G ) w_{s-t}(G)\leq v_{s-t}(G) ws−t(G)≤vs−t(G),又有 ( s , t ≠ s ∈ V ∧ e s t ∉ E ) (s,t\neq s\in V \wedge e_{st} \notin E) (s,t=s∈V∧est∈/E),所以 w ( G ) ≤ v ( G ) w(G)\leq v(G) w(G)≤v(G)。因此,在不改变度分布和各节点度的情况下,通过调整拓扑,不能使该度量的值改变太多。
5.2.基于随机图论的鲁棒性测度
在复杂网络理论中,“critical fraction”指的是网络在遭受节点或连接移除时,维持其核心功能所需的最少比例。当移除达到这个比例时,网络可能会突然失去其大部分的连接性,导致功能失效。这个概念与渗透理论中的临界概率有关,当网络的节点被移除达到某个临界分数时,会发生相变,以一定的概率攻击网络,该网络从连通状态转变为非连通状态,此时计算随机攻击的临界比例定义如下:
p c r = 1 − 1 k 0 − 1 p_c^r=1- \frac {1}{k_0-1} pcr=1−k0−11
其中 k 0 = < k 2 > < k > k_0= \frac {<k^2>}{<k>} k0=<k><k2>,其中 k k k是节点度的平均值, k 2 k^2 k2为节点度的平方的均值。临界比例的值越大说明网络的鲁棒性越强。
针对性攻击(不是随机攻击)的临界比例为 p c t p_c^t pct,攻击度数最大的节点,检查网络状况,重复此过程,直到网络断开,即可得到这个值。
5.3 R指标
公式如下:
R = 1 N ∑ Q = 1 N s ( Q ) R=\frac{1}{N}\sum_{Q=1}^Ns(Q) R=N1Q=1∑Ns(Q)
- s ( Q ) s(Q) s(Q)是删除 Q Q Q个节点后最大联通分量的节点数量
- 归一化因子 1 N \frac{1}{N} N1确保了可以比较不同规模网络的鲁棒性, R R R指标越大,这个网络越鲁棒
初始的R指标只考虑了对节点的攻击,没有考虑对连边的攻击,考虑连边后,扩展的R指标公式如下:
R l = 1 M ∑ P = 1 M s ( P ) R_l=\frac{1}{M}\sum_{P=1}^{M}s(P) Rl=M1P=1∑Ms(P)
- s ( P ) s(P) s(P)是移除 P P P个边后剩下的最大联通分量的节点数量
- 1 M \frac{1}{M} M1也是归一化因子,确保了可以比较不同规模网络的鲁棒性, R l R_l Rl越大,网络越鲁棒
5.4 网络整体效率(Integral effiency of network)
公式如下:
I n t E = 1 N ∑ Q = 1 N E ( Q ) IntE=\frac{1}{N}\sum_{Q=1}^{N} E(Q) IntE=N1Q=1∑NE(Q)
-
E ( Q ) E(Q) E(Q)是网络移除 Q Q Q个节点后的联通效率
-
1 N \frac {1}{N} N1为归一化因子
E ( 0 ) E(0) E(0)是原始网络的联通效率,计算公式如下:
E ( G ) = 1 N ( N − 1 ) ∑ i ≠ j ∈ G ξ i j = 1 N ( N − 1 ) ∑ i ≠ j ∈ G 1 d i j E(G)=\frac {1}{N(N-1)}\sum _{i \neq j\in G}\xi_{ij}=\frac {1}{N(N-1)}\sum_{i \neq j\in G}\frac {1}{d_{ij}} E(G)=N(N−1)1i=j∈G∑ξij=N(N−1)1i=j∈G∑dij1
- ξ i j \xi_{ij} ξij是两个节点之间的联通效率, ξ i j = 1 d i j \xi_{ij}=\frac {1}{d_{ij}} ξij=dij1为这两个节点之间最短距离的反比,当任意两个节点之间之间没有通路时, d i j = + ∞ d_{ij}=+\infin dij=+∞且 ξ i j = 0 \xi_{ij}=0 ξij=0
结合 R l R_l Rl指标与 I n t E IntE IntE,对于恶意连边攻击的联通效率还可以被扩展为:
I n t E l = 1 M ∑ P = 1 M E ( P ) IntE_l=\frac{1}{M}\sum_{P=1}^ME(P) IntEl=M1P=1∑ME(P)
- E ( P ) E(P) E(P)是网络中被移除 P P P条连边后的网络联通效率
- 1 M \frac{1}{M} M1也是归一化因子
5.5 基于特征值的稳健性度量
基于网络拉普拉斯矩阵或邻接矩阵的特征值,也可以对网络的鲁棒性进行度量,如代数连通性(基于拉普拉斯矩阵),和自然连通性(基于邻接矩阵)。
代数连通性是拉普拉斯矩阵的第二小的特征值,它可以反映整个图的联通程度,其公式如下:
α ( G ) = λ 2 , λ 1 ≤ λ 2 ≤ λ 3 ≤ ⋯ ≤ λ N \alpha(G)=\lambda_2,\lambda_1 \leq\lambda_2\leq\lambda_3\leq\dots\leq\lambda_N α(G)=λ2,λ1≤λ2≤λ3≤⋯≤λN
其中 λ \lambda λ为拉普拉斯矩阵的特征值。
拉普拉斯矩阵(Laplacian Matrix)是图论中的一个概念,常用于描述图的结构。在图论中,一个图由节点(顶点)和边组成。拉普拉斯矩阵是通过图的邻接矩阵和度矩阵构造出的。
具体来说,拉普拉斯矩阵 L L L可以定义为
L = D − A L=D-A L=D−A
- A A A是图的邻接矩阵
- D D D是图的度矩阵,它是一个对角矩阵,对角线上的元素 D i i D_{ii} Dii等于节点 i i i的度数
- 拉普拉斯矩阵有一些重要性质:
- 对称
- 所有行和列等于零
- 半正定
但由于代数连通性难以描述结构化网络的鲁棒性,因此有人提出来自然量通性。通过量化所有长度的闭合回路的加权数量来表征网络中替代路线的冗余度。自然连通性可以被视为随着边的添加或删除而严格单调变化的平均特征值,其公式如下:
λ ‾ = l n ( 1 N ∑ i = 1 N e λ i ) \overline \lambda=ln(\frac{1}{N}\sum_{i=1}^{N}e^{\lambda_i}) λ=ln(N1i=1∑Neλi)
其中 λ i \lambda_i λi是图邻接矩阵的第 i i i 个特征值。给定顶点数量,空图具有最小自然连通性,而完整图具有最大自然连通性。所以 λ \lambda λ的值越大,网络就越鲁棒。
6.鲁棒性测度的敏感性
6.1 删除或添加边的策略
-
随机策略
随机删除边
-
富富策略
边按照 k i × k j k_i \times k_j ki×kj 降序排序,其中 k i k_i ki 和 k j k_j kj是边的两个端节点的度,并按此顺序选择边
-
穷穷策略
边按照 k i × k j k_i \times k_j ki×kj 递增排序,并按此顺序选择
-
富穷策略
边根据 ∣ k i − k j ∣ |k_i- k_j| ∣ki−kj∣ 降序排序,并按此顺序选择
6.2 添加边的流程
- 计算给定网络 G 0 G_0 G0的鲁棒性
- 使用四种策略中的一种添加或者删除边,然后重新计算网络的鲁棒性
- 重复步骤二直到边的数量达到上限(全连通图)
- 执行步骤1-3十次,计算平均值以减少偏差
6.3 删除边的流程
- 计算给定网络 G 0 G_0 G0的鲁棒性
- 使用四种策略之一选择一条边,并将所选边从 G 0 G_0 G0中删除,然后重新计算网络的连通性,如果 G 0 G_0 G0的连通性不受影响,则重新计算 G 0 G_0 G0的鲁棒性;否则,拒绝删除并重复步骤2
- 重复步骤二直到边的数量达到上限(网络连通性达到要求)
- 执行步骤1-3十次,计算平均值以减少偏差