Chap. 4,5 Review. Algorithms created in proofs from prior chapters

Similar documents
What languages are Turing-decidable? What languages are not Turing-decidable? Is there a language that isn t even Turingrecognizable?

CSE 105 THEORY OF COMPUTATION

ACS2: Decidability Decidability

CSE 105 THEORY OF COMPUTATION

Computability and Complexity

CS5371 Theory of Computation. Lecture 12: Computability III (Decidable Languages relating to DFA, NFA, and CFG)

Theory of Computation

Decidability (intro.)

CS 301. Lecture 18 Decidable languages. Stephen Checkoway. April 2, 2018

V Honors Theory of Computation

CSCE 551: Chin-Tser Huang. University of South Carolina

CS5371 Theory of Computation. Lecture 14: Computability V (Prove by Reduction)

Decidability. Overview. Preliminaries to Halting Problem. Decidable Problems of Regular Languages. Decidable Problems of Context-Free Languages

Reducability. Sipser, pages

Mapping Reducibility. Human-aware Robotics. 2017/11/16 Chapter 5.3 in Sipser Ø Announcement:

Undecidable Problems and Reducibility

CSE 105 THEORY OF COMPUTATION

CSCE 551: Chin-Tser Huang. University of South Carolina

Theory of Computation (IX) Yijia Chen Fudan University

acs-07: Decidability Decidability Andreas Karwath und Malte Helmert Informatik Theorie II (A) WS2009/10

FORMAL LANGUAGES, AUTOMATA AND COMPUTATION

Computability Theory

CSE 105 THEORY OF COMPUTATION

Decidable and undecidable languages

Computability Theory

Lecture 23: Rice Theorem and Turing machine behavior properties 21 April 2009

Decidability and Undecidability

CSE 105 Theory of Computation

Theory of Computation p.1/?? Theory of Computation p.2/?? We develop examples of languages that are decidable

CSE 105 THEORY OF COMPUTATION

Computational Models Lecture 8 1

Intro to Theory of Computation

CSE 105 THEORY OF COMPUTATION. Spring 2018 review class

Computational Models Lecture 8 1

Decidability (What, stuff is unsolvable?)

CS481F01 Solutions 8

1 Showing Recognizability

Decidability. Human-aware Robotics. 2017/10/31 Chapter 4.1 in Sipser Ø Announcement:

} Some languages are Turing-decidable A Turing Machine will halt on all inputs (either accepting or rejecting). No infinite loops.

CSE 105 THEORY OF COMPUTATION

CSE 105 THEORY OF COMPUTATION

Computational Models Lecture 8 1

Computation Histories

CSE 105 THEORY OF COMPUTATION

Turing Machines. Reading Assignment: Sipser Chapter 3.1, 4.2

Reading Assignment: Sipser Chapter 3.1, 4.2

THEORY OF COMPUTATION (AUBER) EXAM CRIB SHEET

Intro to Theory of Computation

CS154, Lecture 10: Rice s Theorem, Oracle Machines

Midterm Exam 2 CS 341: Foundations of Computer Science II Fall 2018, face-to-face day section Prof. Marvin K. Nakayama

Decidable Languages - relationship with other classes.

CP405 Theory of Computation

Introduction to Languages and Computation

CSE 105 Theory of Computation

CS5371 Theory of Computation. Lecture 15: Computability VI (Post s Problem, Reducibility)

A non-turing-recognizable language

17.1 The Halting Problem

TURING MAHINES

Chomsky Normal Form and TURING MACHINES. TUESDAY Feb 4

Non-emptiness Testing for TMs

Lecture Notes: The Halting Problem; Reductions

CPSC 421: Tutorial #1

Undecidability COMS Ashley Montanaro 4 April Department of Computer Science, University of Bristol Bristol, UK

Lecture 12: Mapping Reductions

Computability and Complexity

FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY

6.045: Automata, Computability, and Complexity Or, Great Ideas in Theoretical Computer Science Spring, Class 8 Nancy Lynch

CSCE 551 Final Exam, Spring 2004 Answer Key

Turing Machines Part III

CS20a: Turing Machines (Oct 29, 2002)

Theory Bridge Exam Example Questions

MTAT Introduction to Theoretical Computer Science

Decidability: Church-Turing Thesis

