• 210 likes • 231 Views
CS355 – The Mathematics and Theory of Computer Science. Reducibility. 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 .
E N D
CS355 – The Mathematics and Theory of Computer Science Reducibility
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 A B f 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 wA, 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≤mB 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 iscomplete for X under R reductions orR-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 ≤mp A for every B X, we say that A is X-hard (≤mp–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(≤mp -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. B Y X 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 B A C Y X 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: • If A is X-complete it can be viewed as being typical of the “hardest” problems found in X. • 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 • 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 • Many complete problems have the property that one can efficiently compute a solution as soon as one can prove that a solution exists. • Solving one PSPACE-complete problem in polynomial time implies that all PSPACE problems are in P. Dr. A. Mooney, Dept. of Computer Science, NUI Maynooth