摘要

社区结构作为复杂网络的一个重要属性,对于了解复杂网络的组织架构和功能具有深远意义.为了解决复杂网络的社区发现问题,提出了一种融合动态距离和随机竞争学习的社区发现算法(Dynamic Distance Stochastic Competitive Learning,DDSCL).该算法首先结合节点度值和节点间的欧氏距离来确定随机竞争学习中粒子的初始位置,使得不同粒子在游走初期不会在同一社区内进行竞争,加快了粒子的收敛速度;然后结合动态距离算法,将节点间的动态距离融入粒子优先游走过程中,使得粒子的优先游走过程更具方向性,减小了随机性,并且粒子游走的过程也会优化动态距离的变化;当粒子达到收敛状态时,节点将被对其具有最大控制力的粒子占据.最后网络中每一个粒子对应一个社区,根据各粒子占据的节点来揭示网络的社区结构.在8个真实的网络数据集上,以NMI和模块度Q值为评价指标,将DDSCL算法与现有的代表性算法进行实验比较,发现DDSCL算法整体上优于其他算法,其不仅降低了随机竞争学习中粒子优先游走的随机性,而且解决了动态距离算法中出现的碎片化社区问题,提高了社区发现结果的准确性.实验结果表明,所提算法具有有效性和可行性.