Download presentation
Presentation is loading. Please wait.
Published byCharleen Butler Modified over 9 years ago
1
Fall 2006Costas Busch - RPI1 Undecidable Problems (unsolvable problems)
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
3
Fall 2006Costas Busch - RPI3 A computational problem is decidable if the corresponding language is decidable We also say that the problem is solvable
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)
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
6
Fall 2006Costas Busch - RPI6 Problem: Does DFA accept a finite language? Corresponding Language:(Decidable)
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)
8
Fall 2006Costas Busch - RPI8 Problem: Does DFA accept string ? Corresponding Language:(Decidable)
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)
10
Fall 2006Costas Busch - RPI10 Problem: Do DFAs and accept the same language? Corresponding Language:(Decidable)
11
Fall 2006Costas Busch - RPI11 Let be the language of DFA Decider for : On input : Construct DFA such that: (combination of DFAs)
12
Fall 2006Costas Busch - RPI12 and
13
Fall 2006Costas Busch - RPI13 or
14
Fall 2006Costas Busch - RPI14 Therefore, we only need to determine whether which is a solvable problem for DFAs:
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)
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)
17
Fall 2006Costas Busch - RPI17 We have shown before that there are undecidable languages: Decidable Turing-Acceptable is Turing-Acceptable and undecidable
18
Fall 2006Costas Busch - RPI18 We will prove that two particular problems are unsolvable: Membership problem Halting problem
19
Fall 2006Costas Busch - RPI19 Membership Problem Input:Turing Machine String Question: Does accept ? Corresponding language:
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!
21
Fall 2006Costas Busch - RPI21 Suppose that is decidable YES accepts NO rejects Decider for Input string
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
23
Fall 2006Costas Busch - RPI23 NO YES accept reject Decider for (and halt) Decider for Input string accepts ? String description of
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
25
Fall 2006Costas Busch - RPI25 We have shown: Decidable Undecidable
26
Fall 2006Costas Busch - RPI26 We can actually show: Decidable Turing-Acceptable
27
Fall 2006Costas Busch - RPI27 Turing machine that accepts : 1. Run on input 2. If accepts then accept is Turing-Acceptable
28
Fall 2006Costas Busch - RPI28 Halting Problem Input:Turing Machine String Question: Does halt while processing input string ? Corresponding language:
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!
30
Fall 2006Costas Busch - RPI30 YES halts on input doesn’t halt on input NO Suppose that is decidable Decider for Input string
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
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
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
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:
35
Fall 2006Costas Busch - RPI35 YEShalts on doesn’t halt on NO Suppose that is decidable Decider for Input string
36
Fall 2006Costas Busch - RPI36 Input string: YES NO Looking inside Decider for halts on ?
37
Fall 2006Costas Busch - RPI37 NO Loop forever YES Construct machine : If halts on input Then Loop Forever Else Halt halts on ?
38
Fall 2006Costas Busch - RPI38 Construct machine : Copy on tape If halts on input Then loop forever Else halt
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!!!
40
Fall 2006Costas Busch - RPI40 We have shown: Decidable Undecidable
41
Fall 2006Costas Busch - RPI41 We can actually show: Decidable Turing-Acceptable
42
Fall 2006Costas Busch - RPI42 Turing machine that accepts : 1. Run on input 2. If halts on then accept is Turing-Acceptable
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.