Turing -Recognizable vs. -Decidable

Slides:



Advertisements
Similar presentations
Rice ’ s Theorem. Def: A property of the Turing-recognizable languages is simply a subset of all Turing- recognizable languages.
Advertisements

Turing -Recognizable vs. -Decidable
CSCI 4325 / 6339 Theory of Computation Zhixiang Chen Department of Computer Science University of Texas-Pan American.
Nathan Brunelle Department of Computer Science University of Virginia Theory of Computation CS3102 – Spring 2014 A tale.
Reducibility Sipser 5.1 (pages ). CS 311 Fall Reducibility.
Reducibility Sipser 5.1 (pages ).
Theory of Computing Lecture 20 MAS 714 Hartmut Klauck.
Context-Free Grammars: Review Basic idea: set of production rules induces a language Finite set of variables: V = {V 1, V 2,..., V k } Finite set of terminals:
 2005 SDU Lecture13 Reducibility — A methodology for proving un- decidability.
CS Master – Introduction to the Theory of Computation Jan Maluszynski - HT Lecture 7 Undecidability cont. Jan Maluszynski, IDA, 2007
Turing -Recognizable vs. -Decidable
Lecture 21 Reducibility. Many-one reducibility For two sets A c Σ* and B c Γ*, A ≤ m B if there exists a Turing-computable function f: Σ* → Γ* such that.
1 Recursively Enumerable and Recursive Languages.
Recursively Enumerable and Recursive Languages. Definition: A language is recursively enumerable if some Turing machine accepts it.
Decidability.
Chapters 11 and 12 Decision Problems and Undecidability.
Decidability and Undecidability Proofs
Recursively Enumerable Languages
Automata, Grammars and Languages
CSE 105 theory of computation
CSCI 2670 Introduction to Theory of Computing
CSCI 2670 Introduction to Theory of Computing
Theory of Computability
Busch Complexity Lectures: Reductions
Linear Bounded Automata LBAs
Reductions.
Reductions Costas Busch - LSU.
Automata, Grammars and Languages
Computing with Turing Machines
LIMITS OF ALGORITHMIC COMPUTATION
CSE 105 theory of computation
CS154, Lecture 10: Rice’s Theorem, Oracle Machines
Theory of Computation CS302 – Spring 2009
Busch Complexity Lectures: Undecidable Problems (unsolvable problems)
Context-Free Grammars: Review
Formal Languages Alphabet: a finite set of symbols
CSE 105 theory of computation
Formal Languages Alphabet: a finite set of symbols
CS154, Lecture 10: Rice’s Theorem, Oracle Machines
Formal Languages Alphabet: a finite set of symbols
CSCI 2670 Introduction to Theory of Computing
Decidable Languages Costas Busch - LSU.
Decidability and Undecidability
Turing acceptable languages and Enumerators
Undecidable problems:
Computability and Complexity
MA/CSSE 474 Theory of Computation
Proposed in Turing’s 1936 paper
CSCI 2670 Introduction to Theory of Computing
Formal Languages Alphabet: a finite set of symbols
Formal Languages: Review
CSE 105 theory of computation
Instructor: Aaron Roth
Formal Languages Alphabet: a finite set of symbols
Formal Languages Alphabet: a finite set of symbols
CSCI 2670 Introduction to Theory of Computing
Decidability continued….
Instructor: Aaron Roth
Theory of Computability
Instructor: Aaron Roth
Instructor: Aaron Roth
CSE 105 theory of computation
Automata, Grammars and Languages
More Undecidable Problems
Turing -Recognizable vs. -Decidable
MA/CSSE 474 Theory of Computation
CSE 105 theory of computation
Formal Languages: Review
MA/CSSE 474 Theory of Computation
CSE 105 theory of computation
Presentation transcript:

Turing -Recognizable vs. -Decidable √ Accept & halt ´ Reject & halt Never runs forever w→ Input Def: A language is Turing-decidable iff it is exactly the set of strings accepted by some always-halting TM. wÎΣ* = a b aa ab ba bb aaa aab aba abb baa bab bba bbb aaaa … M(w)Þ √ ´ L(M) = { a, aa, aaa, …} Note: M must always halt on every input.

