1 / 44

Lecture 1-3 Universal TM

Lecture 1-3 Universal TM. Proposed in Turing’s 1936 paper. Code of a DTM. Consider a one-tape DTM M = (Q, Σ , Γ , δ , s). It can be encoded as follows:

edwink
Download Presentation

Lecture 1-3 Universal TM

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. Lecture 1-3 Universal TM Proposed in Turing’s 1936 paper

  2. Code of a DTM • Consider a one-tape DTM M = (Q, Σ, Γ, δ, s). It can be encoded as follows: First, encode each state, each direction, and each symbol into a natural number (code(B) = 1, code(R) =2, code(L) = 3, code(s)=4, code(h)=5, ... ). Then encode each transition δ(q, a) = (p, b, D) into a string 0 10 10 10 10 q a p b D

  3. The code of M is obtained by combining all codes codei of transitions together: 111code111code211∙∙∙11codem111. Remark: • Each TM has many codes. • All codes of TMs form a Turing-decidable language.

  4. Universal TM Input tape (read only) <x,code(M)> 2nd tape Code(M) 3rd tape x (simulate M)

  5. Universal DTM • One can design a three-tape DTM M* which behaves as follows: On input <x, code(M)>, M* first decodes M on the second tape and then simulates M on the output tape. • Clearly, L(M*) = { <x, code(M)> | x ε L(M)}. Thus, Theorem 1.{ <x, code(M)> | x ε L(M)} is Turing-acceptable.

  6. Universal DTM • One can design a three-tape DTM M* which behaves as follows: On input <x, M>, M* first decodes M on the second tape and then simulates M on the output tape. • Clearly, L(M*) = { <x, M> | x ε L(M)}. Thus, Theorem 1.{ <x, M> | x ε L(M)} is Turing-acceptable.

  7. Good Exercise • Define a machine code for k-tape DTM. • Construct a 3-tape universal TM working on input <x,M> where M can be k-tape DTM for any k (not fixed).

  8. Next, we prove Theorem 2.{ <x, M> | x ε L(M)} is not Turing-decidable. • To do so, we consider A = { M | M accepts M} and prove Lemma.A isn't Turing-decidable.

  9. Next, we prove Theorem 2.{ <x, M> | x ε L(M)} is not Turing-decidable. • To do so, we consider A = { code(M) | M accepts code(M)} and prove Lemma.A isn't Turing-decidable.

  10. Barber cuts his own hair Class 1: {Barber | he can cut his own hair} Class 2: {Barber | he cannot cut own hair} Question:Is there a barber who cuts hair of everybody in class 2, but not cut hair of anybody in class 1. Answer: No!!! Proof. Suppose such a barber exists. If he cuts his own hair, then he is in class 1 and hence he cannot cut his own hair, a contradiction.

  11. If he cannot cut his own hair, then he belongs to class 2 and hence he can cut his own hair, a contradiction. • This argument is called diagonalization. hair barber

  12. translation • Barber<==> TM • Hair <==> code (TM) • Such barber exists <==> there exists a TM accepts class 2 & rejects class 1 <==> this TM decides class 1

  13. Proof. For contradiction, suppose that A is accepted by a one-tape DTM M’. We look at M’ on input M’. • If M’ accepts M’, then M’ is in A, which means that M’ rejects M’, a contradiction. • If M’ rejects M’, then M’ isn’t in A which means that M’ accepts M’, a contradiction.

  14. Good Exercise: Show, by diagonalization, that there exists an irrational number. Proof. Consider all rational numbers in (0,1). They are countable, a1, a2, …. Now, we construct a number such that its i-th digit is different from the i-th digit of ai. Then this number is not rational. digits a1 a2

  15. Many-one reduction • Consider two sets A cΣ* and B cΓ*. If there exists a Turing-computable total function f : Σ* → Γ* such that x ε A iff f(x) ε B, then we say that A is many-one reducible to B, and write A ≤m B.

  16. A = { M | M accepts M} • B = {<x,M> | M accepts x} Claim. A ≤m B. Proof. Define f(M) = <M,M>. M ε A iff M accepts M iff <M, M> ε B

  17. Theorem.A ≤m B, B ≤m C imply A ≤m C. (This means that ≤m is a partial ordering.) Theorem. If A ≤m B and B is Turing-decidable, then A is Turing-decidable. By this theorem, {<x, M> | M accepts x} isn’t Turing-decidable.

  18. Theorem 2.B={ <x, M> | x ε L(M)} is not Turing-decidable. • To do so, we consider A = { M | M accepts M} and prove Lemma.A isn't Turing-decidable. Claim.A≤mB. Thus, B is not Turing-decidable

  19. Complete in r. e. • A set A is complete in r. e. if (1) A is in r.e, and (2) for every r. e. set B, B ≤m A .

  20. Halting problem Theorem. K = { <x, M> | M accepts x } is complete in r. e. . Proof. (1) K is a r. e. set. (2) For any r. e. set A, there exists a DTM MA such that A = L(MA). For every input x of MA, define f(x) = <x, MA>. Then x ε A iff f(x) ε K .

  21. Nonempty • Nonempty = {M | L(M) ≠ Φ } is complete in r. e. Proof. (1) Nonempty is a r. e. set. Construct a DTM M* as follows: For each M, we may try every input of M, one by one. If M accepts an input, then M is accepted by M*.

  22. (2)K ≤m Nonempty. SupposeM’is a DTM accepting every input. For each input <x, M> of K, we define f(<x, M>) = M<x,M> where M<x,M> is a DTM working as follows: on an input y, Step 1. M<x,M> simulates M on input x. If M accepts x, then go to Step 2. Step 2. M<x,M> simulates M’ on input y

  23. Therefore, <x, M> ε K => M accepts x => M<x,M> accepts every input y => f(<x, M>) = M<x,M>ε Nonempty <x, M> not in K => M doesn’t halt on x => M<x,M> doesn’t halt on y => L(M<x,M>) = Φ => f(<x, M>) not in Nonempty

  24. r. e. –hard • A set B is r. e.-hard if for every r. e. set A, A ≤m B Remark • Every complete set is r. e.-hard. • However, not every r. e.-hard set is complete. • Every r. e.-hard set is not recursive.

  25. Empty = {M | M accepts nothing} • Empty is not r. e. • Empty is not complete. • Empty is r.e.-hard. ??? (see proof of Rice Theorem)

  26. r. e. property • A subsetPof TM codes is called a r. e. property if M εPand L(M’) = L(M) implyM’ εP. e.g., Nonempty, Empty, All are r. e. properties. Question: Give an example which is a subsets of TM codes, but not a r. e. property.

  27. Nontrivial • A r. e. property is trivial if either it is empty or it contains all r. e. set.

  28. Rice Theorem 1 Every nontrivial r. e. property is not recursive.

  29. Proof • Let P be a nontrivial r. e. property. For contradiction. Suppose P is a recursive set. So is its complement. • Note that either P or its complement P does not contains the empty set. Without loss of generality, assume that P does not contains the empty set.

  30. Since P is nontrivial, P contains a nonempty r. e. set A. • Let Ma be a TM accepting A, i.e., A=L(Ma). • We want to prove K ≤m P. • For each input <x,M> of K, we define f(<x, M>) = M<x,M> where M<x,M> is a DTM working as follows. For each input y of M<x,M>, it first goes to Step 1.

  31. Step 1. M<x,M> simulates M on input x of M. If M accepts x, then go to Step 2. Step 2. M<x,M> simulates Ma on y. If Ma accepts y, then M<x,M> accepts y. Therefore, if <x, M> ε K then L(M<x,M>) = L(Ma) = A εP, and if <x, M> not in K, then L(M<x,M>) = Φ not in P

  32. Since K is not recursive and K ≤mP, we obtain a contradiction. ******************************************** Recursive = {M | L(M) is recursive} is not recursive. RE = {M | L(M) is r. e.} is trivial.

  33. Empty = {M | M accepts nothing} • Empty is not deciable (by 1st Rice Thm) • Empty is not r. e. (since Nonempty is r.e.) • Empty is not complete. • Empty is r.e.-hard. (need a proof!)

  34. All = {M | M accepts all inputs} • All is not decidable. • All is not r. e. • All is not complete. • All is r. e. hard. (need a proof!)

  35. Question: • Is K an r. e. property? • Is every r. e. property complete? • Is it true that for any r. e. property, either it or its complement is complete?

  36. Rice Theorem 2 A r. e. property P is r. e. iff the following three conditions hold: • If A εP and A c B for some r. e. set B, then B εP. (2) If A is an infinite set in P, then A has a finite subset in P. (3) The set of finite languages in P is enumerable, in the sense that there is a TM that generates the (possibly) infinite string code1#code2# …, where codeiis a code for the ith finite languages inP.

  37. The code for the finite language {w1, w2, …, wn} is [w1,w2,…,wn]. • In other words, there exists an r. e. set B that is a subset of codes of finite languages in P such that for every finite language F in P, B contains at least one code of F.

  38. Examples • All is not r. e. because All does not satisfy condition (2). • The complement of ALL is not r. e. because it does not satisfy condition (1). • Empty is not r. e. because it does not satisfy (1) • Nonempty is r. e. because it satisfies (1), (2) and (3).

  39. Undecidable Problems

  40. Given TMs M and M’, is it true that L(M)=L(M’)? This problem is undecidable, i.e., A = {<M,M’> | L(M) = L(M’)} is not recursive. Proof.Empty ≤m A. Let Mo be a fixed TM such that L(Mo) = Φ. Define f(M) =<M, Mo>. Then, M ε Empty iff <M, Mo> ε A.

  41. Let A and B be two nonempty proper subsets of Σ*. If A B and B A are recursive, then A ≤m B. Proof. Let y ε B and z ε B. Define y if x ε A B f(x) = z if x ε B A x, otherwise

  42. Research Problem • For a DFA M=(Q, Σ, δ, s, F), L(M) = L(M*) where M* = (Q, Σ, δ, s, Q-F). • Given a DTM M, could we have an algorithm to compute a DTM M* such that L(M*) = L(M) when L(M) is regular, and M* will not halt when L(M) is not regular?

More Related