Lecture 20 - Satisfiability is NP-complete

1. The Classes P and NP; NP-complete problems

2. Verifiers

3. The Satisfiability Problem (SAT)

4. Normal Forms for Boolean Expressions

5. The Problems CSAT and kSAT

6. SAT is NP-complete: the Cook-Levin Theorem

7. Practice Problems

  1. Show that if A is NP-complete and A is in P, then P = NP.
  2. Show that if A is NP-complete and A is polynomially reducible to a problem B in NP, then B is NP-complete.
  3. List all satisfying truth assignments for x ∧ (y ∧ ¬x) ∧ (z ∨ ¬y).
  4. A boolean expression is a tautology if it is true for all truth assignments. Show that the boolean expression x ∧ y ∨ ¬x ∨ ¬y is a tautology.
  5. Show that the two boolean expressions ¬(x ∨ y) and ¬x ∧ ¬y are equivalent.
  6. Show that 1SAT is in P.
  7. [Hard] Show that 2SAT is in P.

8. Reading Assignment


aho@cs.columbia.edu
verma@cs.columbia.edu