Decidability. Linz 6 th, Chapter 12: Limits of Algorithmic Computation, page 309ff

Announcements. Problem Set 7 graded; will be returned at end of lecture. Unclaimed problem sets and midterms moved!

SCHEME FOR INTERNAL ASSESSMENT TEST 3

CpSc 421 Final Exam December 15, 2006

FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY

Midterm Exam 2 CS 341: Foundations of Computer Science II Fall 2016, face-to-face day section Prof. Marvin K. Nakayama

Outline 1 PCP. 2 Decision problems about CFGs. M.Mitra (ISI) Post s Correspondence Problem 1 / 10

6.8 The Post Correspondence Problem

Homework Assignment 6 Answers

4.2 The Halting Problem

problem X reduces to Problem Y solving X would be easy, if we knew how to solve Y

Decision Problems with TM s. Lecture 31: Halting Problem. Universe of discourse. Semi-decidable. Look at following sets: CSCI 81 Spring, 2012

Undecidability. We are not so much concerned if you are slow as when you come to a halt. (Chinese Proverb)

CSE 105 THEORY OF COMPUTATION

UNIT-VIII COMPUTABILITY THEORY

CSE 105 THEORY OF COMPUTATION

SYLLABUS. Introduction to Finite Automata, Central Concepts of Automata Theory. CHAPTER - 3 : REGULAR EXPRESSIONS AND LANGUAGES

Advanced Undecidability Proofs

AC68 FINITE AUTOMATA & FORMULA LANGUAGES DEC 2013

Introduction to Turing Machines. Reading: Chapters 8 & 9

On Rice s theorem. Hans Hüttel. October 2001

CSE 105 THEORY OF COMPUTATION

CS 7220 Computational Complexity and Algorithm Analysis

Reductions in Computability Theory

The Turing Machine. Computability. The Church-Turing Thesis (1936) Theory Hall of Fame. Theory Hall of Fame. Undecidability

SD & Turing Enumerable. Lecture 33: Reductions and Undecidability. Lexicographically Enumerable. SD & Turing Enumerable

Section 14.1 Computability then else

Transcription:

Chap. 4,5 Review Algorithms created in proofs from prior chapters (p. 55) Theorem 1.39: NFA to DFA (p. 67) Lemma 1.55: Regex to NFA (p. 69) Lemma 1.60: DFA to regex (through GNFA) (p. 112) Lemma 2.21: CFG to PDA (p. 121) Lemma 2.27: PDA to CFG (p. 177) Theorem 3.13: Multi-tape TM to single tape (p. 178) Theorem 3.16: NTM to TM Each of the proofs of decidable languages in Chap. 4 has an algorithm from the associated TM decider L is Turing-recognizable if some TM accepts any member, and never accepts a non-member Halts on any member, but may not halt on non-members L is Turing-decidable if some TM accepts any member, and rejects all non-members Halts for all inputs L is co-turing-recognizable if some TM accepts any non-member, and never accepts any member Halts on non-members, but may not halt on member L is undecidable if no TM decider exists 1

(p. 209) L is decidable iff both Turing-recognizable and co-turing-recognizable Interesting languages: languages whose members include descriptions (encodings) of machines <M> = Encoding of machine M as a string <M,w> = Encoding of M and string w as a string (p. 202) Diagonalization Method: Compare 2 sets of possibly infinite size If you can create table of 2 languages & can correspond every element of 1 set with element of other, then same size Decidable Regular Languages (p. 194) A DFA = {<B,w> B is a DFA that accepts w} (p. 195) A NFA = {<B,w> B is an NFA that accepts w} (p. 196) A REX = {<R,w> R is a regex that generates w} (p. 196) E DFA = {<A> A is a DFA where L(A) = Φ} (p. 197) EQ DFA = {<A,B> A,B both DFAs & L(A) = L(B)} (Prob. 4.3) ALL DFA = {<A> A a DFA and L(A)=Σ*} (Prob. 4.10) INFINITE DFA = {<A> A a DFA, L(A) is infinite} (Prob. 4.11) INFINITE PDA = {<A> A a PDA, L(A) is infinite} Decidable Problems re CFLs (p. 198) A CFG = {<G,w> G is a CFG that generates w} (p. 199) E CFG = {<G> G is a CFG & L(G) = Φ} 2

