社区发现算法
社区发现算法
社区发现算法是一种旨在识别网络中具有紧密内部连接和稀疏外部连接的群体结构的技术。这项研究始于上世纪60年代,随着社交网络的兴起,其重要性和关注度日益提高。
历史背景
社区发现算法的研究源于对复杂系统模块结构特性的认识。Kernighan-Lin提出的二分算法促进了子图分割问题的研究,这成为了图挖掘领域的重要课题。社会学家也在社会网络中发现了社区结构的普遍性。21世纪初,社区研究开始受到重视,随着社交网络的普及,这一领域的研究变得更加活跃。
社区发现的应用
社区发现算法在网络分析、生物学、传染病传播等领域有着广泛的应用。在生物学中,它可以用于新陈代谢网络分析、基因调控网络分析和主控基因识别。在传染病传播方面,社区发现可以帮助预测传播路径,以便及时控制疫情。此外,社区发现还在反恐、犯罪分析和社会网络分析中发挥作用。
社区发现面临的问题
社区发现算法的研究面临着多重挑战,包括社区的重叠性、局部性、多模式性和多维性、节点角色的差异性以及网络的动态性。这些问题都需要进一步的研究和发展。
相关工作
传统非重叠社区发现
非重叠社区发现算法最初基于相似度或谱方法,但由于计算复杂度高,后来发展出了更快捷的近似方法。Girvan与Newman的工作推动了非重叠社区发现的研究,他们的模块度度量法尤其重要。基于模块度的优化算法随之涌现,其中包括Duch的极值优化算法和Guimera的模拟退火算法。Blondel等人开发的Fast Unfolding算法被认为是最快的非重叠社区发现算法之一。何东晓等人提出了基于聚类融合的遗传算法,金弟等人则提出了基于随机游走的蚁群算法。
重叠社区发现
重叠社区发现算法的研究受到了广泛关注,因为它更能反映现实网络的特点。Palla等人提出的派系过滤算法是早期的重要成果。沈华伟等人提出了基于极大完全子图的社区发现算法。Evans的Clique Graph和Ahn的边社区发现方法也都体现了重叠社区的重要性。
目录
概述
历史背景
社区发现的应用
社区发现面临的问题
相关工作
传统非重叠社区发现
重叠社区发现
参考资料