# The stability of a graph partition:

A dynamics-based framework for community detection

## 1 Introduction

Recent years have seen a surge of interest in the analysis of complex systems. This trend has been facilitated by the availability of relational data and the increasingly powerful computational resources that can be employed for their analysis. A unifying concept in the study of complex systems is their formalisation as networks comprising a large number of non-trivially interacting agents. By considering a network perspective, it is hoped to gain a deepened understanding of system-level properties beyond what could be achieved by focussing solely on the constituent units. Naturally, the study of real-world systems leads to highly complex networks and a current challenge is to extract intelligible, simplified descriptions from the network in terms of relevant subgraphs (or communities), which can provide insight into the structure and function of the overall system.

Sparked by seminal work by Newman and Girvan Newman2004 (); Newman2006 (), an interesting line of research has been devoted to investigating modular community structure in networks, revitalising the classic problem of graph partitioning. In a prescient piece, Simon Simon1962 () hypothesised that a modular structure exhibits evolutionary advantages. In particular, the ability to reuse components or to facilitate efficient local processing have been extensively studied thereafter. In recent years, a myriad of studies have gone on to detect communities and hierarchies in real world systems, ranging from social systems to technological and bio-chemical systems (for a recent review see Fortunato2010 ()). Apart from the interest in the structure of these networks, the hope is that by finding a meaningful decomposition of a network we will gain understanding of the relationship between the structure and the functional (dynamical) behaviour of the system. As Francis Crick put it: “If you want to understand function, study structure.”

However, modular or community structure in networks has notoriously evaded rigorous definition. The most accepted notion of community is perhaps that of a group of elements which exhibit a stronger level of interaction within themselves than with the elements outside the community. This concept has resulted in a plethora of computational methods and heuristics for community detection. Nevertheless a firmly grounded theoretical understanding of most of these methods, in terms of how they operate and what they are supposed to detect, is still lacking to date. For a meaningful application of community detection methods, such an understanding is however essential. In the following, we will develop a dynamical perspective towards community detection enabling us to define a measure named the stability of a graph partition Delvenne2010 (); Lambiotte2009 (). It will be shown that a number of previously ad-hoc defined heuristics for community detection can be seen as particular cases of our method providing us with a dynamic reinterpretation of those measures. Our dynamics-based approach thus serves as a unifying framework to gain a deeper understanding of different aspects and problems associated with community detection and allows us to propose new dynamically-inspired criteria for community structure. Further discussion on dynamics-based community detection, along with a description of some earlier methods, is proposed elsewhere in this book lambiottechapter ().

The chapter is organised as follows. The stability of a graph partition is defined and analysed in Section 2. In Section 3, we show how it encompasses several other community detection methods. Section 4 discusses how to find the optimal partition with respect to stability and how to evaluate the meaningfulness of the results. Section 5 illustrates different capabilities of the method for multiscale community detection through applications to diverse examples.

#### Notation

For simplicity, in the following we consider only undirected, connected and non-bipartite graphs with nodes and edges. It is important to remark that the methodology extends seamlessly to directed graphs as discussed in Lambiotte2009 (). We use the following notation hereafter. The topology of a graph is encoded in the weighted adjacency matrix , where the weight of the link between node and node is given by and due to the undirected nature of the graph. The weighted degrees (or strengths) of the nodes are given by the vector , where is the vector of ones. We further define the diagonal matrix and denote the total weight of the edges by . Finally, the combinatorial graph Laplacian is defined as , while the normalised graph Laplacian is defined as . Both Laplacians are symmetric nonnegative definite, with a simple zero eigenvalue when the graph is connected chung1997spectral ().

## 2 Dynamics on graphs and community detection: the stability of a graph partition

As outlined above, a desirable outcome of community detection is to find a meaningful, simplified structural decomposition of a network that can shed light on the functional (dynamical) behaviour of the network and its components. Conversely, when a dynamics takes place on a network, it will be constrained by its graph structure and could potentially reveal features of the structural organisation of the network. This notion, i.e., that structure and dynamical behaviour are inextricably linked and influence each other, is the seed from which our perspective on community has emerged.

The central idea underpinning our dynamical approach is the following: Considering a diffusion process on a network, we ask ourselves what this simplest form of dynamics can reveal about the underlying community structure of the graph. This idea is readily illustrated by the example of a vessel filled with water in which one were to put a small droplet of ink and observe how it diffuses. If the container has no structure, the dye would diffuse isotropically. If the container is structured (e.g., compartmentalised or comprising a set of smaller vessels connected via some tubing), the dye would not spread isotropically but would rather get transiently trapped in certain regions for longer times until it eventually becomes evenly distributed throughout the whole vessel. Therefore by observing the time dynamics of this diffusion process we can gain valuable information about the structural organisation of the container.

### 2.1 Defining the measure: stability as an autocovariance

