Limiting the Spread of Epidemics within Time Constraint on Online Social Networks

限制流行病在有时间约束的在线社交网络上传播

度中心性的启发式算法

一、 概述

为了限制流行病的传播,一种普遍的策略是删除在流行病扩散过程中起重要作用的节点和边。但是实际上,这些节点和边在信息扩散中的作用更加重要,故不能排除过多的节点和边缘。
信息是通过OSNs传播的每一跳从一个用户传播到另一个用户的。越早的防止错误信息的传播,造成的损害就越小。研究也表明,传播通常仅在来自传播源的几跳之内迅速消失。
基于此现象,本文定义了LSE(限制流行病传播)问题。该问题寻求从网络中的感染节点集中删除节点集A(大小为k),经过一定时间的传播后,剩余被感染的节点数目最大。

本文的主要工作有:

  • 定义了LSE问题。引入了具有时间限制的信息传播模型(T-DLT)。
  • 针对LSE问题,首先提出了贪婪算法,该算法选择具有最大增量保存节点的节点。另外针对大规模网络,提出了一种有效的启发式算法,称为快速有效的限制流行病传播(FLE)。

二、扩散模型及问题定义

1.扩散模型T-DLT
a.网络定义

G = ( V , E , w ) G =(V,E,w) G=(V,E,w)表示社交网络,其中V是节点集且|V| = n,E是有向边集且|E|=m。节点代表社交网络中的用户,而边e =(u,v)代表用户u和v之间的关系。u的入和出邻居节点为 N + ( u ) N ^+(u) N+(u) N − ( u ) N^-(u) N(u) d + ( u ) d_+(u) d+(u) d − ( u ) d_-(u) d(u)则为节点u的入度和出度。 I ⊂ V I \subset V IV是初始感染节点集。每个有向边(u,v)的权重w(u,v)表示节点v受其邻居u影响的程度,满足 ∑ u ∈ N + ( v ) w ( u , v ) ≤ 1 ∑_{u \in N_+(v)}w(u,v)≤1 uN+(v)w(u,v)1

b.节点的状态

流行病从集合 I I I传播到OSNs上其他节点的过程是通过离散的时间步长t=1,2,…,d进行的。每个节点 v ∈ V v \in V vV有两个状态:感染、健康。

c.扩散过程

确定性的扩散过程(DLT)是离散的步骤(传播跃点)t=0,1,2,…,d。 I t I_t It是t步感染点的集合,传播过程描述如下:

  • 在t = 0时,I中的所有节点都被感染,即I0 = I。
  • 在t≥1时,如果传入邻居的加权权值达到其感染阈值,即健康的节点v被感染:
    ∑ w ( u , v ) i n − c o m i n g   i n f e c t e d   n e i g h b o r   u ≥ θ v \underset{in-coming\ infected\ neighbor\ u}{\sum w(u,v)}\geq\theta_v incoming infected neighbor uw(u,v)θv
  • 一旦节点被感染,则一直保持感染状态。当t = d时,影响传播停止。
d.T-DLT和DLT

T-DLT的传播影响在d个传播跃点之后消失。 DLT模型是d=|V|的T-DLT的特例。

2.问题定义
  • 在T-DLT模型中G=(V,E),d跳后的感染集合被定义为fd(I),fd(I,A)是从G中删除节点集A ⊆V\I后的感染集合(剩余网络中被感染节点的数量)。
    移除A后感染节点的数量是(等式2):
    h d ( A ) = ∣ f d ( I , ∅ ) ∣ − ∣ f d ( I , A ) ∣ h_d(A)=|f_d(I,\emptyset)|-|f_d(I,A)| hd(A)=fd(I,)fd(I,A)
  • 在T-DLT模型中,我们制定了一种组合优化,即“限制流行病的扩散(LSE)”问题,该问题的目的是寻找最多k个要从网络中删除的节点集,并使剩余感染节点数目最大。
  • 定义3.1(LSE问题) 给定一个无向图 G = ( V , E ) G=(V,E) G=(V,E)代表T-DLT模型下的社交网络。初始感染节点集 I ⊂ V I \subset V IV,d是约束的跳数。k是A集合的大小,且k>0, A ⊆ V \ I A \subseteq V\backslash I AV\I,将A从网络中删除,以便在d回合后hd(A)感染节点数目最大。
  • G d = ( V d , E d ) G_d=(V_d,E_d) Gd=(Vd,Ed) G = ( V , E ) G=(V,E) G=(V,E)的子图,且 V d V_d Vd是距离 I I I中每个节点的距离最多是d的节点集, E d E_d Ed是距离 I I I中每个节点路径长度最大为d的边集合,并有 n d = ∣ V d ∣ , m d = ∣ E d ∣ n_d=|V_d|,m_d=|E_d| nd=Vd,md=Ed。流行病扩散只发生在 G d G_d Gd上,所以为了简化问题,本文在 G d G_d Gd上设计解决方案。

