CS355 – The Mathematics and Theory of Computer Science Reducibility.

Slides:



Advertisements
Similar presentations
Formal Models of Computation Part III Computability & Complexity
Advertisements

David Evans cs302: Theory of Computation University of Virginia Computer Science Lecture 17: ProvingUndecidability.
CS 461 – Nov. 9 Chomsky hierarchy of language classes –Review –Let’s find a language outside the TM world! –Hints: languages and TM are countable, but.
CSCI 4325 / 6339 Theory of Computation Zhixiang Chen Department of Computer Science University of Texas-Pan American.
Recap CS605: The Mathematics and Theory of Computer Science.
Nathan Brunelle Department of Computer Science University of Virginia Theory of Computation CS3102 – Spring 2014 A tale.
CS355 – The Mathematics and Theory of Computer Science Reductions.
CS605 – The Mathematics and Theory of Computer Science Turing Machines.
1 Introduction to Computability Theory Lecture12: Reductions Prof. Amos Israeli.
NP-completeness Sipser 7.4 (pages 271 – 283). CS 311 Fall The classes P and NP NP = ∪ k NTIME(n k ) P = ∪ k TIME(n k )
Mapping Reducibility Sipser 5.3 (pages ).
1 Introduction to Computability Theory Lecture13: Mapping Reductions Prof. Amos Israeli.
Mapping Reducibility Sipser 5.3 (pages ). CS 311 Fall Computable functions Definition 5.17: A function f:Σ*→Σ* is a computable function.
CPSC 411, Fall 2008: Set 12 1 CPSC 411 Design and Analysis of Algorithms Set 12: Undecidability Prof. Jennifer Welch Fall 2008.
Reducibility A reduction is a way of converting one problem into another problem in such a way that a solution to the second problem can be used to solve.
Hardness Results for Problems P: Class of “easy to solve” problems Absolute hardness results Relative hardness results –Reduction technique.
1 Polynomial Church-Turing thesis A decision problem can be solved in polynomial time by using a reasonable sequential model of computation if and only.
Fall 2003Costas Busch - RPI1 Decidability. Fall 2003Costas Busch - RPI2 Recall: A language is decidable (recursive), if there is a Turing machine (decider)
1 Undecidability Andreas Klappenecker [based on slides by Prof. Welch]
The Theory of NP-Completeness
Fall 2004COMP 3351 Reducibility. Fall 2004COMP 3352 Problem is reduced to problem If we can solve problem then we can solve problem.
Courtesy Costas Busch - RPI1 Reducibility. Courtesy Costas Busch - RPI2 Problem is reduced to problem If we can solve problem then we can solve problem.
CS21 Decidability and Tractability
Fall 2006Costas Busch - RPI1 Undecidable Problems (unsolvable problems)
Prof. Busch - LSU1 Undecidable Problems (unsolvable problems)
Hardness Results for Problems P: Class of “easy to solve” problems Absolute hardness results Relative hardness results –Reduction technique.
1 Reducibility. 2 Problem is reduced to problem If we can solve problem then we can solve problem.
Hardness Results for Problems
Halting Problem. Background - Halting Problem Common error: Program goes into an infinite loop. Wouldn’t it be nice to have a tool that would warn us.
Cs3102: Theory of Computation Class 18: Proving Undecidability Spring 2010 University of Virginia David Evans.
CMPS 3223 Theory of Computation Automata, Computability, & Complexity by Elaine Rich ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Slides provided.
Complexity Classes (Ch. 34) The class P: class of problems that can be solved in time that is polynomial in the size of the input, n. if input size is.
CS355 – Theory of Computation Dr. Aidan Mooney, September 2006 National University of Ireland, Maynooth Department of Computer Science.
Complexity theory and combinatorial optimization Class #2 – 17 th of March …. where we deal with decision problems, finite automata, Turing machines pink.
Review Byron Gao. Overview Theory of computation: central areas: Automata, Computability, Complexity Computability: Is the problem solvable? –solvable.
Reductions (Section 5.1) Héctor Muñoz-Avila. Summary of Previous Lectures The Halting problem is undecidable: –HALT = { | M is a Turing machine, w  
CSCI 2670 Introduction to Theory of Computing November 4, 2004.
1 Undecidability Reading: Chapter 8 & 9. 2 Decidability vs. Undecidability There are two types of TMs (based on halting): (Recursive) TMs that always.
CSC 413/513: Intro to Algorithms NP Completeness.
CSCI 2670 Introduction to Theory of Computing November 29, 2005.
CSE 3813 Introduction to Formal Languages and Automata Chapter 14 An Introduction to Computational Complexity These class notes are based on material from.
MA/CSSE 474 Theory of Computation Enumerability Reduction.
CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin.
 2005 SDU Lecture13 Reducibility — A methodology for proving un- decidability.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
CS Master – Introduction to the Theory of Computation Jan Maluszynski - HT Lecture 7 Undecidability cont. Jan Maluszynski, IDA, 2007
CS355 - Theory of Computation Regular Expressions.
CS6045: Advanced Algorithms NP Completeness. NP-Completeness Some problems are intractable: as they grow large, we are unable to solve them in reasonable.
NP-Completeness  For convenience, the theory of NP - Completeness is designed for decision problems (i.e. whose solution is either yes or no).  Abstractly,
1 Undecidability Andreas Klappenecker [based on slides by Prof. Welch]
Decidability Decidable/Undecidable problems. Jaruloj Chongstitvatana Decidability2 Accepting: Definition Let T = (Q, , , , s) be a TM. T accepts.
Donghyun (David) Kim Department of Mathematics and Computer Science North Carolina Central University 1 Chapter 5 Reducibility Some slides are in courtesy.
Costas Busch - RPI1 Decidability. Costas Busch - RPI2 Consider problems with answer YES or NO Examples: Does Machine have three states ? Is string a binary.
Decidability.
 2005 SDU Lecture14 Mapping Reducibility, Complexity.
Busch Complexity Lectures: Reductions
Linear Bounded Automata LBAs
FORMAL LANGUAGES AND AUTOMATA THEORY
Reductions.
Reductions Costas Busch - LSU.
Automata, Grammars and Languages
MCC 2093 Advanced Theoretical Computer Science
Busch Complexity Lectures: Undecidable Problems (unsolvable problems)
CS154, Lecture 8: Undecidability, Mapping Reductions
CS154, Lecture 8: Undecidability, Mapping Reductions
How Hard Can It Be?.
Decidable Languages Costas Busch - LSU.
Functional Properties and Problem Reduction
Undecidable problems:
Instructor: Aaron Roth
Presentation transcript:

CS355 – The Mathematics and Theory of Computer Science Reducibility

Dr. A. Mooney, Dept. of Computer Science, NUI Maynooth Mapping reducibility Being able to reduce problem A to problem B by using a mapping reducibility means that a computable function exists that converts instances of problem A to problem B. If we have such a conversion function called a reduction, we can solve A with a solver for B. The reason is that any instance of A can be solved by first using the reduction to convert it to an instance of B and then applying the solver to B.

Dr. A. Mooney, Dept. of Computer Science, NUI Maynooth Computable function A function f: Σ* → Σ* is a computable function if some Turing machine M, on every input w, halts with just f(w) on its tape. All usual arithmetic operations on integers are computable functions.

Dr. A. Mooney, Dept. of Computer Science, NUI Maynooth Mapping reducibility Language A is mapping reducible to language B, written A ≤ m B, if there is a computable function f: Σ* → Σ*, where for every w, w A f(w) B. The function f is called the reduction of A to B.

Dr. A. Mooney, Dept. of Computer Science, NUI Maynooth Mapping reducibility f AB f reducing A to B

Dr. A. Mooney, Dept. of Computer Science, NUI Maynooth Mapping reducibility A mapping reduction of A to B provides a way to convert questions about membership testing in A to membership testing in B. To test whether w A, we use the reduction f to map w to f(w) and test whether f(w) B. The term mapping reduction comes from the function or mapping that provides the means of doing the reduction.

Dr. A. Mooney, Dept. of Computer Science, NUI Maynooth Mapping reducibility If one problem is mapping reducible to a second, previously solved problem, we can thereby obtain a solution to the original problem. Let us look at this.

Dr. A. Mooney, Dept. of Computer Science, NUI Maynooth Reducibility If A reduces to B and B is decidable, then A is decidable –To decide A, convert A to B and decide B. If A reduces to B and B is undecidable, then B is undecidable –If B is decidable, then by above A is decidable, contradiction.

Dr. A. Mooney, Dept. of Computer Science, NUI Maynooth Turing-recognisable If A ≤ m B and A is not Turing-recognisable then B is not Turing-recognisable.

Dr. A. Mooney, Dept. of Computer Science, NUI Maynooth Completeness …suppose we know that there is a problem A not in class X. By finding a reduction from A to B we can prove that B is not in X either.

Dr. A. Mooney, Dept. of Computer Science, NUI Maynooth Completeness IF A, B are problems, X is a class of problems, and R is a class of reductions, then If B ≤ R A for every B X, we say that A is hard for X under R reductions, or, R-hard for X.

Dr. A. Mooney, Dept. of Computer Science, NUI Maynooth Completeness If is also happens that A X, then we say that A is complete for X under R reductions or R-complete for X.

Dr. A. Mooney, Dept. of Computer Science, NUI Maynooth Completeness Rather than looking at a specific class of reductions we will just look at m-reductions which we can use to get a more concise terminology.

Dr. A. Mooney, Dept. of Computer Science, NUI Maynooth Completeness If A, B are languages and X is a class of languages, If B ≤ m p A for every B X, we say that A is X- hard (≤ m p –hard for X). So, if A is X-hard then it is at least as hard as every problem in X.

Dr. A. Mooney, Dept. of Computer Science, NUI Maynooth Completeness If A X and A is X-hard, then we say that: A is X-complete( ≤ m p -complete for X).

Dr. A. Mooney, Dept. of Computer Science, NUI Maynooth Completeness If X, Y are two classes of problems (or their associated languages) such that X Y, then –Any language B that is Y-complete does not belong to X. X Y B

Dr. A. Mooney, Dept. of Computer Science, NUI Maynooth Completeness A is X-complete B is X-hard and Y-complete C is X-hard, Y-hard and Z-complete X Y B A C

Dr. A. Mooney, Dept. of Computer Science, NUI Maynooth Completeness The meaning of the word “complete” is not intuitive. It comes from Godel’s and Kleene’s recursive function theory, and is used to denote that: A solution to any problem in the set can be applied to all others in the set.

Dr. A. Mooney, Dept. of Computer Science, NUI Maynooth Completeness Some points to note: 1.If A is X-complete it can be viewed as being typical of the “hardest” problems found in X. 2.Problems which are hard or complete on one machine-based family of language X will have the same properties on all other machine models.

Dr. A. Mooney, Dept. of Computer Science, NUI Maynooth Completeness 3.Almost all reductions establishing hardness or completeness of specific problems not only transform solvable instances into solvable instances, but also general solutions into general solutions.

Dr. A. Mooney, Dept. of Computer Science, NUI Maynooth Completeness 4.Many complete problems have the property that one can efficiently compute a solution as soon as one can prove that a solution exists. 5.Solving one PSPACE-complete problem in polynomial time implies that all PSPACE problems are in P.