开放科学(资源服务)标志码(OSID):
随着微信、Facebook和Twitter等在线社交网络的兴起,越来越多的人们使用不同的社交网络进行交流和分享,使得网络中信息扩散研究成为社交网络分析的热点。影响最大化(Influence Maximization,IM)作为信息扩散研究中的关键问题,具有较广泛的应用场景。文献[1-3]分别把IM问题应用于病毒式营销、谣言控制和社会计算领域,将社交网络建模为一个图G,并给图G的每条边分配一个传播概率。IM问题是给定一个传播模型及正整数k,从节点集V中选择一个不多于k个节点的种子集合S,使得S的影响范围
文献[4]证明IM问题也是NP-hard问题,表明IM问题在多项式时间内不可能得到最优解的精确算法,其求解方法主要是近似算法和启发式算法。文献[5-6]针对IM问题,提出基于次模函数的贪心近似算法,具有较大的时间复杂度,因此,该算法在规模较大的图上难以得到实际有效的应用。以上贪心近似算法均具有较大的时间复杂度,其原因为在节点选择过程中,每个种子节点的选择均使用大量的Monte-Carlo模拟来计算节点集的影响范围。为了更快地求解IM问题,启发式算法利用不同的策略来代替模拟过程。此类算法分为基于中心性的算法、基于社区的算法和基于排序的算法。启发式算法与近似算法相比具有较低的时间复杂度,但是在具有不同拓扑结构的图上,启发式算法和近似算法都缺乏稳定性。文献[7]提出基于VoteRank的投票算法,在求解IM问题时具有较强的稳定性。在该类算法中,节点v具有投票能力vav和得票分数vsv两种属性,其中vav表示节点v能够给邻居节点投票的票数,vsv表示节点v的邻居给其投票的票数总和。此外,在每轮投票中得票分数最高的节点将不参与后续的投票,即投票能力为0,其邻居节点的投票能力也会随之得到一定程度的弱化。投票算法通常定义一个衰减因子f来表示投票能力的弱化程度。然而该算法并未有效地区分节点对其不同邻居的投票能力,种子节点所有的邻居均使用相同的衰减因子,不能有效地表示出它们投票能力的弱化程度。
本文基于K-truss提出一种改进的投票算法TrussVote,用于求解IM问题。基于边的truss值设计节点有效投票能力的计算方法,该方法不仅考虑网络拓扑结构对投票能力的影响,同时也有效地区分节点对其不同邻居的投票能力。基于节点的相似性提出动态的衰减因子,表示节点邻居的投票能力具有不同程度的弱化。此外,本文结合IC模型下的原始传播结果提出影响范围的等价分析指标——传播差异(Diffusion Difference,DD),以直观地区分各个算法的实验效果。
1 相关工作为了表述方便,表 1所示为本文所需主要变量的说明。
![]() |
下载CSV 表 1 重要变量的说明 Table 1 The description of important variables |
网络中节点的中心性是衡量节点重要性的关键指标,中心性较高的节点在网络中通常占据着信息传播的关键位置。节点的中心性分为局部中心性和全局中心性。文献[8-10]和文献[11-12]分别基于局部中心性和全局中心性提出不同的启发式算法,以求解IM问题。此类算法的主要原理是在计算每个节点的中心性之后,选择中心性最高的前k个节点作为种子节点集。相比基于局部中心性的启发式算法,基于全局中心性的启发式算法在获得较优实验效果的同时提高了算法的时间复杂度。
影响力的扩散与社区结构有着密切关联,并且在社区内节点之间联系紧密,更容易传播影响力。文献[13-14]基于图的社区提出用于求解IM问题的方法,其原理是将网络中的节点划分为不同的社区,并在每个社区中选取影响力较大的节点作为种子节点。文献[15-16]提出基于排序的算法,采用不同方式定义节点的影响力,通过迭代方式使节点按照影响力的排序达到一个稳定状态。该类算法与基于中心性的算法相比能够获得更广泛的影响力覆盖范围,但迭代次数的增加也提升了算法的时间复杂度。
文献[7]提出一种新的解决方案用来求解IM问题,它最早基于投票机制提出VoteRank算法。在初始化阶段,每个节点的投票能力均被设置为1,在投票过程中,每轮选出一个得票分数最高的节点作为种子节点,在此基础上,使用固定的衰减因子弱化该种子节点一跳邻居的投票能力。当权重表示节点间联系紧密性的加权网络时,文献[17]基于VoteRank提出WVoteRank算法,在计算节点的得票分数时,权重的差异使得节点对其不同邻居的投票能力产生差异。文献[18]设计的NCVoteRank算法认为节点的投票能力取决于其在网络中的拓扑结构,并提出邻居核心值(Neighborhood Coreness,NC)的概念,当计算节点的得票分数时,综合考虑了邻居节点的NC值及投票能力。文献[19]提出EnRenew算法,采用信息熵的方式来表示节点的重要性及投票能力。文献[20]不仅引入投票比例的概念以区分节点对其不同邻居的投票能力,而且在更新种子节点邻居的投票能力时,采用不同程度的衰减因子分别弱化其一跳和二跳邻居的投票能力。
2 本文算法本文基于第1节中的投票机制提出TrussVote算法,该算法在投票阶段使用K-truss的相关理论及算法区分节点对其不同邻居的投票能力,在更新阶段通过节点相似性指标定义一个动态的衰减因子,用于表示种子节点邻居的投票能力具有不同程度的衰减。
2.1 K-truss分解K-core[21]揭示了网络的结构性质和层次性质,而K-truss则是K-core基于三角形的一种扩展,它所推导的子图在结构上更接近一个团[22]。
定义1(边的支持度sup(e,G)) 边的支持度等于图G =(V,E)中边e∈E所在三角形的个数。
定义2(K-truss子图TK) 若
定义3(边e=(v,u)的truss值tvu) tvu= max{K:
定义4(边集K-class,记为
本文的投票算法通过引入K-truss相关理论,不仅考虑网络的拓扑结构对投票能力产生的影响,同时有效地区分节点对其不同邻居拥有不同的投票倾向。对于边e=(v,u),tvu的计算与v和u的公共邻居相关,因此边的truss值在一定程度上反映了节点间联系的紧密程度。对于同一节点的不同邻居,邻边的truss值越大,其两端节点的联系越紧密。无向图示例如图 1所示。
![]() |
Download:
|
图 1 无向图示例 Fig. 1 The example of undirected graph |
在节点3的邻边中,边(3,4)具有最大的truss值,它们的联系也更加紧密。基于网络的核分解理论[23],K-truss分解与K-core分解相似,K值越大的子图在网络中的相对位置越趋于核心。对于网络中不同位置的节点,truss值可以对节点的投票能力进行有针对性和不同程度的放大。从图 1可以看出,
节点间相似性差异会导致节点对其邻居的投票能力不同。为了更准确地表示这种差异,本文基于边的truss值提出有效投票能力
$ {e}_{v}^{\mathrm{e}\mathrm{v}\mathrm{a}}\left(u\right)=\frac{{v}_{v}^{\mathrm{v}\mathrm{a}}\cdot {t}_{vu}}{{d}_{v}} $ | (1) |
本文在计算节点的得票分数时,利用有效投票能力来表示节点对其邻居拥有不同的投票票数,而这种有效的投票能力也会受到边的传播概率的影响。在实际传播过程中,节点v通过边(v,u)将u激活,其激活概率大于该边的传播概率。因此,基于传播模型的随机性特点,本文将投票算法中能够得到的有效投票能力乘以传播概率,用来表示u能够获得v投票的票数期望值。对于节点v,
$ {v}_{v}^{\mathrm{v}\mathrm{s}}=\sum \limits_{u\in {N}_{v}}{e}_{v}^{\mathrm{e}\mathrm{v}\mathrm{a}}\left(u\right)\cdot {p}_{uv} $ | (2) |
本文基于ra指标[24]提出一种动态的衰减因子,以区分种子节点不同邻居的衰减情况。ra指标是一种基于资源分配策略的节点相似性指标,ra(v,u)表示节点v、u之间的相似度,也表示v接收到u资源的能力。其计算过程如式(3)所示:
$ {r}_{\mathrm{r}\mathrm{a}}(v, u)=\sum\limits _{w\in {N}_{v}\bigcap {N}_{u}}\frac{1}{{d}_{w}} $ | (3) |
当节点v被选为种子节点后,其邻居节点u
$ {f}_{u}=1-{r}_{\mathrm{r}\mathrm{a}}(v, u) $ | (4) |
当节点v被选为种子节点后,其邻居节点u
$ {v}_{v}^{\mathrm{v}\mathrm{a}}={f}_{u}\cdot {v}_{v}^{\mathrm{v}\mathrm{a}} $ | (5) |
TrussVote的算法过程:首先,在初始化阶段,计算所有边的truss值,并且给每个节点都赋予相同的初始投票能力;然后,重复k轮投票,每次均将投票分数最高的节点选为种子节点,并使用动态的衰减因子更新其邻居节点的投票能力。TrussVote如算法1所示。
算法1 TrussVote算法
输入 图G(V,E),初始集合大小k
输出 初始传播集合S
1.
2. 计算边的truss值
3. for
4. vav
5. end for
6. for
7. vsv
8. for
9. vsv
10. end for
11. end for
12. 将得票分数最高的节点v加入到S
13. while |S| < k do
14. 移除节点v的得票分数
15.
16. for
17. vau
18.
19. end for
20. vav
21. for
22. vsu
23. for
24. vsu
25. end for
26. end for
27. 将得票分数最高的节点v加入到S
28. end while
29. return S
在算法1中,步骤2是边truss值的计算阶段,计算每个节点邻边truss值的时间复杂度为O(
本文所有的算法均使用Python语言来实现。运行环境为Windows10操作系统,内存8 GB,处理器Intel® CoreTM i7-7700 CPU @3.60 GHz。
3.1 数据集本文实验选用4个不同规模的真实网络数据集,数据集的统计特征如表 2所示,其中pc表示网络的传播阈值[25]。
![]() |
下载CSV 表 2 数据集的统计特征 Table 2 Statistics characteristic of datasets |
为验证本文算法的性能,本文将其与当前具有代表性的启发式算法进行对比。不同算法的时间复杂度对比如表 3所示。
![]() |
下载CSV 表 3 不同算法的时间复杂度对比 Table 3 Time complexity comparison among different algorithms |
本文在4个不同规模的真实网络数据集上,使用IC模型[4]和SIR模型[26]对不同算法进行对比实验。
3.3.1 IC模型在IM问题中,IC模型是一种应用最为广泛的影响力传播模型。在IC模拟传播过程中,每个数据集使用pc作为传播概率,并且每次选择50个节点作为初始传播源的种子集合。在IC模型下的影响范围即种子节点影响扩散的个数,并将其作为算法的主要评价指标。由于IC模型的传播具有随机性,因此本文使用10 000次的Monte-Carlo模拟来保证实验能够得到较为精确的影响范围。但是多数算法在IC模型下的影响范围比较接近,并且当k值不同时,不同算法的表现也会上下浮动。为了便于分析,本文给出一个等价的分析指标——传播差异。算法a1和a2在
$ {{D}_{\mathrm{D}\mathrm{D}}}_{x}({a}_{1}, {a}_{1})={\sigma }_{{a}_{1}}\left({S}_{x}\right)-{\sigma }_{{a}_{2}}\left({S}_{x}\right) $ | (6) |
其中:
SIR模型是一种经典的病毒传播模型,近年来在IM问题中得到了广泛的应用。在SIR模型中,每个节点具有易感S、感染I和治愈R这3种状态。节点由易感S到感染I的状态转换称为感染,感染率为μ;节点由感染I到治愈R的状态转换称为治愈,治愈率为β。该模型下算法的评价指标有2个,第1个是当给定初始感染比例时对比算法在t时的感染规模F(t),计算过程如式(7)所示:
$ F\left(t\right)=\frac{{n}_{I\left(t\right)}+{n}_{R\left(t\right)}}{n} $ | (7) |
其中:nI(t)表示t时感染状态的节点个数;nR(t)表示t时恢复状态的节点个数。第2个评价指标是当初始感染比例不同时,对比算法的最终感染规模F(tc ),计算过程如式(8)所示:
$ F\left({t}_{c}\right)=\frac{{n}_{R\left({t}_{c}\right)}}{n} $ | (8) |
其中:
在SIR模型中,感染比例
在解决IM问题的投票算法中,节点向其邻居的投票可以被看作是一个局部信息的扩散过程,当每轮投票结束后均选择信息量最高的节点作为种子节点。投票算法通过信息扩散最大化的方法来识别网络中最有影响力的节点。因此,IM问题作为信息扩散的核心及关键问题,使用投票机制获得较优的实验效果。
4.1 IC模型下的结果分析本文将CCA算法作为基准算法来计算不同算法在各个数据集上的传播差异。当种子节点数k分别为10、20、30、40、50时,CCA算法在不同数据集上的传播差异如表 4所示。
![]() |
下载CSV 表 4 CCA算法的传播差异 Table 4 Diffusion difference of CCA algorithm |
在不同数据集上各个算法使用IC模型产生的传播差异如图 2所示。从图 2可以看出,大多数算法在开始时选择的节点拥有类似的影响范围,但随着种子节点数的增大,算法的表现呈现出不同的特点。
![]() |
Download:
|
图 2 IC模型下不同算法的运行结果 Fig. 2 The running results of different algorithms under IC model |
在Email数据集上,TrussVote和VoteRank++具有类似的传播特点,当种子节点数较小时影响的范围相较于其他算法小,但随着种子节点数增大,影响范围逐步增大并趋于稳定。相比VoteRank++,TrussVote在种子节点数较大时影响范围最大。这种变化趋势也说明了TrussVote在消除影响力重合时的作用更加显著。在Hamster和CacondMat数据集上,TrussVote与MCDE总体的变化趋势接近,但TrussVote的表现更好,在Email和Brightkite数据集上,TrussVote具有较优的实验结果。在CacondMat数据集上,除CCA算法以外,其他算法具有相似的传播特点,影响范围的变化情况都基本类似,而TrussVote算法在k
在Brightkite数据集上,CCA与DegreeDistance算法的表现较差,在其他数据集中的表现也有波动。这说明基于中心性的算法,在网络特点不同的数据集中难以产生持续有效的实验效果。在Hamster数据集上RNR算法的表现说明它在度数较大的数据集中,也不能有效解决富人俱乐部效应。与投票类算法相似,随着种子节点数增大,IM-ELPR算法的影响范围逐渐优于其他算法,但TrussVote与其相比,不仅时间复杂度更低,而且传播效果也更好。在IC模型下不同算法的实验结果表明,TrussVote算法具有更广泛的影响范围。
4.2 SIR模型下的结果与分析当给定初始感染比例时,SIR模型下不同算法的感染规模F(t)随迭代轮次变化的结果如图 3所示。当初始感染节点数相同时,TrussVote只在Hamster数据集上的峰值略低于MCDE,而在其他数据集上均达到峰值。TrussVote选取的种子集能够在最短的时间内感染更多的节点,说明TrussVote具有更快的感染速度与更大的感染规模。
![]() |
Download:
|
图 3 不同算法的感染规模随迭代轮次的变化曲线 Fig. 3 Change curves of infection scale of different algorithms with iterations |
各个算法的最终感染规模F(tc )随初始感染比例增大的变化曲线如图 4所示。在Email和CacondMat数据集上,TrussVote在初始感染比例较小的情况下最终感染规模略低于VoteRank++及IM-ELPR算法,但随着初始感染比例的增大,TrussVote拥有更大的感染规模。TrussVote在Hamster数据集上初始感染比例为2.65%时表现相对较差,但在Hamster和Brightkite数据集上,TrussVote的最终感染规模总体最优。这说明TrussVote选取节点的策略及算法更新的过程都较为合理,具有较优的稳定性。在SIR模型下不同算法的实验结果表明,TrussVote不仅具有更快的感染速度及更大的感染规模,在不同初始感染比例下也拥有最好的表现。
![]() |
Download:
|
图 4 不同算法的最终感染规模随初始感染比例的变化曲线 Fig. 4 Change curves of final infection scale of different algorithms with initial infection ratio |
因此,相比基于中心的算法,TrussVote在不增大时间复杂度的同时取得了更稳定且有效的实验效果。当迭代轮次较多时,RNR和IM-ELPR在较大网络规模中的时间和影响范围相比TrussVote较差。另外,与VoteRank++更新节点两跳之内的邻居投票能力不同,TrussVote在更新阶段对节点一跳之内的邻居投票能力赋予了不同程度的更新,不仅具有更低的时间复杂度,同时也能够获得拥有更大影响范围的种子集合。以上实验结果也验证了TrussVote算法的正确性及有效性。
5 结束语针对社交网络中的影响最大化问题,本文提出基于K-truss的投票改进算法。在投票阶段和更新阶段分别引入边的truss值及节点相似性指标对投票类算法进行改进,以区分更新节点邻居的投票能力。在不同规模的真实网络数据集上的实验结果表明,本文算法在具有较低时间复杂度的同时,给IM问题提供了较有效的解决方案。下一步考虑将本文TrussVote投票算法应用到IM的拓展问题中,如利润最大化问题,使其具有更优的鲁棒性。
[1] |
WU J, HU B, ZHANG Y. Maximizing the performance of advertisements diffusion: a simulation study of the dynamics of viral advertising in social networks[J]. Simulation, 2013, 89(8): 921-934. DOI:10.1177/0037549713481683 |
[2] |
WU P, PAN L. Scalable influence blocking maximization in social networks under competitive independent cascade models[J]. Computer Networks, 2017, 123: 38-50. DOI:10.1016/j.comnet.2017.05.004 |
[3] |
FAN C J, ZENG L, SUN Y Z, et al. Finding key players in complex networks through deep reinforcement learning[J]. Nature Machine Intelligence, 2020, 2(6): 317-324. DOI:10.1038/s42256-020-0177-2 |
[4] |
KEMPE D, KLEINBERG J, TARDOS É. Maximizing the spread of influence through a social network[C]//Proceedings of the 9th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. New York, USA: ACM Press, 2003: 137-146.
|
[5] |
LESKOVEC J, KRAUSE A, GUESTRIN C, et al. Cost-effective outbreak detection in networks[C]//Proceedings of the 13th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. New York, USA: ACM Press, 2007: 420-429.
|
[6] |
GOYAL A, LU W, LAKSHMANAN L V S. CELF++: optimizing the greedy algorithm for influence maximization in social networks[C]//Proceedings of the 20th International Conference Companion on World Wide Web. New York, USA: ACM Press, 2011: 47-48.
|
[7] |
ZHANG J X, CHEN D B, DONG Q, et al. Identifying a set of influential spreaders in complex networks[J]. Scientific Reports, 2016, 6: 27823. DOI:10.1038/srep27823 |
[8] |
CHEN W, WANG Y J, YANG S Y. Efficient influence maximization in social networks[C]//Proceedings of the 15th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. New York, USA: ACM Press, 2009: 199-208.
|
[9] |
SHEIKHAHMADI A, NEMATBAKHSH M A, SHOKROLLAHI A. Improving detection of influential nodes in complex networks[J]. Physica A: Statistical Mechanics and Its Applications, 2015, 436: 833-845. DOI:10.1016/j.physa.2015.04.035 |
[10] |
WANG X J, SU Y Y, ZHAO C L, et al. Effective identification of multiple influential spreaders by degree punishment[J]. Physica A: Statistical Mechanics and Its Applications, 2016, 461: 238-247. DOI:10.1016/j.physa.2016.05.020 |
[11] |
曹玖新, 董丹, 徐顺, 等. 一种基于k-核的社会网络影响最大化算法[J]. 计算机学报, 2015, 38(2): 238-248. CAO J X, DONG D, XU S, et al. A k-core based algorithm for influence maximization in social networks[J]. Chinese Journal of Computers, 2015, 38(2): 238-248. (in Chinese) |
[12] |
SHEIKHAHMADI A, NEMATBAKHSH M A. Identification of multi-spreader users in social networks for viral marketing[J]. Journal of Information Science, 2017, 43(3): 412-423. DOI:10.1177/0165551516644171 |
[13] |
ZHAO Y X, LI S H, JIN F. Identification of influential nodes in social networks with community structure based on label propagation[J]. Neurocomputing, 2016, 210: 34-44. DOI:10.1016/j.neucom.2015.11.125 |
[14] |
KUMAR S, SINGHLA L, JINDAL K, et al. IM-ELPR: influence maximization in social networks using label propagation based community structure[J]. Applied Intelligence, 2021, 51(11): 7647-7665. DOI:10.1007/s10489-021-02266-w |
[15] |
RUI X B, MENG F R, WANG Z X, et al. A reversed node ranking approach for influence maximization in social networks[J]. Applied Intelligence, 2019, 49(7): 2684-2698. DOI:10.1007/s10489-018-01398-w |
[16] |
HE Q, WANG X W, LEI Z C, et al. TIFIM: a two-stage iterative framework for influence maximization in social networks[J]. Applied Mathematics and Computation, 2019, 354: 338-352. DOI:10.1016/j.amc.2019.02.056 |
[17] |
SUN H L, CHEN D B, HE J L, et al. A voting approach to uncover multiple influential spreaders on weighted networks[J]. Physica A: Statistical Mechanics and Its Applications, 2019, 519: 303-312. DOI:10.1016/j.physa.2018.12.001 |
[18] |
KUMAR S, PANDA B S. Identifying influential nodes in social networks: neighborhood coreness based voting approach[J]. Physica A: Statistical Mechanics and Its Applications, 2020, 553: 1-12. |
[19] |
GUO C, YANG L, CHEN X, et al. Influential nodes identification in complex networks via information entropy[J]. Entropy, 2020, 22(2): 1-9. |
[20] |
LIU P F, LI L J, FANG S Y, et al. Identifying influential nodes in social networks: a voting approach[J]. Chaos, Solitons & Fractals, 2021, 152: 1-9. |
[21] |
KITSAK M, GALLOS L K, HAVLIN S, et al. Identification of influential spreaders in complex networks[J]. Nature Physics, 2010, 6(11): 888-893. DOI:10.1038/nphys1746 |
[22] |
MALLIAROS F D, ROSSI M E G, VAZIRGIANNIS M. Locating influential nodes in complex networks[EB/OL]. [2021-09-20]. https://www.nature.com/articles/srep19307.pdf.
|
[23] |
MALLIAROS F D, GIATSIDIS C, PAPADOPOULOS A N, et al. The core decomposition of networks: theory, algorithms and applications[J]. The VLDB Journal, 2020, 29(1): 61-92. |
[24] |
ZHOU T, LÜ L, ZHANG Y C. Predicting missing links via local information[J]. The European Physical Journal B, 2009, 71(4): 623-630. |
[25] |
RADICCHI F, CASTELLANO C. Fundamental difference between superblockers and superspreaders in networks[EB/OL]. [2021-09-20]. https://arxiv.org/pdf/1610.02908.pdf.
|
[26] |
PASTOR-SATORRAS R, VESPIGNANI A. Epidemic dynamics and endemic states in complex networks[J]. Physical Review E, 2001, 63(6): 1-10. |