Versatility of nodal affiliation to communities
Abstract
Graph theoretical analysis of the community structure of networks attempts to identify the communities (or modules) to which each node affiliates. However, this is in most cases an illposed problem, as the affiliation of a node to a single community is often ambiguous. Previous solutions have attempted to identify all of the communities to which each node affiliates. Instead of taking this approach, we introduce versatility, , as a novel metric of nodal affiliation: means that a node is consistently assigned to a specific community; means it is inconsistently assigned to different communities. Versatility works in conjunction with existing community detection algorithms, and it satisfies many theoretically desirable properties in idealised networks designed to maximise ambiguity of modular decomposition. The local minima of global mean versatility identified the resolution parameters of a hierarchical community detection algorithm that least ambiguously decomposed the community structure of a social (karate club) network and the mouse brain connectome. Our results suggest that nodal versatility is useful in quantifying the inherent ambiguity of modular decomposition.
1 Introduction
The community structure of a network divides the network into groups, or communities, which share topological similarity. These communities are most commonly defined to be nonoverlapping groups which maximise the strength of edges within the community and minimise the strength of edges which leave the community, where each node is a member of one and only one community.
Sometimes, the community structure of a network is evident even to an untrained observer. It is very clear which nodes belong to which community, and which nodes and edges are involved in linking communities together. In other words, the overall community structure is unambiguous for nearly all of the nodes in the network.
However, in most networks, the modular decomposition of community structure is an illposed problem, as not all nodes can be assigned unambiguously to a single community. Techniques previously developed to deal with this situation include algorithms that allow overlapping communities (xie2013, ) and algorithms that work not with communities themselves, but rather with probability distributions of communities via multilayer networks (betzel2015, ). These approaches, while attractive in theory, can be challenging to operationalise and do not facilitate an intuition about the underlying structure of the network. Various forms of consensus clustering (lancichinetti2012, ; goder2008, ) have been developed to optimise nonoverlapping modular decomposition “on average” over an ensemble of datasets or runs of a nondeterministic community detection algorithm. However, it remains debatable whether these communities represent the “true” communities of the network, or just the best possible consensus solution given the algorithm and the available data.
Our approach to the issue of community ambiguity is predicated on the observation that, although the community structure of a network may not be certainly known, there will generally be variability between nodes in terms of the certainty with which they can be individually affiliated with a specific community. Here, we seek to formalise this intuition by developing a new metric called versatility which can be used to quantify the certainty with which each node is assigned to the same community of a network across multiple runs of the community detection algorithm on the same network.
In what follows, we first define an estimator of nodal versatility of community affiliation and demonstrate its desirable properties by analysis of idealised networks designed for maximal community ambiguity. To build intuitive understanding of what versatility is measuring, we explored its performance in two reallife networks: the karate club graph, a social network; and the mouse brain connectome, a brain network derived from anatomical tracttracing experiments. In both of these cases, we show how versatility can be used to identify the resolution parameters of the Louvain hierarchical community detection algorithm (blondel2008, ) that provide the least ambiguous modular decomposition of the network as a whole. Additionally, we use versatility characterise the topological roles of each individual node.
2 Methods
We propose a measure of nodal versatility of community affiliation that can be estimated for any graph (weighted or unweighted, directed or undirected), and for any nondeterministic or stochastic algorithm which decomposes the community structure of such graphs.
2.1 Definition of versatility
The most natural way to accurately capture the intuition of variability in community classification with respect to an arbitrary algorithm applied to a single graph is to run a stochastic community detection algorithm many times. Because the partitions will be different, we use as our fundamental quantity the probability that any two nodes and will be classified in the same community. This is equivalent to the element in the ’th row and the ’th column of the association matrix from consensus clustering (lancichinetti2012, ). If two nodes are always in the same community, will be equal to 1, and if they are never in the same community, it will be 0. Likewise, if they are in the same community 50% of the time, will be equal to 0.5. Versatility should be highest for a node when for all . To formalise this idea, we transform the values with the sine function, and then sum the transformed values for each node . Finally, we normalise by the average number of nodes in the community containing node . So, for node , we sum for all nodes and normalise by dividing by the mean size of the communities containing (weighted by membership probability).
More formally, the versatility of a node is defined as
(1) 
where is expected value, and
Because , we estimate the expected value of by running the community detection algorithm many times. See Fig 1 for a graphical summary of this process.
This formula for versatility can be computed for any stochastic community detection algorithm. If versatility is being used to understand a community decomposition, the same algorithm and parameters should be used for each iteration as for the original decomposition. For algorithms based on Newman’s quality function (newman2004, ) such as the Louvain algorithm (blondel2008, ), or for any other algorithm with a resolution parameter, it is useful to compute versatility for many different resolution parameters and then take the average. When multiple potential resolution parameters could be chosen, this increases the stability of versatility removes the effects that are specific to a single resolution parameter.
For the Louvain algorithm, we have determined that approximately 1000 runs at a particular resolution parameter gives reliable results; however, in practice, for most algorithms including the Louvain algorithm, 200 iterations seems to give a reasonable estimation based on numerical simulations tracking the variance in versatility across multiple runs in the same network (Fig S1). Unless otherwise specified, we compute versatility by taking the mean Louvain versatility across a spectrum of resolution parameters from with 100 iterations each, for a total of 2100 iterations.
Code to calculate versatility is available in Python and Matlab/Octave from https://github.com/mwshinn/versatility. This includes code to compute the average versatility across a spectrum of resolution parameters, as well as to generate a plot which can be used to find an optimal resolution parameter.
2.2 Technical evaluation of versatility estimators
In theory, there are several ways in which versatility of nodal affiliation to a modular community structure could be defined. To choose between the many versatility estimators that are potentially available, we first list the desirable properties of a theoretically optimal estimator and then evaluate a number of candidate estimators against these criteria, using two test networks to assess the performance of each estimator empirically, as shown in Fig 2.
Model networks
The first model is called the “nsplit network” and represents the case where a single indicator node has one connection to each of a number of identical tightlyinterconnected clusters. It has three parameters: , the number of clusters to which the indicator node is connected; , the number of nodes in each cluster; and , additional nodes in the network that change the total network size but are assumed to not affect the community detection. Thus, the total size of the network is . We assume that the indicator node can be assigned to only one community by each run of a stochastic community detection algorithm, with the probability of affiliation to each model on each run being equal to .
The second model is called the “nclusters network” and represents the case where there are several identical clusters in the network which are each tightly interconnected within themselves, but only loosely (and symmetrically) connected to each other. This model has four parameters which echo those of the nsplit case: , the number of clusters we are to consider in the network; , the number of nodes in each cluster; , the number of additional nodes in the network that change the total network size but are assumed to not affect the community detection; and , the probability that, in any given run of an ideal community detection algorithm, any two clusters will be grouped in the same community. The indicator node is taken to be an arbitrary node in an arbitrary cluster, which are assumed to have identical properties due to symmetry. The indicator node is connected to a cluster with a total of nodes, and this indicator cluster is connected with probability to other clusters each of size . In any given run of an ideal community detection algorithm, the indicator cluster can be assigned its own unique community or it can be affiliated to a larger community also comprising one or more of the other clusters, each with probability . Thus the indicator cluster will be affiliated to the same community as at least one other cluster with probability , and it will be affiliated to the same community as all of the other clusters with probability .
It is important to note that these networks are strictly theoretical. It is unknown whether any given community detection algorithm would actually exhibit the partitions described above. For example, in practice, the Louvain algorithm behaves deterministically in the nsplit case, preferring always to affiliate the indicator node with the same community based on the algorithmic bias caused by the order of the adjacency matrix. However, the behaviours described above are what we would expect if the model networks were decomposed into a community structure by a stochastic community detection algorithm which exhibits the idealised behaviours described in conjunction with each network; for example, in practice, most algorithms show biases based on the ordering of the adjacency matrix, and hence may not exhibit such behaviour.
Desirable properties of versatility metrics
In this context, we can list the key desirable properties of a versatility metric as follows:
 Lower bound

