CSE 105 theory of computation

Slides:



Advertisements
Similar presentations
CS 461 – Nov. 9 Chomsky hierarchy of language classes –Review –Let’s find a language outside the TM world! –Hints: languages and TM are countable, but.
Advertisements

The difference -- between Recognizable and decidable If L is decidable, then L is recognized by a TM M that halts on all inputs. Note that, L might be.
1 Introduction to Computability Theory Lecture14: Recap Prof. Amos Israeli.
The Halting Problem Sipser 4.2 (pages ). CS 311 Mount Holyoke College 2 Taking stock All languages Turing-recognizable Turing-decidable Context-free.
The Halting Problem Sipser 4.2 (pages ).
CHAPTER 4 Decidability Contents Decidable Languages
CS Master – Introduction to the Theory of Computation Jan Maluszynski - HT Lecture 6 Decidability Jan Maluszynski, IDA, 2007
1 Introduction to Computability Theory Lecture11: The Halting Problem Prof. Amos Israeli.
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,
CSE 105 Theory of Computation Alexander Tsiatas Spring 2012 Theory of Computation Lecture Slides by Alexander Tsiatas is licensed under a Creative Commons.
The Halting Problem – Undecidable Languages Lecture 31 Section 4.2 Wed, Oct 31, 2007.
Midterm 2 review Jundong Liu School of EECS
Donghyun (David) Kim Department of Mathematics and Computer Science North Carolina Central University 1 Chapter 4 Decidability Some slides are in courtesy.
CSC 3130: Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong Undecidable.
CSE 105 theory of computation
CSE 105 theory of computation
CSCI 2670 Introduction to Theory of Computing
The Acceptance Problem for TMs
CSE 105 theory of computation
CSCI 2670 Introduction to Theory of Computing
This statement is false.
CSCI 2670 Introduction to Theory of Computing
Lecture12 The Halting Problem
CSCI 2670 Introduction to Theory of Computing
Theory of Computability
CSE 105 theory of computation
BCS 2143 Theory of Computer Science
CS154, Lecture 7: Turing Machines.
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
CSE 105 theory of computation
CSE 105 theory of computation
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.
Decidable and undecidable languages
CSCI 2670 Introduction to Theory of Computing
Intro to Theory of Computation
CSCI 2670 Introduction to Theory of Computing
More undecidable languages
Theory of Computability
CS21 Decidability and Tractability
CSCI 2670 Introduction to Theory of Computing
Theory of Computability
CSE 105 theory of computation
Theory of Computability
Instructor: Aaron Roth
Theory of Computability
More undecidable languages
CSCI 2670 Introduction to Theory of Computing
Intro to Theory of Computation
Theory of Computability
Instructor: Aaron Roth
Instructor: Aaron Roth
CSE 105 theory of computation
CSE 105 theory of computation
CSE 105 theory of computation
CSE 105 theory of computation
Intro to Theory of Computation
Intro to Theory of Computation
Intro to Theory of Computation
CSE 105 theory of computation
CSE 105 theory of computation
Presentation transcript:

CSE 105 theory of computation Spring 2019 https://cseweb.ucsd.edu/classes/sp19/cse105-a/

Today's learning goals Sipser Ch 4.1, 4.2 Trace high-level descriptions of algorithms for computational problems. Use counting arguments to prove the existence of unrecognizable (undecidable) languages. Use diagonalization in a proof of undecidability.

Undecidable? There are many ways to prove that a problem is decidable. How do we find (and prove) that a problem is not decidable?

Counting arguments Before we proved the Pumping Lemma … We proved there was a set that was not regular because Uncountable All sets of strings All Regular Sets Countable

All Turing-recognizable sets Counting arguments Uncountable All sets of strings All Turing-recognizable sets Countable Why is the set of Turing-recognizable languages countable? It's equal to the set of all TMs, which we showed is countable. It's a subset of the set of all TMs, which we showed is countable. Each Turing-recognizable language is associated with a TM, so there can be no more Turing-recognizable languages than TMs. More than one of the above. I don't know.

