Computational problems in graph theory | NP-complete problems

Clique problem

In computer science, the clique problem is the computational problem of finding cliques (subsets of vertices, all adjacent to each other, also called complete subgraphs) in a graph. It has several different formulations depending on which cliques, and what information about the cliques, should be found. Common formulations of the clique problem include finding a maximum clique (a clique with the largest possible number of vertices), finding a maximum weight clique in a weighted graph, listing all maximal cliques (cliques that cannot be enlarged), and solving the decision problem of testing whether a graph contains a clique larger than a given size. The clique problem arises in the following real-world setting. Consider a social network, where the graph's vertices represent people, and the graph's edges represent mutual acquaintance. Then a clique represents a subset of people who all know each other, and algorithms for finding cliques can be used to discover these groups of mutual friends. Along with its applications in social networks, the clique problem also has many applications in bioinformatics, and computational chemistry. Most versions of the clique problem are hard. The clique decision problem is NP-complete (one of Karp's 21 NP-complete problems). The problem of finding the maximum clique is both fixed-parameter intractable and hard to approximate. And, listing all maximal cliques may require exponential time as there exist graphs with exponentially many maximal cliques. Therefore, much of the theory about the clique problem is devoted to identifying special types of graph that admit more efficient algorithms, or to establishing the computational difficulty of the general problem in various models of computation. To find a maximum clique, one can systematically inspect all subsets, but this sort of brute-force search is too time-consuming to be practical for networks comprising more than a few dozen vertices.Although no polynomial time algorithm is known for this problem, more efficient algorithms than the brute-force search are known. For instance, the Bron–Kerbosch algorithm can be used to list all maximal cliques in worst-case optimal time, and it is also possible to list them in polynomial time per clique. (Wikipedia).

Clique problem
Video thumbnail

Clique Problem - Intro to Algorithms

This video is part of an online course, Intro to Algorithms. Check out the course here: https://www.udacity.com/course/cs215.

From playlist Introduction to Algorithms

Video thumbnail

What is a Clique? | Graph Theory, Cliques

What is a clique? A clique in graph theory is an interesting concept with a lot of depth to explore. We define the term and give some examples in today's math video lesson! A clique C of a graph G is usually defined as a subset of the vertex set of G such that every pair of distinct verti

From playlist Graph Theory

Video thumbnail

General Clique - Intro to Algorithms

This video is part of an online course, Intro to Algorithms. Check out the course here: https://www.udacity.com/course/cs215.

From playlist Introduction to Algorithms

Video thumbnail

Clique - Intro to Algorithms

This video is part of an online course, Intro to Algorithms. Check out the course here: https://www.udacity.com/course/cs215.

From playlist Introduction to Algorithms

Video thumbnail

What is a Maximal Clique? | Graph Theory, Cliques, Maximal Cliques

What are maximal cliques? Cliques are cool, but there are some special types of cliques as well, one of which is the maximal clique, which we discuss in today's graph theory video lesson! Remember that a clique is a set of vertices that are all adjacent in a graph, or it is also sometimes

From playlist Graph Theory

Video thumbnail

Maximum and Maximal Cliques | Graph Theory, Clique Number

What are maximum cliques and maximal cliques in graph theory? We'll be defining both terms in today's video graph theory lesson, as well as going over an example of finding maximal and maximum cliques in a graph. These two terms can be a little confusing, so let's dig in and clarify our un

From playlist Graph Theory

Video thumbnail

Clojure - the Reader and Evaluator (4/4)

Part of a series teaching the Clojure language. For other programming topics, visit http://codeschool.org

From playlist the Clojure language

Video thumbnail

Clojure - collections (4/6)

Part of a series teaching the Clojure language. For other programming topics, visit http://codeschool.org

From playlist the Clojure language

Video thumbnail

What are the Maximum and Maximal Cliques of this Graph? | Graph Theory

How do we find the maximum and maximal cliques of a graph? We'll go over an example in today's graph theory lesson of doing just that! To use these elementary methods, we just need to remember our definitions. A clique of a graph G is a complete subgraph of G. We also call the vertex set

From playlist Graph Theory

Video thumbnail

Lower bounds for subgraph isomorphism – Benjamin Rossman – ICM2018

Mathematical Aspects of Computer Science Invited Lecture 14.3 Lower bounds for subgraph isomorphism Benjamin Rossman Abstract: We consider the problem of determining whether an Erdős–Rényi random graph contains a subgraph isomorphic to a fixed pattern, such as a clique or cycle of consta

From playlist Mathematical Aspects of Computer Science

Video thumbnail

R8. NP-Complete Problems

MIT 6.046J Design and Analysis of Algorithms, Spring 2015 View the complete course: http://ocw.mit.edu/6-046JS15 Instructor: Amartya Shankha Biswas In this recitation, problems related to NP-Completeness are discussed. License: Creative Commons BY-NC-SA More information at http://ocw.mit

From playlist MIT 6.046J Design and Analysis of Algorithms, Spring 2015

Video thumbnail

Lecture 22 - More Reductions

This is Lecture 22 of the CSE373 (Analysis of Algorithms) taught by Professor Steven Skiena [http://www.cs.sunysb.edu/~skiena/] at Stony Brook University in 1997. The lecture slides are available at: http://www.cs.sunysb.edu/~algorith/video-lectures/1997/lecture24.pdf

From playlist CSE373 - Analysis of Algorithms - 1997 SBU

Video thumbnail

Network Analysis. Lecture 8. Network communitites

Cohesive subgroups. Graph cliques, k-plexes, k-cores. Network communities. Vertex similarity matrix. Similarity based clustering. Agglomerative clustering. Graph partitioning. Repeated bisection. Edge Betweenness. Newman-Girvin algorithm. Lecture slides: http//www.leonidzhukov.net/hse/201

From playlist Structural Analysis and Visualization of Networks.

Video thumbnail

Lecture 25 - Other Reductions

This is Lecture 25 of the CSE373 (Analysis of Algorithms) course taught by Professor Steven Skiena [http://www3.cs.stonybrook.edu/~skiena/] at Stony Brook University in 2016. The lecture slides are available at: https://www.cs.stonybrook.edu/~skiena/373/newlectures/lecture21.pdf More inf

From playlist CSE373 - Analysis of Algorithms 2016 SBU

Video thumbnail

15. NP-Completeness

MIT 18.404J Theory of Computation, Fall 2020 Instructor: Michael Sipser View the complete course: https://ocw.mit.edu/18-404JF20 YouTube Playlist: https://www.youtube.com/playlist?list=PLUl4u3cNGP60_JNv2MmK3wkOt9syvfQWY Quickly reviewed last lecture. Covered NP-completeness; SAT and 3SAT;

From playlist MIT 18.404J Theory of Computation, Fall 2020

Video thumbnail

Clojure - the Reader and Evaluator (2/4)

Part of a series teaching the Clojure language. For other programming topics, visit http://codeschool.org

From playlist the Clojure language

Related pages

Discrete Applied Mathematics | Graph (discrete mathematics) | Complete (complexity) | Hereditary property | Circuit complexity | Unordered pair | Combinatorica | Graph property | Hardness of approximation | Complement graph | Probabilistically checkable proof | NC (complexity) | Bipartite graph | Circle graph | Boolean satisfiability problem | Real number | Cook–Levin theorem | Partial word | Interval graph | Random graph | Computational complexity theory | Ramsey theory | Unit disk graph | Decision tree model | Branch and bound | Social network | Arboricity | Closure (mathematics) | Permutation graph | Semidefinite programming | Symposium on Foundations of Computer Science | Discrete Mathematics (journal) | NOT gate | Longest increasing subsequence | Modular product of graphs | Triangle-free graph | Bron–Kerbosch algorithm | Erdős–Rényi model | Adjacency matrix | Exponential time hypothesis | Complete graph | Approximation algorithm | Local search (optimization) | P versus NP problem | Maximum common induced subgraph | Output-sensitive algorithm | Comparability graph | FP (complexity) | Kőnig's theorem (graph theory) | Computational complexity of matrix multiplication | Boxicity | Conjunctive normal form | Truth value | Planted clique | Glossary of graph theory | Decision problem | Big O notation | Polynomial-time approximation scheme | Parallel algorithm | Journal of Graph Algorithms and Applications | Greedy algorithm | Clique (graph theory) | Many-one reduction | DNA computing | Backtracking | Perfect graph | Communications of the ACM | Spectral graph theory | Time complexity | Journal of Combinatorial Theory | Degeneracy (graph theory) | Brute-force search | NP-completeness | Fan-in | Karp's 21 NP-complete problems | Travelling salesman problem | Finite set | Planar graph | Dependency graph | Hypercube | Dynamic programming | Chordal graph | Exponential time | Well-covered graph | Aanderaa–Karp–Rosenberg conjecture | Polynomial delay | Induced subgraph | SIAM Journal on Discrete Mathematics | Vertex (graph theory) | Constraint programming | DIMACS | Kuratowski's theorem | Lexicographic order | Chromatic number | Keller's conjecture | Matching (graph theory) | Dense graph | Algorithm | Parameterized complexity