Describe Clique Decision Problem (CDP)
The Clique Decision Problem (CDP) asks whether a given undirected graph contains a clique of a specified size. Formally, CDP is the decision version of the maximum clique problem: it does not ask for the largest clique size, but instead asks whether there exists at least a clique with vertices.
We model an input graph as (with vertices) and ask:
- Is there a subset with such that every pair of vertices in is connected by an edge?
- In other words, does there exist a -clique?
This can be written as:
Conceptually, a clique is a “complete subgraph.” You can visualize CDP as a yes/no test that checks whether a graph hides a fully-connected -vertex “cluster.”
Key learning terms introduced in this section:
- Clique
- k-Clique
- Decision problem
- NP
- Reduction
Clique Decision Problem (CDP) intuition & verification
CDP formal problem statement
Let the input be:
- an undirected simple graph
- an integer
The decision version is:
- CDP(G, k) = YES iff contains a clique of size at least (often phrased as “contains a -clique”).
In certificate-verification language (for complexity):
- A certificate is a set with .
- Verification checks whether for all distinct , the edge is in .
Verification time is polynomial in :
- There are pairs to check.
- With adjacency queries in using a hash/set or adjacency matrix, the check is (plus input parsing).
Key complexity learning terms:
- Certificate
- Verifier
- Adjacency query
Pro Tip
When learning CDP, focus on verification: once someone hands you a candidate set of vertices, checking it is fast; the difficulty is finding it.
Relationship to maximum clique and complement structure
The maximum clique problem asks for the largest clique size:
- output: the maximum such that a -clique exists.
CDP instead asks:
- output: whether some clique of size exists.
So, if is the size of the maximum clique, then CDP asks whether:
A useful structural fact (often used in reasoning) is the connection between cliques in and independent sets in the complement graph :
- a clique in corresponds to an independent set in .
This is a “graph duality” perspective:
- Clique problems and independent-set problems are tightly related through graph complement.
Key terms:
- Graph complement
- Independent set
CDP is in NP; brute-force baseline
Membership in NP: CDP is in NP because a -vertex candidate clique can be checked in polynomial time.
Brute-force algorithm idea: try all subsets of vertices and test if each subset forms a clique. This yields exponential time:
This motivates why clique-finding is hard:
- the search space is combinatorial.
Key terms:
- Brute force
- Combinatorial explosion
- [Exponential time]{def="Runtime that grows like or faster"}
How to verify a proposed k-clique (certificate checking)
- 1Step 1
You are given and an integer .
- 2Step 2
A candidate certificate is a set with .
- 3Step 3
If , reject (it cannot be a -clique).
- 4Step 4
For every distinct , verify that .
- 5Step 5
If every pair is connected, accept (YES); otherwise reject (NO).
Conceptual learning roadmap for CDP
Define CDP precisely
Step 1Understand the YES/NO question about the existence of a -clique."
Certificate verification
Step 2Learn why CDP is in NP: checking a proposed clique is polynomial."
Baseline algorithms
Step 3See brute-force subset enumeration and its exponential growth."
Complexity implications
Step 4Connect CDP to NP-hardness/NP-completeness via reductions (conceptual)."
Parameterization intuition
Step 5View CDP as -parameterized search (e.g., -clique vs general clique)."
CDP hardness and classic reduction viewpoint
In computational complexity, CDP is a canonical example for illustrating NP-completeness:
- it captures a fundamental combinatorial selection problem,
- and it is widely used as a target for reductions from other NP problems.
The typical reasoning pattern is:
- Choose a known NP-complete problem (e.g., SAT variants).
- Construct a graph and integer so that:
- SAT instance is satisfiable iff has a clique of size .
- Therefore, solving CDP would solve the original NP-complete problem.
Key terms:
- NP-complete
- Polynomial-time reduction
- 3-SAT
Common confusions about CDP
Warning: conflating search vs decision
CDP is a decision problem (YES/NO). If you instead try to output the clique itself, you are solving a different (search) problem, usually harder to do directly.
Runtime intuition: brute-force subset enumeration vs verification
Verification per candidate is fast; the number of candidates grows combinatorially.
Knowledge Check
Which statement best matches the Clique Decision Problem (CDP)?