Satisfied? Maybe not … What's a specific example of a language that is not Turing-recognizable? or not Turing-decidable? Idea: consider a set that, were it to be Turing-decidable, would have to "talk" about itself, and contradict itself!

ATM Recall ADFA = {<B,w> | B is a DFA and w is in L(B) } Decider for this set simulates arbitrary DFA ATM = {<M,w> | M is a TM and w is in L(M) } Decider for this set simulates arbitrary TMs ???

ATM ATM = {<M,w> | M is a TM and w is in L(M) } Define the TM N = "On input <M,w>: Simulate M on w. If M accepts, accept. If M rejects, reject."

ATM ATM = {<M,w> | M is a TM and w is in L(M) } Define the TM N = "On input <M,w>: Simulate M on w. If M accepts, accept. If M rejects, reject." What is L(N)?

ATM ATM = {<M,w> | M is a TM and w is in L(M) } Define the TM N = "On input <M,w>: Simulate M on w. If M accepts, accept. If M rejects, reject." Does N decide ATM?

ATM ATM = {<M,w> | M is a TM and w is in L(M) } Define the TM N = "On input <M,w>: Simulate M on w. If M accepts, accept. If M rejects, reject." Conclude: ATM is Turing-recognizable. Is it decidable?

Diagonalization proof: ATM not decidable Sipser 4.11 Assume, towards a contradiction, that it is. Call MATM the decider for ATM: For every TM M and every string w, Computation of MATM on <M,w> halts and accepts if w is in L(M). Computation of MATM on <M,w> halts and rejects if w is not in L(M). MATM ≠ N

Diagonalization proof: ATM not decidable Sipser 4.11 Assume, towards a contradiction, that MATM decides ATM Define the TM D = "On input <M>: Run MATM on <M, <M>>. If MATM accepts, reject; if MATM rejects, accept."

Diagonalization proof: ATM not decidable Sipser 4.11 Assume, towards a contradiction, that MATM decides ATM Define the TM D = "On input <M>: Run MATM on <M, <M>>. If MATM accepts, reject; if MATM rejects, accept." Which of the following computations halt? Computation of D on <X> Computation of D on <Y> where Y is TM with L(Y) =Σ* Computation of D on <D> All of the above.

Diagonalization proof: ATM not decidable Sipser 4.11 Assume, towards a contradiction, that MATM decides ATM Define the TM D = "On input <M>: Run MATM on <M, <M>>. If MATM accepts, reject; if MATM rejects, accept." Consider running D on input <D>. Because D is a decider: either computation halts and accepts … or computation halts and rejects …

Diagonalization proof: ATM not decidable Sipser 4.11 Self-reference "Is <D> an element of L(D)?" Assume, towards a contradiction, that MATM decides ATM Define the TM D = "On input <M>: Run MATM on <M, <M>>. If MATM accepts, reject; if MATM rejects, accept." Consider running D on input <D>. Because D is a decider: either computation halts and accepts … or computation halts and rejects …

ATM Recognizable Not decidable Fact (from discussion section): A language is decidable iff it and its complement are both recgonizable. Corollary: The complement of ATM is unrecognizable.

Decidable vs. undecidable Which of the following languages is undecidable? INFINITEDFA = { <A> | A is a DFA and L(A) is an infinite language} STM = { <M> | M is a TM and M has exactly 7 states} RevDFA = { <B> | B is a DFA and for all strings w, B accepts w iff it accepts wR} RecTM = { <X> | X is a TM and L(X) is recognizable} DecTM = { <Y> | Y is a TM and L(Y) is decidable}

So far Decidable Recognizable (and not decidable) Co-recognizable ADFA ATM ATMC EDFA EQDFA INFINITEDFA RevDFA STM RecTM

Do we have to diagonalize? Next time: comparing difficulty of problems.