一种基于K-shell分解的社交网络影响力最大化方法技术

技术编号:19264334 阅读:22 留言:0更新日期:2018-10-27 02:51
本发明专利技术公开了一种基于K‑shell分解的社交网络影响力最大化方法,属于社交网络领域,本发明专利技术首先进行K‑shell分解,划分出核及每个核中的节点,考虑了位置属性的重要性;其次为了减少影响力重叠,采用了分配策略,从核心向外扩散,在每核选取种子定量节点,以便将种子节点分散开来;最后,利用混合度来精细化选取种子节点,不仅考虑节点本身的直接影响力,还考虑了邻居节点对其间接影响力。通过此种方法,不仅克服了时间效率低的问题,而且提高了影响范围的准确性,有效地解决了社交网络影响力最大化问题。

【技术实现步骤摘要】
一种基于K-shell分解的社交网络影响力最大化方法
本专利技术属于社交网络领域,具体涉及一种基于K-shell分解的社交网络影响力最大化方法。
技术介绍
随着社交网络的兴起,人们越来越倾向于在新浪微博、FaceBook、Twitter等社交网络进行交流沟通。社交网络作为重要的传播媒介,对舆论引导、信息传播等发挥着重大的作用。“口碑效应”和“病毒式营销”是社交网络研究的热点问题,如何利用有限的资源,使得信息的传播量最大化,我们就需要选择影响力最大的用户,通过这些用户去影响其他用户,从而达到最好的宣传效果,这就是社交网络影响力最大化。然而,该问题被证明是一个NP难问题。影响力最大化问题自从被Domingos和Richardson等提出后,取得了重大研究进展。2010年,MaksimKitsak等人在NaturePhysics杂志上发表一篇影响学术界的论文,该篇文献中首次提及K-shell分解算法,将复杂网络中节点的位置属性引入节点的影响力识别计算中,通过递归移去图中度数小于k的节点及与其连接的边来划分为子图即核,核数即为K-shell值,然后使用节点的K-shell值衡量节点的重要程度:K-shell值越大,该节点越重要,影响力越大。该算法时间复杂度低,而且K-shell指标比传统的中心性指标(度中心性指标、介数中心性指标、特征向量中心性指标等)具有更高的准确性。但是,该算法认为同一核中的节点同等重要,计算较为粗粒化,而且该算法所选择的种子节点会聚集在一起,使得影响区域重叠,从而导致影响力难以得到有效的扩散。
技术实现思路
针对现有技术中存在的上述技术问题,本专利技术提出了一种基于K-shell分解的社交网络影响力最大化方法,设计合理,克服了现有技术的不足,具有良好的效果。为了实现上述目的,本专利技术采用如下技术方案:一种基于K-shell分解的社交网络影响力最大化方法,包括以下步骤:步骤1:构建社交网络:G=(V,E);其中,G表示社交网络,V表示节点集合,E表示网络的边集合;步骤2:K-shell分解,划分核;对输入的社交网络G进行K-shell分解,产生M个核,即Ks=(Ks1,Ks2,...Ksm),同时,计算出每个核中的节点;其中,Ksm为最大核,即最核心位置,Km-1为次核心位置,依次类推;步骤3:利用分配策略公式,确定每个核Ks选择种子节点的个数;结合核Ks和该核中节点的个数LKs,利用分配策略公式,计算出每个核Ks选择种子节点的个数Nseed(Ks);步骤4:启发式地选择节点;启发式地从步骤2形成的核中,从最核心位置开始,依次向外扩散,从核中选取步骤3中计算的Nseed(Ks)个混合度最大的节点加入种子节点集S。优选地,在步骤2中,具体包括如下步骤:步骤2.1:将输入的社交网络G去掉度为1的节点,剩下一个子图,如果该子图中依然有度为1的节点则继续删除这些节点,直到最后剩下一个不含度为1的节点的子图G1,那些被删除的节点则属于Ks=1的核;步骤2.2:删除子图中度为2的节点,最后得到一个子图G2,那些被删除的节点则属于Ks=2的核;步骤2.3:以此类推,直到所有的节点被分解到某一核中。优选地,在步骤3中,分配策略公式为:其中,Nseed(Ks)表示种子节点的个数,Ks表示核数,LKs表示该核中节点的个数,C是常数,用于调整每个核应该选择的种子个数。优选地,在步骤4中,选择混合度最大的节点加入种子节点集S,每个节点的混合度的计算过程如下:步骤4.1:计算混合度;对于节点v的混合度,综合节点的度及其邻居的度,节点v的混合度计算为:其中,Degree(v)表示节点v的度,neighbor(v)表示节点v的邻居节点,|neighbor(v)|表示节点v的邻居节点的个数;步骤4.2:更新混合度;节点v一旦被选为种子节点,需对其邻居的度减1,并更新混合度,计算公式如下:本专利技术所带来的有益技术效果:本专利技术一种基于K-shell分解的社交网络影响力最大化方法,首先,通过进行K-shell分解,划分出核及每个核中的节点,考虑了位置属性的重要性。其次,为了减少影响力重叠,采用了分配策略,从核心向外扩散,在每核选取种子定量节点,以便将种子节点分散开来。最后,利用混合度来精细化选取种子节点,不仅考虑节点本身的直接影响力,还考虑了邻居节点对其间接影响力。通过此种方法,不仅克服了时间效率低的问题,而且提高了影响范围的准确性,有效地解决了社交网络影响力最大化问题。附图说明图1是本专利技术一种基于K-shell分解的社交网络影响力最大化方法的流程图;图2是本专利技术与现有算法在P2p社交网络的影响范围效果对比图;图3是本专利技术与现有算法在Oregon社交网络的影响范围效果对比图;图4是本专利技术与现有算法在NetPHY社交网络的影响范围效果对比图;图5是本专利技术与现有算法在DBLP社交网络的影响范围效果对比图;图6是本专利技术与现有算法在四个社交网络上运行时间对比图。具体实施方式下面结合附图以及具体实施方式对本专利技术作进一步详细说明:一种基于K-shell分解的社交网络影响力最大化方法,其流程如图1所示,包括以下步骤:步骤1:构建社交网络:G=(V,E);其中,G表示社交网络,V表示节点集合,E表示网络的边集合;步骤2:K-shell分解,划分核;对输入的社交网络G进行K-shell分解,产生M个核,即Ks=(Ks1,Ks2,...Ksm),同时,计算出每个核中的节点;其中,Ksm为最大核,即最核心位置,Ksm-1为次核心位置,依次类推;该步骤中所述的K-shell分解算法的具体步骤如下:步骤2.1:将输入的社交网络G去掉度为1的节点,剩下一个子图,如果该子图中依然有度为1的节点则继续删除这些节点,直到最后剩下一个不含度为1的节点的子图G1,那些被删除的节点则属于Ks=1的核;步骤2.2:删除子图中度为2的节点,最后得到一个子图G2,那些被删除的节点则属于Ks=2的核;步骤2.3:以此类推,直到所有的节点被分解到某一核中。步骤3:利用分配策略公式,确定每个核Ks选择种子节点的个数;结合核Ks和该核中节点的个数LKs,利用分配策略公式,计算出每个核Ks选择种子节点的个数Nseed(Ks);其中,分配策略公式为:其中,Nseed(Ks)表示种子节点的个数,Ks表示核数,LKs表示该核中节点的个数,C是常数,用于调整每个核应该选择的种子个数。步骤4:启发式地选择节点;启发式地从步骤2形成的核中,从最核心位置开始,依次向外扩散,从核中选取步骤3中计算的Nseed(Ks)个混合度最大的节点加入种子节点集S,每个节点的混合度的计算过程如下:步骤4.1:计算混合度;对于节点v的混合度,综合节点的度及其邻居的度,节点v的混合度计算为:其中,Degree(v)表示节点v的度,neighbor(v)表示节点v的邻居节点,neighbor(v)表示节点v的邻居节点的个数;步骤4.2:更新混合度;节点v一旦被选为种子节点,需对其邻居的度减1,并更新混合度,计算公式如下:实施例:一、数据集及实验设置该实施例中,使用来自SNAP(http://snap.stanford.edu/data)的四个不同规模的公开的数据集P2p数据集,Oregon数据集,NetPHY数据集和D本文档来自技高网...

【技术保护点】
1.一种基于K‑shell分解的社交网络影响力最大化方法,其特征在于:包括以下步骤:步骤1:构建社交网络:G=(V,E);其中,G表示社交网络,V表示节点集合,E表示网络的边集合;步骤2:K‑shell分解,划分核;对输入的社交网络G进行K‑shell分解,产生M个核,即Ks=(Ks1,Ks2,...Ksm),同时,计算出每个核中的节点;其中,Ksm为最大核,即最核心位置,Km‑1为次核心位置,依次类推;步骤3:利用分配策略公式,确定每个核Ks选择种子节点的个数;结合核Ks和该核中节点的个数LKs,利用分配策略公式,计算出每个核Ks选择种子节点的个数Nseed(Ks);步骤4:启发式地选择节点;启发式地从步骤2形成的核中,从最核心位置开始,依次向外扩散,从核中选取步骤3中计算的Nseed(Ks)个混合度最大的节点加入种子节点集S。

【技术特征摘要】
1.一种基于K-shell分解的社交网络影响力最大化方法,其特征在于:包括以下步骤:步骤1:构建社交网络:G=(V,E);其中,G表示社交网络,V表示节点集合,E表示网络的边集合;步骤2:K-shell分解,划分核;对输入的社交网络G进行K-shell分解,产生M个核,即Ks=(Ks1,Ks2,...Ksm),同时,计算出每个核中的节点;其中,Ksm为最大核,即最核心位置,Km-1为次核心位置,依次类推;步骤3:利用分配策略公式,确定每个核Ks选择种子节点的个数;结合核Ks和该核中节点的个数LKs,利用分配策略公式,计算出每个核Ks选择种子节点的个数Nseed(Ks);步骤4:启发式地选择节点;启发式地从步骤2形成的核中,从最核心位置开始,依次向外扩散,从核中选取步骤3中计算的Nseed(Ks)个混合度最大的节点加入种子节点集S。2.根据权利1所述的基于K-shell分解的社交网络影响力最大化方法,其特征在于:在步骤2中,具体包括如下步骤:步骤2.1:将输入的社交网络G去掉度为1的节点,剩下一个子图,如果该子图中依然有度为1的节点则继续删除这些节点...

【专利技术属性】
技术研发人员:仇丽青贾玮于金凤
申请(专利权)人:山东科技大学
类型:发明
国别省市:山东,37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1