影响力传播模型中的独立层叠模型(independent cascading model,IC模型),影响力传播过程中,种子的影响力具备子模性(submodularity),即种子的边际影响力增量会呈现递减趋势,CELF算法(Cost-effective Lazy-forward)利用这个发现改进了Kempe&Kleinberg的原始的Greedy算法,使得算法的速度大幅提升。下面说说具体是怎么回事。
原始的Greedy算法:
input:图G={V,E},种子集合Seeds=空集,种子数量K
output:种子集合Seeds={K个影响力最大的种子}
step 1:在Seeds为空的条件下,一次算出G中每个节点V的边际影响力Δinfs【节点n的Δinfs=(n加入当前种子集Seeds后形成的新种子集Seeds的影响力)-(当前Seeds的影响力)】,并把各个节点按照Δinfs降序排列。
step 2:把Δinfs最大的节点加入Seeds。例如下图中A的边际影响力最大,于是Seeds={A}.
step 3:在新种子集Seeds条件下,重新计算各个节点的边际影响力Δinfs,把Δinfs最大的加入种子集。
step 4:重复step 3,直至种子集的节点个数达到K,输出Seeds,退出。
而CELF算法:根据IC模型条件下,节点的Δinfs符合子模性,于是在A加入Seeds后,在下一轮计算各个节点的边际影响力Δinfs时,如果计算出B的Δinfs大于或等于上一轮中比它小且最接近它的那个节点(这里是C)在上一轮中的Δinfs