论文部分内容阅读
复杂网络是目前计算机科学、社会学等多学科共同研究的热门课题之一。所谓复杂网络,是指网络内部结构复杂多样,同时有许多独特的性质。模块性即社区结构就是其中非常重要的一个特性,表现为网络中社区内部节点关系紧密、社区之间节点关系稀疏,且由于网络的复杂性,社区之间普遍存在重叠现象。因而重叠社区的挖掘研究代替非重叠社区成为当前复杂网络的研究热点,研究结果更能揭示真实网络的结构特性和潜在规律,也是本论文的主要研究点。重叠社区的挖掘算法主要可分为基于全局信息与局部信息两大类。局部方法因其计算量少、无需验证网络先验知识等优点越来越受到研究者的青睐。但随着复杂网络规模与数据量的不断增大,局部挖掘方法的难度也逐步升级,提高社区挖掘精度和降低时间复杂度仍是当前研究的主要目标。为提高重叠社区挖掘质量,论文设计了一种基于核心节点的局部社区挖掘算法COCMA。该算法主要是对传统局部挖掘算法中初始节点选取、局部社区扩展阶段进行了改进:初始节点的选取采用了优化策略,即以网络中综合影响力大的节点为核心节点,然后以该节点为挖掘中心进行局部社区扩展;扩展过程的改进在于适应度函数的设计综合考虑社区聚集度与社区自身密度两个因素以适用更多的社区挖掘场景。经验证,改进的算法与主流局部算法相比,有更好的挖掘质量。为提高大型复杂网络中重叠社区挖掘算法的运行效率,论文设计了一种基于核心子团的社区挖掘算法。论文算法的设计依据是基于对网络中节点分布情况的分析,结果发现网络中重叠节点只占了节点总数很小的一部分,而传统重叠算法对网络中所有节点进行多次重复计算。为此论文提出以核心子团,即网络中核心节点与其直接邻居构成的子团为社区扩展基础,以两节点间路径长度为其紧密度衡量指标,通过该方法对核心子团的分布进行调整,挖掘网络主要的社区结构,识别网络潜在重叠节点,然后仅对这些节点进行多次计算以完成潜在重叠节点的多社区分配,从而大幅度减少计算量,提高算法的运行效率。实验结果表明:改进的算法在挖掘大规模复杂网络的重叠社区时有着明显的速度优势,挖掘质量与同类算法相比也更高或至少近似。