三、 LSE问题的复杂性

将集合覆盖问题归约为LSE问题。
a. 集合覆盖问题(SC): 给定一个整数t,集合 U = { e 1 , e 2 , … , e M } U=\{ e_1,e_2,…,e_M \} U={e1,e2,,eM}和一个子集集合 S = { S 1 , S 2 , … , S N } S=\{ S_1,S_2,…,S_N \} S={S1,S2,,SN},其中t<M<N。集合覆盖问题是寻找 t t t个子集的并集是U。
b. 为了将SC问题归约为LSE问题,首先从SC问题的一个实例 I S C I_{SC} ISC出发构建了一个LSE的问题实例 I L S E I_{LSE} ILSE。然后证明了 I S C I_{SC} ISC有一个大小为t的解决方案S, I L S E I_{LSE} ILSE有解决方案A,|A|≤k,hd(A) ≥ k + M。
c. 构造:给定一个 I S C = { U , S , t } I_{SC}=\{ U,S,t \} ISC={U,S,t}的实例,通过下图1构建LSE问题的一个实例 I L S E = { G , I , d , k } I_{LSE}=\{ G,I,d,k \} ILSE={G,I,d,k}

  • 节点和边的集合:对每个 S i ∈ S S_i∈S SiS,都有初始化感染节点 s i ∈ I s_i\in I siI和一个顶点 u i u_i ui。添加一个有向边 ( s i , u i ) (s_i,u_i) (si,ui)。对于每个元素 e j ∈ U e_j\in U ejU,我们添加一个节点 v j v_j vj,并且为每个 e j ∈ S i e_j∈S_i ejSi添加一个有向边(ui,vj)。 B = { u 1 , u 2 , … , u N } , C = { v 1 , v 2 , … , v M } B=\{ u_1,u_2,…,u_N \},C=\{ v_1,v_2,…,v_M \} B={u1,u2,,uN},C={v1,v2,,vM}
  • 感染阈值和权重, w ( s i , u i ) = 1 , w ( u i , v j ) = 1 d + ( v j ) , θ u i = θ v j = 1 w(s_i,u_i) = 1,w(u_i,v_j) =\frac{1}{d_+(v_j)}, \theta _{u_i}= \theta _{v_j}=1 w(si,ui)=1,w(ui,vj)=d+(vj)1,θui=θvj=1
  • 最后,设置k=t,d=2
    实际上就是将集合覆盖问题和LSE进行 “对应”。
    归约
    d. 转换
    (→)假设S’是实例 I S C I_{SC} ISC的解,|S’|=t=k,它覆盖U的t个元素。如果我们选择集合A包含与 S i S_i Si关联的 u i u_i ui,即 S ′ = { S i ∣ u i ∈ A } S'= \{S_i |u_i∈A\} S={SiuiA},则 v j ∈ B v_j\in B vjB中的每个节点都与A相邻。通过以上分析,C中的所有节点都是健康节点。我们有 h d ( A ) = t + M = k + M . h_d(A)=t+M=k+M. hd(A)=t+M=k+M.(即d跳之后感染的数目)
    (←)反向来说,如果 I L S E I_{LSE} ILSE有解决方案A, ∣ A ∣ ⩽ k |A|\leqslant k Ak h d ( I , A ) ⩾ k + M h_d(I,A)\geqslant k+M hd(I,A)k+M。如果A被约束为包含C中的t1个节点,其中 1 ⩽ t 1 ⩽ k 1\leqslant t_1 \leqslant k 1t1k h d ( I , A ) ⩽ k − t 1 + M < k + M h_d(I,A) \leqslant k-t_1+M < k+M hd(I,A)kt1+M<k+M。因为A不包含C中的任何节点,因此 A ⊂ B A\subset B AB。结合 h d ( I , A ) ≥ k + M h_d(I,A)≥k + M hd(I,A)k+M,C中的所有节点都是健康节点。因此,每个节点ui∈C至少与一个节点相邻(以上分析)。现在通过我们的构造,我们看到, S ′ = { S i ∣ u i ∈ A } S'= \{S_i |u_i∈A\} S={SiuiA} I 1 I_1 I1的解。这样就完成了证明。

四、算法

1.贪心算法

