Download presentation

Presentation is loading. Please wait.

Published byPerry Eldridge Modified over 2 years ago

1
Complexity ©D.Moshkovitz 1 Reductions

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

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

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

5
Complexity ©D.Moshkovitz 5 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 Reductions – Formal Definition SIP 250 I.e – there exists a polynomial time TM which halts with f(w) on its tape when given input w. f is referred to as a polynomial-time reduction of A to B. Denote A p B

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

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

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

9
Complexity ©D.Moshkovitz 9 Terminology The type of reductions weve just described is also called: –Polynomial-time mapping reduction –Polynomial-time many-one reduction –Polynomial-time Karp reduction Well always refer to such reductions unless otherwise specified.

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

11
Complexity ©D.Moshkovitz 11 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.

12
Complexity ©D.Moshkovitz 12 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.

13
Complexity ©D.Moshkovitz 13 f( ) = HAMPATH p HAMCYCLE p f( ) = s t s t n

14
Complexity ©D.Moshkovitz 14 Correctness (Completeness) If there exists a Hamiltonian path (v 0 =s,v 1,…,v n =t) in the original graph, then (u,v 0 =s,v 1,…,v n =t,u) is a Hamiltonian cycle in the new graph.

15
Complexity ©D.Moshkovitz 15 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.

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

17
Complexity ©D.Moshkovitz 17 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. L L C

18
Complexity ©D.Moshkovitz 18 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)See sketch

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

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

21
Complexity ©D.Moshkovitz 21 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 A polynomial time algorithm for B

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

23
Complexity ©D.Moshkovitz 23 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.

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

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

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

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

28
Complexity ©D.Moshkovitz 28 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 well only show C C. All languages in C are reducible to L. Since C is closed under reductions, it follows that C C.

29
Complexity ©D.Moshkovitz 29 Corollary If any NP-Complete problem is in P, then P=NP.

30
Complexity ©D.Moshkovitz 30 Summary In this lecture weve introduced many types of reductions: –Cook/Karp reductions –Polynomial-time reductions Weve defined the notion of completeness And seen how it can help us prove equality of complexity classes. Nevertheless, we are still not convinced complete languages even exist.

Similar presentations

© 2016 SlidePlayer.com Inc.

All rights reserved.

Ads by Google