1 / 10

CS 461 – Nov. 9

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 the set of all languages is uncountable Undecidability We have seen that ATM is undecidable. Let’s look at some more undecidable problems.

Download Presentation

CS 461 – Nov. 9

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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 the set of all languages is uncountable • Undecidability • We have seen that ATM is undecidable. • Let’s look at some more undecidable problems.

  2. TM properties • 2 kinds of TMs  2 kinds of languages. • Turing-recognizable (a.k.a. recursively enumerable) • Example: ATM • Decidable (a.k.a. recursive) • Example: 0* • If L is decidable, then L’ is decidable. • If L and L’ are both Turing-recognizable,then L is decidable. (since either L or L’ must accept) • Therefore, the complement of ATM is not even Turing recognizable.

  3. Decidable? for n = 3 .. maxint: for each combo of (x, y, z) starting at 1: if (xn + yn == zn) print (“hello, world”); • Are we able to tell if this program will print “hello, world” or not? • Only since 1993 . For 300 years we didn’t know. • Solving this problem in general (for any program) must be hard… but what if it could be done?

  4. “hello, world” tester H • Suppose H can decide the question. • Then we can create similar algorithm H2. • Returns “hello, world” instead of “no”. • Let’s run H2 on itself! Print “yes” program & input Print “no” H2 Print “yes” H2 Print “hello, world”

  5. Regular? • REG = “Is there an algorithm to determine if a TM recognizes a regular language?” • Proof by contradiction, p. 191 • Assume REG is decidable. • Then,  TM “R” that can tell if an input <TM> recognizes a regular language. • We’ll use R to solve the ATM problem by creating a decider S. • In other words: Machine R solves REG -- which implies existence of …. Machine S which solves ATM. • Do we understand the I/O of R and S?

  6. Regular, continued • Here is how to build machine S, which will “solve” ATM. • Input to S is <T, w>. • Create a new TM “M2” • M2 sees if its input, x, is of the form 0n1n. If so, M2 accepts x. • If x is not of the form 0n1n, • M2 runs T on w. • If T accepts w, M2 accepts x. • Thus, L(M2) is either Σ*, if T accepts w, or 0n1n. • The only way for M2 to accept Σ* is for T to accept w.  • Feed M2 into R. • If R says that M2 accepts a regular language, we can conclude T accepts w, so S can say “yes”, i.e. accept. Otherwise S rejects. • But S can’t exist. So we have a contradiction. REG undecidable.

  7. Rice’s Theorem • Any question Q about a TM language is undecidable. • Proof by contradiction: • Assume Q is decidable. Then  TM “QD” that • always halts, and • answers Q for any input TM it receives. • Using QD, we can build a machine AD to decide ATM. • (But we know that AD can’t exist, therefore QD can’t exist. That is the contradiction.)

  8. Building TM “AD” • AD will do the following: • Its input is <T, w>. • Build a TM “Q1” that satisfies Q. • Build a TM “M2” whose input is x. • M2 runs T on w. If T loops/rejects, M2 will loop/reject. • If T accepts w, next run Q1 on x. M2 accepts if Q1 accepts. • Note that L(M2) = L(Q1) if T accepts w. L(M2) =  if T does not accept w. • In other words, if T accepts, then M2 satisfies Q. • Feed M2 into QD. If QD accepts, AD accepts. Otherwise AD rejects. • Thus: QD is a decider  AD is a decider.

  9. Glossary to proof • Q = some question or property about a TM language • QD = a TM that can decide Q • Q1 = a TM for which Q is true, built inside AD • ATM = the acceptance question for TM’s, already known to be undecidable • AD = a hypothetical decider for ATM • T = the TM input to AD • w = the corresponding word also input to AD • M2 = a second TM built inside AD • Rice’s theorem is a little complex because  5 TM’s!

  10. Examples • Let Q = “Is the language infinite?” or …. • “Does the language include 001?” • “Is the language finite?” • “Is the language nonregular?” • Can also prove by contradiction: • Is it decidable to determine if one TM language is the subset of another?

More Related