NP-Completeness Proof
Statement#
Prove that 3-SAT is NP-complete.
3-SAT: Given a boolean formula in conjunctive normal form (CNF) where each clause has exactly 3 literals, determine if there exists a satisfying assignment.
Required Topics#
- NP-completeness
- Polynomial-time reductions
- Boolean satisfiability
- CNF (Conjunctive Normal Form)
- Cook-Levin theorem (SAT is NP-complete)
What to Prove#
To show 3-SAT is NP-complete, you must prove two things:
- 3-SAT ∈ NP: Show that a solution can be verified in polynomial time
- 3-SAT is NP-hard: Show that SAT ≤ₚ 3-SAT (reduce SAT to 3-SAT in polynomial time)
Definitions#
SAT: Given a boolean formula in CNF (clauses can have any number of literals), is it satisfiable?
3-SAT: Given a boolean formula in CNF where each clause has exactly 3 literals, is it satisfiable?
Reduction: means we can transform any instance of problem into an instance of problem in polynomial time.
Strategy for Reduction (SAT → 3-SAT)#
Given a SAT formula with clauses of varying sizes:
- 1 literal: → convert to
- 2 literals: → convert to
- 3 literals: → keep as is
- k > 3 literals: Split using auxiliary variables
For a clause with literals :
- Introduce new variables
- Replace with:
Show that the original formula is satisfiable ⟺ the new 3-SAT formula is satisfiable.
Solution#
Solution coming soon.
Hints (4)
Topics Needed
Prerequisites
- complexity-classes
- boolean-logic
- reductions
Statistics
NP-Completeness Proof
Statement#
Prove that 3-SAT is NP-complete.
3-SAT: Given a boolean formula in conjunctive normal form (CNF) where each clause has exactly 3 literals, determine if there exists a satisfying assignment.
Required Topics#
- NP-completeness
- Polynomial-time reductions
- Boolean satisfiability
- CNF (Conjunctive Normal Form)
- Cook-Levin theorem (SAT is NP-complete)
What to Prove#
To show 3-SAT is NP-complete, you must prove two things:
- 3-SAT ∈ NP: Show that a solution can be verified in polynomial time
- 3-SAT is NP-hard: Show that SAT ≤ₚ 3-SAT (reduce SAT to 3-SAT in polynomial time)
Definitions#
SAT: Given a boolean formula in CNF (clauses can have any number of literals), is it satisfiable?
3-SAT: Given a boolean formula in CNF where each clause has exactly 3 literals, is it satisfiable?
Reduction: means we can transform any instance of problem into an instance of problem in polynomial time.
Strategy for Reduction (SAT → 3-SAT)#
Given a SAT formula with clauses of varying sizes:
- 1 literal: → convert to
- 2 literals: → convert to
- 3 literals: → keep as is
- k > 3 literals: Split using auxiliary variables
For a clause with literals :
- Introduce new variables
- Replace with:
Show that the original formula is satisfiable ⟺ the new 3-SAT formula is satisfiable.
Solution#
Solution coming soon.
Hints (4)
Topics Needed
Prerequisites
- complexity-classes
- boolean-logic
- reductions