- 105 Views
- Uploaded on
- Presentation posted in: General

The universal Turing machine

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

CSC 4170

Theory of Computation

Section 4.2

4.2.a

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

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

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

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

All languages

Turing-recognizable languages

Turing-decidable languages

Context-free languages

Regular languages

{anbn | n0}

ATM

ATM

{anbncn | n0}