论文部分内容阅读
影响力最大化问题是社交网络研究中的重要问题之一,即在社交网络中寻找指定数目的节点,使这些节点去影响网络中的其他节点,最终整个社交网络中被影响的节点的数目最多。针对规模庞大的社交网络,单台的商用计算机无论是在存储的数据量上还是在计算时间上都已经无法完成处理。如何在海量的社交网络中有效的寻找最有价值的用户进行信息的扩散,也成为大数据时代催生出的一个新的问题。本文基于海量社交网络的特点,采用Hadoop提供的分布式存储和分布式并行计算能力,以及Google Pregel中提出的以节点为中心的分布式图并行计算模型,来解决在大规模社交网络中的影响力最大化问题。本课题为解决代价敏感的影响力最大化问题,提出名为MDCR的启发式并行算法。该算法既考虑到网络的拓扑结构又顾及到代价因素,优先选取节点的度数与代价比例最高者加入种子集合。对于具有社区结构的社交网络,一般启发式算法有可能导致影响力的重叠问题,本课题基于社交网络的社区结构性质提出了CMD算法。CMD通过社区发现算法来挖掘社交网络中的社区信息,并通过Map Reduce过滤出重要的社区,根据社区的大小分配种子数目形成最终的种子集合。对于特定场景下的在线社交网络,信息的传播往往具有一定的时限要求,本课题在独立级联模型的基础上通过加入跳数限制,设计了时间敏感的传播模型并设计了PPDD算法,该算法通过考虑节点的度数与传播概率两个因素来近似节点的影响力,在跳数的限制下,每次挑选具有最大影响力的节点并入种子集合,而与被选出的节点相邻的节点的影响力通过打折的方式进行重新计算。本文在真实的数据集上,对提出的MDCR、CMD和PPDD三个算法进行了实验,实验结果表明,对于大规模的社交网络,三个算法在影响力传播和运行时间上都有很好的表现。本文还对以上三个算法进行了扩展性实验,在具有3台、4台和5台节点的Hadoop集群下,分别对各个算法的运行时间进行对比,实验结果表明,随着集群节点数目的增加,算法的运行时间继续减少,运行效率得到进一步提升。