【发布时间】:2018-02-14 00:45:50
【问题描述】:
我正在寻找社区检测算法的实现,例如 Girvan-Newman 算法 (2002)。我访问了该领域的几位研究人员(Newman、Santo 等)的网站,但找不到任何代码。我想有人在那里发布了这些算法的实现(甚至可能是一个工具包?),但我似乎找不到它。
【问题讨论】:
标签: graph graph-theory
我正在寻找社区检测算法的实现,例如 Girvan-Newman 算法 (2002)。我访问了该领域的几位研究人员(Newman、Santo 等)的网站,但找不到任何代码。我想有人在那里发布了这些算法的实现(甚至可能是一个工具包?),但我似乎找不到它。
【问题讨论】:
标签: graph graph-theory
社区检测算法有时是库(例如 JUNG 用于 java)或工具(参见 Gephi)的一部分。当作者发布一种新方法时,他们有时会提供他们的代码。例如,Louvain 和 Infomap 方法。
旁注:有时仍会使用 Girvan-Newman 算法,但它大部分已被更快、更准确的方法所取代。为了更好地了解该主题,我推荐Community detection algorithms: a comparative analysis 或更长的Community detection in graphs(103 页)。
【讨论】:
你应该看看igraph library:
在我看来,最完整的社区检测工具。 更多详情,另请查看:What are the differences between community detection algorithms in igraph?
【讨论】:
您可以尝试 SNAP 库(斯坦福网络分析平台,http://snap.stanford.edu/),其中包括模块化、Girvan-Newman 和 Clauset-Newman-Moore 算法。它是用 C++ 编写的,并且在 BSD 许可下。许多论文都使用了它(参见http://snap.stanford.edu/papers.html),它应该很好。
【讨论】:
我们最近实现了our algorithm,它基于Constant Potts 模型、快速鲁汶优化和InfoMap 的可靠映射方程,用于加权和有符号网络。 Here是开源java项目+可执行jar。
【讨论】: