1 / 42

Undecidable Problems (unsolvable problems)

Undecidable Problems (unsolvable problems). Decidable Languages. Recall that: A language is decidable , if there is a Turing machine ( decider ) that accepts the language and halts on every input string. Decision On Halt:. Turing Machine. YES. Accept.

Gabriel
Télécharger la présentation

Undecidable Problems (unsolvable problems)

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. Undecidable Problems(unsolvable problems) Costas Busch - RPI

  2. Decidable Languages Recall that: A language is decidable, if there is a Turing machine (decider) that accepts the language and halts on every input string Decision On Halt: Turing Machine YES Accept Input string Deciderfor NO Reject Costas Busch - RPI

  3. A computational problem is decidable if the corresponding language is decidable We also say that the problem is solvable Costas Busch - RPI

  4. Problem: Does DFA accept the empty language ? (Decidable) Corresponding Language: Description of DFA as a string (For example, we can represent as a binary string, as we did for Turing machines) Costas Busch - RPI

  5. Decider for: On input : Determine whether there is a path from the initial state to any accepting state DFA DFA Accept Decision: Reject Costas Busch - RPI

  6. Problem: Does DFA accept a finite language? Corresponding Language: (Decidable) Costas Busch - RPI

  7. Decider for : On input : Check if there is a walk with a cycle from the initial state to an accepting state DFA DFA infinite finite Accept Decision: Reject (YES) (NO) Costas Busch - RPI

  8. Problem: Does DFA accept string ? Corresponding Language: (Decidable) Costas Busch - RPI

  9. Decider for: On input string : Run DFA on input string If accepts Then accept (and halt) Else reject (and halt) Costas Busch - RPI

  10. Problem: Do DFAs and accept the same language? Corresponding Language: (Decidable) Costas Busch - RPI

  11. Decider for : On input : Let be the language of DFA Let be the language of DFA Construct DFA such that: (combination of DFAs) Costas Busch - RPI

  12. and Costas Busch - RPI

  13. or Costas Busch - RPI

  14. Therefore, we only need to determine whether which is a solvable problem for DFAs: Costas Busch - RPI

  15. Undecidable Languages undecidable language =not decidable language There is no decider: there is no Turing Machine which accepts the language and makes a decision (halts) for every input string (machine may make decision for some input strings) Costas Busch - RPI

  16. For an undecidable language, the corresponding problem is undecidable (unsolvable): there is no Turing Machine (Algorithm) that gives an answer (yes or no) for every input instance (answer may be given for some input instances) Costas Busch - RPI

  17. We have shown before that there are undecidable languages: Turing-Acceptable Decidable is Turing-Acceptable and undecidable Costas Busch - RPI

  18. We will prove that two particular problems are unsolvable: Membership problem Halting problem Costas Busch - RPI

  19. Membership Problem Input: • Turing Machine • String Question: Does accept ? Corresponding language: Costas Busch - RPI

  20. Theorem: is undecidable (The membership problem is unsolvable) Proof: Basic idea: We will assume that is decidable; We will then prove that every decidable language is Turing-Acceptable A contradiction! Costas Busch - RPI

  21. Suppose that is decidable Input string Decider for accepts YES NO rejects Costas Busch - RPI

  22. Let be a Turing recognizable language Let be the Turing Machine that accepts We will prove that is also decidable: we will build a decider for Costas Busch - RPI

  23. String description of Decider for Decider for YES accept (and halt) accepts ? NO reject Input string (and halt) Costas Busch - RPI

  24. Therefore, is decidable Since is chosen arbitrarily, every Turing-Acceptable language is decidable But there is a Turing-Acceptable language which is undecidable Contradiction!!!! END OF PROOF Costas Busch - RPI

  25. We have shown: Undecidable Decidable Costas Busch - RPI

  26. We can actually show: Turing-Acceptable Decidable Costas Busch - RPI

  27. is Turing-Acceptable Turing machine that accepts : 1. Run on input 2. If accepts then accept Costas Busch - RPI

  28. Halting Problem Input: • Turing Machine • String Question: Does halt while processing input string ? Corresponding language: Costas Busch - RPI

  29. Theorem: is undecidable (The halting problem is unsolvable) Proof: Basic idea: Suppose that is decidable; we will prove that every decidable language is also Turing-Acceptable A contradiction! Costas Busch - RPI

  30. Suppose that is decidable Input string halts on input YES Decider for NO doesn’t halt on input Costas Busch - RPI

  31. Let be a Turing-Acceptable language Let be the Turing Machine that accepts We will prove that is also decidable: we will build a decider for Costas Busch - RPI

  32. Decider for Decider for NO reject halts on ? and halt YES Input string halts and accepts accept and halt Run with input halts and rejects reject and halt Costas Busch - RPI

  33. Therefore, is decidable Since is chosen arbitrarily, every Turing-Acceptable language is decidable But there is a Turing-Acceptable language which is undecidable Contradiction!!!! END OF PROOF Costas Busch - RPI

  34. An alternative proof Theorem: is undecidable (The halting problem is unsolvable) Proof: Basic idea: Assume for contradiction that the halting problem is decidable; we will obtain a contradiction using a diagonilization technique Costas Busch - RPI

  35. Suppose that is decidable Input string Decider for YES halts on NO doesn’t halt on Costas Busch - RPI

  36. Looking inside Decider for YES Input string: halts on ? NO Costas Busch - RPI

  37. Construct machine : Loop forever YES halts on ? NO If halts on input ThenLoop Forever ElseHalt Costas Busch - RPI

  38. Construct machine : Copy on tape halts on input If Thenloop forever Elsehalt Costas Busch - RPI

  39. Run with input itself Copy on tape halts on input If Thenloops forever on input Elsehalts on input CONTRADICTION!!! END OF PROOF Costas Busch - RPI

  40. We have shown: Undecidable Decidable Costas Busch - RPI

  41. We can actually show: Turing-Acceptable Decidable Costas Busch - RPI

  42. is Turing-Acceptable Turing machine that accepts : 1. Run on input 2. If halts on then accept Costas Busch - RPI

More Related