Let us now make more precise some of these ideas and consider a Markovian diffusion process defined on the graph. One of the advantages of the method is that it allows us to choose the dynamics used to reveal the structure of the network from a variety of discrete or continuous time processes (see an extended discussion of these issues in Refs. Lambiotte2009 (); Lambiotte2011 ()). The dynamics chosen will have distinct dominant diffusion paths and thus will lead to the the emergence of potentially different community structure. The flexibility in the choice of dynamics allows us to incorporate any a priori information we might have about the intrinsic dynamics in the system under study or to base our detection on a particular heuristic for the defining characteristics of the communities. In this work, we discuss only the generic case of an unbiased random walk governed by the following dynamics:

(1) |

in continuous time or, alternatively, by

(2) |

for the case of discrete time. Here denotes the dimensional probability vector and under the assumptions made above (connected, undirected, and non-bipartite graph) both dynamics converge to a unique stationary distribution given by . While the discrete-time random walker jumps from one node to the next at unit-time intervals, the continuous-time random walker waiting time at a node before the next jump is a continuous memoryless random variable distributed exponentially with unit expectation. Whenever a jump occurs, the jump probabilities between nodes are identical for both processes. Hence the discrete-time random walk can also be interpreted as an approximation of its continuous-time counterpart (see also Section 3.3) and our numerics show that the two processes lead to similar community structures in most graphs of interest.

Consider also a given (hard) partition of this graph into communities. This partition is encoded in a indicator matrix with , where a 1 denotes that node belongs to community . Observe that, for any matrix , is the matrix whose –th entry is the sum of all entries such that node is in community and node is in community . It is also easy to see that , where is the number of nodes in community .

Now we define the clustered autocovariance matrix of the diffusion process at time as:

(3) |

where and is the -step transition matrix of the process: for continuous-time and for discrete-time.

To see that is indeed an autocovariance matrix associated with the communities of a partition, consider the -dimensional vector , a random indicator vector describing the presence of a particle diffusing under the above dynamics, i.e. if the particle is in node at time and zero otherwise. Given a partition , is the community indicator vector. Using the definition of the transition matrix, it follows that:

(4) |

where we have made use of the linearity of the covariance.

If the graph has well defined communities over a given time scale we expect that the state is more likely to remain within the starting community with a significant probability over that time scale. Therefore the value of is positively correlated with the value of for in that time scale leading to a large diagonal element of , and hence a large trace of . In other words, if we observe the Markov process only in terms of a colouring assigned to each community, a good partition is indicated by a slow decay of the autocovariance of the observed signal. This statement presents a dual (but equivalent) view to the description of a community in terms of a subgraph where the diffusion probability gets transiently trapped.

We now define the stability of a partition encoded by at time as:

(5) |

which is a global quality function for a given graph and partition that changes as a function of time (according to the chosen dynamics). In view of the formalism outlined above, stability serves as a quality function to evaluate the goodness of a partition in terms of the persistence of the probability flows in the graph at time .

A brief technical aside. The definition of stability in the discrete-time case

(6) |

includes a minimisation over the time interval , which is not necessary in the continuous-time case.^{1}^{1}1In the continuous case, is monotonically decreasing with time. To prove this, note that and . This is obviously strictly negative since the matrix is symmetric positive definite.
This technicality ensures maximum generality of the definition but in most cases of interest it is not necessary^{2}^{2}2In particular cases, such as a bipartite graph, can oscillate in the discrete-time case, indicating poor communities or even ‘anti-communities’ with a rapid alternance of random walkers between communities. We therefore take the lowest point of the over the interval as the quality function.. Indeed, numerical experiments LeMartelot2012 () have shown that

for the discrete-time case too. In the rest of this chapter, we assume this to be valid.

The stability can be used to rank partitions of a given graph at different time scales, with higher stability indicating a better partition into communities at a specific time scale. Alternatively, can be maximised for every time in the space of all possible partitions—resulting in a sequence of partitions, each of which is optimal over some time interval. Although, as is the case for many graph theoretical problems, this optimisation is NP-hard, a variety of optimisation heuristics for graph clustering can be used (see Section 4). The effect of time in the stability measure is intuitive: as time increases, the Markov process explores larger regions of the graph, such that the Markov time acts as a resolution parameter that enables us to identify community structure at different scales. In general, the relevant partitions become coarser as the Markov time increases. Importantly, stability does not aim to find the best partition for the graph, but rather tries to reveal relevant clusterings at different scales through the systematic zooming process induced naturally by the dynamics. A relevant partition should be both persistent over a comparably long time scale and robust with respect to slight variations in the graph structure and/or the optimisation Lambiotte2010 (); Delmotte2011 () (see also Section 4). We remark that the systematic sweeping across scales provided by the Markov dynamics is a fundamental ingredient in our approach leading to a multi-scale analysis of the community structure.

### 2.2 Stability from a random walk perspective

Stability can be readily interpreted in terms of a random walk by noting that each entry of the clustered autocovariance (3) is the difference between two quantities. The first is the probability for a random walker to start in community at stationarity and end up in community after time , while the second is the probability of two independent walkers to be in and at stationarity. In this view, communities correspond to groups of nodes within which the probability distribution of the Markov process is more contained after a time than otherwise expected at stationarity. To make this perspective more explicit, one can rewrite the stability of a partition with communities as:

