This program (download here) is developed out of the following paper:
Jiang B. and Ding M. (2015), Defining least community as a homogeneous group in complex networks, Physica A, 428, 154-160.
Simply put, it is for obtaining homogeneous communities in complex networks by applying head/tail breaks on edge betweenness given its heavy-tailed distribution. The program is based on NetworkX 1.8, and its input and output files follow with Pajek file format (.net).
How to do:
- Open .net file in txt and copy all edges under line "*edges" and then paste them into a new txt file.
- Replace the related lines of the code with the input file location, the division rule, and output file location as the comment indicated.
- Run the program and then replace the edges from the original .net with the edges from the output file (It is better to make a copy of original net file for later comparison).
- Load the changed .net file in Pajek, click draw network button, then press "ctrl + k", all the homogeneous groups will show up. In case you want to know further info of detected homo-groups, in Pajek click Network > Create Partition > Components > Weak , set minimum size = 1, then the number of homo-groups and their node members etc. will be obtained.
Note that the computing capacity of this program is limited to around 30,000 edges, and it may take couple of minutes or longer for a bigger graph (say > 10,000 edges).