Versatility should be bounded below by 0.
 Upper bound as network size

A universal upper bound on versatility should exist regardless of network size.
 Degree invariance

The degree of a node, or the number of connections it makes, should not directly affect its versatility.
 nsplit zero

If the number of clusters in the nsplit network, the versatility of the indicator node is 0.
 ncluster zero

If the probability of being grouped with another cluster or in the ncluster network, the versatility of the indicator node is 0.
 Network size invariance

Versatility is unaffected by the total number of nodes in the network, represented by in both the nsplit and ncluster networks.
 nsplit cluster size monotonicity

Versatility is an increasing function of the number of nodes per cluster in the nsplit network.
 ncluster cluster size invariance

Versatility is unaffected by the number of nodes per cluster in the ncluster network.
 Cluster number monotonicity

Versatility is an increasing function of the number of clusters in both networks.
 Splitting over breaking

All else being equal, a node probabilistically connected to two communities should have higher versatility than a node in a cluster that is probabilistically contained within the same community as other clusters. So for otherwise equal networks, the nsplit case should result in higher versatility than the ncluster case.
Candidate versatility metrics
We evaluated six candidate versatility metrics that were expected to be reasonably wellbehaved. They followed the general form
(2) 
where is a stochastic function that measures whether nodes and are in the same community; is a normalisation function; is the expected value; and is any continuous, concave function that has the values , , and , and is symmetric around , i.e. .
Three functions were chosen for and two for , and each was denoted by a capital letter; the six possible combinations of and , each denoted by a twoletter code, represented the six versatility metrics tested. For , we evaluated the sine function,
the entropy function,
and the triangle wave function,
For , we tried normalising by the number of nodes in the network
and also by the mean community size
While we could not examine the full space of potential functions and , we considered those that seemed most natural given the constraints. We did not consider metrics that were normalised by the degree of the node, because this breaks the intuition that versatility should depend only on the community classification. We also did not explore metrics which depend only on the probability of the indicator node being in the same community as its nearest neighbours, rather than all nodes, as these by definition do not satisfy the degree invariance property. Such metrics may be more suitable as a communityagnostic version of participation coefficient, rather than assessing the degree to which a node affiliates with a community.
Participation coefficient
Versatility was contrasted with participation coefficient (guimera2005, ), because in informal terms, both describe the coupling of a node with its community. Participation coefficient tries to measure the intuitive property of whether nodes could facilitate communication across separate groups of nodes by having a high intercommunity degree. It is defined as
(3) 
where is the number of communities, is the degree of node , and is the intracommunity degree of node .
Performance of candidate metrics
Each of the 6 candidate versatility metrics was benchmarked by its performance in analysis of the two model networks as shown in Table 1, where they are compared to participation coefficient (PC).
Metric  SU  EU  TU  SC  EC  TC  PC 