(7) |

where is the probability for a random walker to be in the same community at time zero and at time (possibly leaving and coming back a number of times in-between). By ergodicity, the walker at infinite time holds no memory of its initial position, and coincides with the probability of two independent walkers to be in the same community.

### 2.3 A free energy perspective: stability as a trade-off between entropy and generalised cut

Stability may also be interpreted as a trade-off between an entropy and a generalised cut measure, thus providing a link with the concept of free energy. To consider this perspective, we first observe that stability at time is essentially equivalent to the so called Gini-Simpson diversity indexsimpson1949measurement ():

(8) |

where is the -th column of the indicator matrix . The diversity index (or equivalent quantities up to some simple transformation) has appeared under numerous names in various fields: the Hirschman-Herfindahl index in economics hirschman1964paternity (), the Rényi entropy of order 2 in information theory renyi1961measures (), or the Tsallis entropy of parameter 2 in non-extensive thermodynamics tsallis1988possible (). This quantity may be interpreted as a measure of entropy and favours partitions into many communities of equal sizes (in terms of degree weights for the unbiased dynamics) over partitions where one community is much bigger (in terms of degree weights) than the others. For instance, the diversity index of a -way equal-size partition is , while a partition with a very dominant community and small communities has a diversity index of almost zero. The diversity index is minimal for the all-in-one partition and maximal for the partition into one-node communities.

Secondly, consider the variation of stability between time zero and time :

(9) |

This quantity is the fraction of walks of length that start and end in two different communities and may be thought of as a generalised cut size, i.e., the fraction of edge weights hanging between communities for a graph with adjacency matrix induced by the dynamics of the diffusion process at time Lambiotte2009 (); Lambiotte2011 ().

It then follows that stability can be written as

(10) |

which provides us with an interpretation of stability as a trade-off between an entropy and a cut measure moderated by the Markov time. We will see below that when considering the linearised version of the stability , this interpretation allows us to write stability as a kind of free energy that balances an entropy (diversity) and an energy (cut) with the time playing the role of an inverse temperature.

## 3 Stability as a unifying framework for other community detection methods

Stability provides an unifying framework for a number of different graph partitioning and community detection techniques and heuristics that have been postulated in the literature under different premises. We now highlight some of these relations to provide further insight into the stability framework, while at the same time establishing a dynamical reinterpretation of some key measures widely used in community detection. Most of the results shown below can be found in Refs. Lambiotte2009 (); Delvenne2010 ().

In the following, we will use shorthand to distinguish between the discrete-time version of stability (denoted as ) and the continuous-time version (denoted by ).

### 3.1 Discrete-time stability at time one is modularity

Modularity Newman2004 () is usually defined as:

(11) |

where the sum is taken over nodes that are in the same community, is the degree of node and is the number of edges. Modularity is a popular cost function which is maximised to find the best partition of a graph. Noting that the stationary probability , it follows easily from our formalism that modularity is equivalent to discrete-time stability at time :

(12) |

Furthermore, from Section 2.3, it is easy to see that Generalised Cut at time in the discrete-time case is simply the fraction of edges between communities, i.e., the (standard) Cut:

(13) |

whence it follows that

(14) |

Therefore, Modularity can be seen as a compound quality function with two competing objectives: minimize the Cut size while at the same time try to maximise the Diversity Index (which favours a large number of equally-sized communities) thus resulting in more balanced partitions.

### 3.2 Stability at large time is optimised by the normalised Fiedler partition

The asymptotic behaviour of stability at large is determined by the spectral properties of the graph and leads to the dominance of the Fiedler bipartition (a classic heuristic in graph partitioning) as . Consider first the discrete-time case. Elementary spectral theory implies that the eigenvalues of as well as the left and right eigenvectors of are real and obey the relations , and . Consider the spectral decomposition of :

(15) |

and assume that the second largest eigenvalue is not dominated by the smallest (i.e., ), which is the case if the graph is not ‘almost bipartite’. Then asymptotically we have:

It is not difficult to see Delvenne2010 () that this leading term is maximised for the partition that classifies the nodes into two communities according to the sign of the entries of (or, equivalently, ). This partition is called the normalised Fiedler partition Shi2000 (), a variant of the classic Fiedler partition proposed as a heuristic in spectral clustering Fiedler1973 (); Fiedler1975 ().

Therefore, spectral clustering, usually presented as a heuristic for the solution of combinatorial optimisation problems (see e.g. Shi2000 ()) emerges here as the exact solution of the large time scale stability optimisation. It is worth noting that for the continuous-time case we can obtain similar results—here behaves asymptotically as leading to the same optimal partition.

### 3.3 The meaning of the linearisation of stability at short times

We now show that several heuristics for community detection that have been introduced from a statistical physics perspective appear from the linearisation of stability at small times.

Consider the continuous version of stability in the limit of small times and expand to first order. This leads to the linearised stability Delvenne2010 (); Lambiotte2009 ():

