- Trending Categories
- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- MS Excel
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP
- Physics
- Chemistry
- Biology
- Mathematics
- English
- Economics
- Psychology
- Social Studies
- Fashion Studies
- Legal Studies

- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who

# Cliques In Graph

Recently, graph-based representations have gained enormous popularity for simulating real-world data. Cliques are a key issue in graph theory that is used to solve numerous mathematical issues and create graphs. Cliques are extensively researched in the field of computer science, with the clique problem assessing if a clique having a certain size within a graph is NP-complete. Yet, in spite of all complexities, there has been research into several techniques for finding cliques.

## What Are Cliques?

In all undirected graphs G = (N, E), a clique, is a "subset of the nodes", so that all pairs of distinct nodes is close by. A complete subgraph of the specified graph is a clique in an undirected graph. A full sub-graph has all of the graph's vertices connected with all other vertices. An independent set is the opposite of a clique in the complement graph since every clique resembles an independent set. Finding a graph's minimum cliques while taking into account all of its vertices is known as the clique cover problem.

A maximal clique is one that can never be enlarged any further by adding an additional neighbouring node.

In a graph, maximum clique refers to a clique in which no clique has more vertices. Furthermore, the total count of nodes in a graph having a maximum clique is known as the clique number.

Maximum cliques are thereby maximally cliqued (but not always the other way around).

### What Is A K-Clique?

A clique of size k is known as a "k-clique" (however, this word is also occasionally employed to refer to a maximal group of vertices distanced by no more than k). 0-cliques denote empty sets (a set having no vertices), "1-cliques" denote nodes, 2-cliques refer to edges, and "3-cycles" are represented by 3-cliques.

## What Are the Theorems About Clique?

According to Ramsey's theorem, a clique with a minimum of a logarithmic amount of nodes exists in any graph or its complement.

"Turán's theorem" constrains clique sizes for dense graphs. A giant clique is present if the graph includes sufficient edges. A three-vertex clique, for example, must exist in any graph with m nodes and greater than [m/2][m/2] edges.

Moon and Moser established that there can only be 3n maximal cliques in a graph having 3n nodes. This restriction is satisfied by the Moon-Moser graphs.

## Classification of Graphs Based On Cliques

Various major kinds of graphs can be described or classified using their cliques −

Graph |
Features |
---|---|

"Cluster Graph" |
Graphs where cliques are its connected components |

"Block Graph" |
Graphs with cliques are its biconnected components. |

"Split Graph" |
Graph with a minimum of a single vertex of every edge belonging to a clique. |

"Triangle-free Graph" |
Graphs that have zero cliques other than its edges and vertices |

"Line Graph" |
Graph has edges that might be covered using "edge-disjoint cliques", meaning only two of the cliques in the cover are members of each vertex. |

## Clique Problem

The clique problem is a technological task in which you must locate cliques in a graph. It includes quite a lot of formulations based on where the cliques must be identified and the type of details must be obtained concerning them.

Identifying a "maximum clique", locating a "maximum weight clique" for a weighted graph, recognizing the maximal cliques, along with deciding whether any graph includes a clique that exceeds a certain size constitute the core ways to frame the clique issue.

Resolving most of the clique issues are challenging. One of the "Karp's 21 NP-complete" issues include the clique choice issue. Locating the biggest clique is complex with set parameters and difficult to quantify. Furthermore, because graphs with numerous exponential maximal cliques exist, identifying every maximal clique may require exponential time.

## Identifying a Single Maximal Clique

A simple greedy technique can determine the biggest clique. By iterating over all of the vertices of the graph, starting with any clique (just one node or perhaps the entire set), we grow the present clique one node at a time. For each vertex inspected by this iteration, if a specific vertex is near to every other vertex, add the vertex to the clique and if not ignore it. This algorithm is linear in time. Due to the ease with which maximal cliques may be discovered, along with their possible minimized size, greater focus has been placed on the far more difficult computational process of discovering a big clique, rather than the difficulty in locating a single maximal clique.

## Cliques with Fixed Sizes

Employing the "Brute Force" algorithm, one may determine whether or not graph holds a "k-vertex clique" and identifies every such clique included in it. This method checks every subgraph having k nodes to check whether it is a part of a clique. In huge O notation, it takes O(nkk2) time. This is due to the fact that there exists "O(nk) subgraphs" to inspect, all of which have "O(k2) edges" that must be verified. Consequently, when k is a given constant, the problem is polynomial in time. The time becomes exponential when k lacks a fixed value and fluctuates as part of a problem's input.

## Identifying All Maximum Cliques

The "Bron-Kerbosch" approach is implemented for identifying every maximal clique in polynomial time per clique as well as in worst-case optimal time. According to Moon and Moser, each n-vertex network may have no more than 3n3 maximum cliques, along with the worst-case execution period of the "Bron-Kerbosch" method (by a pivotal approach reducing the count of recurrent calls performed during every stage) is O(3n3), which matches this constraint.

## What Are Clique's Applications?

Assume an online community, where the nodes of the graph signify people and the edges reflect reciprocated contact. The term "clique" refers to a group of people who are all familiar with one another. These networks of friends may be found using algorithms for detecting cliques.

Kuhl, Crippen, and Friesen employed cliques in computational chemistry to represent the points at which two molecules bond.

Create efficient circuits for partly stated Boolean functions.

## Conclusion

Cliques are essential in graph analysis and are often employed in resolving mathematical issues and graph creations. Although "the clique issue is NP-complete", various algorithms are being researched for detecting cliques. A K-clique refers to a clique of size k, and various theorems exist regarding cliques. They have multiple applications in computer science, bioinformatics and graph theory.