NP-Hard Graph Problems: Clique Decision Problem (CDP)
1. Introduction to Clique Decision Problem (CDP)
The Clique Decision Problem (CDP) is a classic NP-complete problem in graph theory. It asks
whether a given graph contains a complete subgraph (clique) of a given size.
2. Definitions
- Graph (G): A set of vertices (V) and edges (E), G = (V, E).
- Clique: A subset of vertices C subset of V such that every pair of vertices in C is connected by an
edge.
- k-Clique: A clique of size k (i.e., |C| = k).
3. Problem Statement
Input: Graph G = (V, E) and integer k.
Question: Does G contain a clique of size k?
Formal condition: There exists V' subset of V, |V'| = k and for all u, v in V', u != v => (u, v) in E
4. Example
G = (V, E) with V = {1, 2, 3, 4, 5}, E = {(1,2), (1,3), (2,3), (2,4), (3,4), (4,5)}
For k = 3, subset {1,2,3} is a clique.
5. Importance of CDP
- NP-Complete: CDP is one of Karps 21 NP-complete problems.
- Real-world applications: Social networks, bioinformatics, etc.
6. Related Problems
- Maximum Clique Problem: Optimization version of CDP.
- Independent Set: Complement of clique in the complement graph.
- Vertex Cover: Related via graph transformations.
7. Complexity
Brute-force complexity: O(n^k * k^2), where n = number of vertices.
No known polynomial-time algorithm unless P = NP.
8. Reduction from 3-SAT
Reduction involves constructing a graph from a 3-CNF formula.
A k-clique corresponds to a satisfying assignment.
9. Approximation & Heuristics
- Greedy algorithms
- Local search
- Branch and Bound
10. Summary
| Feature | Description |
|---------------|--------------------------------------------|
| Problem Type | Decision Problem |
| Graph Type | Undirected, Simple |
| Input | Graph G = (V, E) and integer k |
| Output | Yes/No |
| Complexity | NP-Complete |
| Applications | Social networks, bioinformatics, etc. |