论文部分内容阅读
现实世界中存在许多不同类型的复杂网络,它们都蕴含着各自内在的社团结构。社团检测算法可帮助我们发现复杂网络的内在结构与拓扑特征。目前已有多种社团检测算法被提出,因其巨大的实用价值而被广泛应用于现实生活的各个领域。大多数社团检测算法都是基于相似度度量或模块度最大化而提出的。而基于相似度的社团检测算法面临输入参数难以确定以及对特定复杂网络无法准确划分的问题;基于模块度最大化的社团检测算法寻找最优划分的时间复杂度非常高,并且在很多情况下,最大的模块度不一定对应网络的真实划分。为了解决此问题,本文致力于提出快速的、精确的社团检测算法。本文首先从邻居节点间关系入手,提出了一种新的相似性度量方式。不同于传统相似度,此相似度除考虑节点间的公共邻居外,还考虑了节点间的互斥程度。从而,它能更加客观、全面地从节点结构出发反映节点间的相似程度。然后,为了快速、准确地找到不同社团中的核心节点,本文基于节点对其邻居的影响,定义了一种新的局部密度计算方式,并将社团中局部密度最大的节点定义为此社团的核心节点。该密度计算方式认为,一个节点的密度是其对所有邻居节点的影响力之和。节点影响力越大,其密度就越大,对其他节点吸引力也越大。通过此局部密度,可使网络中的核心节点更易被发现,从而避免了核心节点选择的随机性,使算法结果更加稳定。在此相似度和局部密度的基础上,本文提出了一种简单的、有效的基于节点间邻居关系的社团检测算法(CDRN)。CDRN使用节点间邻居关系,将基于相似度与基于核心点扩张这两种方法的优点巧妙结合起来,既不需要优化目标函数,也不需要掌握网络中社团个数的信息,并且可以在多次运行中提供唯一且准确的网络划分。算法利用新的相似度计算方式,首先将节点初步划分,获得初始社团结构。接着,通过新的局部密度计算方式来调整初始社团结构。最后通过核心社团扩张,获得最终的社团结构。为客观评估CDRN的性能,本文将CDRN与7个经典的社团检测算法分别在6个具有真实社团结构的小网络和5个没有真实社团结构且规模较大的网络上进行了综合地、全面地对比分析。实验结果表明,CDRN算法在绝大多数情况下优于这7种对比算法。而且,实验还通过LFR基准网络验证了本文提出的相似度的阈值范围在不同结构的网络上的稳定性。最后,在具有真实社团结构的网络进行抽样形成的不完整网络上验证了CDRN的鲁棒性。综合以上研究与实验可知,CDRN可以快速发现社团的核心节点,进而稳定、准确地从不同结构和规模的网络中自动检测出社团的真实结构,是一种非启发式的、时间复杂度接近线性的、鲁棒的社团检测算法。