Recent from talks
Nothing was collected or created yet.
Clique (graph theory)
View on Wikipedia
- 23 × 1-vertex cliques (the vertices),
- 42 × 2-vertex cliques (the edges),
- 19 × 3-vertex cliques (light and dark blue triangles), and
- 2 × 4-vertex cliques (dark blue areas).
In graph theory, a clique (/ˈkliːk/ or /ˈklɪk/) is a subset of vertices of an undirected graph such that every two distinct vertices in the clique are adjacent. That is, a clique of a graph is an induced subgraph of that is complete. Cliques are one of the basic concepts of graph theory and are used in many other mathematical problems and constructions on graphs. Cliques have also been studied in computer science: the task of finding whether there is a clique of a given size in a graph (the clique problem) is NP-complete, but despite this hardness result, many algorithms for finding cliques have been studied.
Although the study of complete subgraphs goes back at least to the graph-theoretic reformulation of Ramsey theory by Erdős & Szekeres (1935),[1] the term clique comes from Luce & Perry (1949), who used complete subgraphs in social networks to model cliques of people; that is, groups of people all of whom know each other. Cliques have many other applications in the sciences and particularly in bioinformatics.
Definitions
[edit]A clique, C, in an undirected graph G = (V, E) is a subset of the vertices, C ⊆ V, such that every two distinct vertices are adjacent. This is equivalent to the condition that the induced subgraph of G induced by C is a complete graph. In some cases, the term clique may also refer to the subgraph directly.
A maximal clique is a clique that is not a subset of any larger clique. Some authors define cliques in a way that requires them to be maximal, and use other terminology for complete subgraphs that are not maximal.
A maximum clique of a graph, G, is a clique, such that there is no clique with more vertices. Moreover, the clique number ω(G) of a graph G is the number of vertices in a maximum clique in G.
The intersection number of G is the smallest number of cliques that together cover all edges of G.
The clique cover number of a graph G is the smallest number of cliques of G whose union covers the set of vertices V of the graph.
A maximum clique transversal of a graph is a subset of vertices with the property that each maximum clique of the graph contains at least one vertex in the subset.[2]
The opposite of a clique is an independent set, in the sense that every clique corresponds to an independent set in the complement graph. The clique cover problem concerns finding as few cliques as possible that include every vertex in the graph.
A related concept is a biclique, a complete bipartite subgraph. The bipartite dimension of a graph is the minimum number of bicliques needed to cover all the edges of the graph.
Mathematics
[edit]Mathematical results concerning cliques include the following.
- Turán's theorem gives a lower bound on the size of a clique in dense graphs.[3] If a graph has sufficiently many edges, it must contain a large clique. For instance, every graph with vertices and more than edges must contain a three-vertex clique.
- Ramsey's theorem states that every graph or its complement graph contains a clique with at least a logarithmic number of vertices.[4]
- According to a result of Moon & Moser (1965), a graph with 3n vertices can have at most 3n maximal cliques. The graphs meeting this bound are the Moon–Moser graphs K3,3,..., a special case of the Turán graphs arising as the extremal cases in Turán's theorem.
- Hadwiger's conjecture, still unproven, relates the size of the largest clique minor in a graph (its Hadwiger number) to its chromatic number.
- The Erdős–Faber–Lovász conjecture relates graph coloring to cliques.
- The Erdős–Hajnal conjecture states that families of graphs defined by forbidden graph characterization have either large cliques or large cocliques.
Several important classes of graphs may be defined or characterized by their cliques:
- A cluster graph is a graph whose connected components are cliques.
- A block graph is a graph whose biconnected components are cliques.
- A chordal graph is a graph whose vertices can be ordered into a perfect elimination ordering, an ordering such that the neighbors of each vertex v that come later than v in the ordering form a clique.
- A cograph is a graph all of whose induced subgraphs have the property that any maximal clique intersects any maximal independent set in a single vertex.
- An interval graph is a graph whose maximal cliques can be ordered in such a way that, for each vertex v, the cliques containing v are consecutive in the ordering.
- A line graph is a graph whose edges can be covered by edge-disjoint cliques in such a way that each vertex belongs to exactly two of the cliques in the cover.
- A perfect graph is a graph in which the clique number equals the chromatic number in every induced subgraph.
- A split graph is a graph in which some clique contains at least one endpoint of every edge.
- A triangle-free graph is a graph that has no cliques other than its vertices and edges.
Additionally, many other mathematical constructions involve cliques in graphs. Among them,
- The clique complex of a graph G is an abstract simplicial complex X(G) with a simplex for every clique in G
- A simplex graph is an undirected graph κ(G) with a vertex for every clique in a graph G and an edge connecting two cliques that differ by a single vertex. It is an example of median graph, and is associated with a median algebra on the cliques of a graph: the median m(A,B,C) of three cliques A, B, and C is the clique whose vertices belong to at least two of the cliques A, B, and C.[5]
- The clique-sum is a method for combining two graphs by merging them along a shared clique.
- Clique-width is a notion of the complexity of a graph in terms of the minimum number of distinct vertex labels needed to build up the graph from disjoint unions, relabeling operations, and operations that connect all pairs of vertices with given labels. The graphs with clique-width one are exactly the disjoint unions of cliques.
- The intersection number of a graph is the minimum number of cliques needed to cover all the graph's edges.
- The clique graph of a graph is the intersection graph of its maximal cliques.
Closely related concepts to complete subgraphs are subdivisions of complete graphs and complete graph minors. In particular, Kuratowski's theorem and Wagner's theorem characterize planar graphs by forbidden complete and complete bipartite subdivisions and minors, respectively.
Computer science
[edit]In computer science, the clique problem is the computational problem of finding a maximum clique, or all cliques, in a given graph. It is NP-complete, one of Karp's 21 NP-complete problems.[6] It is also fixed-parameter intractable, and hard to approximate. Nevertheless, many algorithms for computing cliques have been developed, either running in exponential time (such as the Bron–Kerbosch algorithm) or specialized to graph families such as planar graphs or perfect graphs for which the problem can be solved in polynomial time.
Applications
[edit]The word "clique", in its graph-theoretic usage, arose from the work of Luce & Perry (1949), who used complete subgraphs to model cliques (groups of people who all know each other) in social networks. The same definition was used by Festinger (1949) in an article using less technical terms. Both works deal with uncovering cliques in a social network using matrices. For continued efforts to model social cliques graph-theoretically, see e.g. Alba (1973), Peay (1974), and Doreian & Woodard (1994).
Many different problems from bioinformatics have been modeled using cliques. For instance, Ben-Dor, Shamir & Yakhini (1999) model the problem of clustering gene expression data as one of finding the minimum number of changes needed to transform a graph describing the data into a graph formed as the disjoint union of cliques; Tanay, Sharan & Shamir (2002) discuss a similar biclustering problem for expression data in which the clusters are required to be cliques. Sugihara (1984) uses cliques to model ecological niches in food webs. Day & Sankoff (1986) describe the problem of inferring evolutionary trees as one of finding maximum cliques in a graph that has as its vertices characteristics of the species, where two vertices share an edge if there exists a perfect phylogeny combining those two characters. Samudrala & Moult (1998) model protein structure prediction as a problem of finding cliques in a graph whose vertices represent positions of subunits of the protein. And by searching for cliques in a protein–protein interaction network, Spirin & Mirny (2003) found clusters of proteins that interact closely with each other and have few interactions with proteins outside the cluster. Power graph analysis is a method for simplifying complex biological networks by finding cliques and related structures in these networks.
In electrical engineering, Prihar (1956) uses cliques to analyze communications networks, and Paull & Unger (1959) use them to design efficient circuits for computing partially specified Boolean functions. Cliques have also been used in automatic test pattern generation: a large clique in an incompatibility graph of possible faults provides a lower bound on the size of a test set.[7] Cong & Smith (1993) describe an application of cliques in finding a hierarchical partition of an electronic circuit into smaller subunits.
In chemistry, Rhodes et al. (2003) use cliques to describe chemicals in a chemical database that have a high degree of similarity with a target structure. Kuhl, Crippen & Friesen (1983) use cliques to model the positions in which two chemicals will bind to each other.
See also
[edit]Notes
[edit]- ^ The earlier work by Kuratowski (1930) characterizing planar graphs by forbidden complete and complete bipartite subgraphs was originally phrased in topological rather than graph-theoretic terms.
- ^ Chang, Kloks & Lee (2001).
- ^ Turán (1941).
- ^ Graham, Rothschild & Spencer (1990).
- ^ Barthélemy, Leclerc & Monjardet (1986), page 200.
- ^ Karp (1972).
- ^ Hamzaoglu & Patel (1998).
References
[edit]- Alba, Richard D. (1973), "A graph-theoretic definition of a sociometric clique" (PDF), Journal of Mathematical Sociology, 3 (1): 113–126, doi:10.1080/0022250X.1973.9989826, archived (PDF) from the original on 2011-05-03, retrieved 2009-12-14.
- Barthélemy, J.-P.; Leclerc, B.; Monjardet, B. (1986), "On the use of ordered sets in problems of comparison and consensus of classifications", Journal of Classification, 3 (2): 187–224, doi:10.1007/BF01894188, S2CID 6092438.
- Ben-Dor, Amir; Shamir, Ron; Yakhini, Zohar (1999), "Clustering gene expression patterns.", Journal of Computational Biology, 6 (3–4): 281–297, CiteSeerX 10.1.1.34.5341, doi:10.1089/106652799318274, PMID 10582567.
- Chang, Maw-Shang; Kloks, Ton; Lee, Chuan-Min (2001), "Maximum clique transversals", Graph-theoretic concepts in computer science (Boltenhagen, 2001), Lecture Notes in Comput. Sci., vol. 2204, Springer, Berlin, pp. 32–43, doi:10.1007/3-540-45477-2_5, ISBN 978-3-540-42707-0, MR 1905299.
- Cong, J.; Smith, M. (1993), "A parallel bottom-up clustering algorithm with applications to circuit partitioning in VLSI design", Proc. 30th International Design Automation Conference, pp. 755–760, CiteSeerX 10.1.1.32.735, doi:10.1145/157485.165119, ISBN 978-0897915779, S2CID 525253.
- Day, William H. E.; Sankoff, David (1986), "Computational complexity of inferring phylogenies by compatibility", Systematic Zoology, 35 (2): 224–229, doi:10.2307/2413432, JSTOR 2413432.
- Doreian, Patrick; Woodard, Katherine L. (1994), "Defining and locating cores and boundaries of social networks", Social Networks, 16 (4): 267–293, doi:10.1016/0378-8733(94)90013-2.
- Erdős, Paul; Szekeres, George (1935), "A combinatorial problem in geometry" (PDF), Compositio Mathematica, 2: 463–470, archived (PDF) from the original on 2020-05-22, retrieved 2009-12-19.
- Festinger, Leon (1949), "The analysis of sociograms using matrix algebra", Human Relations, 2 (2): 153–158, doi:10.1177/001872674900200205, S2CID 143609308.
- Graham, R.; Rothschild, B.; Spencer, J. H. (1990), Ramsey Theory, New York: John Wiley and Sons, ISBN 978-0-471-50046-9.
- Hamzaoglu, I.; Patel, J. H. (1998), "Test set compaction algorithms for combinational circuits", Proc. 1998 IEEE/ACM International Conference on Computer-Aided Design, pp. 283–289, doi:10.1145/288548.288615, ISBN 978-1581130089, S2CID 12258606.
- Karp, Richard M. (1972), "Reducibility among combinatorial problems", in Miller, R. E.; Thatcher, J. W. (eds.), Complexity of Computer Computations (PDF), New York: Plenum, pp. 85–103, archived from the original (PDF) on 2011-06-29, retrieved 2009-12-13
{{citation}}: CS1 maint: publisher location (link). - Kuhl, F. S.; Crippen, G. M.; Friesen, D. K. (1983), "A combinatorial algorithm for calculating ligand binding", Journal of Computational Chemistry, 5 (1): 24–34, doi:10.1002/jcc.540050105, S2CID 122923018.
- Kuratowski, Kazimierz (1930), "Sur le problème des courbes gauches en Topologie" (PDF), Fundamenta Mathematicae (in French), 15: 271–283, doi:10.4064/fm-15-1-271-283, archived (PDF) from the original on 2018-07-23, retrieved 2009-12-19.
- Luce, R. Duncan; Perry, Albert D. (1949), "A method of matrix analysis of group structure", Psychometrika, 14 (2): 95–116, doi:10.1007/BF02289146, hdl:10.1007/BF02289146, PMID 18152948, S2CID 16186758.
- Moon, J. W.; Moser, L. (1965), "On cliques in graphs", Israel Journal of Mathematics, 3: 23–28, doi:10.1007/BF02760024, MR 0182577.
- Paull, M. C.; Unger, S. H. (1959), "Minimizing the number of states in incompletely specified sequential switching functions", IRE Transactions on Electronic Computers, EC-8 (3): 356–367, doi:10.1109/TEC.1959.5222697.
- Peay, Edmund R. (1974), "Hierarchical clique structures", Sociometry, 37 (1): 54–65, doi:10.2307/2786466, JSTOR 2786466.
- Prihar, Z. (1956), "Topological properties of telecommunications networks", Proceedings of the IRE, 44 (7): 927–933, doi:10.1109/JRPROC.1956.275149, S2CID 51654879.
- Rhodes, Nicholas; Willett, Peter; Calvet, Alain; Dunbar, James B.; Humblet, Christine (2003), "CLIP: similarity searching of 3D databases using clique detection", Journal of Chemical Information and Computer Sciences, 43 (2): 443–448, doi:10.1021/ci025605o, PMID 12653507.
- Samudrala, Ram; Moult, John (1998), "A graph-theoretic algorithm for comparative modeling of protein structure", Journal of Molecular Biology, 279 (1): 287–302, CiteSeerX 10.1.1.64.8918, doi:10.1006/jmbi.1998.1689, PMID 9636717.
- Spirin, Victor; Mirny, Leonid A. (2003), "Protein complexes and functional modules in molecular networks", Proceedings of the National Academy of Sciences, 100 (21): 12123–12128, Bibcode:2003PNAS..10012123S, doi:10.1073/pnas.2032324100, PMC 218723, PMID 14517352.
- Sugihara, George (1984), "Graph theory, homology and food webs", in Levin, Simon A. (ed.), Population Biology, Proc. Symp. Appl. Math., vol. 30, pp. 83–101.
- Tanay, Amos; Sharan, Roded; Shamir, Ron (2002), "Discovering statistically significant biclusters in gene expression data", Bioinformatics, 18 (Suppl. 1): S136 – S144, doi:10.1093/bioinformatics/18.suppl_1.S136, PMID 12169541.
- Turán, Paul (1941), "On an extremal problem in graph theory", Matematikai és Fizikai Lapok (in Hungarian), 48: 436–452
External links
[edit]Clique (graph theory)
View on GrokipediaFundamentals
Definition
In graph theory, the term "clique" originates from the 1949 work of Luce and Perry, who applied complete subgraphs to model tightly knit groups in social networks represented as graphs.[7] A clique in an undirected simple graph is a subset of vertices such that every pair of distinct vertices in is connected by an edge in .[1] Equivalently, the induced subgraph on the vertex set is a complete graph, meaning it contains all possible edges between vertices in .[1] A clique of size (i.e., with ) is called an -clique, and the complete graph on vertices, denoted , provides the standard isomorphic form for such a structure. This definition emphasizes the induced nature of the clique, as the subgraph must include exactly the edges present in between the vertices in , with no missing edges within but potentially ignoring edges outside . In contrast, cliques differ from related structures like independent sets; specifically, in the complement graph (where edges exist between non-adjacent vertices of ), a clique in corresponds precisely to an independent set in , and vice versa.[2]Examples
A basic example of a clique is the complete graph , which consists of two vertices connected by an edge; this forms the smallest non-trivial clique. In a path graph with , such as a chain of vertices connected sequentially, each individual edge induces a clique, but no larger cliques exist due to the absence of additional edges between non-consecutive vertices.[8] A prominent example is the triangle, denoted , where three vertices are pairwise adjacent, forming a complete subgraph on three vertices. This structure appears frequently in graph theory as the prototypical clique of size three.[8] For a non-trivial case illustrating limited clique size, the Petersen graph, a well-known 3-regular graph with 10 vertices, has a maximum clique of size 2 and contains no triangles ().[8] To aid visualization, consider the cycle graph , which consists of five vertices connected in a closed loop forming a pentagon; in such a diagram, no three vertices are all mutually adjacent, so the largest clique is , confirming the absence of . Similarly, in a complete bipartite graph , depicted as two disjoint sets of vertices with all possible edges between the sets but none within, the maximum clique size is 2, as any three vertices would include at least two from the same partition lacking an edge.[8] Trivial edge cases include the single-vertex graph, which is the clique with no edges, and the empty graph with zero vertices, which contains no non-empty cliques.[8]Properties
Maximal and Maximum Cliques
In graph theory, a maximal clique is a clique that cannot be extended by adding another vertex while preserving the complete subgraph property, meaning no vertex outside the clique is adjacent to every vertex within it.[9] This implies that a maximal clique is not a proper subset of any larger clique in the graph.[10] Every graph contains at least one maximal clique; for instance, in an empty graph with no edges, each single vertex forms a maximal clique of size one, as no extensions are possible.[11] A maximum clique, in contrast, is a clique of the largest possible size in the graph, denoted by its cardinality, though such cliques are not necessarily unique. For example, in a complete graph , the entire vertex set forms the unique maximum clique of size . Every maximum clique is inherently maximal, since enlarging it further would contradict its maximum size, but the converse does not hold: a graph may contain multiple maximal cliques of different sizes that are not maximum. Consider a graph consisting of a triangle (clique of size 3) connected to a disjoint edge (clique of size 2); here, the triangle is a maximum clique, the edge is a maximal clique of smaller size, and any isolated vertices would form additional maximal cliques of size 1.[10] To determine if a given clique is maximal, one checks extendability by examining each vertex outside the clique to see if it is adjacent to all vertices in the clique; if no such vertex exists, the clique is maximal.[9] This vertex-by-vertex adjacency verification highlights the local nature of maximality in the graph's structure. Maximal cliques play a key role in graph decomposition, such as in clique partitions, which cover the entire vertex set with disjoint cliques, partitioning the graph into non-overlapping complete subgraphs. The minimum number of such cliques in a partition is known as the clique partition number.[12]Clique Number
The clique number of a graph , denoted , is the number of vertices in a maximum clique in .[3] Equivalently, it is the largest integer such that the complete graph is a subgraph of .[3] For an edgeless graph on vertices, , as the largest clique consists of a single isolated vertex.[3] In contrast, for the complete graph on vertices, , since the entire vertex set forms a clique.[13] There is no closed-form formula to compute for arbitrary graphs in general.[3] In certain special graph classes, the clique number takes on simple values. For the complete bipartite graph , , as bipartite graphs contain no odd cycles and thus no triangles.[14] Similarly, for any tree, which is a connected acyclic graph and hence bipartite, .[15] For planar graphs, ; this follows from the fact that is non-planar and thus cannot appear as a subgraph in any planar graph.[16] The clique number relates to other graph invariants, notably the chromatic number , which satisfies for any graph , since a clique of size requires at least colors in a proper vertex coloring.[17] Equality holds, , for every induced subgraph of a perfect graph.[18] Additionally, the clique number of the complement graph equals the independence number of .[3]Mathematical Theory
Extremal Graph Theory
Extremal graph theory investigates the maximum number of edges in a graph that avoids certain subgraphs, with cliques playing a central role as forbidden complete subgraphs . A key question is determining the largest -free graph on vertices, measured by the Turán number , which denotes the maximum edges in such a graph. This area originated with problems on avoiding small cliques, evolving into broad theorems bounding clique sizes through edge constraints.[19] In 1941, Paul Turán formulated a seminal result addressing the maximum edges in an -vertex -free graph, motivated by extremal problems in combinatorics during his internment in a labor camp. Turán's theorem states that is achieved by the Turán graph , the complete balanced -partite graph on vertices with parts as equal as possible in size. This construction partitions the vertices into independent sets of sizes differing by at most 1, connecting all edges between different sets but none within. The theorem asserts that any -free graph on vertices has at most as many edges as , and itself is -free.[19] The number of edges in is given by approximately, with the exact value , where and , so parts have size and parts have size . To derive this, compute the edges as the sum over all pairs of parts: for parts of sizes (), add , yielding the quadratic form maximized under the balanced partition constraint by the AM-QM inequality or direct calculation. This formula establishes the asymptotic density for large .[19] One proof of Turán's theorem employs Zykov symmetrization, introduced by Alexander Zykov in 1949, which iteratively transforms any -free graph into a complete -partite graph without decreasing edges. The method selects non-adjacent vertices with maximum degrees, replaces neighbors of with edges from to those neighbors (symmetrizing by making dominate 's connections), and removes ; repeating yields a multipartite graph with at least as many edges, eventually reaching the balanced Turán graph as the unique maximum. This symmetrization preserves -freeness and non-decreasing edges, proving the extremal construction.[19] A prominent corollary is Mantel's theorem for , stating that the maximum edges in an -vertex triangle-free graph is , achieved by the complete bipartite graph , the Turán graph . This 1907 result predates Turán's generalization and bounds triangle-free graphs specifically. The Erdős–Stone theorem generalizes Turán's result to arbitrary forbidden graphs with chromatic number , asserting that , where the term vanishes as , and the extremal graphs approximate plus a bounded number of edges. Proved in 1946, it shows that the Turán density governs the asymptotics for any non-bipartite , with the error depending on the structure beyond the chromatic number.[20]Intersection Theorems
In graph theory, intersection theorems for cliques focus on families of cliques in a graph where every pair of cliques shares at least one vertex, providing bounds on the maximum size of such families. These results originated in extremal set theory but apply directly to cliques, as the k-cliques of the complete graph correspond precisely to the k-subsets of the n vertices. The foundational theorem in this area is the Erdős–Ko–Rado theorem, which quantifies the largest possible intersecting family of k-cliques under suitable conditions.[21] The Erdős–Ko–Rado theorem states that if and is a family of k-subsets of an n-element set such that every two members of intersect (i.e., is intersecting), then . Equality holds if and only if consists of all k-subsets containing a fixed element. In graph-theoretic terms, this bounds the maximum number of pairwise intersecting k-cliques in . The theorem was proved in 1961 by Paul Erdős, Chao Ko, and Richard Rado using a combinatorial argument involving the Kruskal–Katona theorem and shifting operations on set families.[21] A simpler proof, due to Gyula O. H. Katona in 1972, employs double counting on cyclic arrangements. Consider the vertices labeled 1 through n arranged in a cycle. Partition the possible k-subsets (or k-cliques) into classes based on their positions relative to the cycle: specifically, group them by whether they form a consecutive block of k elements or span across the cycle boundary. For an intersecting family , at most half of the k-subsets in each such class can be selected without violating the intersection property, leading to . For , this bound refines to via averaging over rotations of the cycle and counting pairs of intersecting sets. Another approach uses linear algebra: the characteristic vectors of the sets in are considered in the vector space over with basis the k-subsets, and the intersection condition implies that the sum of these vectors has nonnegative entries, with the maximum norm bounded by the all-ones vector shifted to fix one coordinate, yielding the same bound. This method, popularized by Lovász and others, leverages the adjacency matrix of the Kneser graph.[22] The theorem extends to various settings relevant to graph cliques. In uniform hypergraphs, where hyperedges represent potential clique structures, variants bound intersecting families of r-uniform hyperedges that correspond to cliques in the underlying graph. A key refinement is the Hilton–Milner theorem (1967), which addresses non-trivial intersecting families—those without a common element to all sets. It states that if is a k-uniform intersecting family on n elements with and no common intersection, then , with equality for the family consisting of a fixed (k-1)-set union one additional element, plus all k-subsets containing that fixed (k-1)-set and intersecting it nontrivially. In graph terms, this gives the extremal size for families of k-cliques with pairwise nonempty intersections but no universal vertex. The proof combines the Erdős–Ko–Rado bound with a shifting argument to exclude the trivial case.[23] These theorems find applications in design theory, where blocks of a balanced incomplete block design (BIBD) can be viewed as cliques in the complete graph on the point set. The Erdős–Ko–Rado bound limits the size of intersecting collections of blocks, ensuring that designs with pairwise intersecting blocks (e.g., in projective planes or Steiner systems) achieve at most the starring construction size, which informs the existence and structure of such designs. For instance, in a t-(v,k,λ) design, the theorem implies bounds on t-intersecting block families, with equality often tied to derived subsystems.[24]Computation
Algorithms
One of the most widely used exact algorithms for enumerating all maximal cliques in an undirected graph is the Bron-Kerbosch algorithm, introduced in 1973 as a recursive backtracking procedure that systematically explores subsets of vertices to identify maximal cliques without duplicates.[25] The algorithm maintains three sets: a current clique , a set of candidate vertices that can extend , and a set of excluded vertices that are neighbors of previously considered candidates but not in . It reports as a maximal clique when both and are empty, and recursively branches by selecting vertices from to build larger cliques while updating the sets based on adjacency. A basic version of the Bron-Kerbosch algorithm can be outlined in pseudocode as follows:procedure BronKerbosch(R, P, X):
if P is empty and X is empty:
report R as a maximal clique
for each vertex v in P:
BronKerbosch(R ∪ {v}, P ∩ N(v), X ∩ N(v))
P ← P \ {v}
X ← X ∪ {v}
procedure BronKerbosch(R, P, X):
if P is empty and X is empty:
report R as a maximal clique
for each vertex v in P:
BronKerbosch(R ∪ {v}, P ∩ N(v), X ∩ N(v))
P ← P \ {v}
X ← X ∪ {v}
Complexity
The maximum clique problem, which asks for the size of the largest clique in an undirected graph, is NP-hard, and its decision version—determining whether a graph contains a clique of size at least —is NP-complete.[32] This NP-completeness was established in one of the original demonstrations of NP-completeness, via a polynomial-time many-one reduction from the 3-SAT problem.[32] In the reduction, for a 3-SAT formula with clauses over variables, a graph is constructed with $3mm$, as such a clique selects one true literal per clause without contradiction.[32] Regarding approximability, no polynomial-time algorithm can approximate the maximum clique size to within a factor of for any fixed , unless P = NP.[33] This inapproximability result derandomizes prior work using linear-degree extractors to simulate randomness-efficient approximations, showing that the problem remains hard even for general graphs.[33] The problem of enumerating all maximal cliques in a graph admits output-sensitive algorithms with time complexity , where is the number of vertices and depends on the number of maximal cliques output; this matches the worst-case bound on , achieved by Turán graphs complemented or similar constructions.[34] In parameterized complexity, the -clique problem—deciding if a graph contains a clique of size , parameterized by —is W[35]-hard, implying it is unlikely to admit an FPT algorithm (running in time for some function ).[36] This hardness holds under fpt-reductions from canonical W[35]-complete problems like multicolored clique, separating it from FPT problems while confirming its place in the W-hierarchy.[36]Applications
Social Networks
In social network analysis, cliques represent fully connected subgroups of individuals, such as friendship circles or mutual acquaintances, modeled as complete subgraphs in undirected graphs derived from adjacency data like surveys or interaction records. These structures capture dense interpersonal ties where every member is directly connected to all others, providing a measure of social cohesion within larger networks.[37] A key application involves community detection, where maximal cliques identify dense subgroups that may overlap to form broader communities. The clique percolation method, introduced by Palla et al., detects such overlapping communities by linking k-cliques that share at least k-1 vertices, allowing for the identification of soft communities in complex networks like collaboration or communication graphs. This approach has been widely adopted to uncover hierarchical and interconnected social structures without assuming disjoint partitions. The clique number, denoting the size of the largest clique in a network, serves as a metric for overall network cohesion, indicating the maximum density of mutual connections possible. Historically, this concept traces back to sociometry in the 1930s, where Jacob L. Moreno used sociograms—early visualizations of social relations—to highlight cliques as indicators of group solidarity and interpersonal dynamics in settings like schools or organizations.[38] Moreno's work laid foundational groundwork for viewing cliques as units of social integration, influencing modern network studies.[38] In collaboration networks, such as co-authorship graphs from academic publications, cliques model research teams where all members have jointly published, revealing patterns of interdisciplinary cooperation and knowledge production. For instance, analyses of physics or computer science co-authorship data have shown that larger cliques correlate with higher citation impact, as mutual collaborations foster collective expertise.[39] In contemporary online social media platforms, cliques extend to detecting echo chambers—dense subgroups where users reinforce similar viewpoints through repeated interactions, potentially amplifying polarization. Graph-based methods identify these as maximal cliques in interaction networks, such as retweet or reply graphs on Twitter, highlighting risks to information diversity.[40]Molecular Biology
In protein-protein interaction (PPI) networks, cliques represent densely connected subgraphs where every pair of proteins interacts, modeling stable protein complexes that perform coordinated biological functions. Maximal cliques in these networks have been used to predict functional modules, such as enzyme assemblies or signaling units, by identifying groups of proteins that are highly interconnected and thus likely to form stable complexes. For instance, an early influential approach combined clique enumeration with graph clustering and Monte Carlo optimization to detect such modules in yeast PPI data, revealing >50 predicted protein clusters with significant overlap to known ones.[41] This method demonstrated that cliques capture core structures of protein complexes, aiding in the annotation of uncharacterized proteins based on guilt-by-association principles.[41] In metabolic pathways modeled as reaction graphs, cliques identify conserved substructures, such as sets of metabolites or reactions that are fully interconnected across species, indicating evolutionarily stable biochemical units. These cliques highlight dense modules where multiple reactions share substrates and products, facilitating the detection of core pathway components that are preserved despite network variations. For example, algorithms scanning for conserved cliques in metabolic networks of bacteria and eukaryotes have uncovered recurring dense patterns, such as triose phosphate cycles, that underpin essential processes like glycolysis. Such analyses provide insights into pathway robustness and enable comparative genomics by quantifying conservation scores for clique-based motifs. Clique detection also plays a key role in chemical compound analysis within molecular similarity graphs for drug design, where nodes represent molecular fragments and edges indicate compatibility based on structural or physicochemical features. In these graphs, maximal cliques correspond to maximum common subgraphs (MCS) between query and database compounds, enabling scaffold hopping to identify novel leads with similar binding properties but diverse topologies. A notable application involves reducing molecular graphs to core scaffolds and using clique-based matching to retrieve diverse analogs, as demonstrated in virtual screening against kinase inhibitors, where it improved hit rates by focusing on shared interaction motifs. This approach integrates with quantitative structure-activity relationship (QSAR) models to prioritize candidates for synthesis and testing. The STRING database, which curates PPI networks from multiple organisms, has been leveraged for protein clique prediction by integrating maximum clique algorithms to enhance complex identification accuracy. Researchers apply enumeration techniques like Bron-Kerbosch to STRING-derived graphs, filtering cliques by interaction confidence scores to predict novel complexes. Recent advances in single-cell RNA-seq (scRNA-seq) analysis employ cliques to model co-expression modules, capturing groups of genes with synchronized expression patterns indicative of regulatory programs in heterogeneous cell populations. In scRNA-seq data, genes are nodes in correlation graphs, and maximal cliques delineate tightly co-expressed modules that correspond to cell-type-specific pathways, such as immune response circuits in tumor microenvironments. For example, the CALISTA framework uses clique detection in co-expression networks from scRNA-seq to infer lineage trajectories and functional modules, outperforming traditional clustering by better resolving rare subpopulations through dense subgraph extraction.[42]References
- A clique of a graph is a complete subgraph. The largest possible size is a maximum clique. A maximal clique cannot be extended by adding one more adjacent ...