# courtesy costas busch - rpi1 linear bounded automata lbas

Post on 29-Mar-2015

217 views

Embed Size (px)

TRANSCRIPT

- Slide 1

Courtesy Costas Busch - RPI1 Linear Bounded Automata LBAs Slide 2 Courtesy Costas Busch - RPI2 Linear Bounded Automata (LBAs) are the same as Turing Machines with one difference: The input string tape space is the only tape space allowed to use Slide 3 Courtesy Costas Busch - RPI3 Left-end marker Input string Right-end marker Working space in tape All computation is done between end markers Linear Bounded Automaton (LBA) Slide 4 Courtesy Costas Busch - RPI4 We define LBAs as NonDeterministic Open Problem: NonDeterministic LBAs have same power with Deterministic LBAs ? Slide 5 Courtesy Costas Busch - RPI5 Example languages accepted by LBAs: LBAs have more power than NPDAs LBAs have also less power than Turing Machines Slide 6 Courtesy Costas Busch - RPI6 The Chomsky Hierarchy Slide 7 Courtesy Costas Busch - RPI7 Unrestricted Grammars: Productions String of variables and terminals String of variables and terminals Slide 8 Courtesy Costas Busch - RPI8 Example unrestricted grammar: Slide 9 Courtesy Costas Busch - RPI9 A language is recursively enumerable if and only if is generated by an unrestricted grammar Theorem: Slide 10 Courtesy Costas Busch - RPI10 Context-Sensitive Grammars: and: Productions String of variables and terminals String of variables and terminals Slide 11 Courtesy Costas Busch - RPI11 The language is context-sensitive: Slide 12 Courtesy Costas Busch - RPI12 A language is context sensistive if and only if is accepted by a Linear-Bounded automaton Theorem: There is a language which is recursive but not context-sensitive Observation: Slide 13 Courtesy Costas Busch - RPI13 Non-recursively enumerable Recursively-enumerable Recursive Context-sensitive Context-free Regular The Chomsky Hierarchy Slide 14 Courtesy Costas Busch - RPI14 Decidability Slide 15 Courtesy Costas Busch - RPI15 Consider problems with answer YES or NO Examples: Does Machine have three states ? Is string a binary number? Does DFA accept any input? Slide 16 Courtesy Costas Busch - RPI16 A problem is decidable if some Turing machine decides (solves) the problem Decidable problems: Does Machine have three states ? Is string a binary number? Does DFA accept any input? Slide 17 Courtesy Costas Busch - RPI17 Turing Machine Input problem instance YES NO The Turing machine that decides (solves) a problem answers YES or NO for each instance of the problem Slide 18 Courtesy Costas Busch - RPI18 The machine that decides (solves) a problem: If the answer is YES then halts in a yes state If the answer is NO then halts in a no state These states may not be final states Slide 19 Courtesy Costas Busch - RPI19 YES states NO states Turing Machine that decides a problem YES and NO states are halting states Slide 20 Courtesy Costas Busch - RPI20 Difference between Recursive Languages and Decidable problems The YES states may not be final states For decidable problems: Slide 21 Courtesy Costas Busch - RPI21 Some problems are undecidable: which means: there is no Turing Machine that solves all instances of the problem A simple undecidable problem: The membership problem Slide 22 Courtesy Costas Busch - RPI22 The Membership Problem Input:Turing Machine String Question: Does accept ? Slide 23 Courtesy Costas Busch - RPI23 Theorem: The membership problem is undecidable Proof:Assume for contradiction that the membership problem is decidable (there are and for which we cannot decide whether ) Slide 24 Courtesy Costas Busch - RPI24 Thus, there exists a Turing Machine that solves the membership problem YES accepts NO rejects Slide 25 Courtesy Costas Busch - RPI25 Let be a recursively enumerable language Let be the Turing Machine that accepts We will prove that is also recursive: we will describe a Turing machine that accepts and halts on any input Slide 26 Courtesy Costas Busch - RPI26 accepts ? NO YES accept Turing Machine that accepts and halts on any input reject Slide 27 Courtesy Costas Busch - RPI27 Therefore,is recursive But there are recursively enumerable languages which are not recursive Contradiction!!!! Since is chosen arbitrarily, every recursively enumerable language is also recursive Slide 28 Courtesy Costas Busch - RPI28 Therefore, the membership problem is undecidable END OF PROOF Slide 29 Courtesy Costas Busch - RPI29 Another famous undecidable problem: The halting problem Slide 30 Courtesy Costas Busch - RPI30 The Halting Problem Input:Turing Machine String Question: Does halt on input ? Slide 31 Courtesy Costas Busch - RPI31 Theorem: The halting problem is undecidable Proof:Assume for contradiction that the halting problem is decidable (there are and for which we cannot decide whether halts on input ) Slide 32 Courtesy Costas Busch - RPI32 Thus, there exists Turing Machine that solves the halting problem YEShalts on doesnt halt on NO Slide 33 Courtesy Costas Busch - RPI33 Input: initial tape contents Encoding of String YES NO Construction of Slide 34 Courtesy Costas Busch - RPI34 Construct machine : If returns YES then loop forever If returns NO then halt Slide 35 Courtesy Costas Busch - RPI35 NO Loop forever YES Slide 36 Courtesy Costas Busch - RPI36 Construct machine : Input: If halts on input Then loop forever Else halt (machine ) Slide 37 Courtesy Costas Busch - RPI37 copy Slide 38 Courtesy Costas Busch - RPI38 Run machine with input itself: Input: If halts on input Then loop forever Else halt (machine ) Slide 39 Courtesy Costas Busch - RPI39 on input If halts then loops forever If doesnt halt then it halts : NONSENSE !!!!! Slide 40 Courtesy Costas Busch - RPI40 Therefore, we have contradiction The halting problem is undecidable END OF PROOF Slide 41 Courtesy Costas Busch - RPI41 Another proof of the same theorem: If the halting problem was decidable then every recursively enumerable language would be recursive Slide 42 Courtesy Costas Busch - RPI42 Theorem: The halting problem is undecidable Proof:Assume for contradiction that the halting problem is decidable Slide 43 Courtesy Costas Busch - RPI43 There exists Turing Machine that solves the halting problem YEShalts on doesnt halt on NO Slide 44 Courtesy Costas Busch - RPI44 Let be a recursively enumerable language Let be the Turing Machine that accepts We will prove that is also recursive: we will describe a Turing machine that accepts and halts on any input Slide 45 Courtesy Costas Busch - RPI45 halts on ? YES NO Run with input reject accept reject Turing Machine that accepts and halts on any input Halts on final state Halts on non-final state Slide 46 Courtesy Costas Busch - RPI46 Thereforeis recursive But there are recursively enumerable languages which are not recursive Contradiction!!!! Since is chosen arbitrarily, every recursively enumerable language is also recursive Slide 47 Courtesy Costas Busch - RPI47 Therefore, the halting problem is undecidable END OF PROOF