目录
文章的基本逻辑是这样,首先对前人的工作做了一些总结,针对RIS算法存在计算复杂度高的问题提出了新的算法优化,整个文章围绕为什么要优化以及如何优化一步步展开,本文难得之处在于其有充足的理论证明保证。以 Chernoff bounds 为基础展开了一系列证明,表明本文提出的算法能在理论保证可以达到近似最优的情况下还可以减少采样的数量,降低复杂度。
摘要
给定一个社交网络
G
G
G 和一个常数
k
k
k,影响最大化问题要求在预定义的扩散模型下,
G
G
G 中的
k
k
k 个节点(直接和间接)影响最大数量的节点。该问题在病毒营销中发现重要的应用,并且已经在文献中进行了广泛的研究。现有的影响最大化的算法,或者为实际效率而进行的贸易近似保证,反之亦然。特别是,在突出的独立级联 (IC) 模型或线性阈值 (LT) 模型下实现常数因子近似的算法中,没有一种算法可以处理百万个节点的图而不会产生过多的开销。
本文提出了 TIM,该算法旨在将影响力最大化的理论与实践联系起来。从理论上讲,我们表明 TIM 以
O
(
(
k
+
l
)
(
n
+
m
)
log
n
/
ϵ
2
)
O((k +l)(n + m)\log n /\epsilon^{2})
O((k+l)(n+m)logn/ϵ2) 的期望时间运行,并返回
(
1
−
1
/
e
−
ϵ
)
(1 − 1 / e −\epsilon)
(1−1/e−ϵ) 近似解,且至少具有 1 −
n
−
l
n^{-l}
n−l概率。在 IC 模型下,TIM的时间复杂度几乎是最优的,因为它仅比先前工作中建立的
Ω
(
m
+
n
)
\Omega(m + n)
Ω(m+n) 下界大一个
log
n
\log n
logn 因子(对于固定的
k
k
k,
l
l
l 和
ϵ
\epsilon
ϵ)。此外,TIM支持触发模型,这是一个通用扩散模型,其中包括 IC 和 LT 作为特殊情况。在实践方面,TIM结合了新颖的启发式方法,可显著提高其经验效率,而不会影响其渐近性能。我们使用文献中测试过的最大数据集对TIM进行了实验评估,结果表明TIM在运行时间方面的性能比最新的方法(具有近似保证)高出四个数量级。特别是,当
k
k
k = 50,
ϵ
\epsilon
ϵ = 0.2和
l
l
l= 1时,TIM在商用机器上需要不到一小时的时间来处理具有4160万个节点和14亿条边的网络。这表明影响力最大化算法可以实用,同时仍提供强大的理论保证。
1、简介
假设
G
G
G 是一个社交网络,而
M
M
M 是一个概率模型,该模型捕获
G
G
G 中的节点如何影响彼此的行为。给点
G
,
M
G, M
G,M和一个小的常数
k
k
k,影响力问题可以定义为在
G
G
G 中找到
k
k
k 个节点可以影响最多的节点数。
本文贡献 提出了一个两阶段影响力算法 (TIM),一种旨在将影响力最大化的理论和实践联系起来的算法。理论方面,TIM 算法可以以
1
−
n
−
l
1-n^{-l}
1−n−l 的概率得到一个
(
1
−
1
/
e
−
ϵ
)
(1-1/e-\epsilon)
(1−1/e−ϵ) 近似最优的解,期望运行时间复杂度为
O
(
(
l
+
k
)
(
m
+
n
)
log
n
/
ϵ
2
)
O((l+k)(m+n)\log n/\epsilon^{2})
O((l+k)(m+n)logn/ϵ2),在IC模型下,TIM算法的时间复杂度是近似线性的,另外TIM还支持触发式模型,一般来说都是级联模型包括像IC模型这样的特殊情况。
在实践方面,TIM 结合了新颖的启发式技术,可在不牺牲理论保证的情况下将其计算效率提高多达100倍。 我们通过各种社交网络对TIM进行了实验评估,结果表明,在运行时间方面,TIM的性能比最先进的解决方案(具有近似保证)高四个数量级。特别是,当
k
k
k = 50,
ϵ
≥
\epsilon\ge
ϵ≥ 0.2且
l
l
l = 1时,TIM只需不到一小时即可处理具有4160万个节点和14亿个边的网络。 据我们所知,这是文献中的第一个结果,该结果证明了十亿边图的有效影响最大化。
总结一下,本文贡献点如下
- 提出了一种在触发式模型下期望运行时间为近似线性且在大概率情况下返回一个 ( 1 − 1 / e − ϵ ) (1-1/e-\epsilon) (1−1/e−ϵ) 近似最优的解。
- 设计了一些优化技术,可以使算法达到100倍的经验性能
- 我们提供具有近似保证的最优解决方法的理论分析,并根据渐近性能建立我们算法的优越性
- 我们在大数据集上进行了实验,结果表明,我们的算法可以在有十亿级别边的图上达到一个非常好的效果,这表明影响力算法既能有理论保证收敛到近似最优,又可以有实践效果验证。
2、前言
2.1 问题的定义
2.2 Kempe等人的贪心算法
2.3 Borge等人的方法
3、方法提出
TIM的灵感来自于 RIS 算法,同时创新性地克服了 RIS 算法的一些限制。大的方面来说,TIM 主要由两个阶段组成:
- 参数估计 这个阶段计算了所有大小为 k k k 的集合的最大化期望影响力的一个下界,并且用这个下界得到了参数 θ \theta θ
- 节点选择 这一步在图 G G G 中采样了 θ \theta θ 个RR 集,然后得到了一个大小为 k k k 覆盖最多数量 RR 集的节点集 S k ∗ S_{k}^{*} Sk∗, S k ∗ S_{k}^{*} Sk∗即为最终返回结果。
TIM 的节点选择阶段与 RIS 相似,不同之处在于它对随机RR集的预定数量 ( θ \theta θ) 进行采样,而不是使用计算成本阈值来间接控制数量。 这确保了TIM生成的RR集在给定 θ \theta θ 下是独立的,从而避免了困扰 RIS 的相关性问题。 同时,在参数估计阶段推导 θ \theta θ 是不平凡的:如3.1节所示, θ \theta θ 必须大于某个阈值以确保 TIM 的正确性,但是该阈值取决于影响最大化的最佳结果,但这是未知的。 为了应对这一挑战,我们计算出一个大于阈值但仍足够小的以确保 TIM 整体效率的 θ \theta θ 。
3.1 节点选择
算法1展示了 TIM 节点选择阶段的伪代码。给点 G , k G,k G,k 和一个常数 θ \theta θ ,算法生成了 θ \theta θ 个随机的 RR 集合,然后插入到集合 R \mathcal{R} R (lines 1-2)中,算法接下来的部分有 k k k 轮迭代组成 (Lines 3-7),在每一轮迭代里,算法选择出覆盖 R \mathcal{R} R 中 RR 集数量最多的节点,并且将这些 RR 集从 R \mathcal{R} R 中 移除,把选出的 k k k 个节点构成一个集合 S k ∗ S_{k}^{*} Sk∗,就是我们要的结果
Implementation 对于一个最大化收敛问题,算法的4-8行对应标准的贪心算法,换句话说,这个问题就是找到覆盖最多 RR 集的
k
k
k 个节点,众所周知,这个贪心算法返回一个
1
−
1
/
e
1-1/e
1−1/e 近似的解,这里不展开细节,有兴趣的同学可以看参考文献[3]
同时,算法1中设置的每个RR集的生成都实现为
G
G
G 上的随机广度优先搜索(BFS)。给定
G
G
G 中的节点
v
v
v,我们首先创建一个空队列,然后为每个
v
v
v 的传入边
e
e
e 掷硬币, 以
p
(
e
)
p(e)
p(e) 的概率,我们检索了
e
e
e 的开始节点
u
u
u ,并将
u
u
u 放入队列。 随后,我们迭代提取队列顶部的节点
v
′
v'
v′,并检查
v
v
v 的每个传入边
e
′
e'
e′; 如果
e
′
e'
e′ 从未访问过的节点
u
′
u'
u′ 开始,我们以
p
(
e
′
)
p(e')
p(e′) 的概率将
u
′
u'
u′ 添加到队列中。 当队列为空时,此迭代过程终止。 最后,我们收集在此过程中访问的所有节点(包括
v
v
v ),并使用它们形成RR集,就是所有可以触达到
v
v
v 的节点的一个集合。
Performance Bounds 我们定义一个 RR 集 R \mathcal{R} R 的宽度,记为 w ( R ) w(R) w(R),表示 G G G 中指向 RR 集 R \mathcal{R} R 中顶点的有向边的数量。 w ( R ) = ∑ v ∈ R ( the indegree of v in G ) (1) w(R)=\sum_{v\in R}(\text{the indegree of }v \text{ in }G)\tag{1} w(R)=v∈R∑(the indegree of v in G)(1)观察到,如果在生成 R 时检查了一条边,那么它必须指向 R 中的一个节点。令 EPT 为一个随机 RR集的期望最大宽度。可以证明,算法1运行了 O ( θ ⋅ E P T ) O(\theta\cdot EPT) O(θ⋅EPT) 时间,接下来,我们分析 θ \theta θ 是如何保证解的质量的同时最小化了期望运行时间。我们的分析要经常用到 Chernoff 有界定理
引理 1 令 X X X 是 [0,1] 上采样的 c c c 个独立同分布的随机变量的和,均值为 μ \mu μ,对于任意 δ > 0 \delta\gt0 δ>0, P r [ X − c μ ≥ δ ⋅ c μ ] ≤ exp ( − δ 2 2 + δ c μ ) , Pr[X-c\mu\ge\delta\cdot c\mu]\le \exp{\Big(-\frac{\delta^{2}}{2+\delta}c\mu\Big)}, Pr[X−cμ≥δ⋅cμ]≤exp(−2+δδ2cμ), P r [ X − c μ ≤ − δ ⋅ c μ ] ≤ exp ( − δ 2 2 c μ ) , Pr[X-c\mu\le-\delta\cdot c\mu]\le \exp{\Big(-\frac{\delta^{2}}{2}c\mu\Big)}, Pr[X−cμ≤−δ⋅cμ]≤exp(−2δ2cμ), 另外我们用下面的来自文献[3]中的引理来说明图 G G G 中的 RR集合和影响力传播的关系。
引理 2 令 S S S 是一个固定的点集, v v v 是一个固定点。假设我们在以 1 − p ( e ) 1-p(e) 1−p(e)的概率从 G G G 中移除边 e e e 得到的子图 g g g 中对 v v v 生成了一个 RR集,令 ρ 1 \rho_1 ρ1 是 S S S 覆盖 R R R 的概率, ρ 2 \rho_2 ρ2 是当 S S S 作为一个种子集合,能在 G G G 中激活固定点 v v v 的概率,则 ρ 1 = ρ 2 \rho_1=\rho_2 ρ1=ρ2
令 R \mathcal{R} R 是算法1中所有 RR集构成的集合,对任意的点集合 S S S,令 F R ( S ) F_{\mathcal{R}}(S) FR(S) 是 R \mathcal{R} R 中RR集被 S S S 覆盖的占比,根据引理2,我们可以证明 n ⋅ F R ( S ) n\cdot F_{\mathcal{R}}(S) n⋅FR(S)的期望值等于 G G G 中 S S S 的期望传播影响力。
推论 1 E [ n ⋅ F R ( S ) ] = E [ I ( S ) ] E[n\cdot F_{\mathcal{R}}(S)]=E[I(S)] E[n⋅FR(S)]=E[I(S)]
令 O P T OPT OPT 为 G G G 中任意 k k k 个节点的最大期望传播影响力,利用Chernoff 有界,我们可以看到,当 θ \theta θ 足够大的时候, n ⋅ F R ( S ) n\cdot F_{\mathcal{R}}(S) n⋅FR(S) 是任意节点集 S S S 传播影响力的一个准确估计。
引理 3 假设 θ \theta θ 满足 θ ≥ ( 8 + 2 ϵ ) n ⋅ l log n + log ( n k ) + log 2 O P T ⋅ ϵ 2 (2) \theta\ge(8+2\epsilon)n\cdot\frac{l\log n+\log\binom{n}{k}+\log 2}{OPT\cdot \epsilon^{2}}\tag{2} θ≥(8+2ϵ)n⋅OPT⋅ϵ2llogn+log(kn)+log2(2) 对任意最多有 k k k 的节点的集合 S S S,下面的不等式至少以 1 − n − l / ( n k ) 1-n^{-l}/\binom{n}{k} 1−n−l/(kn) 的概率成立 ∣ n ⋅ F R ( S ) − E [ I ( S ) ] ∣ < ϵ 2 ⋅ O P T (3) \Big|n\cdot F_{\mathcal{R}}(S)-E[I(S)]\Big|\lt\frac{\epsilon}{2}\cdot OPT\tag{3} ∣∣∣n⋅FR(S)−E[I(S)]∣∣∣<2ϵ⋅OPT(3) 基于引理3,我们证明了当等式 (2) 成立时,算法1以很大的概率返回一个 ( 1 − 1 / e − ϵ ) (1-1/e-\epsilon) (1−1/e−ϵ)的近似解。
定理 1 给定 θ \theta θ 满足等式 (2),算法1 至少以 1 − n − l 1-n^{-l} 1−n−l 的概率返回一个 ( 1 − 1 / e − ϵ ) (1-1/e-\epsilon) (1−1/e−ϵ)的近似解。
注意到由于 O P T OPT OPT 是未知的,所以很难直接基于等式(2)设定 θ \theta θ 的值,我们在 3.2节中解决了这个问题,提出的算法返回的 θ \theta θ 值不仅可以满足等式(2),而且可以使算法1的期望计算复杂度为 O ( ( k + l ) ( m + n ) log n / ϵ 2 ) O((k+l)(m+n)\log n/\epsilon^2) O((k+l)(m+n)logn/ϵ2),简单起见,我们定义 λ = ( 8 + 2 ϵ ) n ⋅ ( l log n + log ( n k ) + log 2 ) ⋅ ϵ − 2 (4) \lambda=(8+2\epsilon)n\cdot (l\log n+\log\binom{n}{k}+\log 2)\cdot\epsilon^{-2}\tag{4} λ=(8+2ϵ)n⋅(llogn+log(kn)+log2)⋅ϵ−2(4)于是,等式(2)即为 θ ≥ λ / O P T (5) \theta\ge\lambda/OPT\tag{5} θ≥λ/OPT(5)
3.2 参数估计
回顾算法1的时间复杂度是 O ( θ ⋅ E P T ) O(\theta\cdot EPT) O(θ⋅EPT),其中 E P T EPT EPT 是为 G G G 中随机选择的节点生成RR集所需的抛硬币的预期数量,即 w ( R ) w(R) w(R) 的期望数量,我们的目标是确定一个 θ \theta θ ,使得 θ ⋅ E P T \theta\cdot EPT θ⋅EPT 尽可能小,同时保证 θ ≥ λ / O P T \theta\ge\lambda/OPT θ≥λ/OPT,为此,我们首先基于 G G G 中的节点定义了一个概率分布 V ∗ \mathcal{V}^{*} V∗,使得每个节点的概率质量与其在 G G G 中的度数成正比。令 v ∗ v^{*} v∗ 是服从 V ∗ \mathcal{V}^{*} V∗ 分布的一个随机变量,则有:
引理 4 n m E P T = E [ I { v ∗ } ] \frac{n}{m}EPT=E[I\{v^{*}\}] mnEPT=E[I{v∗}],其中 I { v ∗ } I\{v^{*}\} I{v∗} 的期望是被 v ∗ v^{*} v∗ 的随机性和影响传播过程所控制。
换句话说,如果我们从
V
∗
\mathcal{V}^{*}
V∗ 随机选择一个节点 ,计算它的期望传播影响
s
s
s,那么平均来说我们有
s
=
n
m
E
P
T
s=\frac{n}{m}EPT
s=mnEPT,隐含了
n
m
E
P
T
≤
O
P
T
\frac{n}{m}EPT\le OPT
mnEPT≤OPT,因为
O
P
T
OPT
OPT 是任意
k
k
k 个节点的最大期望传播。
假设我们可以得到一个数
t
t
t,使得
t
=
Ω
(
n
m
E
P
T
)
t=\Omega(\frac{n}{m}EPT)
t=Ω(mnEPT) 且
t
≤
O
P
T
t\le OPT
t≤OPT,然后令
θ
=
λ
/
t
\theta=\lambda/t
θ=λ/t,我们可以保证算法1 正确且满足时间复杂度
O
(
θ
⋅
E
P
T
)
=
O
(
n
m
λ
)
=
O
(
(
k
+
l
)
(
m
+
n
)
log
n
/
ϵ
2
)
(6)
O(\theta \cdot EPT)=O(\frac{n}{m}\lambda)=O((k+l)(m+n)\log n/\epsilon^2)\tag{6}
O(θ⋅EPT)=O(mnλ)=O((k+l)(m+n)logn/ϵ2)(6)
t 的选取 直观地,我们会直接选择 t = n m E P T t=\frac{n}{m}EPT t=mnEPT,因为 i) m和n都是已知的,ii) E P T EPT EPT 可以通过计算 RR集的评价宽度得到。但是通过观察,我们发现当 k ≫ 1 k\gg 1 k≫1时, t = n m E P T t=\frac{n}{m}EPT t=mnEPT 使得 θ = λ / t \theta=\lambda/t θ=λ/t 变得没必要的大,反而导致效率低下。我们解释一下,回顾前面的 n m E P T \frac{n}{m}EPT mnEPT 等于从 V ∗ \mathcal{V}^{*} V∗ 中采样一个节点 v ∗ v^* v∗ 的期望传播影响均值,因此和 k k k 是独立的。但 O P T OPT OPT 是随着 k k k 的递增而递增的,这使得当 k k k 增大时, t = n m E P T t=\frac{n}{m}EPT t=mnEPT 变得不是那么好的一个 t t t 的选择。为了解决这个问题,我们用一个关于 k k k 递增的且更接近 O P T OPT OPT 的值来替换。
假设我们从
V
∗
\mathcal{V}^{*}
V∗ 中采样了
k
k
k 个点,构成了一个集合
S
∗
S^*
S∗(注意,由于消除了重复样本,
S
∗
S^*
S∗可能包含少于
k
k
k 个节点),令
K
P
T
KPT
KPT 为
S
∗
S^*
S∗ 期望传播的均值(
S
∗
S^∗
S∗中的随机性和影响传播过程),可以得到
n
m
E
P
T
≤
K
P
T
≤
O
P
T
(7)
\frac{n}{m}EPT\le KPT\le OPT\tag{7}
mnEPT≤KPT≤OPT(7)其中
K
P
T
KPT
KPT 随
k
k
k 单调递增,我们有如下引理
引理 5 令
R
R
R 是一个随机的 RR 集,
w
(
R
)
w(R)
w(R) 是
R
R
R 的宽度,定义
κ
(
R
)
=
1
−
(
1
−
w
(
R
)
m
)
k
(8)
\kappa (R)=1-\Big(1-\frac{w(R)}{m}\Big)^{k}\tag{8}
κ(R)=1−(1−mw(R))k(8) 则
K
P
T
=
n
⋅
E
[
κ
(
R
)
]
KPT=n\cdot E[\kappa(R)]
KPT=n⋅E[κ(R)]
通过引理5,我们可以通过首先在一组随机RR集上测量 n ⋅ κ ( R ) n\cdot \kappa(R) n⋅κ(R),然后取测量的平均值来估计 K P T KPT KPT。 但是,我们应该进行多少测量? 根据切尔诺夫边界,对于 δ ∈ ( 0 , 1 ) \delta\in (0,1) δ∈(0,1) 的相对误差,如果我们要获得对 K P T KPT KPT 估计具有至少 1 − n − l 1 − n^{−l} 1−n−l 概率 ,则测量次数应为 Ω ( l n log n ⋅ δ − 2 / K P T ) \Omega(ln\log n\cdot \delta^{-2}/ KPT) Ω(lnlogn⋅δ−2/KPT)。 换句话说,所需的测量次数取决于 K P T KPT KPT,而 K P T KPT KPT 正是被测对象。 我们采用自适应采样方法解决了这一难题,该方法可以根据所观察到的RR集样本来动态调整测量次数。
估计 KPT 算法 2 展示了我们估计 K P T KPT KPT 的采样方法,该算法的高级思想如下,首先我们生成相对少量的 RR 集,使用它们来推导带有有界绝对误差的 K P T KPT KPT 估计,如果这个 K P T KPT KPT 的估计值比有界误差大很多,那么我们认为这个估计是足够准确了,此时算法终止。另一方面,如果 K P T KPT KPT 的估计值同有界误差相比差异不大,然后我们生成更多的RR集以获得具有降低的绝对误差的 K P T KPT KPT 的新估计。此后,我们重新评估估计的准确性,并在必要时进一步增加RR集的数量,直到计算出 K P T KPT KPT 的精确估计为止。
特别的,算法2最多执行
log
n
−
1
\log n-1
logn−1 轮迭代,在第
i
i
i 轮迭代时,从
G
G
G 中采样了
c
i
c_i
ci 个RR集(line 2-7),其中
c
i
=
(
6
l
log
n
+
6
log
(
log
2
n
)
)
⋅
2
i
(9)
c_i=(6l\log n+6\log(\log_{2}n))\cdot 2^i\tag{9}
ci=(6llogn+6log(log2n))⋅2i(9) 然后针对每个 RR 集计算
κ
(
R
)
\kappa(R)
κ(R),得到了整体平均值
κ
(
R
)
\kappa(R)
κ(R),我们选择的
c
i
c_i
ci 来确保如果平均值比
2
−
i
2^{-i}
2−i 大,则有很大概率
E
[
κ
(
R
)
]
E[\kappa(R)]
E[κ(R)] 达到了平均值的一半大小,这时候算法终止,得到的
K
P
T
KPT
KPT 等于平均值乘以
n
/
2
n/2
n/2(line 8-9),同时,如果平均值不比
2
−
i
2^{-i}
2−i 大,则继续
i
+
1
i+1
i+1 轮迭代。
另一方面,如果在所有轮次的迭代中,平均值均小于
2
−
i
2^{-i}
2−i,那么返回
K
P
T
∗
=
1
KPT^{*}=1
KPT∗=1,等于最小可能的
K
P
T
KPT
KPT(因为每一个种子节点总是可以激活自己),
E
[
1
K
P
T
∗
]
=
O
(
1
K
P
T
)
E[\frac{1}{KPT^{*}}]=O(\frac{1}{KPT})
E[KPT∗1]=O(KPT1),且
K
P
T
∗
∈
[
K
P
T
/
4
,
O
P
T
]
KPT^{*}\in [KPT/4, OPT]
KPT∗∈[KPT/4,OPT] 以高概率成立。这样设定
θ
=
λ
/
K
P
T
∗
\theta=\lambda/KPT^{*}
θ=λ/KPT∗ 确保算法1是正确的且可以得到等式(6)中的时间复杂度。
理论分析 尽管算法2从概念上讲很简单,但要证明其正确性和有效性并不容易,因为它需要仔细分析每次迭代中算法的行为。 接下来,我们介绍一些支持性引理,然后使用它们来建立算法2的性能保证。
引理 6 如果 μ ≤ 2 − j \mu\le 2^{-j} μ≤2−j ,则对于任意的 i ∈ [ 1 , j − 1 ] i\in[1,j-1] i∈[1,j−1], P r [ s i c i > 1 2 i ] < 1 n l ⋅ log 2 n Pr\Big[\frac{s_i}{c_i}\gt\frac{1}{2^{i}}\Big]\lt\frac{1}{n^{l}\cdot\log_{2}n} Pr[cisi>2i1]<nl⋅log2n1 由引理6可知,如果 K P T ≤ 2 − j KPT\le 2^{-j} KPT≤2−j,算法2不太可能在前 j − 1 j-1 j−1轮终止,这样可以防止算法输出的 K P T ∗ KPT^* KPT∗ 比 K P T KPT KPT 大得多。
引理 7 如果
μ
≥
2
−
j
\mu\ge 2^{-j}
μ≥2−j ,则对于任意的
i
≥
j
+
1
i\ge j+1
i≥j+1,
P
r
[
s
i
c
i
>
1
2
i
]
>
1
−
1
n
l
⋅
2
(
i
−
j
−
1
)
⋅
log
2
n
Pr\Big[\frac{s_i}{c_i}\gt\frac{1}{2^{i}}\Big]\gt 1-\frac{1}{n^{l\cdot 2^{(i-j-1)}}\cdot\log_{2}n}
Pr[cisi>2i1]>1−nl⋅2(i−j−1)⋅log2n1 由引理7可知,如果
K
P
T
≤
2
−
j
KPT\le 2^{-j}
KPT≤2−j,算法2碰巧进入其第
i
>
j
+
1
i\gt j+1
i>j+1 次迭代,然后几乎可以肯定地终止于第
i
i
i 次迭代。 这样可以确保算法不会输出比
K
P
T
KPT
KPT 小得多的
K
P
T
∗
KPT^*
KPT∗
基于引理6和7,我们证明了算法2的准确性和预期时间复杂度的以下定理
定理 2 当 n ≥ 2 , l ≥ 1 / 2 n\ge 2,l\ge 1/2 n≥2,l≥1/2 时,算法2至少以 1 − n − l 1-n^{-l} 1−n−l 的概率返回 K P T ∗ ∈ [ K P T / 4 , O P T ] KPT^{*}\in [KPT/4,OPT] KPT∗∈[KPT/4,OPT],期望运行时间 O ( l ( m + n ) log n ) O(l(m+n)\log n) O(l(m+n)logn),且 E [ 1 K P T ∗ ] < 12 K P T E[\frac{1}{KPT^{*}}]\lt \frac{12}{KPT} E[KPT∗1]<KPT12
3.3 合并
总结一下,TIM 算法流程如下:给定
G
,
k
G, k
G,k 以及另外两个参数
l
,
ϵ
l,\epsilon
l,ϵ,TIM 首先将
G
,
k
G, k
G,k 喂给算法2,返回一个数
K
P
T
∗
KPT^*
KPT∗,然后TIM计算
θ
=
λ
/
K
P
T
∗
\theta=\lambda/KPT^{*}
θ=λ/KPT∗,其中
λ
\lambda
λ 是等式(4) 中定义的,是关于
k
,
l
,
n
,
ϵ
k,l,n,\epsilon
k,l,n,ϵ的一个函数,最后TIM将
G
,
k
,
θ
G,k,\theta
G,k,θ 喂给算法1,得到
S
k
∗
S_{k}^{*}
Sk∗ 即为最终的影响力结果。
通过定理1,2,以及等式(6),TIM的预期执行时间为
O
(
(
l
+
k
)
(
m
+
n
)
log
n
/
ϵ
2
)
O((l+k)(m+n)\log n/\epsilon^{2})
O((l+k)(m+n)logn/ϵ2),至少以
1
−
2
⋅
n
−
l
1-2\cdot n^{-l}
1−2⋅n−l 的概率得到一个
1
−
1
/
e
−
ϵ
1-1/e-\epsilon
1−1/e−ϵ 的解,这个成功的概率可以通过对
l
l
l 乘一个因子
1
+
log
2
/
log
n
1+\log 2/\log n
1+log2/logn 轻松提升到
1
−
n
−
l
1- n^{-l}
1−n−l,最终,我们注意到TIM算法的时间复杂度在IC模型下可以达到近似最优。
4、扩展
4.1 改进参数估计
TIM的有效性高度依赖算法2中的
K
P
T
∗
KPT^{*}
KPT∗,如果
K
P
T
∗
KPT^{*}
KPT∗ 接近
O
P
T
OPT
OPT,则
θ
=
λ
/
K
P
T
∗
\theta=\lambda/KPT^{*}
θ=λ/KPT∗ 很小,此时算法1只需要生成少量的 RR 集即可,但是,实际情况下
K
P
T
∗
KPT^{*}
KPT∗ 通常要比
O
P
T
OPT
OPT 小很多,这就严重影响了算法1的效率。
我们解决上述问题的方法是在算法1和算法2之间增加一个中间步骤,将
K
P
T
∗
KPT^{*}
KPT∗ 修正到
O
P
T
OPT
OPT 的一个紧的下界,算法3显示了这个步骤的伪代码
这个算法首先召回了算法2中所有RR集的集合
R
′
\mathcal{R'}
R′,然后,它在
R
′
\mathcal{R'}
R′上调用贪心算法(针对最大覆盖问题),并获得一个有
k
k
k 个节点集
S
k
′
S_{k}^{'}
Sk′,它覆盖
R
′
\mathcal{R'}
R′ 中的大量RR集(算法3中的第2-6行)。
直观地,
R
′
\mathcal{R'}
R′ 应该有最大影响传播,如果我们能估计
E
[
I
(
S
k
′
)
]
E[I(S_{k}^{'})]
E[I(Sk′)] 到一个合理的准确率,那我们可以用这个估计值来得到
O
P
T
OPT
OPT 的一个紧下界,算法3生成了
θ
′
\theta'
θ′ 个RR集,然后计算
S
k
∗
S_{k}^{*}
Sk∗ 覆盖 RR 集的占比(line 7-10),由推理1可知,
n
⋅
f
n\cdot f
n⋅f 是
E
[
I
(
S
k
′
)
]
E[I(S_{k}^{'})]
E[I(Sk′)] 的一个无偏估计,我们将
θ
′
\theta'
θ′ 设置为一个合理的相对大的数值来保证最多以
1
−
n
−
l
1-n^{-l}
1−n−l的概率
n
⋅
f
<
(
1
+
ϵ
′
)
E
[
I
(
S
k
′
)
]
n\cdot f\lt(1+\epsilon')E[I(S_{k}^{'})]
n⋅f<(1+ϵ′)E[I(Sk′)] ,基于此,算法3计算
K
P
T
′
=
n
⋅
f
/
(
1
+
ϵ
′
)
KPT'=n\cdot f/(1+\epsilon')
KPT′=n⋅f/(1+ϵ′),使得
K
P
T
′
≤
E
[
I
(
S
k
′
)
]
≤
O
P
T
KPT'\le E[I(S_{k}^{'})]\le OPT
KPT′≤E[I(Sk′)]≤OPT,算法3最终输出
K
P
T
+
=
max
{
K
P
T
∗
,
K
P
T
′
}
KPT^{+}=\max\{KPT^{*},KPT'\}
KPT+=max{KPT∗,KPT′},引理8对算法3做了理论保证
引理 8 给定 E [ 1 K P T ∗ ] < 12 E P T E[\frac{1}{KPT^*}]\lt\frac{12}{EPT} E[KPT∗1]<EPT12,算法3期望运行时间为 O ( l ( m + n ) log n / ( ϵ ′ ) 2 ) O(l(m+n)\log n/(\epsilon')^{2}) O(l(m+n)logn/(ϵ′)2),此外,如果 K P T ∗ ∈ [ K P T / 4 , O P T ] KPT^{*}\in [KPT/4, OPT] KPT∗∈[KPT/4,OPT],则至少有 1 − n − l 1-n^{-l} 1−n−l的概率有 K P T + ∈ [ K P T ∗ , O P T ] KPT^{+}\in[KPT*, OPT] KPT+∈[KPT∗,OPT]
注意到算法3的计算复杂度比算法1小了一个因子
k
k
k,因为前者只需要准确地估计一个节点集的期望传播影响,而后者还需要同时确保
(
n
k
)
\binom{n}{k}
(kn) 个节点集准确估计。
我们整合算法3到
T
I
M
TIM
TIM,得到了一个改进版的方法(
T
I
M
+
TIM^{+}
TIM+),给定
G
,
k
,
l
,
ϵ
G,k,l,\epsilon
G,k,l,ϵ,首先利用算法2得到
K
P
T
∗
KPT^{*}
KPT∗,然后我们将
G
,
k
,
K
P
T
∗
G,k,KPT^{*}
G,k,KPT∗ 以及另一个参数
ϵ
′
\epsilon'
ϵ′ 输入给算法3,得到
K
P
T
+
KPT^{+}
KPT+,然后我们计算
θ
=
λ
/
K
P
T
+
\theta=\lambda/KPT^{+}
θ=λ/KPT+,最终将
G
,
k
,
θ
G,k,\theta
G,k,θ 作为算法1的输入,得到最终的影响力集合。可以证明,当
ϵ
′
≥
ϵ
/
k
\epsilon'\ge\epsilon/\sqrt{k}
ϵ′≥ϵ/k 时,
T
I
M
+
TIM^+
TIM+ 和
T
I
M
TIM
TIM 有同样的计算复杂度,并且至少以
1
−
3
n
−
l
1-3n^{-l}
1−3n−l的概率返回一个
1
−
1
/
e
−
ϵ
1-1/e-\epsilon
1−1/e−ϵ 近似最优值。
理想地,我们希望将
ϵ
′
\epsilon'
ϵ′设定为一个可以使在算法1,3中让 RR 集数量
β
\beta
β 尽量小的值,但是
β
\beta
β 依赖于未知变量
K
P
T
∗
,
K
P
T
+
KPT^{*},KPT^{+}
KPT∗,KPT+,在
T
I
M
+
TIM^{+}
TIM+ 中,我们令
ϵ
′
=
5
⋅
l
⋅
ϵ
2
/
(
k
+
l
)
3
\epsilon'=5\cdot\sqrt[3]{l\cdot\epsilon^{2}/(k+l)}
ϵ′=5⋅3l⋅ϵ2/(k+l)
4.2 归纳到触发模型
触发模型[17]是影响传播模型,可以概括IC模型。假设每个节点
v
v
v 在
v
v
v 的传入邻居的幂集上都与触发分布
T
(
v
)
\mathcal{T}(v)
T(v)相关联,即,来自
T
(
v
)
\mathcal{T}(v)
T(v) 的每个样本都是具有输出边指向节点
v
v
v 的节点的子集。
给定种子集
S
S
S,触发模型下的影响传播过程如下。首先,对于每个节点
v
v
v,我们从
T
(
v
)
\mathcal{T}(v)
T(v) 中获取一个样本,并将该样本定义为
v
v
v 的触发集。之后,在时间戳1处,我们激活
S
S
S 中的节点。然后,在随后的时间戳
i
i
i ,如果激活的节点出现在非活动节点
v
v
v 的触发集中,则
v
v
v 在时间戳
i
+
1
i + 1
i+1 处被激活。当没有更多节点可被激活时,传播过程终止。
触发模型下的影响最大化问题要求使用大小为
k
k
k 的种子集
S
S
S,该种子集
S
S
S 可以激活预期中的最大数量的节点。要了解为什么触发模型将IC模型作为特殊情况来捕获IC模型,请考虑为每个节点
v
v
v 分配一个触发分布,这样
v
v
v 的每个传入邻居都以
p
(
e
)
p(e)
p(e) 的概率独立出现在
v
v
v 的触发集中,其中
e
e
e 是从邻居到
v
v
v 的边。可以证明,这种分布下的影响最大化等同于IC模型下的影响最大化。
有趣的是,我们的解决方案可以轻松扩展以支持触发模型。为了进行解释,请注意,算法1、2和3不依赖于IC模型的任何特定内容,只是它们需要一个子例程来生成随机RR集,而RR集仅在IC模型下定义。为解决此问题,我们修订了RR集的定义以适应触发模型,如下所述。
假设我们从
G
G
G 生成随机图
g
g
g,方法是首先从其触发分布
T
(
v
)
\mathcal{T}(v)
T(v) 中为每个节点
v
v
v 采样一个节点集
T
T
T,然后删除不指向
T
T
T 中节点的
v
v
v的任何输出边。令
G
G
G 为随机分布引起的
g
g
g 的分布。
我们将
G
\mathcal{G}
G 称为
G
G
G 的触发图分布。对于任何给定的节点
u
u
u 和从
G
G
G 采样的图
g
g
g,我们将针对
g
g
g 中
u
u
u 的反向可达(RR)集定义为
g
g
g 中可以达到
u
u
u 的节点集。另外,我们定义了一个随机RR集,它是对从
g
g
g 随机采样的
g
g
g 实例随机生成的一个随机RR集。
为了构造上面定义的随机RR集,我们采用如下随机BFS算法。令
v
v
v 为随机选择的节点。给定
v
v
v,我们首先从
v
v
v 的触发分布
T
(
v
)
\mathcal{T}(v)
T(v) 中抽取一个样本
T
T
T,然后将
T
T
T 中的所有节点放入队列中。之后,我们迭代提取队列顶部的节点。对于
u
u
u 提取的每个节点,我们从
u
u
u 的触发分布中采样一个集合
T
′
T'
T′,然后将
T
′
T'
T′ 中所有未访问的节点插入队列。当队列变空时,我们终止过程,并与过程中访问的节点形成随机RR集。整个过程的预期成本为
O
(
E
P
T
)
O(EPT)
O(EPT),其中
E
P
T
EPT
EPT 表示
G
G
G 中指向随机RR集中的节点的边的预期数量。该预期时间复杂度与在IC模型下生成随机RR集的算法相同。
通过将上述BFS方法整合到算法1、2和3中,我们的解决方案可以轻松支持触发模型。我们的下一步是证明修订后的解决方案保留了TIM和TIM +的性能保证。为此,我们首先介绍触发模型的引理2的扩展版本。 (引理的证明与引理2的证明几乎相同。)
引理 9 令 S S S 是一个固定的节点集合, v v v 是一个固定点, G \mathcal{G} G 是 G G G 的触发图分布,假设我们从由 G \mathcal{G} G 中采样得到的 g g g 上的一个顶点 v v v 生成了它的 RR 集 R,令 ρ 1 \rho_1 ρ1 是 S S S 覆盖 R 的概率, ρ 2 \rho_2 ρ2 是 S S S 作为种子集可以在触发式模型下激活 v v v 的概率,则 ρ 1 = ρ 2 \rho_1=\rho_2 ρ1=ρ2
我们注意到,我们对TIM和TIM +的所有理论分析都是基于Chernoff bounds和引理2,而不依赖于任何其他针对IC模型的结果。 因此,一旦我们建立了引理9,就可以将其与Chernoff bounds 直接结合起来,以表明在触发模型下,TIM和TIM +都提供了与IC模型相同的性能保证。 因此,我们有以下定理:
定理 3 在触发模型下,TIM (TIM+) 期望运行时间为 O ( ( k + l ) ( m + n ) log n / ϵ 2 ) O((k+l)(m+n)\log n/\epsilon^{2}) O((k+l)(m+n)logn/ϵ2),至少以 1 − 2 n − l ( 1 − 3 n − l ) 1-2n^{-l}(1-3n^{-l}) 1−2n−l(1−3n−l) 的概率返回一个 ( 1 − 1 / e − ϵ ) (1-1/e-\epsilon) (1−1/e−ϵ) 的近似解
参考资料
[3] C. Borgs, M. Brautbar, J. T. Chayes, and B. Lucier. Maximizing social influence in nearly optimal time. In SODA, pages 946–957, 2014.