Lecture 36: P, NP, and NP-completeness

Definitions

P = NP?

Satisfiability is NP-complete

Given any language L in NP, there is a polynomial time reduction from L to the boolean satisfiability problem. That is, you can transform any string x to a formula ϕ such that x ∈ L if and only if ϕ is satisfiable.

Proof sketch: since L ∈ NP, there is a (potentially non-deterministic) turing machine M with L(M) = L, and M is guaranteed to terminate on input x in f(∣x∣) steps.