Lower bound  0  0  0  0  0  0  0 
Upper bound as network size  1  1  1  2  1  
Degree invariance  
nsplit zero  
ncluster zero  
Network size invariance  
nsplit cluster size monotonicity  *  
ncluster cluster size invariance  
nsplit cluster number monotonicity  *  †  
ncluster cluster number monotonicity  †  
Splitting over breaking 
Normalisation by the size of the network (U) was not effective. None of the metrics SU, EU and TU satisfied the desirable property of network size invariance. Thus these metrics were not considered further. The three metrics normalised by community size (SC, EC, TC) were much more evenly matched. Because TC only trivially satisfies nsplit cluster monotonicity, we consider only SC and EC. In practice, SC and EC give nearly identical results in all networks for which they have been computed. SC and EC are very similar and would both make good measures of versatility; however, we select SC for two reasons. First, and most importantly, it has upper bound. Second, it avoids the potential for confusion created by using the formula for Shannon’s entropy, when in fact no informationtheoretic quantity is involved (shannon1956, ). Thus, SC is equivalent to Equation 1.
While the versatility of any given node depends only on community affiliation and does not depend on the size of the network, one intriguing aspect of SC is that the maximum possible versatility a node is capable of achieving in a network does depend on the network size. This is due to the fact that increasing the size of the network increases the number of nodes that could potentially be in the same community as the indicator node. In finite networks with nodes, we can construct a network which maximises versatility of the indicator node by considering a nsplit network with clusters of size , with a total of clusters and extra nodes. Fig S2 shows the maximum versatility as a function of network size. Only for networks with infinitely many nodes can SC reach its maximum of .
We elected not to normalise versatility by because the maximum versatility in any network with a finite number of nodes will be less than , with the limit depending on the number of nodes. Thus, it would be misleading to imply that the maximum versatility is 1 in a finitesized network. Furthermore, versatility in the unnormalised form has other distinctive landmarks. For example, a versatility of 2.0 means that a node is perfectly split between two equallysized communities (as the community size approaches infinity).
We also chose not to normalise versatility by the upper bound given the network size (the curve in Fig S2). Doing so would create a dependence on network size, and thus no longer satisfy the desirable properties listed above. An additional problem with normalising is that the maximum versatility given the network size currently must be calculated numerically, and thus the difficulty of implementing versatility would increase. Furthermore, a conceptual problem with normalising by the maximum given the network size is that it cannot possibly be as difficult to classify a node in a 2node network as it is to classify a node in a 1000node network; in the former case there are only two possible partitions for the network, whereas in the latter there are approximately (the 1000th Bell number).
Thus, due to the desirable properties of SC, the definition of versatility is as given in Equation 1.
3 Results
3.1 Versatility can find optimal modular resolution parameters
Initially, Girvan and Newman’s modularity did not include a resolution parameter (newman2004, ); only later was such a parameter added to search for community structure across a range of community sizes, from a few large communities (low ) to a larger number of smaller communities (high ) reichardt2006 (). As a result, values are highly dependent on the resolution parameter. The scaling of also depends on the value of —the modular resolution parameter—at which it is calculated. Thus, due to this bias, it is not possible to maximise across values of and obtain a result relevant to the structure of the network, making it difficult to use to define an “optimal” resolution of the hierarchical community structure or value of .
By contrast, a network’s mean versatility depends only on how consistently the nodes in the network affiliate with a specific community. Thus, we could define the “optimal” value of as that for which the average versatility is lowest, or for which the community structure of the network is least ambiguously defined. Newman (newman2016, ) developed a theoretical formulation of an optimal resolution parameter, but the proposed iterative procedure is only guaranteed to converge when the network communities are drawn from a special case of the stochastic block model (condon2001, ). The proposed versatilitybased method works on all networks, without assumptions about the form of their community structure, and also on non metrics that vary as a function of a resolution parameter.
When the global mean versatility is plotted at each value of within a reasonable range, it varies as a function of the resolution parameter and there are typically one or more values of corresponding to local minima in global mean versatility. At the extremes of the curve, the versatility will be zero, as these represent the cases of either a single community encompassing the entire network, or each node in the network being in a separate community. While these parameter ranges are the global minimum of versatility, they are not desirable because they do not take into account the purpose of the community decomposition itself, i.e. to find useful communities.
In order to balance practical considerations with a principled method of using the versatility curve to select optimal , several approaches may be taken. One can choose the value of which globally minimises the ambiguity in modular classification among those values of which generate nontrivial community structure. In other words, this finds a community structure which maximises the ability of the algorithm to assign nodes to communities. One can also choose the value of within a range of resolution parameters that gives a theoretically expected number of communities, or which satisfy another practical requirement. For instance, in brain networks where multiple modalities can be used to define different networks in the same subject (bullmore2009, ), it may be most useful to find equal numbers of communities in each subject to compare across modalities. Additionally, many networks exhibit a region of values for which versatility is consistently low across many nearby resolution parameters. Even if it does not globally minimise versatility, this scheme prioritises the stability of the mean versatility across small perturbations in resolution parameter.
The important point is that the global mean versatility curve provides an objective function to guide the otherwise unrestricted and unprincipled choice of resolution parameters often corresponding to different community structures. By understanding which resolution parameters minimise ambiguity, we can make a more informed and precise selection.
3.2 Evaluation on the karate club network
Zachary’s karate club graph (zachary1977, ) is a nontrivial benchmark and standard test case for community detection algorithms. This network represents friendships in a university karate club before a political conflict caused the club to split into two: members of the club are nodes and friendships between members are edges. Most community detection algorithms are able to find two distinct groups of individuals in the club which correspond to the two political factions in the club after the split. However, there is one individual who has exactly one friendship on one side of the split and one friendship on the other side. Community detection algorithms are forced to assign this individual node to only one of the two communities.
As we see in Fig 3a, most of the nodes have low versatility, except the individual with one friendship in each of the communities. Nodes that are connected to only one group cleanly sort into their respective faction. Versatility distinguishes itself from participation coefficient shown in Fig 3b by only holding a high value for the nodes which could be classified into either community by the algorithm. Participation coefficient, by contrast, highlights the degree to which a node is an intercommunity hub. We might expect the individuals with high participation coefficients to make effective mediators in this conflict or to be ambassadors between the factions. By contrast, we would expect the individual with high versatility to have a difficult decision on which of these two clubs to join after the split occurred. This exemplifies an important difference between participation coefficient and versatility.
When we look at the curve of versatility across different resolution parameters in Fig 3c, we see versatility is nearzero around . This happens to be a parameter which divides the network into two communities, consistent with the prior knowledge that this social network was indeed divided into two communities (newman2006, ).
3.3 Mouse connectome
With recent advances in biotechnology, it has become possible to use graph theory based techniques to study the brain (bullmore2009, ). Such work has shown promise in helping us understand concepts ranging from locomotion in model organisms (towlson2013, ) to diseases as complex as schizophrenia (lynall2010, ). Since the brain has long been hypothesised to function as a set of semiindependent modules (fodor1983, ), and the communities of brain networks obtained using graph theory have anatomical and functional significance (chen2008, ), it is only natural to talk about brain modules as communities in brain networks (sporns2016, ).
While there are many ways to find which regions of the mammalian brain are connected, one of the most reliable ways is by injecting a fluorescent viral tracer into a source region of the brain. In the days following injection an anterograde viral tracer travels along the axons of neurons projecting from the source region to anatomically connected target regions. By measuring the strength of the fluorescent tracer in high resolution microscopic images of the injected animal’s brain, it is possible to quantify the weight of anatomical connectivity from a source region to each possible target region. By performing this experiment in many different mice, with different source regions injected in different experiments, it is possible to estimate the complete anatomical connectivity matrix or connectome of the mouse brain (oh2014, ).
A weighted, directed network was constructed from 112 brain regions of the mouse brain connectome derived from over 400 of such tracttracing experiments conducted by the Allen Institute for Brain Sciences (oh2014, ), as previously described (rubinov2015, ).
The communities of this network were found after using versatility to choose an optimised resolution parameter () and are displayed in anatomical coordinates in Fig 4b. At this resolution parameter, there are 11 modules across the two hemispheres with similar specialisations to those found previously (rubinov2015, ). Rather than select the resolution parameter corresponding to the global minimum of versatility across nontrivial partitions, we selected a value which had consistently low versatility across local perturbations in resolution parameter. The anatomical map of versatility (averaged across resolution parameters) is shown in Fig 4a. Fig 4d shows the topology of the network, and demonstrates that there are versatile nodes in all communities; versatility is not concentrated in a few communities. the versatile nodes do not cluster around any individual communities.
This network was previously found (rubinov2015, ) to have a hierarchical community structure, such that a few large functionally specialised communities were subdivided into smaller subcommunities as the resolution parameter of the Louvain community detection algorithm was incrementally increased. This means that small, finescale modules were associated with larger, coarsegrained modules. For example, at fine scales (with higher resolution parameters), the auditory and visual modules were separate, but at higher scales (with a lower resolution parameter) they combined to form the audiovisual module. Most nodes were consistently affiliated to the same community, or one of its offspring subcommunities, over the spectrum of resolution parameters. However, a subset of nodes which also tended to have high participation coefficient (giving them their namesake hipar nodes) were inconsistently affiliated to (sub)communities in this hierarchy.
Due to the similarity between the criteria for hipar nodes and the definition of versatility, we hypothesised that the hipar nodes would have a higher versatility than the nonhi par nodes. As shown in Fig 4f, versatility is significantly higher for hipar nodes than it is for non–hipar nodes; in other words, nodes with high versatility do not fit well into the community hierarchy. This includes nodes in the diencephalon, prefrontal cortex, and basal ganglia; see Fig S3 and Table S1 for details.
4 Discussion
In a world where community structure is not as black and white as it promises to be, more information than a discrete partition is needed. Community detection algorithms struggle to find a set of nonoverlapping communities that adequately represent the community affiliations of the nodes in the network. Furthermore, it is not even clear epistemologically that there is a reasonable underlying community structure to any given network; at the extreme end, there is certainly no community structure to an Erdős–Rényi random network, though many algorithms will still yield communities. This is problematic when some of the analyses performed on networks depend highly on the community affiliation of a node, such as the dynamic community structure metrics (bassett2011, ; mattar2015, ). This complicates analysis, especially when the change in a node’s community affiliation is the variable of interest.
Rather than seeing this stochasticity as a disadvantage, we can use it to extract previously discarded information about which nodes are not closely affiliated with any communities. To this end, we developed a measure called versatility which satisfies a set of desirable theoretical properties. We explored how versatility can be used to choose a resolution parameter for a community detection algorithm based on how much each parameter reduces the ambiguity of the community structure. Finally, we examined the versatility of nodes in two networks: the karate club network, and the mouse brain connectome. The karate club network and the mouse brain connectome were both consistent with previous work describing the nodes that do not fit well into any of the modular communities.
Versatility has two core applications for which it is useful. First when used in conjunction with a particular community structure, it is useful as a posthoc method to capture the information about the reliability of community assignment. In this sense, versatility can be seen as a description of the interaction between the algorithm and the network. When using versatility in this way, it is generally desirable to match the algorithm (and the resolution parameter, if applicable) to the network being analysed so that it is possible to determine the reliability with which the information on partition assignment can be interpreted. Second, it is useful in its own right, as a way of finding nodes that do not fit very well with any community. In many cases, these nodes are the most interesting because their interactions are not representative of the community to which they belong, and no community is a good predictor of their interactions. The interpretation of versatility in this case is highly dependent on the particular network.
Unlike most communitybased methods, versatility is not limited to communities defined by strong intramodular connections and weak intermodular connections. For example, previous authors (arenas2008, ; benson2016, ) have defined communities based on the similarity between motif profiles. Under these definitions, it is possible for a community to have no intracommunity edges. In abstract community definitions, versatility works identically without modification.
Participation coefficient and versatility share superficial similarities but are conceptually very different. Participation coefficient is highly dependent on the particular partition specified by the community detection algorithm, and can often give unintuitive results. This is because participation coefficient relies on the assumptions that “true” underlying communities exist, and that they can be detected by the algorithm. If either of these conditions doesn’t hold, the participation coefficient is difficult to interpret. Participation coefficient was designed for a different purpose—detecting which nodes are important for intercommunity communication and linkage—and is able to find intercommunity hubs and distinguish them from intracommunity hubs (guimera2005, ). However, it is not successful in uncovering the certainty with which each node can be assigned to a community.
In the words of Kuhn (kuhn1964, ), “The decision to employ a particular piece of apparatus and to use it in a particular way carries an assumption that only certain sorts of circumstances will arise.” Because we have access to algorithms that will separate a network into communities, it is easy to assume that the communities found using these algorithms are “the true underlying communities” and that these communities should be taken as truth in the further analysis of the network. But of course, as we have seen, some assignments may have more truth to them than others.
Appendix A Acknowledgements
M.S. was supported by the Winston Churchill Foundation of the United States. J.S. was supported by the NIH OxfordCambridge Scholars Program. F.V. was supported by the Gates Cambridge Trust. Thank you to Rolf J.F. Ypma for for assistance with the mouse connectome. Computing support was provided by the NIHR Cambridge Biomedical Research Centre.
Appendix B Author contributions statement
All authors conceived the experiments, M.S. conducted the experiments and analysed the results, M.S. and E.B. wrote the paper, all authors reviewed the manuscript.
Appendix C Financial disclosure
E.B. is employed halftime by the University of Cambridge and halftime by GlaxoSmithKline (GSK); he holds stock in GSK.
References
 Xie, J., Kelley, S. & Szymanski, B. K. Overlapping Community Detection in Networks: The Stateoftheart and Comparative Study. ACM Comput. Surv. 45, 43:1–43:35 (2013).
 Betzel, R. F. et al. Functional brain modules reconfigure at multiple scales across the human lifespan. arXiv:1510.08045 [qbio] (2015). 1510.08045.
 Lancichinetti, A. & Fortunato, S. Consensus clustering in complex networks. Scientific Reports 2 (2012).
 Goder, A. & Filkov, V. Consensus Clustering Algorithms: Comparison and Refinement. In 2008 Proceedings of the Tenth Workshop on Algorithm Engineering and Experiments (ALENEX), Proceedings, 109–117 (Society for Industrial and Applied Mathematics, 2008).
 Blondel, V. D., Guillaume, J.L., Lambiotte, R. & Lefebvre, E. Fast unfolding of communities in large networks. J. Stat. Mech. 2008, P10008 (2008).
 Newman, M. E. J. & Girvan, M. Finding and evaluating community structure in networks. Phys. Rev. E 69, 026113 (2004).
 Guimerà, R. & Nunes Amaral, L. A. Functional cartography of complex metabolic networks. Nature 433, 895–900 (2005).
 Shannon, C. The bandwagon (Edtl.). IRE Transactions on Information Theory 2, 3–3 (1956).
 Reichardt, J. & Bornholdt, S. Statistical mechanics of community detection. Phys. Rev. E 74, 016110 (2006).
 Newman, M. E. J. Community detection in networks: Modularity optimization and maximum likelihood are equivalent. arXiv:1606.02319 [physics] (2016). 1606.02319.
 Condon, A. & Karp, R. M. Algorithms for Graph Partitioning on the Planted Partition Model. Random Struct. Algorithms 18, 116–140 (2001).
 Bullmore, E. & Sporns, O. Complex brain networks: Graph theoretical analysis of structural and functional systems. Nat. Rev. Neurosci. 10, 186–198 (2009).
 Zachary, W. W. An Information Flow Model for Conflict and Fission in Small Groups. Journal of Anthropological Research 33, 452–473 (1977).
 Newman, M. E. J. Finding community structure in networks using the eigenvectors of matrices. Phys. Rev. E 74, 036104 (2006).
 Towlson, E. K., Vértes, P. E., Ahnert, S. E., Schafer, W. R. & Bullmore, E. T. The rich club of the C. elegans neuronal connectome. J. Neurosci. 33, 6380–6387 (2013).
 Lynall, M.E. et al. Functional connectivity and brain networks in schizophrenia. J. Neurosci. 30, 9477–9487 (2010).
 Fodor, J. A. The Modularity of Mind: An Essay on Faculty Psychology (MIT Press, 1983). GoogleBooksID: e7nrSeibJZYC.
 Chen, Z. J., He, Y., RosaNeto, P., Germann, J. & Evans, A. C. Revealing Modular Architecture of Human Brain Structural Networks by Using Cortical Thickness from MRI. Cereb Cortex 18, 2374–2381 (2008).
 Sporns, O. & Betzel, R. F. Modular Brain Networks. Annu Rev Psychol 67, 613–640 (2016).
 Oh, S. W. et al. A mesoscale connectome of the mouse brain. Nature 508, 207–214 (2014).
 Rubinov, M., Ypma, R. J. F., Watson, C. & Bullmore, E. T. Wiring cost and topological participation of the mouse brain connectome. PNAS 112, 10032–10037 (2015).
 Bassett, D. S. et al. Dynamic reconfiguration of human brain networks during learning. PNAS 108, 7641–7646 (2011).
 Mattar, M. G., Cole, M. W., ThompsonSchill, S. L. & Bassett, D. S. A Functional Cartography of Cognitive Systems. PLOS Comput Biol 11, e1004533 (2015).
 Arenas, A., Fernández, A., Fortunato, S. & Gómez, S. Motifbased communities in complex networks. J. Phys. A: Math. Theor. 41, 224001 (2008).
 Benson, A. R., Gleich, D. F. & Leskovec, J. Higherorder organization of complex networks. Science 353, 163–166 (2016).
 Kuhn, T. S. The Structure of Scientific Revolutions (University of Chicago Press, Chicago, 1964). OCLC: 1064256.