摘要

社区发现是复杂网络重要研究内容之一。传统社区发现算法在复杂网络结构不清晰时效果不佳,并且无法有效利用复杂网络中易获取的先验信息。为了解决复杂网络的社区发现问题,提出一种融合节点粒子竞争机制和边粒子竞争机制的半监督社区发现算法SSPC(Semi-supervised community detection algorithm based on particle competition,SSPC)。该算法首先通过网络中的先验信息在已标记节点上产生粒子。接下来粒子通过既定的规则在网络中执行游走和重启步骤,充分体现粒子游走的倾向性,降低粒子游走的随机性,加快粒子的收敛速度并且限制粒子游走范围。最后,当粒子达到收敛状态时,网络中的节点将被某一类粒子占据。根据各类粒子占据的节点来揭示网络的社区结构。在真实网络数据集和LFR人工基准网络上与近几年具有代表性的社区发现算法进行实验对比,发现SSPC算法在NMI指标上整体优于其他算法,可以获得更好的社区发现结果。