Maximizing influence under influence loss constraint in social networks

在影响力损失约束下的社交网络中的最大化影响

一、概述

1.摘要
  • 常规的影响最大化问题:从社交网络中选取K个节点,在网络上拥有最大的影响力(能够传播最多的节点)。
  • 问题:先前对选取前K个影响节点的研究,是假设所有选定的K个节点都可以按预期传播影响。但是某些选定的节点在实践中可能无法正常运行,我们希望选择K个节点,即使在一部分节点故障后,造成的损失达到我们所能接受的地步。
  • 本文问题的目标:找到 top-K 个影响节点,它的一个子集R(R<K)由于发生故障而造成的影响损失达到阈值。
  • 算法:一种基于约束的模拟退火方法(CAS)。
2.说明

图1

图1
  • v1只能由v2激活,概率为0.3。对于节点v3,两条路径,v2->v1->v3和v2->v3,此网络中集合{v2,v5,v7}可以传播影响。v3可能会受到其中一个或者两个的影响,因此它受到的影响为:1-(1–0.6) × (1–0.3 × 0.7) = 0.684。相似的,v4:1-(1–0.4) × (1–0.3 × 0.6) ×(1–0.1) = 0.5572。v6的1-(1–0.2)×(1–0.2) = 0.36。{v2,v5,v7}有确定的影响(=1)。因此,由{v2,v5,v7}造成的影响为:0.3 + 0.684 + 0.5572 + 0.36 + 3 = 4.9012。
  • 对于一个小规模的网络,我们可以直接计算每三个节点集的影响,并确定节点集{v2,v5,v7}表现出最大的影响力(影响值= 4.9012),而节点{v1,v2,v5}是次优的影响力(影响值= 4.864)。假设在选定集中只有一个节点发生故障。然后,我们计算集合中剩余的两个节点所表现出的影响。当节点v2发生故障时,第一组的最大损失为2.4412(4.9012-(0*3+0.1+1+1+0.36))。而当第二组中v1发生故障时,最大损失为1.2264 (???我算的是1.604) 。给定影响损失的阈值为1.5,我们能接受第二组节点{v1,v2,v5}的故障损失,但此时它们不是常规影响最大化问题中影响力最大的3个节点。

二、问题公式化

1.条件

  有向图G={ υ \upsilon υ, ε \varepsilon ε},| υ \upsilon υ|=N个点,| ε \varepsilon ε|=M条边。对于每条边(v,u)∈ ε \varepsilon ε, P v u 是 影 响 此 边 的 传 播 概 率 \color{red}{P_{vu}是影响此边的传播概率} Pvu

2.常规的影响最大化问题

  常规的影响最大化问题是找到种子集S⊆V,并且给定|S|=K,从而根据扩散模型将影响σ(S)最大化。给定一个初始集合S,我们使用独立级联模型(IC)传播影响。 Z t 是 在 t 时 被 激 活 的 节 点 集 \color{red}{Z_t是在t时被激活的节点集} Ztt,并且Z0=S。每个激活的节点v(∈Zt)仅有一次机会去激活任意非激活态的邻居节点, u ∈ ∪ 0 t Z t u\in\cup_0^tZ_t u0tZt,激活的概率为Pvu。当且仅当我们找不到任何可以被激活的节点时,传播过程才会终止。所有活动节点的预期数量表示为: σ ( S ) = ∑ 0 ∞ ∣ Z t ∣ \sigma(S)=\sum_0^{\infty}|Z_t| σ(S)=0Zt

3.影响力损失约束下的影响最大化问题

  在影响传播的过程中, A 是 激 活 失 败 ( 故 障 ) 的 集 合 , 大 小 为 R ( = ∣ A ∣ ) \color{red}{A是激活失败(故障)的集合,大小为R(=|A|)} AR(=A)。网络中的任何节点都可能发生故障,但是种子集S中的节点发生故障时,导致的影响损失将会更大。

  • T R 为 发 生 故 障 的 节 点 总 数 , R 为 发 生 故 障 的 节 点 是 种 子 节 点 的 数 量 \color{red}{TR为发生故障的节点总数,R为发生故障的节点是种子节点的数量} TRR
  • R a t i o = A v e [ σ ( S − A ) ] σ ( S ) \color{red}{Ratio=\frac{Ave[\sigma(S-A)]}{\sigma(S)}} Ratio=σ(S)Ave[σ(SA)] 表示不包括故障节点时种子集合的平均预期影响÷种子集合的影响。

  本文中将故障节点集视为种子集合的子集,A⊆S,其中R≤K。本文中将影响损失定义为减少的影响力[σ(S)−σ(S−A)]。因为R(故障节点集)由于故障而要从网络中删除,故从本质上来说我们需要计算(K-R)节点的影响。我们考虑到最坏的情况,最大损失MaxLoss,发生在(K-R)剩余节点的最大影响与(K-R)中 ∀ \forall 节点的影响相比是最小的情况下。形式化的来讲: ∣ A ∣ = R , M a x L o s s = σ ( S ) − m i n A ⊆ S σ ( S − A ) |A|=R,MaxLoss=σ(S)-min_{A⊆S}σ(S−A) A=RMaxLoss=σ(S)minASσ(SA)
   ★ ★ ★ \bigstar\bigstar\bigstar 对于给定的社交网络,我们的问题是找到大小为K的种子集S,使得此时的σ(S)最大,约束条件是由于大小为R的失败集A,最大损失不超过阈值η(>0)。我们可以将具有影响损失约束(IMIL)的影响最大化问题使用公式1将其定义为约束优化问题:
Given: G,K,R, η \eta η
Objective: m a x S ⊆ V , ∣ S ∣ = K σ ( S ) \underset{S\subseteq V,|S|=K}{max} \sigma(S) SV,S=Kmaxσ(S)
Constraint: σ ( S ) − m i n A ⊆ S , ∣ A ∣ = R σ ( S − A ) ≤ η \sigma(S)-\underset{A\subseteq S,|A|=R}{min}\sigma(S-A)\leq\eta σ(S)AS,A=Rminσ(SA)η

公式1
**注意:**
  • IMIL:influence maximization problem with influence loss constraint.
  • IM:influence maximization problem.
  • η \eta η足够大时,IMIL问题则就变为了常规的影响最大化问题。
  • 将IMLL问题归约为IM问题,因为IM问题是NP-Hard,则IMIL问题是HP-Hard。

三、基于CSA的算法

1.CSA算法

由公式1得 m a x [ 0 , σ ( S ) − m i n A ⊆ S ( S − A ) − η ] = 0 max[0,\sigma(S)-min_{A\subseteq S}(S-A)-\eta]=0 max[0,σ(S)minAS(SA)η]=0 其中 M a x L o s s ≤ η MaxLoss\leq\eta MaxLossη
惩罚函数为:
L Ω ( S , λ ) = − σ ( S ) + λ × m a x [ 0 , σ ( S ) − m i n   σ ( S − A ) − η ] L_\Omega(S,\lambda)=-\sigma(S)+\lambda\times max[0,\sigma(S)-min\ \sigma(S-A)-\eta] LΩ(S,λ)=σ(S)+λ×max[0,σ(S)min σ(SA)η]
Ω \Omega Ω是种子集S和惩罚因子 λ \lambda λ的联合空间。 D = ( S , λ ) ⊆ Ω D=(S,\lambda)\subseteq\Omega D=(S,λ)Ω是一个解。
算法:

图3:CSA算法