(16) |

#### Linearised stability as a type of free energy

It then follows from (13) that

(17) |

This linearised stability can also be seen as a linear interpolation for the discrete-time stability between time zero and time one: . Incidently, this highlights a further connection between the discrete-time and the continuous-time stabilities, since the former can be seen as a linear approximation of the latter. We emphasize however that linearised stability is meaningful for all times, whether smaller or larger than one. Indeed, renormalising this expression as Delvenne2010 ():

(18) |

makes it clear that the linearised stability can be viewed as a free energy to be minimised: the diversity index acts as a type of entropy measure; the Cut acts as an energy cost (as an analogy, think of the edges as bonds to be broken, whose energy is the weight of the edge); and the inverse Markov time plays the role of temperature.

#### Linearised stability is equivalent to the Reichardt & Bornholdt Potts Model heuristic

Reichardt & Bornholdt (RB) proposed a Potts model heuristic for multiscale community detection based on the minimisation of the Potts Hamiltonian Reichardt2004 (); Reichardt2006 ().

(19) |

where is a tunable resolution parameter. From above, we observe that:

(20) |

Hence maximizing the linearised stability is equivalent to minimising the RB Potts Hamiltonian with . Having established this connection enables us to provide an explicit interpretation of the ‘resolution parameter’ in terms of the Markov time and also to interpret the RB Potts model heuristic as a free energy, corresponding to a trade-off between entropy and cut Delvenne2010 ()). Note that this view differs slightly from RB’s initial interpretation in terms of energy only.

#### Linearised stability with combinatorial Laplacian dynamics is related to the Constant Potts Model

It is worth mentioning briefly that several other recent heuristics also correspond to the linearised stability obtained under a different dynamical evolution, namely when the dynamics is governed by the combinatorial Laplacian Lambiotte2009 ():

(21) |

where is the average strength of the nodes in the graph.

It is then easy to show that maximising the linearised stability , which follows seamlessly from this dynamics, is equivalent to minimising the Hamiltonian of the so-called constant Potts model (CPM) introduced by Traag et al. Traag2011 ():

(22) |

where is a tunable ‘resolution parameter.’ In fact,

(23) |

and the optimization of the combinatorial linearised stability is equivalent to minimising the CPM with resolution parameter .

A similar reasoning can be applied to the Potts heuristic proposed by Nussinov and coworkers Ronhovde2009 (); Ronhovde2010 ().

## 4 Computational aspects of the stability framework

### 4.1 Optimisation of the stability measure

Stability defines a quality measure on partitions and one can use in principle any graph clustering algorithm (even if based on different principles) and assess and rank the quality of the found partitions a posteriori with our stability measure. Some well-known algorithms that we have used in this way include the methods proposed by Shi and Malik Shi2000 () and Kannan, Vempala and Vetta Kannan2000 (), which operate divisively to obtain finer and finer partitions via recursive spectral bi-partitioning. The partitions thus obtained can then be evaluated at different time scales according to stability: as outlined above, for short time scales we expect the finer partitions to be more relevant, whereas for larger time scales coarser partitions will dominate. Using the spectral clustering methods in such a way turns them effectively into a heuristic for optimizing stability, which performs well in many cases Delvenne2010 (). See Section 5.1 for an example of this type of analysis.

Stability, whether linearised, continuous-time or discrete-time, can also be considered an objective function to be optimised, i.e., for each time we have to find the partition with maximal stability

(24) |

However, as is the case for most non-trivial problems in clustering and graph partitioning, including modularity optimisation Brandes2008 (), the optimisation of stability over the space of all possible partitions is an NP-hard problem. Therefore, except for asymptotic times and , we must employ heuristics to optimise stability and these come with no guarantee on the obtained results.

A helpful feature of stability is the fact that it can be written as the modularity of a time-dependent network evolving under the Markov process Lambiotte2009 (). Therefore all the computational heuristics that have been developed for modularity optimisation can be naturally applied to stability optimisation too. These include not only divisive spectral methods Newman2006a () but also agglomerative methods, such as the efficient Louvain method Blondel2008 () based on a fast greedy optimisation that can deal with very large graphs. Examples of the application of the Louvain algorithm to stability optimisation are shown in Sections 5.2 and 5.3. Other methods have been devised specifically for stability optimisation over a time interval LeMartelot2012 ().

One may as well combine different methods to optimise stability, at the expense of greater computational cost. For instance, one can improve a Shi-Malik spectral partition with a local Kernighan-Lin scheme kernighan1970efficient (). A wide range of heuristic stability optimisation procedures can therefore be devised.

As is the case with hard non-convex optimisation problems, it is important to assess whether these different optimisation methods yield consistent results, i.e., to check that the value of stability obtained by the use of different optimisation algorithms is robust. Our numerical experiments have shown that this is indeed the case specifically when the partitions found are most relevant Delvenne2010 (); Delmotte2011 (); Schaub2012 ().

### 4.2 Assessing the robustness of a partition

