文章名称:《Influence maximization in social networks based on discreteparticle swarm optimization》
中文翻译——《基于离散粒子群优化的社交网络影响最大化算法》
一、目的
解决影响力最大化问题最经常采用的就是传统的贪心算法,但是贪心算法十分耗时,本文将粒子群优化算法与影响力最大化算法结合,提出了一个基于离散粒子群优化的社交网络影响最大化算法来高效地解决影响力最大化问题。
二、本文创新点
1.提出了一个LIE函数来计算初始节点集两跳距离内的影响力;
2.将优化算法中的粒子群优化算法离散化,并将提出的LIE函数作为其适应度函数;
3.提出了一个初始种子集节点启发式策略和一种传统的本地搜索策略;
4.在真实世界数据集上运行,并与CELF++算法作对比来验证本文提出的算法。
三、粒子群优化算法
粒子群优化算法(Partical Swarm Optimization PSO),粒子群中的每一个粒子都代表一个问题的可能解,通过粒子个体的简单行为,群体内的信息交互实现问题求解的智能性。粒子群优化算法主要是通过速度和位置的调整来寻找更加优异的位置。
速度和位置公式:
其中Pbest为个体i的个人最佳位置,Gbest为群体最佳位置,r1和r2为0-1的随机数,c1和c2为学习因子。
四、LIE函数
节点集 S 的一跳区域的预期影响扩展可以计算为:
基于 σ 1(S),扩展的 LIE 函数可以表述如下:
在得到了LIE函数的基础上,将影响最大化问题转化为扩展 LIE 的优化函数和最优种子集可以通过最大化 LIE 值来获得。
五、所提出的算法
DPSO算法
算法流程:
1.初始化G,粒子群的规模,最大迭代次数,权重值,学习因子和种子集k的大小
2.通过初始化Degree_Based_Initialization()函数来确定初始位置X
3.通过初始化Degree_Based_Initialization()函数来确定目前个体最优位置
4.将速度V设置为0
5.将迭代次数g设置为0,根据最大迭代次数进行迭代
6.根据公式更新速度V和位置X,根据Pbest的值更新Gbest的值,根据本地搜索策略寻找更优的位置,最后选出最优位置值Gbest
六、本文提出的公式
1.离散化后的速度更新公式
其中∩的操作如下图所示:
2.离散后的位置更新公式
其中这个圈符号的具体操作为:
七、本地搜索策略
输入一个位置后,通过replace()函数来挑选下一个位置,通过if判断后新位置的LIE值和flag的值来决定是否替换当前的位置X
八、时间复杂度分析
n为种群大小,k为种子集大小,gmax为最大迭代次数,算法3.1步骤更新V的时间复杂度为O(k · log k · n),3.2和3.2步骤的时间复杂度为O(k · n),3.4步骤的时间复杂度为O(k · D) ,D为网络中节点的平均度数,3.5步骤为O(1) ,LIE函数的时间复杂的为O(k · D的平方),因此最终时间复杂度为O(k的平方 · log k ·n·D的平方 · gmax )。
九、实验数据集
十、实验
1.配置Intel (R) Core (TM), 2 CPU, 2.33GHz, 4G memory.
2.实验参数设置:k 0-30 c1 c2的值为2 w的值为0.8 种群大小n为100 最大迭代次数g为100
3.实验结果
分析:实验效果十分优异,与CELF++相差不大,明显优于其他算法,但是时间复杂度较高,如如何解决时间复杂度问题需要进一步研究
论文引用:[1] Gong M , Yan J , Bo S , et al. Influence maximization in social networks based on discrete particle swarm optimization[J]. Information Sciences, 2016, s 367–368(C):600-614.