1 / 39

Introduction to Computability Theory

Introduction to Computability Theory. Lecture13: Mapping Reductions Prof. Amos Israeli. Mapping Reductions. So far, we presented several reductions:

anais
Download Presentation

Introduction to Computability Theory

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction to Computability Theory Lecture13: Mapping Reductions Prof. Amos Israeli

  2. Mapping Reductions So far, we presented several reductions: From to , from to , from to , from to , and several other. Each of these reductions had some special form not shared with the others. Can we generalize?

  3. Mapping Reductions Mapping reductions constitute the generalization we are looking for. They are always in a specified form which: • Preserves the intrinsic difficulty of finding a reduction. • Ease the “red tape” requirements.

  4. Mapping Reductions In other words: Assume we want to prove that B is undecidable by reduction from A that is known to be undecidable. If our reduction has the form of a Mapping reduction then the proof is complete. Nothing else is required.

  5. Mapping Reductions The idea of a mapping reduction is very simple: If the instances (candidate elements) of one language, say A, are mapped to the instances of another language, say B, by a computable mapping M in a way that iff , then a decider for B can be used to devise a decider for A.

  6. Mapping Reductions The sought for decider for A works as follows: Upon input I do: • Compute . • Use the decider for B to determine whether . • If accept - otherwise - reject.

  7. Mapping Reductions This scheme works but there is one delicate point here. Can you see where it is? The mapping must be computable. Given the input I, your ordinary Turing machine must be able to compute . For this we need the notion of Computable Functions.

  8. Computable Functions Let be an alphabet: A function is a computable function if there exists a TM, M such that for every , if M computes with input w, it halts with on its tape.

  9. Examples of Computable Functions 1. Let m and n be natural numbers, let be a string encoding of m and n, and let be the string representing their sum. The function , is computable. 2. The function is a computable function. Can you devise TM-s to compute fand g?

  10. Examples of Computable Functions 3. Let be an encoding of TM M and let be an encoding of another TM M’ satisfying:1. .2. TM M’ never makes four consecutive steps in the same head direction.The function t defined below is computable:

  11. Use of Comp. Func. for Reductions In the reduction from to - TM M from the input to was modified by TM S, the decider to TM s.t. all ending computations on M would become accepting computations on . Since was carried out by TM S, it is obviously a computable function.

  12. Use of Comp. Func. for Reductions Another example is the reduction from to - TM M from the input to , was modified by TM S, to TM s.t. is regular iff . Once again, this is a computable function. Now we turn to define mapping reductions:

  13. Mapping Reductions Let A and B be two languages over . A computable function is a mapping reductionfrom A to B if the following holds: For each , iff . The function f is called reduction of Ato B. The arguments of the reduction are often called instances.

  14. Mapping Reductions If there exists a mapping reduction from A to B,We say that A is mapping reducible to B and denote it by . A pictorial illustration of a mapping reduction appears in the next slide.

  15. A Pictorial Illustration of_______ .

  16. An Observation about__and_____ Assume that . Can we say something about the relationship between and ? Answer: Yes

  17. Using Mapping Reductions If language A is mapping reducible to language B, then a solution for B, can be used to derive a solution for A. This fact is made formal in the following theorem:

  18. Theorem If and B is decidable, then A is decidable.

  19. Proof Let M be a decider for B and let f be the reduction from A to B. Consider TM N: N=“On input w : 1. Compute . 2. Run M on and output whatever M outputs. “ Clearly N accepts iff . QED

  20. Corollary If and A is undecidable, then B is undecidable.

  21. Discussion The previous corollary is our main tool for proving undecidability. Notice that in order to prove B undecidable we reduce from A which is known to be undecidable to B. The reduction direction is often a source of errors. A similar tool is used in Complexity theory.

  22. Revisited On the previous lecture we proved that is undecidable. Now, we prove this theorem once more by demonstrating a mapping reduction from to .

  23. Revisited Theorem The language Is undecidable.

  24. Revisited Proof The proof is by reduction from . In the next slide we show that . By the previous corollary it follows that is undecidable.

  25. Mapping Reduction from to__ The mapping reduction is presented by TM F : F=“On input : 1. Construct TM M’ . M’=“On input x: 1. Run M on x. 2. if M accepts accept. 3. If M rejects, enter a loop.” 2. Output .”

  26. Proof (cont.) It is not hard to see that iff . In other words: . Since is undecidable, the previous corollary implies that is undecidable too.

  27. The Halting Problem Revisited What happens if the input does not contain a valid description of a TM? By the specification of we know that in this case . Therefore in this case TM F should output any string s satisfying .

  28. Revisited Theorem The language Is undecidable.

  29. Revisited Proof The proof is by reduction from which is known to be undecidable. In the next slide we show that . By the previous corollary it follows that is undecidable.

  30. Mapping Reduction from to__ Let be an encoding of a TM that rejects all its inputs. The mapping f is defined as follows: For each instance of , , . It is not hard to verify that Meaning: . QED

  31. Theorem If and B is Turing recognizable, then A is Turing recognizable.

  32. Proof Turing Recognizer Let M be a decider for B and let f be the reduction from A to B. Consider TM N: N=“On input w : 1. Compute . 2. Run M on and output whatever M outputs.” Clearly N accepts iff . QED - if M halts, N recognizes B.

  33. Corollary If and A is not Turing recognizable, then B is not Turing recognizable.

  34. The Status of______ Theorem is neither Turing recognizable nor co-Turing recognizable. Reminder A language L is co-Turing recognizable if its complement, , is Turing recognizable.

  35. Proof If by a mapping f, then by the same mapping it holds that . Since we know that is not Turing recognizable, we can prove that language A is not Turing recognizable by reducing to .

  36. Proof Now we use the previous remark and prove that is not Turing recognizable, by showing that . Since , we conclude that and since we know that is not Turing recognizable we conclude that so is .

  37. Proof F=“ on input , where M is a TM: 1. Construct that accepts on any input and that accepts if M accepts w. 2. Output . It is not hard to see that F computes a reduction from to .

  38. Proof G=“ on input , where M is a TM: 1. Construct that rejects on any input and that accepts if M accepts w. 2. Output . It is not hard to see that G computes a reduction from to .

  39. Proof Since we conclude that is not Turing recognizable. Since we conclude that is not co-Turing recognizable, hence is not Turing recognizable. QED

More Related