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