More good news: we just got additional code contribution, this time from Michael Leznik and Ryan Toppings. They have implemented the following Community detection algorithm based on label propagation.
LPA-algorithm is explained in http://arxiv.org/pdf/0910.1154.pdf :
Advanced modularity-specialized label propagation algorithm for detecting communities in networks. X. Liu, T. Murata Tokyo Institute of Technology, 2-12-1 Ookayama, Meguro, Tokyo 152-8552, Japan
The contribution contains Java code for GraphChi Java version. (One can find also C++ code for GraphChi C version )
The required Java files are:
BidirectionalLabel.java
CommunityAnalysis.java
CommunityDetection.java
graph_test_data.tsv
graph_test_data.tsv. communities_ids
The code contains a toy example, which one might run passing the following parameters to CommunityDetection class which implements GraphChiProgram<Integer, Integer>
graph_test_data.tsv 2 edgelist
The first parameter is graph file name
The second parameter is number of shards used
The third parameter is the type of graph used
Don't forget to link GraphChi to the project
It outputs the file in this case: graph_test_data.tsv. communities_ids which contains labels id and label ids belonging to this label. Output for this is included in the zip file.
Thanks a lot Michael & Ryan - you contributions are highly appreciated!
Thanks a lot Michael & Ryan - you contributions are highly appreciated!