1 / 89

Reductions

Costas Busch's Reduction Principle is a powerful tool in theoretical computer science to establish decidability and undecidability of languages. This concept simplifies problem-solving by reducing complex tasks to known solvable or unsolvable problems, enabling the proof of challenging theorems.

aluera
Download Presentation

Reductions

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. Reductions Costas Busch - RPI

  2. Problem is reduced to problem If we can solve problem then we can solve problem Costas Busch - RPI

  3. Definition: Language is reduced to language There is a computable function (reduction) such that: Costas Busch - RPI

  4. Recall: Computable function : There is a deterministic Turing machine which for any string computes Costas Busch - RPI

  5. Theorem: If: a: Language is reduced to b: Language is decidable Then: is decidable Proof: Basic idea: Build the decider for using the decider for Costas Busch - RPI

  6. Decider for Reduction YES Input string YES accept accept compute Decider for (halt) (halt) NO NO reject reject (halt) (halt) END OF PROOF Costas Busch - RPI

  7. Example: is reduced to: Costas Busch - RPI

  8. We only need to construct: Turing Machine for reduction DFA Costas Busch - RPI

  9. Let be the language of DFA Let be the language of DFA Turing Machine for reduction DFA construct DFA by combining and so that: Costas Busch - RPI

  10. Costas Busch - RPI

  11. Decider for Reduction Input string YES compute YES Decider NO NO Costas Busch - RPI

  12. Theorem (version 1): If: a: Language is reduced to b: Language is undecidable Then: is undecidable (this is the negation of the previous theorem) Proof: Suppose is decidable Using the decider for build the decider for Contradiction! Costas Busch - RPI

  13. If is decidable then we can build: Decider for Reduction YES Input string YES accept accept compute Decider for (halt) (halt) NO NO reject reject (halt) (halt) CONTRADICTION! END OF PROOF Costas Busch - RPI

  14. Observation: In order to prove that some language is undecidable we only need to reduce a known undecidable language to Costas Busch - RPI

  15. State-entry problem Input: • Turing Machine • State • String Question: Does enter state while processing input string ? Corresponding language: Costas Busch - RPI

  16. Theorem: is undecidable (state-entry problem is unsolvable) Proof: Reduce (halting problem) to (state-entry problem) Costas Busch - RPI

  17. Halting Problem Decider Decider for state-entry problem decider Reduction YES YES Compute Decider NO NO Given the reduction, if is decidable, then is decidable A contradiction! since is undecidable Costas Busch - RPI

  18. We only need to build the reduction: Reduction Compute So that: Costas Busch - RPI

  19. Construct from : special halt state halting states A transition for every unused tape symbol of Costas Busch - RPI

  20. special halt state halting states halts halts on state Costas Busch - RPI

  21. Therefore: halts on input halts on state on input Equivalently: END OF PROOF Costas Busch - RPI

  22. Blank-tape halting problem Input: Turing Machine Question: Does halt when started with a blank tape? Corresponding language: Costas Busch - RPI

  23. Theorem: is undecidable (blank-tape halting problem is unsolvable) Proof: Reduce (halting problem) to (blank-tape problem) Costas Busch - RPI

  24. Halting Problem Decider Decider for blank-tape problem decider Reduction YES YES Compute Decider NO NO Given the reduction, If is decidable, then is decidable A contradiction! since is undecidable Costas Busch - RPI

  25. We only need to build the reduction: Reduction Compute So that: Costas Busch - RPI

  26. Construct from : no Tape is blank? yes Run Write on tape with input If halts then halt Costas Busch - RPI

  27. no Tape is blank? yes Run Write on tape with input halts on input halts when started on blank tape Costas Busch - RPI

  28. halts on input halts when started on blank tape Equivalently: END OF PROOF Costas Busch - RPI

  29. Theorem (version 2): If: a: Language is reduced to b: Language is undecidable Then: is undecidable Proof: Suppose is decidable Then is decidable Using the decider for build the decider for Contradiction! Costas Busch - RPI

  30. Suppose is decidable reject Decider for (halt) accept (halt) Costas Busch - RPI

  31. Suppose is decidable Then is decidable (we have proven this in previous class) Decider for NO YES reject accept Decider for (halt) (halt) YES NO accept reject (halt) (halt) Costas Busch - RPI

  32. If is decidable then we can build: Decider for Reduction YES Input string YES accept accept compute Decider for (halt) (halt) NO NO reject reject (halt) (halt) CONTRADICTION! Costas Busch - RPI

  33. Alternatively: Decider for Reduction NO Input string YES reject accept compute Decider for (halt) (halt) YES NO accept reject (halt) (halt) CONTRADICTION! END OF PROOF Costas Busch - RPI

  34. Observation: In order to prove that some language is undecidable we only need to reduce some known undecidable language to or to (theorem version 1) (theorem version 2) Costas Busch - RPI

  35. Undecidable Problems for Turing Recognizable languages Let be a Turing recognizable language • is empty? • is regular? • has size 2? All these are undecidable problems Costas Busch - RPI

  36. Let be a Turing recognizable language • is empty? • is regular? • has size 2? Costas Busch - RPI

  37. Empty language problem Input: Turing Machine Question: Is empty? Corresponding language: Costas Busch - RPI

  38. Theorem: is undecidable (empty-language problem is unsolvable) Proof: Reduce (membership problem) to (empty language problem) Costas Busch - RPI

  39. membership problem decider Decider for empty problem decider Reduction YES YES Compute Decider NO NO Given the reduction, if is decidable, then is decidable A contradiction! since is undecidable Costas Busch - RPI

  40. We only need to build the reduction: Reduction Compute So that: Costas Busch - RPI

  41. Construct from : Tape of input string write on tape skip input string run on input yes If accepts ? then accept Costas Busch - RPI

  42. Tape of write on tape skip input string run on input yes If accepts ? then accept Costas Busch - RPI

  43. Tape of write on tape skip input string run on input yes If accepts ? then accept Costas Busch - RPI

  44. During this phase this area is not touched working area of write on tape skip input string run on input yes If accepts ? then accept Costas Busch - RPI

  45. Simply check if entered an accept state altered write on tape skip input string run on input yes If accepts ? then accept Costas Busch - RPI

  46. Now check input string write on tape skip input string run on input yes If accepts ? then accept Costas Busch - RPI

  47. The only possible accepted string t r o y write on tape skip input string run on input yes If accepts ? then accept Costas Busch - RPI

  48. accepts does not accept write on tape skip input string run on input yes If accepts ? then accept Costas Busch - RPI

  49. Therefore: accepts Equivalently: END OF PROOF Costas Busch - RPI

  50. Let be a Turing recognizable language • is empty? • is regular? • has size 2? Costas Busch - RPI

More Related