该算法顺序选择一个节点u放到集合A中,以最大化感染节点数目:
δ ( A , u ) = ∣ h d ( I , A ∪ { u } ) ∣ − ∣ h d ( A ) ∣ = ∣ f d ( I , ∅ ) ∣ − ∣ f d ( I , A ∪ { u } ) ∣ − ∣ f d ( I , ∅ ) ∣ + ∣ f d ( I , A ) ∣ = ∣ f d ( I , A ) ∣ − ∣ f d ( I , A ∪ { u } ) ∣ \delta(A,u)=|h_d(I,A\cup\{u\})|-|h_d(A)|\\=|f_d(I,\empty)|-|f_d(I,A\cup\{u\})|-|f_d(I,\empty)|+|f_d(I,A)|\\=|f_d(I,A)|-|f_d(I,A\cup\{u\})| δ(A,u)=hd(I,A{u})hd(A)=fd(I,)fd(I,A{u})fd(I,)+fd(I,A)=fd(I,A)fd(I,A{u})
贪心算法:删除节点u之后如果 δ ( A , u ) 更 大 , 则 将 u 加 到 A 中 。 \delta(A,u)更大,则将u加到A中。 δ(A,u)uA
在这里插入图片描述
时间复杂度: 贪婪算法的复杂度为 O ( k n d ( m d + n d ) ) O(kn_d(m_d+n_d)) O(knd(md+nd))
删除任意一组节点A之后,受感染节点的数量 f d ( I , A ) f_d(I,A) fd(I,A)可以通过使用图形 G d G_d Gd中的广度优先搜索(BFS)计算而得。花费的时间为 O ( m d + n d ) O(m_d+n_d) O(md+nd)。通过等式2,我们可以推断出 h d ( I , A ) h_d(I,A) hd(I,A)可以用 O ( m d + n d ) + O ( m d + n d ) = O ( m d + n d ) O(m_d+n_d)+ O(m_d+n_d)=O(m_d+n_d) O(md+nd)+O(md+nd)=O(md+nd)来完成。然后再由等式三可得贪心算法的时间复杂度。
在最坏情况下,k可以大到n,算法1可以取 O ( n d 2 ( m d + n d ) ) O(n_d^2(m_d+n_d)) O(nd2(md+nd))。时间复杂度较大,故提出以下算法。

2. Fast And Effective Limiting Epidemics Algorithm(FEL:快速有效的限制流行病算法)

a. 一些定义

  • t ( u ) t(u) t(u): u从健康状态变为感染状态时最小的跳数。
  • a + ( u ) = ∑ I t ( u ) − 1 ∩ N + ( u ) w ( u , v ) a_+(u)=\sum_{I_{t(u)-1}\cap N_+(u)}w(u,v) a+(u)=It(u)1N+(u)w(u,v):为在 t ( u ) t(u) t(u)跳之前从入度感染邻居出发的入边总权重。
  • a ( u ) = ∑ v ∈ ∪ i = t ( u ) + 1 d w ( v , u ) , i = t ( u ) + 1 , … , d a(u)=\sum_{v\in \cup^d_{i=t(u)+1}}w(v,u),i=t(u)+1,…,d a(u)=vi=t(u)+1dw(v,u),i=t(u)+1,,d是第i跳时从u到出度感染邻居节点v的出边的总权重。
  • β(u)将节点u从图中移除后,从感染状态变为健康状态的出邻居节点数。

b. 算法核心
使用使用 β ( u ) \beta(u) β(u)来近似 δ ( A , u ) \delta(A,u) δ(A,u),为了提高算法的效率,结合使用 α \alpha α β \beta β函数来衡量节点u的流行病传播作用。初始化选择节点集 A = ∅ A=\empty A=,设候选节点 U = V d U=V_d U=Vd。在每一步中,我们选择节点u,使残差图上的β(u)最大。
算法2如下:
算法2
计算 α \alpha α β \beta β的算法3:
算法3
时间复杂度 O ( k ( m d + n d ) ) O(k(m_d+n_d)) O(k(md+nd)).

1.归约

如果A可以归约为B(A新问题,B旧问题),B是P可解则A也是,B难则A不如B难,A难B也难。
a.算法设计视角
如果有A   ≤ p B \ \leq_pB  pB,则问题A可以转化为问题B求解。如果B有多项式时间算法,则A也有。
b.计算复杂性视角
如果有A   ≤ p B \ \leq_pB  pB,则问题B的难度不低于问题A的难度。如果A是NP-Hard,则B也是NP-Hard。

2.集合覆盖分类
  • 集合覆盖的决定性问题(NP-Complete)为:给定一个(U,S)和一个整数k,是否存在一个大小不超过k的覆盖。
  • 集合覆盖的最佳化问题(NP-Hard)为给定(U,S),求使用最少的集合的一个覆盖。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值