解释:

  1. 初始化D和温度T0
  2. 计算惩罚值LD(第4行)。
  3. 计算搜索空间中当前解空间D邻居的惩罚函数(5、6行)。
    3.1 ND可通过列出S的相邻节点和λ的相邻值生成。
    3.2 从ND中随机选择一个新解D
    3.3 计算惩罚函数的差异, Δ L = L D   ′ − L D \Delta_L=L_{D~'}-L_{D} ΔL=LD LD
  4. 9-23行检查是否接受新的解决方案。如果 λ \lambda λ不变的话,接受惩罚值较低的新解(此时 M a x L o s s ≤ η MaxLoss\leq\eta MaxLossη),从而返回较大的 σ ( S ) \sigma(S) σ(S)
    4.1 我们仅接受概率 e x p ( − Δ L T t ) exp(-\frac{\Delta_L}{T_t}) exp(TtΔL)随时间的推移而降低的具有较大惩罚值的解决方案(10-15行)。
  5. 相反( λ \lambda λ发生改变),如果种子集合S不更新,接受具有较大惩罚值的新解(17-23行)。
  6. 在温度Tt 时搜索q次后,我们计算出一个新的温度(稍后解释)并进入下一轮迭代(25-26行)。当达到终止温度Tf 时,终止CSA。
2.相关参数
  • λ \lambda λ的离散空间为: Λ ( λ ) = [ 0 , m a x   σ ( S ) 10 % K ∗ ( N − K ) , m a x   σ ( S ) 20 % K ∗ ( N − K ) , . . . , m a x   σ ( S ) ] \Lambda(\lambda)=[0,\frac{max\ \sigma(S)}{10\%K*(N-K)},\frac{max\ \sigma(S)}{20\%K*(N-K)},...,max\ \sigma(S)] Λ(λ)=[0,10%K(NK)max σ(S),20%K(NK)max σ(S),...,max σ(S)]
  • ρ = 2 m a x   σ ( S ) ( 1 + m a x   σ ( A ) ) \rho=2max\ \sigma(S)(1+max\ \sigma(A)) ρ=2max σ(S)(1+max σ(A))是Tt的一个因子。(推导见注释2)
  • 使用广义的ISP方法估算影响力。ISP可以计算每个种子节点的影响范围,因此,影响最大的所有种子节点的影响总和提供了maxσ(S)的上限,即 ∑ u ∈ S A P ( V , u ) ≥ m a x   σ ( S ) ∑_{u∈S}AP(V,u)≥max\ \sigma(S) uSAP(V,u)max σ(S),这是利用次模函数的性质。
  • 状态D转变为D的概率为:
    状态转移概率
    其中 Z D , D   ′ = 1 K ( N − K ) + ∣ Λ ( λ ) ∣ − 1 Z_{D,D~'}=\frac{1}{K(N-K)+|\Lambda(\lambda)|-1} ZD,D =K(NK)+Λ(λ)11是D的邻居集合ND产生状态D’的概率。K为种子集的大小, ∣ Λ ( λ ) ∣ |\Lambda(\lambda)| Λ(λ)为离散空间的大小。
    F D , D   ′ F_{D,D~'} FD,D 为接受D的概率:
    在这里插入图片描述
3.CSA提升:CSA-Q
  • CSA算法由于惩罚函数涉及影响力损失[σ(S)-minσ(S-A)]的耗时计算,因此复杂函数评估会进一步加剧CSA复杂度。这促使我们使用更易处理的影响力损失计算来提高CSA的效率。
  • 命题2:信息损失 [ σ ( S ) − m a x σ ( S − A ) ] [\sigma(S)-max\sigma(S-A)] [σ(S)maxσ(SA)]的上边界为 m a x Σ i = 1 , v i ∈ S R σ ( v i ) max\varSigma_{i=1,v_i\in\\S}^{R}\sigma(v_i) maxΣi=1,viSRσ(vi),R是故障节点的数量。
  • 选择考虑了影响损失后的top-K节点后,可以得到新的惩罚函数:
    L Ω ′ ( S , λ ) = − σ ( S ) + λ × m a x [ 0 , m a x Σ i = 1 , v i ∈ S R σ ( v i ) − η ] L'_\Omega(S,\lambda)=-\sigma(S)+\lambda\times max[0,max\varSigma_{i=1,v_i\in\\S}^{R}\sigma(v_i)-\eta] LΩ(S,λ)=σ(S)+λ×max[0,maxΣi=1,viSRσ(vi)η]
    它可以计算单个故障节点的影响范围v∈A,而不是计算(S-A)剩余节点的每个集合。与CSA相比,速度提升了很多,影响的结果是相似的。而CSA和CSA-Q均较优于其它算法。

注:

1.有待解决的问题
  • 图1中第二组的选择,当v1故障时的损失?
  • IMIL问题归约到IM问题。
  • 可以通过预先修剪影响力损失较大的解决方案来进一步改进CSA算法。
  • 实验部分略。
2.Tt参数设置的推导

命题1:温度设置 T t = q × ρ l n ( t + 1 ) T_t=\frac{q\times\rho}{ln(t+1)} Tt=ln(t+1)q×ρ满足:
( a )   T t > T t + 1 (a)\ T_t>T_{t+1} (a) Tt>Tt+1
( b )   l i m t → ∞ T t = 0 (b)\ lim_{t\to\infty}T_t=0 (b) limtTt=0
( c )   T t ⩾ 2 q l n ( t + 1 ) × max ⁡ ∣ L D ′ − L D ∣ (c)\ T_t\geqslant2\frac{q}{ln(t+1)}\times\max|L_{D'}-L_D| (c) Tt2ln(t+1)q×maxLDLD
p,q都是常量故a,b很明显,我们计算 max ⁡ ∣ L D ′ − L D ∣ \max|L_{D'}-L_D| maxLDLD对于S或λ在联合空间中发生变化的两种情况。
在这里插入图片描述
因此有 T t = q × ρ l n ( t + 1 ) = 2 q × max ⁡   σ ( S ) ( 1 + m a x   σ ( A ) ) l n ( t + 1 ) T_t=\frac{q\times\rho}{ln(t+1)}=\frac{2q\times\max\ \sigma(S)(1+max\ \sigma(A))}{ln(t+1)} Tt=ln(t+1)q×ρ=ln(t+1)2q×max σ(S)(1+max σ(A))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值