Related to the question of the robustness of the optimisation is the question of the robustness of the partitions found, which we use as an indicator of the relevance of the partitions found. One simple mechanism to detect the robustness of a partition is already built into the stability measure via the Markov time: a robust partition should ideally be persistent over an extended range of time-scales. When the graph has a strong community structure, this can be observed as plateaux extending over Markov time intervals during which each corresponding partition is found.

As a second indicator for the robustness of the partitions, we evaluate the dispersion induced in the optimised partitions by a randomisation of the optimisation algorithm. In particular, for each Markov time we compute an ensemble of randomised Louvain optimisations of stability (started from a random initial node ordering) and check how different the optimised partitions are, as established by the variation of information Meila2007 (). Let be the relative frequency of finding a node in community in partition , i.e., , where is the number of nodes in community . The variation of information between two partitions and is defined as Meila2007 ():

(25) |

where is the Shannon entropy and is the Shannon entropy of the joint probability. Here we use a normalised variant of the variation of information obtained by dividing the quantity in Eq. (25) by its maximum, . A low variation of information indicates optimised partitions that are very similar to each other, indicating that the partition is robust to changes in the starting point of the optimisation. Borrowing freely some terminology from dynamical systems, robust partitions can thus be considered to possess an attractor with a large basin of attraction for the optimisation process.

Finally, one can also consider the robustness of a partition to small changes in the underlying graph either through random perturbations Lambiotte2010 () or through the creation of surrogates for specific applications Delmotte2011 (). All these measures of robustness are used to select the relevant partitions across Markov times.

## 5 Examples of community detection with the stability framework

In this section, we showcase a few applications of the stability framework. Apart from the examples discussed below, this approach has already been applied to a variety of fields, such as image segmentation, social networks and computational biology, among others Delmotte2011 (); meunier2010modular (); Schaub2012 (); Delvenne2010 ().

### 5.1 A first example: community structure in a collaboration network

Community detection methods are commonly used for social networks, with the aim to identify sets of strongly interdependent people so as to shed light on the global structure of the social group. As an example of this type of application, we analyse in Fig. 1 a graph of co-authorships between 379 researchers in network science (see Newman2006a ()). Figure 1b shows the hierarchy of partitions associated with the maximisation of discrete-time stability over all partitions obtained by using the Kannan, Vempala and Vetta (KVV) algorithm Kannan2000 () across all Markov times. The KVV method is a conductance-based spectral divisive algorithm that splits the network in two parts repeatedly (in a kind of bisection scheme) producing a set of partitions that are then ranked according to stability at each time. This procedure results in a streamlined non binary dendrogram of optimal partitions, which differs from the notably more complicated binary trees produced by most hierarchical methods using different local heuristics. The communities shown have been selected according to their long persistence in time. Note in particular the very long-lived partition into 5 communities, which constitute well-formed thematic and national groups of authors, as a close look at the identity of the nodes reveals Delvenne2010 ().

By construction, the particular optimisation algorithm used here as a heuristic for this NP-hard problem outputs a perfect hierarchy, where partitions are embedded into one another. However, there are many instances where the actual partitions at different time scales are not hierarchical, i.e., they are not necessarily exact progressive refinements of each other. As shown below, optimisation of stability with other algorithms can compute a non-hierarchical, yet multiscale, community structure across time scales. One can then find if the sequence of partitions is close to being hierarchical or not Lambiotte2009 ().

### 5.2 Non clique-like communities and the field-of-view limit

#### Stability as a multi-step method vs. single-step methods

In contrast to stability, most commonly used community detection algorithms can be reformulated as single-step methods from our dynamical viewpoint, i.e., these methods only take into account nearest neighbours in the graph with no paths of length greater than one considered. For modularity and derived measures (like the RB Potts model) this is obvious from our discussion in Section 3. It can also be shown that the popular Map equation method Rosvall2008 () is effectively based on single-step, block-averaged transitions of a random walker Schaub2012 (); Schaub2011a (). However, by using one-step measures, such methods effectively introduce an upper-scale into the detection of communities. Metaphorically, these algorithms suffer from a limited “field-of-view” (see Ref.s Schaub2012 (); Schaub2011a () for an in-depth discussion) that precludes them from detecting communities with large internal distances. In contrast, the stability framework has no preferred scale (or number of steps) a priori, i.e. the scanning across all scales imposed by the dynamics is intrinsic and an essential feature of the algorithm. Therefore, if there are one or more scales, they can be found through the dynamic sweeping.

#### Advantages of a multi-step approach: detection of non clique-like communities

If one were to consider the simplest notion of community structure, one would probably think of a graph in which clique-like graphs with strong connections within them are weakly connected to each other in an ’all-to-all’ manner. The community structure thus emerges from the different intra- and inter-community weights leading to a stochastic “clique-of-cliques”. The corresponding notion of community as a homogeneously connected dense substructure homogeneously embedded in the whole graph underlies most of the popular benchmarks for community detection Lancichinetti2008 (); Lancichinetti2009a (); Newman2004 (); Danon2006 (); Karrer2011 (). Although such notion of community structure is a good description in several application areas (e.g. networks constructed from correlation measurements or in some instances of social groupings), there exists a wide range of real networks that do not display such an “all-to-all” connection pattern.

