90 likes | 366 Vues
CSC 4170 Theory of Computation. The universal Turing machine. Section 4.2. 4.2.a. The universal Turing machine. Let A TM = {<M,w> | M is a TM and M accepts string w} A TM is misleadingly called the “halting problem” in the textbook. . Theorem: A TM is Turing-recognizable. .
E N D
CSC 4170 Theory of Computation The universal Turing machine Section 4.2
4.2.a The universal Turing machine Let ATM = {<M,w> | M is a TM and M accepts string w} ATM is misleadingly called the “halting problem” in the textbook. Theorem:ATM is Turing-recognizable. Proof idea. The following TM U, called the universal TM, recognizes ATM: U = “On input <M,w>, where M is a TM and w is a string: 1. Simulate M on input w. 2. If M ever enters its accept state, accept; if M ever enters its reject state, reject.” Does U also decide ATM?
4.2.b.1 ATM is undecidable Theorem 4.11:ATM is undecidable. Proof idea. Suppose, for a contradiction, that ATM is decidable. That is, there is a TM H that decides ATM. Thus, that machine H behaves as follows: accept if M accepts w reject if M does not accept w H(<M,w>) = Using H as a subroutine, we can construct the following TM D: D = “On input <M>, where M is a TM: 1. Run H on input <M,<M>>. 2. Do the opposite of what H does. That is, if H accepts, reject, and if H rejects, accept.” accept if M does not accept <M> reject if M accepts <M> Thus, D(<M>) =
4.2.b.2 ATM is undecidable accept if D does not accept <D> reject if D accepts <D> But then D(<D>) = Contradiction! • To summarize: • H accepts <M,w> exactly when M accepts w. • D rejects <M> exactly when M accepts M. • D rejects <D> exactly when D accepts <D>.
4.2.c Theorem 4.23: A is Turing-unrecognizable. TM A Turing-unrecognizable language ATM = {<M,w> | M is a TM and M accepts string w} ATM = {<M,w> | M is a TM and M does not accept string w} Proof idea. Suppose, for a contradiction, that ATM is Turing-recognizable. That is, there is a TM U that recognizes ATM. • U recognizes ATM (slide 4.2.a) • U recognizes ATM Thus, Let M = “On input w: 1. Run both U and U on input w in parallel; 2. If U accepts, accept; if U accepts, reject.” It can bee seen that M decides ATM, which contradicts Theorem 4.11.
4.2.d The language hierarchy summary All languages Turing-recognizable languages Turing-decidable languages Context-free languages Regular languages {anbn | n0} ATM ATM {anbncn | n0}