  Many algorithms have been proposed for detecting disjoint communities
(relatively densely connected subgraphs) in networks. One popular technique is
to optimize modularity, a measure of the quality of a partition in terms of the
number of intracommunity and intercommunity edges. Greedy approximate
algorithms for maximizing modularity can be very fast and effective. We propose
a new algorithm that starts by detecting disjoint cliques and then merges these
to optimize modularity. We show that this performs better than other similar
algorithms in terms of both modularity and execution speed.
