1 Polynomial Time Reductions Polynomial Computable function : For any computes in polynomial time
2 Language A is polynomial time reducible to language B if there is a polynomial computable function such that:
3 Suppose that is polynomial reducible to. If then. Theorem: Proof: Machine to accept in polynomial time: On input : 1. Compute Let be the machine to accept 2. Run on input
4 3CNF formula: Each clause has three literals 3SAT ={ : is a satisfiable 3CNF formula} Language:
5 Clique: A 5-clique CLIQUE = { : contains a -clique}
6 Theorem: 3SAT is polynomial time reducible to CLIQUE Proof: give a polynomial time reduction of one problem to the other
7
8
9 NP-Completeness A problem is NP-complete if: It is in NP Every NP problem is reduced to it (in polynomial time)
10 Observation: If we can solve any NP-complete problem in Deterministic Polynomial Time (P time) then we know:
11 Observation: If we prove that we cannot solve an NP-complete problem in Deterministic Polynomial Time (P time) then we know:
12 Cook’s Theorem: The satisfiability problem is NP-complete Proof: Convert a Non-Deterministic Turing Machine to a Boolean expression in conjunctive normal form
13 Other NP-Complete Problems: The Traveling Salesperson Problem Vertex cover Hamiltonian Path All the above are reduced to the satisfiability problem