CSCI 2670 Introduction to Theory of Computing

Slides:



Advertisements
Similar presentations
1 CSC3130 Formal Languages and Automata Theory Tutorial 9 Undecidable Problem KN Hung SHB 1026.
Advertisements

1 Introduction to Computability Theory Lecture14: Recap Prof. Amos Israeli.
Decidability. Why study un-solvability? When a problem is algorithmically unsolvable, we realize that the problem must be simplified or altered before.
CS Master – Introduction to the Theory of Computation Jan Maluszynski - HT Lecture 6 Decidability Jan Maluszynski, IDA, 2007
Announcements Homework – HW8 due Tues 5/29 11am – HW5 grades are out Monday is Memorial Day; no office hours, etc. – Go see a parade, or some fireworks,
CSCI 2670 Introduction to Theory of Computing November 4, 2004.
Decidable languages Section 4.1 CSC 4170 Theory of Computation.
CSCI 2670 Introduction to Theory of Computing October 12, 2005.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
CSCI 2670 Introduction to Theory of Computing October 13, 2005.
Donghyun (David) Kim Department of Mathematics and Computer Science North Carolina Central University 1 Chapter 4 Decidability Some slides are in courtesy.
CSCI 3130: Formal languages and automata theory Andrej Bogdanov The Chinese University of Hong Kong Decidable.
Turing Machines- Cont. Theory of Computation Lecture 11 Tasneem Ghnaimat.
CSC 3130: Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong Undecidable.
Decidability.
CSCI 2670 Introduction to Theory of Computing
CSCI 2670 Introduction to Theory of Computing
Recursively Enumerable Languages
Theory of Computability
CSCI 2670 Introduction to Theory of Computing
This statement is false.
CSCI 2670 Introduction to Theory of Computing
Busch Complexity Lectures: Reductions
Linear Bounded Automata LBAs
Reductions.
CSCI 2670 Introduction to Theory of Computing
Reductions Costas Busch - LSU.
Theory of Computability
CSE 105 theory of computation
BCS 2143 Theory of Computer Science
CSE 2001: Introduction to Theory of Computation Fall 2013
CSCI 2670 Introduction to Theory of Computing
CSCI 2670 Introduction to Theory of Computing
Intro to Theory of Computation
Busch Complexity Lectures: Undecidable Problems (unsolvable problems)
Intro to Theory of Computation
Jaya Krishna, M.Tech, Assistant Professor
CS154, Lecture 8: Undecidability, Mapping Reductions
CS154, Lecture 8: Undecidability, Mapping Reductions
CSE 105 theory of computation
CSCI 2670 Introduction to Theory of Computing
Decidable Languages Costas Busch - LSU.
CSC 4170 Theory of Computation Decidable languages Section 4.1.
CSCI 2670 Introduction to Theory of Computing
Decidable and undecidable languages
CSCI 2670 Introduction to Theory of Computing
Undecidable problems:
CSC 4170 Theory of Computation Mapping Reducibility Section 5.3.
CSCI 2670 Introduction to Theory of Computing
Theory of Computability
CSCI 2670 Introduction to Theory of Computing
Do not hand in your homework until the end of class
CSCI 2670 Introduction to Theory of Computing
Theory of Computability
CSE 105 theory of computation
Theory of Computability
Instructor: Aaron Roth
CSC 4170 Theory of Computation Mapping Reducibility Section 5.3.
Theory of Computability
More undecidable languages
CSCI 2670 Introduction to Theory of Computing
Theory of Computability
Instructor: Aaron Roth
Automata, Grammars and Languages
CSCI 2670 Introduction to Theory of Computing
Intro to Theory of Computation
Intro to Theory of Computation
Intro to Theory of Computation
CSE 105 theory of computation
Presentation transcript:

CSCI 2670 Introduction to Theory of Computing October 26, 2004

Agenda Last week Today Tomorrow Decidability of languages involving DFA’s & CFG’s Non-decidability of the Turing machine acceptance problem ATM Today Revisit the ATM proof Finish Chapter 4 Problems Tomorrow Begin Chapter 5 (pp. 171 – 176) October 26, 2004

Announcements Announcements Homework due next Tuesday (11/2) 4.4, 4.8, 5.1, 5.2, 5.13 No quiz this week Quiz next Tuesday No tutorials this week -- extra office hours instead Tuesday & Wednesday 3:00 – 5:00 Or by appointment October 26, 2004

