我有一个中等大小的图形(570个节点,69127个边缘,密度:gexf格式的0.42),我想枚举大小大于N的所有派系(比如说5)。什么是最有效的方法?我正在寻找任何流行语言或软件包中的库。
答案 0 :(得分:1)
您可以使用实现Tomita等人的SNAP network analysis library。 2006算法。所有其他理论上快速的算法都显示出比Tomita等人慢得多。在实践中,至少对于稀疏图(Eppstein et al.2010)。
如果该算法需要太大的内存用于大图,您可以尝试Eppstein等人的线性空间算法。 2010/2011。
Tomita,E。; Tanaka,A。& Takahashi,H。生成所有最大集团和计算实验的最坏情况时间复杂度。理论计算机科学,2006,363,28 - 42. DOI:10.1016/j.tcs.2006.06.015
Eppstein,D。; Löffler,M。& Strash,D。Cheong,O。在接近最佳时间内列出稀疏图中的所有最大集团。 ISAAC '10:Proc。第21届国际算法与计算研讨会,Springer Berlin / Heidelberg,2010,6506,403-414。 DOI:10.1007/978-3-642-17517-6_36
Eppstein,D。& Strash,D。列出大型稀疏真实世界图中的所有最大派系。 SEA '11:Proc。第10届国际实验算法研讨会,Springer 柏林/海德堡,2011,6630,364-375。 DOI:10.1007/978-3-642-20662-7_31