Graph 图中是否有社区检测算法的实现?

Graph 图中是否有社区检测算法的实现?,graph,graph-theory,Graph,Graph Theory,我正在寻找社区检测算法的实现,比如Girvan Newman算法(2002)。我访问过该领域的几位研究人员(纽曼、桑托等)的网站,但找不到任何代码。我想象有人发布了这些算法的实现(甚至可能是工具包?),但我似乎找不到它。社区检测算法有时是库(如java)或工具的一部分(请参阅)。当作者发布一个新方法时,他们有时确实会提供他们的代码。例如,函数和方法 旁注:Girvan-Newman算法有时仍在使用,但大部分已被更快更精确的方法所取代。为了更好地了解本主题,我建议使用更长的(103页)。您可以尝试

我正在寻找社区检测算法的实现,比如Girvan Newman算法(2002)。我访问过该领域的几位研究人员(纽曼、桑托等)的网站,但找不到任何代码。我想象有人发布了这些算法的实现(甚至可能是工具包?),但我似乎找不到它。

社区检测算法有时是库(如java)或工具的一部分(请参阅)。当作者发布一个新方法时,他们有时确实会提供他们的代码。例如,函数和方法


旁注:Girvan-Newman算法有时仍在使用,但大部分已被更快更精确的方法所取代。为了更好地了解本主题,我建议使用更长的(103页)。

您可以尝试SNAP库(斯坦福网络分析平台),其中包括模块化、Girvan Newman和Clauset Newman Moore算法。它是用C++编写的,并且在BSD许可证下。由于许多论文都使用过它(请参见),因此它应该很好。

您应该看看:

  • 7种社区检测算法(包括上述算法):
    • EdgeBeweenness(基于Girvan-Newman链路中心性的方法)
    • Walktrap(基于Pons-Latapy随机行走的方法)
    • 主导特征向量(纽曼谱方法)
    • 快速贪婪(Clauset等人,模块化优化)
    • 标签传播(Raghavan等人)
    • Louvain(Blondel等人,模块化优化)
    • Spinglass(Reichardt Bornholdt,模块化优化)
    • InfoMap(Rosvall Bergstrom,基于压缩的方法)
  • 其他相关功能:处理模块化、处理层次结构等
  • 可在R、C和Python中使用
  • 开源
在我看来,这是社区检测最完整的工具。
有关更多详细信息,请参见:

我们最近实现的,它基于恒定Potts模型、快速Louvain优化和加权和签名网络的InfoMap的可靠映射方程。开源java项目+可执行jar。

请参阅:Mathematica现在也提供了该项目:涵盖了所有社区检测功能。这很有帮助,非常感谢!但还有一个小问题,为什么分区输出是排序索引?预期的是一个2d数组,如[[1,2,3],[4,8]],表示1,2,3是一个社区。我们使用“节点id组id”而不是“组id节点id 1,…”,这是自动化处理的一个更简单的表示