The Chomsky Hierarchy 1 Unrestricted Grammars Productions String












































- Slides: 44
 
	The Chomsky Hierarchy 1
	Unrestricted Grammars: Productions String of variables and terminals 2
	Example unrestricted grammar: 3
	Theorem: A language is recursively enumerable if and only if is generated by an unrestricted grammar 4
	Context-Sensitive Grammars: Productions String of variables and terminals and: 5
	The language is context-sensitive: 6
	Theorem: A language is context sensistive if and only if is accepted by a Linear-Bounded automaton 7
	Observation: There is a language which is context-sensitive but not recursive 8
	The Chomsky Hierarchy Non-recursively enumerable Recursively-enumerable Recursive Context-sensitive Context-free Regular 9
	Decidability 10
	Consider problems with answer YES or NO Examples: • Does Machine • Is string • Does DFA have three states ? a binary number? accept any input? 11
	A problem is decidable if some Turing machine Solves (decides) the problem Decidable problems: • Does Machine • Is string • Does DFA have three states ? a binary number? accept any input? 12
	The Turing machine that solves a problem answers YES or NO for each instance Input problem instance Turing Machine YES NO 13
	The machine that decides 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 14
	Turing Machine that decides a problem YES NO YES and NO states are halting states 15
	Difference between Recursive Languages and Decidable problems For decidable problems: The YES states may not be final states 16
	Some problems are undecidable: There is no Turing Machine that solves all instances of the problem 17
	A simple undecidable problem: The membership problem 18
	The Membership Problem Input: • Turing Machine • String Question: Does accept ? 19
	Theorem: The membership problem is undecidable Proof: Assume for contradiction that the membership problem is decidable 20
	There exists a Turing Machine that solves the membership problem YES accepts NO rejects 21
	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 22
	Turing Machine that accepts and halts on any input accepts ? YES accept NO reject 23
	Therefore, is recursive Since is chosen arbitrarily, we have proven that every recursively enumerable language is also recursive But there are recursively enumerable languages which are not recursive Contradiction!!!! 24
	Therefore, the membership problem is undecidable END OF PROOF 25
	A famous undecidable problem: The halting problem 26
	The Halting Problem Input: • Turing Machine • String Question: Does halt on ? 27
	Theorem: The halting problem is undecidable Proof: Assume for contradiction that the halting problem is decidable 28
	There exists Turing Machine that solves the halting problem YES halts on NO doesn’t halt on 29
	Construction of Input: initial tape contents YES NO Encoding of String 30
	Construct machine : If returns YES then loop forever If returns NO then halt 31
	Loop forever YES NO 32
	Construct machine Input: If : (machine ) halts on input Then loop forever Else halt 33
	copy 34
	Run machine Input: If with input itself: (machine ) halts on input Then loop forever Else halt 35
	on input : If halts then loops forever If doesn’t halt then it halts NONSENSE !!!!! 36
	Therefore, we have contradiction The halting problem is undecidable END OF PROOF 37
	Another proof of the same theorem: If the halting problem was decidable then every recursively enumerable language would be recursive 38
	Theorem: The halting problem is undecidable Proof: Assume for contradiction that the halting problem is decidable 39
	There exists Turing Machine that solves the halting problem YES halts on NO doesn’t halt on 40
	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 41
	Turing Machine that accepts and halts on any input NO halts on ? reject YES accept Run with input Halts on final state reject Halts on non-final state 42
	Therefore is recursive Since is chosen arbitrarily, we have proven that every recursively enumerable language is also recursive But there are recursively enumerable languages which are not recursive Contradiction!!!! 43
	Therefore, the halting problem is undecidable END OF PROOF 44