Clique Percolation Method
   HOME

TheInfoList



OR:

The clique percolation method is a popular approach for analyzing the overlapping
community structure In the study of complex networks, a network is said to have community structure if the nodes of the network can be easily grouped into (potentially overlapping) sets of nodes such that each set of nodes is densely connected internally. In the part ...
of
networks Network, networking and networked may refer to: Science and technology * Network theory, the study of graphs as a representation of relations between discrete objects * Network science, an academic field that studies complex networks Mathematics ...
. 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, for example, the
Girvan–Newman algorithm The Girvan–Newman algorithm (named after Michelle Girvan and Mark Newman) is a hierarchical method used to detect communities in complex systems.Girvan M. and Newman M. E. J.Community structure in social and biological networks Proc. Natl. Acad. ...
,
hierarchical clustering In data mining and statistics, hierarchical clustering (also called hierarchical cluster analysis or HCA) is a method of cluster analysis that seeks to build a hierarchy of clusters. Strategies for hierarchical clustering generally fall into ...
and
modularity Broadly speaking, modularity is the degree to which a system's components may be separated and recombined, often with the benefit of flexibility and variety in use. The concept of modularity is used primarily to reduce complexity by breaking a sy ...
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, 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 ''all'' maximal cliques rather than the individual ''k''-cliques. This inevitably requires finding the graph's ''maximum'' clique, which is an
NP-hard In computational complexity theory, NP-hardness ( non-deterministic polynomial-time hardness) is the defining property of a class of problems that are informally "at least as hard as the hardest problems in NP". A simple example of an NP-hard pr ...
problem. (We emphasize to the reader that finding a maximum clique is much harder than finding a single maximal clique.) This means that although networks with few million nodes have already been analyzed successfully with this approach, the worst case runtime complexity is exponential in the number of nodes. Image:Illustration_of_overlapping_communities.svg, 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 In mathematics, the geometric mean is a mean or average which indicates a central tendency of a set of numbers by using the product of their values (as opposed to the arithmetic mean which uses their sum). The geometric mean is defined as the ...
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.


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, 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 In the mathematical discipline of graph theory, the line graph of an undirected graph is another graph that represents the adjacencies between edges of . is constructed in the following way: for each edge in , make a vertex in ; for every ...
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 ''k''cliques 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 around any problems encountered. It even shows how to describe extensions of these methods based on other motifs, subgraphs other than ''k''-cliques. In this case a clique graph is best thought of a particular example of a
hypergraph In mathematics, a hypergraph is a generalization of a graph in which an edge can join any number of vertices. In contrast, in an ordinary graph, an edge connects exactly two vertices. Formally, an undirected hypergraph H is a pair H = (X,E) wh ...
.


Percolation transition in the CPM

The
Erdős–Rényi model In the mathematical field of graph theory, the Erdős–Rényi model is either of two closely related models for generating random graphs or the evolution of a random network. They are named after Hungarian mathematicians Paul Erdős and Alfrà ...
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 ''p''c above which the ''k''-cliques organize into a giant community.(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 Statistical physics is a branch of physics that evolved from a foundation of statistical mechanics, which uses methods of probability theory and statistics, and particularly the Mathematics, mathematical tools for dealing with large populations ...
. 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 Metastasis is a pathogenic agent's spread from an initial or primary site to a different or secondary site within the host's body; the term is typically used when referring to metastasis by a cancerous tumor. The newly pathological sites, then, ...
through various
social network A social network is a social structure made up of a set of social actors (such as individuals or organizations), sets of dyadic ties, and other social interactions between actors. The social network perspective provides a set of methods for an ...
s to document clustering and economical networks.


Algorithms and software

There are a number of implementations of clique percolation. The clique percolation method was first implemented and popularized by CFinde

(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. Another example, which is also very fast in certain contexts, is the SCP algorithm.


Parallel algorithms

A parallel version of the clique percolation method was designed and developed by S. Mainardi ''et al.''. 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. The authors released the source code of the method under the GPL and made i
freely available
for the community.


See also

*
Social network A social network is a social structure made up of a set of social actors (such as individuals or organizations), sets of dyadic ties, and other social interactions between actors. The social network perspective provides a set of methods for an ...
*
Community structure In the study of complex networks, a network is said to have community structure if the nodes of the network can be easily grouped into (potentially overlapping) sets of nodes such that each set of nodes is densely connected internally. In the part ...

Survey Article ''Communities in Networks''
* {{cite journal , arxiv=0906.0612 , doi=10.1016/j.physrep.2009.11.002 , volume=486 , issue=3–5 , title=Community detection in graphs , year=2010 , journal=Physics Reports , pages=75–174 , last1 = Fortunato , first1 = Santo, bibcode=2010PhR...486...75F , s2cid=10211629


References

Networks Graph algorithms Network analysis