Prominent examples of networks without clique-like connection patterns are geographically embedded networks, such as sensor-networks, power grids, river-networks, road- and train-networks, as well as other transport, supply or distribution networks. More generally, networks underpinned by intrinsic constraints dictated by geometry or other cost functions (e.g., higher-dimensional grid- or lattice-like structures originating from physical and biological systems) will not in general display homogeneous, block-like structures in their connectivity patterns. Yet such networks may still have a pronounced community structure in its general sense: a non clique-like community may in this case be thought of as a group of nodes which possess a stronger direct or indirect influence on each other than on nodes outside their community, e.g., if entities are coupled via a chain of local interactions Schaub2012 (). In these instances, one-step methods, such as modularity and the Map method, will fail to identify such non clique-like communities due to their large effective diameter, which puts them beyond the field-of-view of standard single-step methods. It is important to remark that in the case of clique-like community structure, stability still recovers the results of standard methods, which can be seen as a particular case of our framework.

#### Analysis of the graph of the European Power Grid

The analysis of the European Power Grid, a network in which non clique-like community structure plays a significant role, is used here to exemplify the advantage of using an intrinsic multi-step method such as stability Schaub2012 ().
This network^{3}^{3}3Dataset taken from http://www.termoenergetica.upc.edu/marti/index.htm is based on data from the Union for the Coordination of Transmission Energy (UCTE) and has been analysed previously for robustness to targeted attacks Rosas-Casals2007 (); Sole2008 ().
It consists of 2783 nodes corresponding to generators and substations with 3762 (unweighted) links corresponding to high voltage (110 kV - 400 kV) transmission lines (see also Rosas-Casals2007 (); Sole2008 ()).
Geography and engineering costs impose some extrinsic local constraints on the Power Grid and hence its connection patterns are far from a homogeneous all-to-all type.
Hence we expect the relevant community structure to be of a non clique-like type.
The dynamic sweeping of the stability framework over different Markov times is shown in Figure 2.
In this example, the analysis has been performed with the continuous time-variant of stability, optimised via the Louvain algorithm adapted for stability.
The Markov times highlighted in Figure 2 have been selected according to the relative decrease in variation of information, which indicates a more robust partitioning.

The analysis reveals a multiscale community structure within the Power Grid, with distinct relevant partitions at various Markov times corresponding to subregions which, interestingly, reflect meaningful historical and commercial features of the power grid network.
For long Markov times (Fig. 2d), the coarse-grained subregions of the network can be identified mostly with nations or supra-national structures, which may be associated with big historical monopolies, while concurrently the German power grid remains split between four large companies (with one covering the eastern part of Germany)^{4}^{4}4See http://de.wikipedia.org/wiki/Stromnetz#Netzbetreiber .
For shorter times (Fig. 2b-c), communities on a sub-national scale are obtained. These are associated with regional operators, e.g., the French Power Grid is divided into several regions which overlap well with the communities found in our analysis^{5}^{5}5For a map of the French regional electrical companies see http://www.rte-france.com/fr/nous-connaitre/qui-sommes-nous/organisation-et-gouvernance/le-siege-et-les-unites-regionales. Similar results hold for Spain, Italy and Switzerland. For more details see Ref. Schaub2012 ().

### 5.3 Detecting communities of links in the Internet Autonomous Systems network

As a final example, we look at another classical network system, namely the Internet at the level of Autonomous Systems (AS). An autonomous system is a large group of connected routing prefixes implementing a clearly defined, consistent routing policy^{6}^{6}6see http://en.wikipedia.org/wiki/Autonomous_system_(Internet). As this network is only known approximately, we use measurements obtained by the Cooperative Association for Internet Data Analysis (CAIDA) CAIDA ().
To construct the network, we select only direct links between two different and unique AS and we ignore all Multi-Origin AS (MOAS) edges (i.e., links where a prefix originates from multiple AS).
Furthermore, we limit ourselves to AS of large Internet Service Providers (ISPs), small ISPs and universities corresponding to the categories ‘t1’, ‘t2’, and ‘edu’ from the Autonomous System Taxonomy Repository^{7}^{7}7http://www.caida.org/data/active/as_taxonomy/. Note that, in general, there is no equivalence between an ISP and a AS: although large enough ISPs tend to form their own AS, an AS can also consist of several smaller companies or correspond to the network of a university. The analysed network consists of 3951 nodes and 9870 unweighted, undirected links.

To exemplify the use of our framework with a different objective, we performed the community analysis on the space of edges. This can be achieved by analysing the line graph of the network. The line graph of a network is a graph whose nodes are the edges of , with a link between two nodes if the corresponding edges in are adjacent. The study of the line graph allows us to focus on the links in the network, which carry the actual information between the AS, to find whether there is a structural organization in the edges, corresponding to topological “traffic-communities” in the global network structure. Since community labels are assigned to edges, rather than to the AS nodes, this allows for multiple community memberships of an AS node Evans2009 (). The results of the community analysis of the line graph using the Louvain algorithm to optimise the continuous-time stability are shown in Figure 3.