Turing -Recognizable vs. -Decidable √ Accept & halt ´ Reject & halt ≡ ∞ Run forever w→ Input Def: A language is Turing-recognizable iff it is exactly the set of strings accepted by some Turing machine. wÎΣ* = a b aa ab ba bb aaa aab aba abb baa bab bba bbb aaaa … M(w)Þ √ ´ ∞ L(M) = { a, aa, aaa, …} Note: M can run forever on an input, which is implicitly a reject (since it is not an accept).

Recognition vs. Enumeration Def: “Decidable” means “Turing-decidable” “Recognizable” means “Turing-recognizable” Theorem: Every decidable language is also recognizable. Theorem: Some recognizable languages are not decidable. Ex: The halting problem is recognizable but not decidable. Note: Decidability is a special case of recognizability. Note: It is easier to recognize than to decide.

Famous Deciders “A wrong decision is better than indecision.” “I'm the decider, and I decide what is best.”

Famous Deciders

Recognition and Enumeration Def: An “enumerator” Turing machine for a language L prints out precisely all strings of L on its output tape. b $ a Note: The order of enumeration may be arbitrary. Theorem: If a language is decidable, it can be enumerated in lexicographic order by some Turing machine. Theorem: If a language can be enumerated in lexicographic order by some TM, it is decidable.

Recognition and Enumeration Def: An “enumerator” Turing machine for a language L prints out precisely all strings of L on its output tape. b $ a Note: The order of enumeration may be arbitrary. Theorem: If a language is recognizable, then it can be enumerated by some Turing machine. Theorem: If a language can be enumerated by some TM, then it is recognizable.

√ ´ Decidability Accept & halt Reject & halt Never runs forever w→ Input Def: A language is Turing-decidable iff it is exactly the set of strings accepted by some always-halting TM. Theorem: The finite languages are decidable. Theorem: The regular languages are decidable. Theorem: The context-free languages are decidable.

A “Simple” Example Let S = {x3 + y3 + z3 | x, y, z Î ℤ } Q: Is S infinite? A: Yes, since S contains all cubes. Q: Is S Turing-recognizable? A: Yes, since dovetailing TM can enumerate S. Q: Is S Turing-decidable? A: Unknown! Q: Is 29ÎS? A: Yes, since 33+13+13=29 Q: Is 30ÎS? A: Yes, since (2220422932)3+(-2218888517)3+(-283059965)3=30 Q: Is 33ÎS? Theorem [Matiyasevich, 1970]: Hilbert’s 10th problem (1900), namely of determining whether a given Diophantine (i.e., multi-variable polynomial) equation has any integer solutions, is not decidable.

Reducibilities computable function/map ƒ:å*®å* where "w wÎA Û ƒ(w)ÎB Def: A language A is reducible to a language B if computable function/map ƒ:å*®å* where "w wÎA Û ƒ(w)ÎB Note: ƒ is called a “reduction” of A to B Denotation: A £ B Intuitively, A is “no harder” than B

Reducibilities computable function/map ƒ:å*®å* where "w wÎA Û ƒ(w)ÎB Def: A language A is reducible to a language B if computable function/map ƒ:å*®å* where "w wÎA Û ƒ(w)ÎB Theorem: If A £ B and B is decidable then A is decidable. Theorem: If A £ B and A is undecidable then B is undecidable. Note: be very careful about the direction!

Reduction Example 1 x Note: M’ is not run! Def: Let He be the halting problem for TMs running on w=e. “Does TM M halt on e?” He = { <M>Îå*| M(e) halts } Theorem: He is not decidable. Proof: Reduction from the Halting Problem H: Given an arbitrary TM M and input w, construct new TM M’ that if it ran on input x, it would: Overwrite x with the fixed w on tape; Simulate M on the fixed input w; Accept Û M accepts w. Note: M’ halts on e (and on any xÎå*) Û M halts on w. A decider (oracle) for He can thus be used to decide H! Since H is undecidable, He must be undecidable also. x M’ Ignore x Simulate M on w If M(w) halts then halt Note: M’ is not run!

