We propose and study a set of algorithms for discovering community structure in networksnatural divisions of network nodes into densely connected subgroups. Our algorithms all share two definitive features: first, they involve iterative removal of edges from the network to split it into communities, the edges removed being identified using one of a number of possible "betweenness" measures, and second, these measures are, crucially, recalculated after each removal. We also propose a measure for the strength of the community structure found by our algorithms, which gives us an objective metric for choosing the number of communities into which a network should be divided. We demonstrate that our algorithms are highly effective at discovering community structure in both computer-generated and real-world network data, and show how they can be used to shed light on the sometimes dauntingly complex structure of networked systems.
Many real-world complex networks have a community structure in which "the division of network nodes into groups within which the network connections are dense, but between which they are sparser" REF .
Finding and evaluating community structure in networks
Phys. Rev. E 69, 026113 (2004)
Physics Medicine