Our analysis reveals interesting structural features. The links to/from each of the large ISPs belong predominantly to one cluster. For smaller ISPs, a different picture emerges. Some small ISPs appear to be stub AS, in that they display only a small number of connections (usually one or two) linking them to one large t1 AS. The links from the large t1 AS to its stubs typically all belong to the same community (Figure 3b). On the other hand, we find a second class of small ISPs which one may call diversified AS: they have edges belonging to different communities, connecting them to multiple large ISPs, suggesting that they “diversify” their connectivity patterns so as to enhance the robustness of their connectivity to the Internet. An example of such a small ISP with a diversified connection pattern is the AS of “yahoo!” with nine connections to different large ISPs (see Figure 3a) all belonging to different communities.

Clearly, the significance of these results is limited by the data and the techniques used to infer the connections between the AS, as well as by the fact that we do not consider the actual data volume transferred over the links. However, the fact that this simplified analysis reveals interesting groupings within the AS network indicates the potential for future work in this direction. In particular, it may be interesting to test to what extent community detection might be used for a classification of the AS, possibly in comparison to what has been inferred by more classical measures. This will be the objective of future work.

## 6 Conclusions and future work

In this chapter we have shown that adopting a dynamical perspective towards community detection through the introduction of the stability measure provides us with a unifying framework that enables us to gain deeper understanding of community detection. In particular it was shown how different community detection methods can be seen as special cases of the introduced stability and thus be interpreted from a dynamical viewpoint as well.

It has been further illustrated with a few examples how the stability framework can be used in different application areas. The framework provides a surprisingly versatile set of tools and can be easily extended and adopted for different application scenarios. It is important to mention that the framework naturally extends to directed networks Lambiotte2009 (), another important class of networks which arise in wide spectrum of applications, especially when there is a flow between different entities in the network.

A whole set of new tools can be derived by considering different types of dynamics, including different types of random walks taking place on the network Lambiotte2009 (). This feature of the stability is especially interesting if one has some pre-knowledge about the flow pattern or the dynamics taking place on the network under consideration. By adapting the dynamics to prior knowledge, one can potentially tailor the stability measure to the specific problem at hand and establish the most relevant community structure as it pertains to the dynamical functionality of the network. In particular, our measure has been adopted for the study of time-evolving networks MuchaEtAl10 (), an area of current focus in network research.

## 7 Acknowledgements

J.-C. D. acknowledges support from the grant “Actions de recherche concertées— Large Graphs and Networks” of the Communauté Française de Belgique, the EULER project (Grant No.258307) part of the Future Internet Research and Experimentation (FIRE) objective of the Seventh Framework Programme (FP7), and from the Belgian Network DYSCO (Dynamical Systems, Control, and Optimization) funded by the Interuniversity Attraction Poles Programme initiated by the Belgian State Science Policy Office. S.N.Y. and M.B. acknowledge funding from grant EP/I017267/1 from the EPSRC (Engineering and Physical Sciences Research Council) of the UK under the Mathematics Underpinning the Digital Economy program and from the Office of Naval Research (ONR) of the US.

## References