Reduction Example 2 x Note: M’ is not run! Def: Let LØ be the emptyness problem for TMs. “Is L(M) empty?” LØ = { <M>Îå*| L(M) = Ø } Theorem: LØ is not decidable. Proof: Reduction from the Halting Problem H: Given an arbitrary TM M and input w, construct new TM M’ that if it ran on input x, it would: Overwrite x with the fixed w on tape; Simulate M on the fixed input w; Accept Û M accepts w. Note: M’ halts on every xÎå* Û M halts on w. A decider (oracle) for LØ can thus be used to decide H! Since H is undecidable, LØ must be undecidable also. x M’ Ignore x Simulate M on w If M(w) halts then halt Note: M’ is not run!

Reduction Example 3 x Note: M’ is not run! Def: Let Lreg be the regularity problem for TMs. “Is L(M) regular?” Lreg = { <M>Îå*| L(M) is regular } Theorem: Lreg is not decidable. Proof: Reduction from the Halting Problem H: Given an arbitrary TM M and input w, construct new TM M’ that if it ran on input x, it would: Accept if xÎ0n1n Overwrite x with the fixed w on tape; Simulate M on the fixed input w; Accept Û M accepts w. Note: L(M’)=å* Û M halts on w L(M’)=0n1n Û M does not halt on w A decider (oracle) for Lreg can thus be used to decide H! x M’ Accept if xÎ0n1n Ignore x Simulate M on w If M(w) halts then halt Note: M’ is not run!

Rice’s Theorem The two trivial properties Def: Let a “property” P be a set of recognizable languages. Ex: P1={L | L is a decidable language} P2={L | L is a context-free language} P3={L | L = L*} P4={{e}} P5= Ø P6={L | L is a recognizable language} L is said to “have property P” iff LÎP Ex: (a+b)* has property P1, P2, P3 & P6 but not P4 or P5 {wwR} has property P1, P2, & P6 but not P3, P4 or P5 Def: A property is “trivial” iff it is empty or it contains all recognizable languages. The two trivial properties

Rice’s Theorem Proof: Pnone = Ø x Theorem: The two trivial properties are decidable. Proof: Pnone = Ø Pall={L | L is a recognizable language} Q: What other properties (other than Pnone and Pall) are decidable? A: None! x Mnone Ignore x Say “no” Stop no Mnone decides Pnone x Mall Ignore x Say “yes” Stop yes Mall decides Pall

Rice’s Theorem Theorem [Rice, 1951]: All non-trivial properties of the Turing-recognizable languages are not decidable. Proof: Let P be a non-trivial property. Without loss of generality assume ØÏP, otherwise substitute P’s complement for P in the remainder of this proof. Select LÎP (note that L ¹ Ø since ØÏP), and let ML recognize L (i.e., L(ML)=L ¹ Ø ). Assume (towards contradiction) that $ some TM MP that decides property P: x MP Does the language denoted by <x> have property P? no yes Note: x can be e.g., a TM description.

Rice’s Theorem Note: M’ is not run! w x Reduction strategy: use Mp to “solve” the halting problem. Recall that LÎP, and let ML recognize L (i.e., L(ML)=L ¹ Ø). Given an arbitrary TM M & string w, construct M’: M’ Note: M’ is not run! w M start halt yes ML x yes What is the language of M’? L(M’) is either Ø or L(ML)=L If M halts on w then L(M’)=L(ML)= L If M does not halt on w then L(M’)= Ø since ML never starts => M halts on w iff L(M’) has property P “Oracle” MP can determine if L(M’) has property P, and thereby “solve” the halting problem, a contradiction! MP Does the language denoted by <x> have property P? no yes

Rice’s Theorem Corollary: The following questions are not decidable: given a TM, is its language L: Empty? Finite? Infinite? Co-finite? Regular? Context-free? Inherently ambiguous? Decidable? L= å* ? L contains an odd string? L contains a palindrome? L = {Hello, World} ? L is NP-complete? L is in PSPACE? Warning: Rice’s theorem applies to properties (i.e., sets of languages), not (directly to) TM’s or other object types!