Undecidability of ATM Theorem: ATM is undecidable Proof: (By contradiction) Assume ATM is decidable and let H be a decider for ATM H(<M,w>) = { accept if M accepts w reject if M does not accept w October 26, 2004

Proof (cont.) Consider the TM D that submits the string <M> as input to the TM M D = “On input <M>, where M is a TM: Run H on input <M,<M>> If H accepts <M,<M>>, reject If H rejects <M,<M>>, accept” Since H is a decider, it must accept or reject Therefore, D is a decider as well D is a diagonalizing TM D rejects if M accepts <M> and accepts if M does not accept <M> October 26, 2004

Proof (cont.) What happens if D’s input is <D>? D(<D>) = { D cannot exist! Therefore, H cannot exist – i.e., ATM is undecidable reject if D accepts <D> accept if D does not accept <D> October 26, 2004

Recap Assume H decides ATM Define D using H Consider D(<D>) H(<M,w>) = accept if TM M accepts w, reject otherwise Define D using H D(<M>) returns opposite of H(<M,<M>>) Consider D(<D>) D accepts <D> if and only if D rejects <D> October 26, 2004

Apply this method to ADFA Assume H decides ADFA H(<A,w>) = accept if DFA A accepts w, reject otherwise Define D using H D(<A>) returns opposite of H(<A,<A>>) Consider D(<D>) D only accepts DFA’s as input … D is a TM Method does not apply October 26, 2004

Apply this method to ATM-D Assume H decides ATM-D H(<M,w>) = accept if decider TM M accepts w, reject otherwise Problem What if M is not a decider and just a regular TM? How can we test our input? ATM-D is not decidable October 26, 2004

Co-Turing recognizable Definition: A language A is co-Turing-recognizable if Ā is Turing-recognizable. Example: EDFA = {<A> | A is a DFA and L(A) = } EDFA = {S | S does not describe a DFA or S describes a DFA with a non-empty language} How would we decide this language? October 26, 2004

Decidability and recognizability Theorem: The language A is decidable if and only if it is both Turing-recognizable and co-Turing-recognizable Proof: In two parts If A is decidable then A and Ā are Turing-recognizable Follows from definitions If A and Ā are Turing-recognizable then A is decidable October 26, 2004

Decider for A Assume M1 recognizes A and M2 recognizes Ā Consider the following TM M = “On input w: Run M1 and M2 on input w in parallel If M1 accepts, accept; if M2 accepts, reject” M must halt on w because at least on of the recognizers must halt on w If w  A, M1 must halt; otherwise, M2 must halt October 26, 2004

Corollary ATM is not Turing-recognizable Proof: ATM is Turing-recognizable, but not decidable. By previous theorem, ATM cannot be co-Turing-recognizable. October 26, 2004

Proving dedicability of L Create a TM that decides L Your TM may invoke another TM that decides a language you know is decidable October 26, 2004

Languages we know are decidable Input ADFA <D,w>, D is a DFA, w is a string ANFA <N,w>, N is an NFA, w is a string AREX <R,w>, R is an RE, w is a string EDFA <D>, D is a DFA EQDFA <C,D>, C and D are both DFA’s ACFG <G,w>, G is a CFG, w is a string ECFG <G>, G is a CFG L(G) G is a CFG October 26, 2004

Some decidable languages FDFA = {<A> | A is a DFA and L(A) is finite} PRIME = { n | n is a prime number} CONN = {<G> | G is a connected graph} L10DFA = {D | D is a DFA that accepts every string w with |w| = 10} INTCFG = {<G1, G2, w> | G1 and G2 are CFG’s and w is accepted by both} INTLCFG = L(G1  G2), where G1 and G2 are CFG’s October 26, 2004

Group project 1 FDFA = {<A> | A is a DFA and L(A) is finite} October 26, 2004

Group project 2 PRIME = { n | n is a prime number} October 26, 2004

Group project 3 CONN = {<G> | G is a connected graph} October 26, 2004

Group project 4 L10DFA = {D | D is a DFA that accepts every string w with |w| = 10} October 26, 2004

Group project 5 INTCFG = {<G1, G2, w> | G1 and G2 are CFG’s and w is accepted by both} October 26, 2004

Group project 6 INTLCFG = L(G1  G2), where G1 and G2 are CFG’s October 26, 2004