 ## Presentation on theme: "Reductions Complexity ©D.Moshkovitz."— Presentation transcript:

Motivation Reductions are our main tool for comparison between problems. Complexity ©D.Moshkovitz

Introduction Objectives: To formalize the notion of “reductions”.
Overview: Karp reductions HAMPATH p HAMCYCLE Closeness under reductions Cook reductions Completeness Complexity ©D.Moshkovitz

Reductions – Concept p
IF problem A can be efficiently translated to problem B… A B p THEN B is at least as hard as A. Complexity ©D.Moshkovitz

Reductions – Formal Definition
SIP 250 Reductions – Formal Definition I.e – there exists a polynomial time TM which halts with f(w) on its tape when given input w. Definition: Language A is polynomial time reducible to language B if… a polynomial time computable function f:** exists, where for every w, wA  f(w)B Denote Ap B f is referred to as a polynomial-time reduction of A to B. Complexity ©D.Moshkovitz

Reductions and Algorithms
* B * - B A f * - A * Complexity ©D.Moshkovitz

Reductions and Algorithms
polynomial time algorithm for A f polynomial time algorithm for B f(w)B? f(w) wA? w Complexity ©D.Moshkovitz

How to Reduce? Construct f. Show f is polynomial time computable.
Prove f is a reduction, i.e show: If wA then f(w)B If f(w)B then wA Complexity ©D.Moshkovitz

Terminology The type of reductions we’ve just described is also called: Polynomial-time mapping reduction Polynomial-time many-one reduction Polynomial-time Karp reduction We’ll always refer to such reductions unless otherwise specified. Complexity ©D.Moshkovitz

Example To demonstrate a reduction, we’ll revisit the example we gave in the introduction. We’ll rephrase and formalize the seating and tour problems And demonstrate a slightly different reduction between them. Complexity ©D.Moshkovitz

Hamiltonian Path Instance: a directed graph G=(V,E) and two vertices stV. Problem: To decide if there exists a path from s to t, which goes through each node once. In the version presented in the introduction we asked for some path, without specifying the start and end vertices. Complexity ©D.Moshkovitz

Hamiltonian Cycle Instance: a directed graph G=(V,E).
Problem: To decide if there exists a simple cycle in the graph which goes through each node exactly once. Complexity ©D.Moshkovitz

HAMPATH p HAMCYCLE f( <G=(V,E),s,t> ) = <G’=(V{u},E{(u,s),(t,u)})> f( <G=(V,E),s,t> ) = <G’=(V{u},E{(u,s),(t,u)})> f( <G=(V,E),s,t> ) = <G’=(V{u},E{(u,s),(t,u)})> f( <G=(V,E),s,t> ) = <G’=(V{u},E{(u,s),(t,u)})> s t n s t p Complexity ©D.Moshkovitz

Correctness (Completeness) If there exists a Hamiltonian path (v0=s,v1,…,vn=t) in the original graph, then (u,v0=s,v1,…,vn=t,u) is a Hamiltonian cycle in the new graph. Complexity ©D.Moshkovitz

Correctness (Soundness) (u,s) and (t,u) must be in any Hamiltonian cycle in the constructed graph, thus removing u yields a Hamiltonian path from s to t. Complexity ©D.Moshkovitz

 How to Reduce?     Construct f.
Show f is polynomial time computable. Prove f is a reduction, i.e show: If wHAMPATH then f(w)HAMCYCLE If f(w)HAMCYCLE then wHAMPATH easy to verify Complexity ©D.Moshkovitz

Closeness Under Reductions
Definition: A complexity class C is closed under reductions if, whenever L is reducible to L’ and L’C, then L is also in C. C L’ L Complexity ©D.Moshkovitz

Observation Theorem: P, NP, PSPACE and EXPTIME are closed under polynomial-time Karp reductions. Proof: Filling in the exact details is left to the reader. (See sketch) Complexity ©D.Moshkovitz

f is referred to as a log-space reduction of A to B.
Log-Space Reductions I.e – there exists a log-space TM which halts with f(w) on its tape when given input w. Definition: Language A is log-space reducible to language B if… a log-space computable function f:** exists, Denote AL B where for every w, wA  f(w)B f is referred to as a log-space reduction of A to B. Complexity ©D.Moshkovitz

Observation Theorem: L, NL, P, NP, PSPACE and EXPTIME are closed under log-space reductions. Complexity ©D.Moshkovitz

Other Types of Reductions
Cook Reduction: Use an efficient “black box” (procedure) that decides B, to construct a polynomial-time machine which decides A. polynomial time algorithm for B polynomial time algorithm for A Complexity ©D.Moshkovitz

Cook reduction of HAMCYCLE to HAMPATH.
For each edge (u,v)E, if there’s a Hamiltonian path from v to u in the graph where (u,v) is removed, output ‘YES’, exit Output ‘NO’ Make sure it’s efficient! HAMPATH oracle Complexity ©D.Moshkovitz

How do Cook and Karp Reductions Differ?
Cook reductions allow us to call the procedure many times (instead of 1). When Karp reducing, we must output the answer of the procedure. Complexity ©D.Moshkovitz

On the Relation Between Cook and Karp Reductions
Observation: Karp reductions are special cases of Cook reductions. Complexity ©D.Moshkovitz

Food for Thought… Which complexity classes are closed under Cook reductions? Complexity ©D.Moshkovitz

Completeness Definition: Let C be a complexity class and let L be a language. We say L is C-Complete if: L is in C For every language AC, A is reducible to L. Complexity ©D.Moshkovitz

C-Complete Languages hardness C-Complete C Complexity ©D.Moshkovitz

Observation Theorem: If two classes C and C’ are both closed under reductions (of some specific type) and there is a language L which is complete for both C and C’, then C=C’. Proof: W.l.o.g we’ll only show CC’. All languages in C are reducible to L. Since C’ is closed under reductions, it follows that CC’.  Complexity ©D.Moshkovitz

Corollary ? If any NP-Complete problem is in P, then P=NP.