Clique percolation method
The clique percolation method[1] is a popular approach for analyzing the overlapping community structure of networks. The term network community (also called a module, cluster or cohesive group) has no widely accepted unique definition and it is usually defined as a group of nodes that are more densely connected to each other than to other nodes in the network. There are numerous alternative methods for detecting communities in networks,[2] for example, the Girvan–Newman algorithm, hierarchical clustering and modularity maximization.
Definitions
Clique Percolation Method (CPM)
The clique percolation method builds up the communities from k-cliques, which correspond to complete (fully connected) sub-graphs of k nodes. (E.g., a k-clique at k = 3 is equivalent to a triangle). Two k-cliques are considered adjacent if they share k − 1 nodes. A community is defined as the maximal union of k-cliques that can be reached from each other through a series of adjacent k-cliques. Such communities can be best interpreted with the help of a k-clique template (an object isomorphic to a complete graph of k nodes). Such a template can be placed onto any k-clique in the graph, and rolled to an adjacent k-clique by relocating one of its nodes and keeping its other k − 1 nodes fixed. Thus, the k-clique communities of a network are all those sub-graphs that can be fully explored by rolling a k-clique template in them, but cannot be left by this template.
This definition allows overlaps between the communities in a natural way, as illustrated in Fig.1, showing four k-clique communities at k = 4. The communities are color-coded and the overlap between them is emphasized in red. The definition above is also local: if a certain sub-graph fulfills the criteria to be considered as a community, then it will remain a community independent of what happens to another part of the network far away. In contrast, when searching for the communities by optimizing with respect to a global quantity, a change far away in the network can reshape the communities in the unperturbed regions as well. Furthermore, it has been shown that global methods can suffer from a resolution limit problem,[3] where the size of the smallest community that can be extracted is dependent on the system size. A local community definition such as here circumvents this problem automatically.
Since even small networks can contain a vast number of k-cliques, the implementation of this approach is based on locating the maximal cliques rather than the individual k-cliques.[1] Thus, the complexity of this approach in practice is equivalent to that of the NP-complete maximal clique finding, (in spite that finding k-cliques is polynomial). This means that although networks with few million nodes have already been analyzed successfully with this approach,[4] no prior estimate can be given for the runtime of the algorithm based simply on the system size.
-
Fig.1. Illustration of the k-clique communities at k = 4.
Directed Clique Percolation Method (CPMd)
On a network with directed links a directed k-clique is a complete subgraph with k nodes fulfilling the following condition. The k nodes can be ordered such that between an arbitrary pair of them there exists a directed link pointing from the node with the higher rank towards the node with the lower rank. The directed Clique Percolation Method defines directed network communities as the percolation clusters of directed k-cliques.
Weighted Clique Percolation Method (CPMw)
On a network with weighted links a weighted k-clique is a complete subgraph with k nodes such that the geometric mean of the k (k - 1) / 2 link weights within the k-clique is greater than a selected threshold value, I. The weighted Clique Percolation Method defines weighted network communities as the percolation clusters of weighted k-cliques. Note that the geometric mean of link weights within a subgraph is called the intensity of that subgraph.[5]
Clique Graph Generalizations
Clique percolation methods may be generalized by recording different amounts of overlap between the various k-cliques. This then defines a new type of graph, a clique graph,[6] where each k-clique in the original graph is represented by a vertex in the new clique graph. The edges in the clique graph are used to record the strength of the overlap of cliques in the original graph. One may then apply any community detection method to this clique graph to identify the clusters in the original graph through the k-clique structure.
For instance in a simple graph, we can define the overlap between two k-cliques to be the number of vertices common to both k-cliques. The Clique Percolation Method is then equivalent to thresholding this clique graph, dropping all edges of weight less than (k-1), with the remaining connected components forming the communities of cliques found in CPM. For k=2 the cliques are the edges of the original graph and the clique graph in this case is the line graph of the original network.
In practice, using the number of common vertices as a measure of the strength of clique overlap may give poor results as large cliques in the original graph, those with many more than k vertices, will dominate the clique graph. The problem arises because if a vertex is in n different k-cliques it will contribute to n(n-1)/2 edges in such a clique graph. A simple solution is to let each vertex common to two overlapping kcliques to contribute a weight equal to 1/n when measuring the overlap strength of the two k-cliques.
In general the clique graph viewpoint is a useful way of finding generalizations of standard clique-percolation methods to get any round problems encountered. It even shows how to describe extensions of these methods based on other motifs, subgraphs other than kcliques. In this case a clique graph is best thought of a particular example of a hypergraph.
Percolation transition in the CPM
The Erdős–Rényi model shows a series of interesting transitions when the probability p of two nodes being connected is increased. For each k one can find a certain threshold probability pc above which the k-cliques organize into a giant community.[7][8] (The size of the giant community is comparable to the system size, in other words the giant community occupies a finite part of the system even in the thermodynamic limit.) This transition is analogous to the percolation transition in statistical physics. A similar phenomenon can be observed in many real networks as well: if k is large, only the most densely linked parts are accepted as communities, thus, they usually remain small and dispersed. When k is lowered, both the number and the size of the communities start to grow. However, in most cases a critical k value can be reached, below which a giant community emerges, smearing out the details of the community structure by merging (and making invisible) many smaller communities.
Applications
The clique percolation method had been used to detect communities from the studies of cancer metastasis[9][10] through various social networks[4][11][12][13][14] to document clustering[15] and economical networks.[16]
Algorithms and Software
There are a number of implementations of clique percolation. The clique percolation method was first implemented and popularized by CFinder [1] (freeware for non-commercial use) software for detecting and visualizing overlapping communities in networks. The program enables customizable visualization and allows easy strolling over the found communities. The package contains a command line version of the program as well, which is suitable for scripting.
A faster implementation (available under the GPL) has been implemented by another group.[17] Another example, which is also very fast in certain contexts, is the SCP algorithm.[18]
Parallel Algorithms
A parallel version of the clique percolation method was designed and developed by S. Mainardi et al..[19] By exploiting today's multi-core/multi-processor computing architectures, the method enables the extraction of k-clique communities from very large networks such as the Internet.[20] The authors released the source code of the method under the GPL and made it freely available for the community.
See also
- Social network
- Community structure
- Survey Article Communities in Networks
- Review Article Community detection in graphs
- Bibliography of community structure links
References
- ^ a b Uncovering the overlapping community structure of complex networks in nature and society G. Palla, I. Derényi, I. Farkas, and T. Vicsek: Nature 435, 814–818 (2005)
- ^ Community detection in graphs by S. Fortunato, Physics Reports 486, 75-174 (2010)
- ^ Resolution limit in community detection S. Fortunato and M. Barthelemy: Proc. Natl. Acad. Sci. USA 104 (1), 36–41 (2007)
- ^ a b Quantifying social group evolution G. Palla, A.-L. Barabási and T. Vicsek: Nature 446, 664–667(2007)
- ^ Intensity and coherence of motifs in weighted complex networks J.-P. Onnela, J. Saramäki, J. Kertész, and K. Kaski: Phys. Rev. E 71, 065103 (2005)
- ^ Clique Graphs and Overlapping Communities T.S. Evans: J. Stat. Mech. P12037 (2010) doi:10.1088/1742-5468/2010/12/P12037
- ^ Clique percolation in random networks I. Derényi, G. Palla, and T. Vicsek: Phys. Rev. Lett. 94, 160202 (2005)
- ^ The critical point of k-clique percolation in the Erdos–Renyi graph G. Palla, I. Derényi, and T. Vicsek: J. Stat. Phys. 128, 219–227 (2007)
- ^ Global topological features of cancer proteins in the human interactome P.F. Jonsson and P.A. Bates: Bioinformatics 22(18):2291–2297 (2006)
- ^ Cluster analysis of networks generated through homology: automatic identification of important protein communities involved in cancer metastasis P.F. Jonsson, T. Cavanna, D. Zicha and P. A. Bates: BMC Bioinformatics 7, 2 (2006)
- ^ A system of mobile agents to model social networks M.C. Gonzalez, P.G. Lind and H.J. Herrmann: Phys. Rev. Lett. 96, 088702 (2006)
- ^ Emergence of communities in weighted networks J.M. Kumpula, J.-P. Onnela, J. Saramaki, K. Kaski and J. Kertész: Phys. Rev. Lett. 99, 228701 (2007)
- ^ A Model for Social Networks R. Toivonen, J.-P. Onnela, J. Saramäki, J. Hyvönen and K. Kaski: Physica A-Statistical Mechanics and its Applications 370, 851–860 (2006)
- ^ Community structure and ethnic preferences in school friendship networks M. C. Gonzalez, H. J. Herrmann, J. Kertesz and T. Vicsek: Physica A-Statistical Mechenics and its Applications 379, 307–316 (2007)
- ^ Natural Document Clustering by Clique Percolation in Random Graphs W. Gao and K.-F. Wong: Lect. Notes in Comp. Sci. 4182, 119–131, (2006)
- ^ Spectral and network methods in the analysis of correlation matrices of stock returns T. Heimo, J. Saramaki, J.-P. Onnela and K. Kaski: Physica A-Statistical Mechenics and its Applications 383, 147–151 (2007)
- ^ Percolation Computation in Complex Networks Fergal Reid, Aaron McDaid, Neil Hurley: ASONAM 2012, (2012)
- ^ Sequential algorithm for fast clique percolation Jussi M. Kumpula, Mikko Kivelä, Kimmo Kaski, and Jari Saramäki: Phys. Rev. E 78, 026109 (2008) (2008)
- ^ Parallel k-Clique Community Detection on Large-Scale Networks Enrico Gregori, Luciano Lenzini and Simone Mainardi: IEEE Transactions on Parallel and Distributed Systems, 31 Aug. 2012.
- ^ k-clique Communities in the Internet AS-level Topology Graph Enrico Gregori, Luciano Lenzini and Chiara Orsini: International Conference on Distributed Computing Systems Workshops (ICDCSW), 2011.