用于检测网络中重叠社区的库?

时间:2013-01-10 07:48:17

标签: java networking graph cluster-analysis

寻找能够在几秒钟内(而不是几分钟内)检测相当大的网络(最多10,000个节点)中的重叠社区的lib? [注意:通过“网络”我的意思是图表]


回复评论要求详细信息,这是一个简单的例子:

d-E-F
|

|
A-B-C

有许多算法能够检测到(D,E,F,G)和(A,B,C)这个网络中的2个不同(非重叠)社区 - 当然,(D,E, F)和(A,B,C,G)。

我正在寻找一种用Java实现的算法,它能够检测到(D,E,F,G)和(A,B,C,G)两个重叠(因为它们在G上重叠)这个网络中的社区。

3 个答案:

答案 0 :(得分:2)

试试斯坦福大学的SNAP工具。他们在已经实现的示例文件夹中有这个用例。

http://snap.stanford.edu/

答案 1 :(得分:1)

试试gephi。我相信你计划做的事情已经在那里实施了。但是,它是开源的(3 GPL),您可以从代码中获得一些想法。 java Graph API描述为here

您也可以查看this文章

答案 2 :(得分:0)

COPRA是一种在JAVA中实现重叠社区的算法,速度非常快。

http://www.cs.bris.ac.uk/~steve/networks/software/copra.html

重叠群集的其他有用链接(不一定用java编写)是:

MOSES:cliquecluster.org/moses

OSLOM:oslom.org /

OVERMAP:bitbucket.org/dsign/grbracket/wiki/Home

随机区块模型:github.com/premgopalan/svinet