440 likes | 449 Views
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:
E N D
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: 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
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.
Universal TM Input tape (read only) <x,code(M)> 2nd tape Code(M) 3rd tape x (simulate M)
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.
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.
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).
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.
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.
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.
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
translation • Barber<==> TM • Hair <==> code (TM) • Such barber exists <==> there exists a TM accepts class 2 & rejects class 1 <==> this TM decides class 1
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.
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
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.
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
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.
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
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 .
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 .
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*.
(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
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
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.
Empty = {M | M accepts nothing} • Empty is not r. e. • Empty is not complete. • Empty is r.e.-hard. ??? (see proof of Rice Theorem)
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.
Nontrivial • A r. e. property is trivial if either it is empty or it contains all r. e. set.
Rice Theorem 1 Every nontrivial r. e. property is not recursive.
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.
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.
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
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.
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!)
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!)
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?
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.
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.
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).
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.
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
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?