鲁汶算法(LM)是基于模块度优化的复杂网络社区发现算法,有关模块度的现有研究中没有计算节点离开原属社区后模块度增益的方法。针对这一不足,基于模块度的定义和节点合并后模块度增益的计算方法,推导出了节点离开原属社区后模块度增益的计算方法,完善了该领域的理论研究。针对鲁汶算法对存储空间需求高的缺点,提出了基于孤立节点分离策略的改进鲁汶算法,该算法在每次迭代中将输入网络的孤立节点提前分离出去,只令其中的连通节点实际参与迭代过程,并在存储社区发现结果时将孤立节点和非孤立节点分开存储。基于真实网络的相关实验结果表明,采用孤立节点分离策略的改进方法,使算法对存储空间的需求减少了40%以上,并进一步缩短了算法的运行时间。因此,改进后的算法在处理真实网络时更具优势。
Louvain Method(LM) is an algorithm to detect community in complex network based on modularity optimization. Since there is no method to calculate the gain of modularity after nodes leave their community in the existing research, a method was presented to calculate the modularity-gain after nodes leave their community based on the definition of modularity and the method for calculating the modularity-gain after nodes merge. Secondly, aiming at the problem that LM requires large memory space, an improved algorithm was proposed with the strategy of separating isolated nodes. In each iteration of the algorithm, isolated nodes of the input network were separated in advance, only the connected nodes of the input network can actually participate in the iterative process. Isolated nodes and non-isolated nodes were stored respectively when storing communities detected. The experimental results based on real networks showed that the requirement of memory space was reduced by more than 40% in the improved algorithm, and the running time of the algorithm was further reduced.Experimental results indicate that the improved algorithm has more advantages in dealing with real networks.