“…Several community detection algorithms have been proposed in the literature; they are typically classified in: divisive algorithms (Girvan and Newman, 2002), agglomerative algorithms (Newman and Girvan, 2004;Comellas and Miralles, 2010) (depending on whether they focus on the addition or removal of edges to or from the network), and optimisation algorithms (Brandes et al, 2007) which continuously update the network partition in order to maximise the quality of the partition according to a given metric. Optimisation algorithms include several approaches: greedy routing (Newman, 2004), simulated annealing (Guimera et al, 2004), spectral optimisation (Newman, 2006a), game-theoretic (Narayanam and Narahari, 2010;Chen et al, 2010), compression-based (Rosvall and Bergstrom, 2007) and flow-based (Wu and Huberman, 2004).…”