- (1) M.E.J. Newman, M. Girvan, Phys. Rev. E 69(2), 026113 (2004)
- (2) M.E.J. Newman, Proceedings of the National Academy of Sciences 103(23), 8577 (2006). DOI 10.1073/pnas.0601602103
- (3) H.A. Simon, Proceedings of the American Philosophical Society 106(6), 467 (1962)
- (4) S. Fortunato, Physics Reports 486(3-5), 75 (2010). DOI 10.1016/j.physrep.2009.11.002
- (5) J.C. Delvenne, S.N. Yaliraki, M. Barahona, Proceedings of the National Academy of Sciences 107(29), 12755 (2010). DOI 10.1073/pnas.0903215107
- (6) R. Lambiotte, J.C. Delvenne, M. Barahona, Laplacian Dynamics and Multiscale Modular Structure in Networks (2009). ArXiv:0812.1770
- (7) R. Lambiotte, in Dynamics On and Of Complex Networks, Volume 2 (Springer, 2013), pp. 125–141
- (8) F. Chung, Spectral graph theory. No. 92 in Regional conference series in mathematics (Amer. Mathematical Society, 1997)
- (9) R. Lambiotte, R. Sinatra, J.C. Delvenne, T.S. Evans, M. Barahona, V. Latora, Phys. Rev. E 84(1), 017102 (2011)
- (10) E. Le Martelot, C. Hankin, The International Journal of Web Based Communities (IJWBC) Special Issue on Community Structure in Complex Networks 9 (2012)
- (11) R. Lambiotte, in Modeling and Optimization in Mobile, Ad Hoc and Wireless Networks (WiOpt), 2010 Proceedings of the 8th International Symposium on (IEEE, 2010), pp. 546–553
- (12) A. Delmotte, E.W. Tate, S.N. Yaliraki, M. Barahona, Physical Biology 8(5), 055010 (2011)
- (13) E. Simpson, Nature 163(4148), 688 (1949)
- (14) A. Hirschman, The American Economic Review 54(5), 761 (1964)
- (15) A. Renyi, in Fourth Berkeley Symposium on Mathematical Statistics and Probability (1961), pp. 547–561
- (16) C. Tsallis, Journal of statistical physics 52(1), 479 (1988)
- (17) J. Shi, J. Malik, Pattern Analysis and Machine Intelligence, IEEE Transactions on 22(8), 888 (2000). DOI 10.1109/34.868688
- (18) M. Fiedler, Czechoslovak Mathematical Journal 23(2), 298 (1973)
- (19) M. Fiedler, Czechoslovak Mathematical Journal 25(4), 619 (1975)
- (20) J. Reichardt, S. Bornholdt, Phys. Rev. Lett. 93(21), 218701 (2004). DOI 10.1103/PhysRevLett.93.218701
- (21) J. Reichardt, S. Bornholdt, Phys. Rev. E 74(1), 016110 (2006). DOI 10.1103/PhysRevE.74.016110
- (22) V.A. Traag, P. Van Dooren, Y. Nesterov, Phys. Rev. E 84(1), 016114 (2011)
- (23) P. Ronhovde, Z. Nussinov, Phys. Rev. E 80, 016109 (2009). DOI 10.1103/PhysRevE.80.016109
- (24) P. Ronhovde, Z. Nussinov, Phys. Rev. E 81(4), 046114 (2010). DOI 10.1103/PhysRevE.81.046114
- (25) R. Kannan, S. Vempala, A. Veta, in Foundations of Computer Science, 2000. Proceedings. 41st Annual Symposium on (2000), pp. 367 –377
- (26) U. Brandes, D. Delling, M. Gaertler, R. Gorke, M. Hoefer, Z. Nikoloski, D. Wagner, Knowledge and Data Engineering, IEEE Transactions on 20(2), 172 (2008)
- (27) M.E.J. Newman, Phys. Rev. E 74(3), 036104 (2006). DOI 10.1103/PhysRevE.74.036104
- (28) V.D. Blondel, J.L. Guillaume, R. Lambiotte, E. Lefebvre, Journal of Statistical Mechanics: Theory and Experiment 2008(10), P10008 (2008)
- (29) B. Kernighan, S. Lin, Bell System Technical Journal 49(2), 291 (1970)
- (30) M.T. Schaub, J.C. Delvenne, S.N. Yaliraki, M. Barahona, PLoS ONE 7(2), e32210 (2012). DOI 10.1371/journal.pone.0032210
- (31) M. Meila, Journal of Multivariate Analysis 98(5), 873 (2007). DOI 10.1016/j.jmva.2006.11.013
- (32) D. Meunier, R. Lambiotte, E. Bullmore, Frontiers in neuroscience 4 (2010)
- (33) M.E.J. Newman, Phys. Rev. E 74(3) (2006)
- (34) M. Rosvall, C.T. Bergstrom, Proceedings of the National Academy of Sciences 105(4), 1118 (2008). DOI 10.1073/pnas.0706851105
- (35) M.T. Schaub, R. Lambiotte, M. Barahona, Physical Review E 86(2), 026112 (2012)
- (36) A. Lancichinetti, S. Fortunato, F. Radicchi, Phys. Rev. E 78(4), 046110 (2008). DOI 10.1103/PhysRevE.78.046110
- (37) A. Lancichinetti, S. Fortunato, Phys. Rev. E 80(1), 016118 (2009). DOI 10.1103/PhysRevE.80.016118
- (38) L. Danon, A. Díaz-Guilera, A. Arenas, Journal of Statistical Mechanics: Theory and Experiment 2006(11), P11010 (2006)
- (39) B. Karrer, M.E.J. Newman, Phys. Rev. E 83(1), 016107 (2011). DOI 10.1103/PhysRevE.83.016107
- (40) M. Rosas-Casals, S. Valverde, R.V. Solé, I. J. Bifurcation and Chaos 17(7), 2465 (2007)
- (41) R.V. Solé, M. Rosas-Casals, B. Corominas-Murtra, S. Valverde, Phys. Rev. E 77(2), 026102 (2008). DOI 10.1103/PhysRevE.77.026102
- (42) Y. Hyun, B. Huffaker, D. Andersen, E. Aben, M. Luckie, K. Claffy, C. Shannon, The IPv4 Routed /24 AS Links Dataset - Data from 3.1.2012. URL http://www.caida.org/data/active/ipv4_routed_topology_aslinks_dataset.xml
- (43) T.S. Evans, R. Lambiotte, Phys. Rev. E 80(1), 016105 (2009)
- (44) P.J. Mucha, T. Richardson, K. Macon, M.A. Porter, J.P. Onnela, Science 328(5980), 876 (2010)