(p. 200) EQ CFG = {<G,H> G & H are CFGs, & L(G)=L(H)} (p. 200) Theorem 4.9 Every CFL is decidable Pr. 4.4 Aε CFG = {<G> G is a CFG that generates ε} Other Decidable problems Pr. 4.5 E TM = {<M> M a TM and L(M)=Ф} Pr. 4.11: INFINITE PDA = {<M> M a PDA and L(M) is } (p. 222,223) A LBA = {<M,w> M is LBA that accepts w} LBA is a TM that cannot move beyond initial input Proof by showing # of configuration histories is finite Undecidable Languages: A decider does not exist. (p. 202) HALT TM = {<M,w> M is a TM that halts on w} (p. 207) A TM = {<M,w> M accepts w} (p. 217) E TM = {<M> M is a TM and L(M)=Φ} (p. 218) REGULAR TM ={<M> M a TM & L(M) is regular} (p. 219) L P = {<M> M a TM such that L(M) has property P} (p. 220) EQ TM = {<M1,M2> M1, M2 TMs, L(M1)=L(M2)} (p. 222) A LBA = {<M,w> M an LBA that accepts w} (p. 223) E LBA = {<M> M an LBA where L(M) is empty} (p. 225) ALL CFG = {<G> G is CFG where L(G)=Σ*} (p. 228) PCP = {<P> P instance of Post Correspondence Problem) 3

Result: p.201 Fig. 4.10. Following are proper subsets RL subset of CFL subset of Decidable Languages subset of Turing-recognizable languages Undecidable Languages: No deciders exist (p. 202) A TM = {<M,w> M is a TM and M accepts w} Notional Proof: Assume H a decider for A TM Accept if M accepts w Reject if M does not accept w Define D as machine with inputs <M> Run H on <M,<M>> Accept if H rejects <M>, reject if H accepts <M> Consider D(<D>) Accepts if H rejects <D,<D>>, i.e. D rejects <D> Reject if H accepts <D,<D>>, i.e. D accepts <D> Tabular form of proof (p. 208) Table rows = machines Table columns = encodings of machines One of the rows (and columns) is for D Fig. 4.19: cell[i,j] = running machine i on string j Fig. 4.20: cell[i,j] = running H on <<i>,j> Fig. 4.21: look at row for D when it processes <D> 4

(Chap. 5) Reduction: convert problem A into another problem B, where algorithm for B can solve A Decider S for Language A Using assumed decider for Language B Any Instance of Language A Map instance of A into instance of B Decider R for Language B Map results from B back into results for A Results for A instance If we chose A as a known undecidable language, then if R exists as decider for B, then we have built a decider for A - which we know is impossible Typical Undecidability Proof for Language B: Assume Decider for B exists, and call it R Choose some known undecidable language A Design a reduction from any string w A from A into a string w B for B whereby the answer from R for w B tells us the answer for w A Thus if decider R exists, so does one for Language A 5

Undecidable Problems about Turing Machines M (p. 216) HALT TM = {<M,w> M halts on w} (p. 217) E TM = {<M> L(M) is empty} (p. 219) REGULAR TM = {<M> L(M) is regular} (p. 220) EQ TM = {<M1,M2> L(M1) = L(M2)} Use E TM for problem A (p. 220) E LBA = {<M,w> M is a LBA that accepts w} (p. 225) ALL CFG = {<G> G a CFG and L(G)= *} (p. 227) Post Correspondence Problem Pr. 5.1: EQ CFG = {<G1,G2> L(G1) = L(G2)} Pr. 5.9: T= {<M> M accepts w whenever it accepts w R } 6

Problem Solving Steps: Define the language precisely. Know what an element of the language is (as a string) What properties does the string have to have For decision problems: know what is to be decided You are looking for an algorithm/tm that accepts a string that is in the language, and rejects otherwise You want to write a program that always halts Typically, show how to Reduce any string from language into a string for a language you know is decidable Convert the answer from the known decider into an answer for the desired decider For undecidability problems, form a contradiction Make sure you know what the language is (call it B Be explicit about what decider, if it exists, has to answer Assume the decider exists (call it R) Choose a undecidable language A, call decider for it as S, & build a reducer as above from any string in A to B Show how answers from R then can answer S Hint: sometimes reducer converts an input machine/grammar to a different machine/grammar 7