300 likes | 448 Views
Introduction to Computability Theory. Lecture14: Recap Prof. Amos Israeli. Subjects. Regular languages – Finite automata. Context free languages – Stack automata. Decidable languages – Turing machines. Undecidability. Reductions. The Language Hierarchy. Non Turing recognizable Ex: .
E N D
Introduction to Computability Theory Lecture14: Recap Prof. Amos Israeli
Subjects • Regular languages – Finite automata. • Context free languages – Stack automata. • Decidable languages – Turing machines. • Undecidability. • Reductions.
The Language Hierarchy Non Turing recognizable Ex: Turing recognizable Ex: RL-s Ex: CFL-s Ex: Decidable Ex:
Regular Languages • Defined DFA-s and their languages. • Defined NFA-s and their languages. • Defined RE-s and their languages. • Showed all three are equivalent. • Proved the Pumping lemma and demonstrated its use to prove irregularity.
Training Problem 1 Consider a. Show that L is regular. b. Present an RE for L.
Proof a,b a,b a. Consider - a,b a,b - - - - a,b,
Proof b. Consider
Context Free Languages • Defined CFG-s and their languages. • Defined Stack automata and their languages. • Showed that the two classes are equivalent. • Proved the Pumping lemma for CFL-s and demonstrated its use to prove languages to be non CFL.
Training Problem 2 Let Show that L is context free. Proof:
Decidable Languages • Defined Turing machines, decidable languages and Turing recognizable languages. • Defined multi-tape TM-s and non deterministic TM-s, and showed their equivalence to ordinary TM-s. • Introduced the Church-Turing hypothesis.
Training Problem 3 Consider a. Show that L is regular by presenting a DFA. b. Show that L is CF by presenting a PDA. c. Show that L is decidable by presenting a TM.
Training Problem 3 Consider a. Show that L is regular by presenting a DFA. 0,1 0 0
Training Problem 3 0,1 Consider b. Show that L is CF by presenting a PDA. 0 0
Training Problem 3 0,1 Consider c. Show that L is decidable by presenting a TM.
Undecidability • Defined Cardinality of sets. • Showed that the cardinality of the rational numbers is equal to . • Used Diagonalization to show that the cardinality of infinite binary sequences is not equal to .
Undecidability (cont.) • Showed that the cardinality of Turing recognizable languages is equal to . • Showed that the cardinality of languages is larger than . • Concluded the existence of a non Turing recognizable language.
Undecidability (cont.) • Defined and showed that it is undecidable.
Reductions • Defined reductions. • Used reductions to prove that , , , , and many other problems are undecidable. • Defined mapping reductions.
Training Problem 4 Consider the following problem: Show that is undecidable.
Proof We show a reduction from to . Assume TM R is a decider for , let S=“On input where N is a TM 1. Let M be the TM rejecting all its inputs. 2. if R accepts (meaning ) - accept, otherwise reject.”
Proof We conclude that S never loops and itaccepts iff . In other words: S is a decider for . Since is undecidable, we conclude that is also undecidable. QED Other practice problems: Prove by reduction from and from .
Training Problem 5 Prove or disprove: a. If L is Turing recognizable then L is undecidable. Disprove: A Language L is Turing recognizable if there exists a TM, M, s.t. . If M, halts on every input then L is decidable. In other words: Every decidable language is also Turing recognizable.
Training Problem 5 Prove or disprove: b. If a Turing machine moves its head only to the right then it must halt. Disprove:Present a state diagram of a TM that goes to the right forever.
Training Problem 5 Prove or disprove: c. If a language A, is undecidable then its complement is also undecidable.
Training Problem 5 Prove: Assume towards a contradiction that is decidable and let M be a TM deciding it. Consider TM M’ which is identical to M except that the accepting and rejecting states of M’ are switched. Clearly M’ accepts (rejects resp.) if and only if M rejects (accepts resp.), hence, M’ decides A, a contradiction. QED
Training Problem 6 An ordinary Turing machine may either change its current cell or leave it unchanged. A changer is a TM that always changes its current cell. Show that every Turing recognizable language is recognizable by a changer TM.
Proof Let L be a Turing recognizable language and let M be a TM recognizing L, namely . Let be M’s alphabet. Define a TM M’ whose alphabet is , where contains all the “barred” elements of . How should M’s transition function be changed in order to keep its functionality?
Training Problem 7 Let Consider the following problem: Show that is Turing recognizable.
Proof Consider the following TM: S=“On input where M,N are TM-s 1. Repeat 1.1 Run a single step of M on input w. 1.2 Run a single step of N on input w. 1.3 if either M or N accept - accept, if both reject - reject.”
Proof We can conclude: QED