fall 2006costas busch - rpi1 undecidable problems (unsolvable problems)
Post on 22-Dec-2015
212 views
Embed Size (px)
TRANSCRIPT
- Slide 1
- Fall 2006Costas Busch - RPI1 Undecidable Problems (unsolvable problems)
- Slide 2
- Fall 2006Costas Busch - RPI2 Recall that: A language is decidable, if there is a Turing machine (decider) that accepts the language and halts on every input string Turing Machine Input string Accept Reject Decider for Decision On Halt: Decidable Languages YES NO
- Slide 3
- Fall 2006Costas Busch - RPI3 A computational problem is decidable if the corresponding language is decidable We also say that the problem is solvable
- Slide 4
- Fall 2006Costas Busch - RPI4 Problem: Does DFA accept the empty language ? Corresponding Language: Description of DFA as a string (For example, we can represent as a binary string, as we did for Turing machines) (Decidable)
- Slide 5
- Fall 2006Costas Busch - RPI5 Determine whether there is a path from the initial state to any accepting state Decider for : On input : DFA Reject Decision: Accept
- Slide 6
- Fall 2006Costas Busch - RPI6 Problem: Does DFA accept a finite language? Corresponding Language:(Decidable)
- Slide 7
- Fall 2006Costas Busch - RPI7 Decider for : On input : DFA Reject Decision: Accept Check if there is a walk with a cycle from the initial state to an accepting state infinitefinite (NO) (YES)
- Slide 8
- Fall 2006Costas Busch - RPI8 Problem: Does DFA accept string ? Corresponding Language:(Decidable)
- Slide 9
- Fall 2006Costas Busch - RPI9 Decider for : On input string : Run DFA on input string If accepts Then accept (and halt) Else reject (and halt)
- Slide 10
- Fall 2006Costas Busch - RPI10 Problem: Do DFAs and accept the same language? Corresponding Language:(Decidable)
- Slide 11
- Fall 2006Costas Busch - RPI11 Let be the language of DFA Decider for : On input : Construct DFA such that: (combination of DFAs)
- Slide 12
- Fall 2006Costas Busch - RPI12 and
- Slide 13
- Fall 2006Costas Busch - RPI13 or
- Slide 14
- Fall 2006Costas Busch - RPI14 Therefore, we only need to determine whether which is a solvable problem for DFAs:
- Slide 15
- Fall 2006Costas Busch - RPI15 Undecidable Languages there is no Turing Machine which accepts the language and makes a decision (halts) for every input string undecidable language = not decidable language There is no decider: (machine may make decision for some input strings)
- Slide 16
- Fall 2006Costas Busch - RPI16 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)
- Slide 17
- Fall 2006Costas Busch - RPI17 We have shown before that there are undecidable languages: Decidable Turing-Acceptable is Turing-Acceptable and undecidable
- Slide 18
- Fall 2006Costas Busch - RPI18 We will prove that two particular problems are unsolvable: Membership problem Halting problem
- Slide 19
- Fall 2006Costas Busch - RPI19 Membership Problem Input:Turing Machine String Question: Does accept ? Corresponding language:
- Slide 20
- Fall 2006Costas Busch - RPI20 Theorem: (The membership problem is unsolvable) Proof: We will assume that is decidable; We will then prove that every decidable language is Turing-Acceptable is undecidable Basic idea: A contradiction!
- Slide 21
- Fall 2006Costas Busch - RPI21 Suppose that is decidable YES accepts NO rejects Decider for Input string
- Slide 22
- Fall 2006Costas Busch - RPI22 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
- Slide 23
- Fall 2006Costas Busch - RPI23 NO YES accept reject Decider for (and halt) Decider for Input string accepts ? String description of
- Slide 24
- Fall 2006Costas Busch - RPI24 Therefore,is decidable But there is a Turing-Acceptable language which is undecidable Contradiction!!!! Since is chosen arbitrarily, every Turing-Acceptable language is decidable END OF PROOF
- Slide 25
- Fall 2006Costas Busch - RPI25 We have shown: Decidable Undecidable
- Slide 26
- Fall 2006Costas Busch - RPI26 We can actually show: Decidable Turing-Acceptable
- Slide 27
- Fall 2006Costas Busch - RPI27 Turing machine that accepts : 1. Run on input 2. If accepts then accept is Turing-Acceptable
- Slide 28
- Fall 2006Costas Busch - RPI28 Halting Problem Input:Turing Machine String Question: Does halt while processing input string ? Corresponding language:
- Slide 29
- Fall 2006Costas Busch - RPI29 Theorem: (The halting problem is unsolvable) Proof: Suppose that is decidable; we will prove that every decidable language is also Turing-Acceptable is undecidable Basic idea: A contradiction!
- Slide 30
- Fall 2006Costas Busch - RPI30 YES halts on input doesnt halt on input NO Suppose that is decidable Decider for Input string
- Slide 31
- Fall 2006Costas Busch - RPI31 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
- Slide 32
- Fall 2006Costas Busch - RPI32 halts and accepts halts on ? YES NO Run with input reject accept reject Decider for Input string Decider for and halt halts and rejects and halt
- Slide 33
- Fall 2006Costas Busch - RPI33 Contradiction!!!! END OF PROOF Therefore,is decidable But there is a Turing-Acceptable language which is undecidable Since is chosen arbitrarily, every Turing-Acceptable language is decidable
- Slide 34
- Fall 2006Costas Busch - RPI34 Theorem: Proof: Assume for contradiction that the halting problem is decidable; (The halting problem is unsolvable) is undecidable we will obtain a contradiction using a diagonilization technique An alternative proof Basic idea:
- Slide 35
- Fall 2006Costas Busch - RPI35 YEShalts on doesnt halt on NO Suppose that is decidable Decider for Input string
- Slide 36
- Fall 2006Costas Busch - RPI36 Input string: YES NO Looking inside Decider for halts on ?
- Slide 37
- Fall 2006Costas Busch - RPI37 NO Loop forever YES Construct machine : If halts on input Then Loop Forever Else Halt halts on ?
- Slide 38
- Fall 2006Costas Busch - RPI38 Construct machine : Copy on tape If halts on input Then loop forever Else halt
- Slide 39
- Fall 2006Costas Busch - RPI39 Run with input itself Copy on tape If halts on input Then loops forever on input Else halts on input END OF PROOF CONTRADICTION!!!
- Slide 40
- Fall 2006Costas Busch - RPI40 We have shown: Decidable Undecidable
- Slide 41
- Fall 2006Costas Busch - RPI41 We can actually show: Decidable Turing-Acceptable
- Slide 42
- Fall 2006Costas Busch - RPI42 Turing machine that accepts : 1. Run on input 2. If halts on then accept is Turing-Acceptable