27.12.2014 Views

Variants of Turing Machines.pdf - Hampden-Sydney College

Variants of Turing Machines.pdf - Hampden-Sydney College

Variants of Turing Machines.pdf - Hampden-Sydney College

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Variants</strong> <strong>of</strong><br />

<strong>Turing</strong><br />

<strong>Machines</strong><br />

Robb T.<br />

Koether<br />

Homework<br />

Review<br />

<strong>Variants</strong> <strong>of</strong><br />

<strong>Turing</strong><br />

<strong>Machines</strong><br />

<strong>Variants</strong> <strong>of</strong> <strong>Turing</strong> <strong>Machines</strong><br />

Lecture 26<br />

Section 3.2<br />

Multiple Tapes<br />

Two-Way<br />

Infinite Tape<br />

Nondeterminism<br />

Other <strong>Variants</strong><br />

Assignment<br />

Robb T. Koether<br />

<strong>Hampden</strong>-<strong>Sydney</strong> <strong>College</strong><br />

Mon, Oct 27, 2008


Outline<br />

<strong>Variants</strong> <strong>of</strong><br />

<strong>Turing</strong><br />

<strong>Machines</strong><br />

Robb T.<br />

Koether<br />

Homework<br />

Review<br />

<strong>Variants</strong> <strong>of</strong><br />

<strong>Turing</strong><br />

<strong>Machines</strong><br />

Multiple Tapes<br />

Two-Way<br />

Infinite Tape<br />

Nondeterminism<br />

Other <strong>Variants</strong><br />

Assignment<br />

1 Homework Review<br />

2 <strong>Variants</strong> <strong>of</strong> <strong>Turing</strong> <strong>Machines</strong><br />

3 Multiple Tapes<br />

4 Two-Way Infinite Tape<br />

5 Nondeterminism<br />

6 Other <strong>Variants</strong><br />

7 Assignment


Homework Review<br />

<strong>Variants</strong> <strong>of</strong><br />

<strong>Turing</strong><br />

<strong>Machines</strong><br />

Robb T.<br />

Koether<br />

Homework<br />

Review<br />

<strong>Variants</strong> <strong>of</strong><br />

<strong>Turing</strong><br />

<strong>Machines</strong><br />

Multiple Tapes<br />

Two-Way<br />

Infinite Tape<br />

Nondeterminism<br />

Exercise 3.1(d), page 159.<br />

This exercise concerns TM M 2 whose description and<br />

state diagram appear in Example 3.7 (page 144). In<br />

each <strong>of</strong> the parts, give the sequence <strong>of</strong> configurations<br />

that M 2 enters when started on the input string 000000.<br />

Other <strong>Variants</strong><br />

Assignment


Homework Review<br />

<strong>Variants</strong> <strong>of</strong><br />

<strong>Turing</strong><br />

<strong>Machines</strong><br />

Robb T.<br />

Koether<br />

Homework<br />

Review<br />

<strong>Variants</strong> <strong>of</strong><br />

<strong>Turing</strong><br />

<strong>Machines</strong><br />

Multiple Tapes<br />

Two-Way<br />

Infinite Tape<br />

Nondeterminism<br />

Other <strong>Variants</strong><br />

Assignment<br />

Solution<br />

The configurations:<br />

q 1 000000 ⊔xq 5 0x0x<br />

⊔q 2 00000 ⊔q 5 x0x0x<br />

⊔xq 3 0000 q 5 ⊔ x0x0x<br />

⊔x0q 4 000 ⊔q 2 x0x0x<br />

⊔x0xq 3 00 ⊔xq 2 0x0x<br />

⊔x0x0q 4 0 ⊔xxq 3 x0x<br />

⊔x0x0xq 3 ⊔xxxq 3 0x<br />

⊔x0x0q 5 x ⊔xxx0q 4 x<br />

⊔x0xq 5 0x ⊔xxx0xq 4<br />

⊔x0q 5 x0x ⊔xxx0x ⊔ q reject


Increasing the Power <strong>of</strong> a <strong>Turing</strong> Machine<br />

<strong>Variants</strong> <strong>of</strong><br />

<strong>Turing</strong><br />

<strong>Machines</strong><br />

Robb T.<br />

Koether<br />

Homework<br />

Review<br />

<strong>Variants</strong> <strong>of</strong><br />

<strong>Turing</strong><br />

<strong>Machines</strong><br />

Multiple Tapes<br />

Two-Way<br />

Infinite Tape<br />

Nondeterminism<br />

Other <strong>Variants</strong><br />

Assignment<br />

It is hard to believe that something as simple as a<br />

<strong>Turing</strong> machine could be powerful enough for<br />

complicated problems.<br />

We can imagine a number <strong>of</strong> improvements.<br />

Multiple tapes<br />

Two-way infinite tape (n-way infinite)<br />

Two-dimensional tape (n-dimensional tape)<br />

Addressable memory<br />

Nondeterminism<br />

etc.


Multiple Tapes<br />

<strong>Variants</strong> <strong>of</strong><br />

<strong>Turing</strong><br />

<strong>Machines</strong><br />

Robb T.<br />

Koether<br />

Homework<br />

Review<br />

<strong>Variants</strong> <strong>of</strong><br />

<strong>Turing</strong><br />

<strong>Machines</strong><br />

Multiple Tapes<br />

Two-Way<br />

Infinite Tape<br />

Nondeterminism<br />

Other <strong>Variants</strong><br />

Would a <strong>Turing</strong> machine with k tapes, k > 1, be more<br />

powerful than a standard <strong>Turing</strong> machine<br />

Each tape could be processed independently <strong>of</strong> the<br />

others.<br />

In other words, each transition would read each tape,<br />

write to each tape, and move left or right independently<br />

on each tape.<br />

Assignment


Multiple Tapes<br />

<strong>Variants</strong> <strong>of</strong><br />

<strong>Turing</strong><br />

<strong>Machines</strong><br />

Robb T.<br />

Koether<br />

Homework<br />

Review<br />

<strong>Variants</strong> <strong>of</strong><br />

<strong>Turing</strong><br />

<strong>Machines</strong><br />

Multiple Tapes<br />

Two-Way<br />

Infinite Tape<br />

Theorem<br />

Any language that is accepted by a multitape <strong>Turing</strong><br />

machine is also accepted by a standard <strong>Turing</strong> machine.<br />

Nondeterminism<br />

Other <strong>Variants</strong><br />

Assignment


Multiple Tapes<br />

<strong>Variants</strong> <strong>of</strong><br />

<strong>Turing</strong><br />

<strong>Machines</strong><br />

Robb T.<br />

Koether<br />

Homework<br />

Review<br />

<strong>Variants</strong> <strong>of</strong><br />

<strong>Turing</strong><br />

<strong>Machines</strong><br />

Multiple Tapes<br />

Two-Way<br />

Infinite Tape<br />

Nondeterminism<br />

Other <strong>Variants</strong><br />

Pro<strong>of</strong> (sketch):<br />

On a single tape, we could write the contents <strong>of</strong> all k<br />

tapes.<br />

If tape i contains x 1i x 2i x 3i . . . x ni i, for each i, then write<br />

#x 11 x 12 . . . x 1n1 #x 21 x 22 . . . x 2n2 # . . . #x k1 x k2 . . . x knk #<br />

on the single tape.<br />

Assignment


Multiple Tapes<br />

<strong>Variants</strong> <strong>of</strong><br />

<strong>Turing</strong><br />

<strong>Machines</strong><br />

Robb T.<br />

Koether<br />

Homework<br />

Review<br />

<strong>Variants</strong> <strong>of</strong><br />

<strong>Turing</strong><br />

<strong>Machines</strong><br />

Multiple Tapes<br />

Two-Way<br />

Infinite Tape<br />

Nondeterminism<br />

Other <strong>Variants</strong><br />

Assignment<br />

Pro<strong>of</strong> (sketch):<br />

To show the current location on each tape, put a special<br />

markˆon one <strong>of</strong> that tape’s symbols:<br />

#x 11ˆx 12 . . . x 1n1 #ˆx 21 x 22 . . . x 2n2 # . . . #x k1ˆx k2 . . . x knk #<br />

Begin with<br />

#ˆx 11 x 12 . . . x 1n1 # ⊔ # . . . # ⊔ #<br />

Now the <strong>Turing</strong> machine scans the tape, locating the<br />

current symbol on each “tape.”


Multiple Tapes<br />

<strong>Variants</strong> <strong>of</strong><br />

<strong>Turing</strong><br />

<strong>Machines</strong><br />

Robb T.<br />

Koether<br />

Homework<br />

Review<br />

<strong>Variants</strong> <strong>of</strong><br />

<strong>Turing</strong><br />

<strong>Machines</strong><br />

Multiple Tapes<br />

Two-Way<br />

Infinite Tape<br />

Nondeterminism<br />

Pro<strong>of</strong> (sketch):<br />

It then makes the appropriate transition.<br />

Write a symbol over each <strong>of</strong> the current symbols.<br />

Move the location <strong>of</strong> the current symbol one space left<br />

or right for each tape.<br />

Of course, the devil is in the details.<br />

Other <strong>Variants</strong><br />

Assignment


Two-way Infinite Tape<br />

<strong>Variants</strong> <strong>of</strong><br />

<strong>Turing</strong><br />

<strong>Machines</strong><br />

Robb T.<br />

Koether<br />

Homework<br />

Review<br />

<strong>Variants</strong> <strong>of</strong><br />

<strong>Turing</strong><br />

<strong>Machines</strong><br />

Multiple Tapes<br />

Two-Way<br />

Infinite Tape<br />

Would a <strong>Turing</strong> machine with a two-way infinite tape be<br />

more powerful than a standard <strong>Turing</strong> machine<br />

Processing could move as far to the left as necessary.<br />

Nondeterminism<br />

Other <strong>Variants</strong><br />

Assignment


Two-way Infinite Tape<br />

<strong>Variants</strong> <strong>of</strong><br />

<strong>Turing</strong><br />

<strong>Machines</strong><br />

Robb T.<br />

Koether<br />

Homework<br />

Review<br />

<strong>Variants</strong> <strong>of</strong><br />

<strong>Turing</strong><br />

<strong>Machines</strong><br />

Multiple Tapes<br />

Two-Way<br />

Infinite Tape<br />

Nondeterminism<br />

Other <strong>Variants</strong><br />

We can use a two-tape machine to simulate the<br />

two-way infinite tape.<br />

The right half <strong>of</strong> the two-way tape is stored on tape 1.<br />

The left half is stored on tape 2.<br />

Transitions are modified to handle the transition from<br />

tape 1 to tape 2.<br />

Assignment


Two-way Infinite Tape<br />

<strong>Variants</strong> <strong>of</strong><br />

<strong>Turing</strong><br />

<strong>Machines</strong><br />

Robb T.<br />

Koether<br />

Homework<br />

Review<br />

<strong>Variants</strong> <strong>of</strong><br />

<strong>Turing</strong><br />

<strong>Machines</strong><br />

Multiple Tapes<br />

Two-Way<br />

Infinite Tape<br />

Theorem<br />

Any language accepted by a two-way infinite tape is also<br />

accepted by a standard <strong>Turing</strong> machine.<br />

Nondeterminism<br />

Other <strong>Variants</strong><br />

Assignment


Nondeterminism<br />

<strong>Variants</strong> <strong>of</strong><br />

<strong>Turing</strong><br />

<strong>Machines</strong><br />

Robb T.<br />

Koether<br />

Homework<br />

Review<br />

<strong>Variants</strong> <strong>of</strong><br />

<strong>Turing</strong><br />

<strong>Machines</strong><br />

Multiple Tapes<br />

Two-Way<br />

Infinite Tape<br />

Nondeterminism<br />

Other <strong>Variants</strong><br />

A nondeterministic <strong>Turing</strong> machine is defined like a<br />

standard <strong>Turing</strong> machine except for the transition<br />

function:<br />

δ : Q ′ × Γ → P(Q × Γ × {L, R})<br />

where Q ′ = Q − {q accept , q reject }.<br />

Assignment


Nondeterminism<br />

<strong>Variants</strong> <strong>of</strong><br />

<strong>Turing</strong><br />

<strong>Machines</strong><br />

Robb T.<br />

Koether<br />

Homework<br />

Review<br />

<strong>Variants</strong> <strong>of</strong><br />

<strong>Turing</strong><br />

<strong>Machines</strong><br />

Multiple Tapes<br />

Two-Way<br />

Infinite Tape<br />

Nondeterminism<br />

That is, δ(q, a) may result in any <strong>of</strong> a number <strong>of</strong> actions.<br />

If any sequence <strong>of</strong> transitions leads to the accept state,<br />

then the input is accepted.<br />

If all sequences <strong>of</strong> transitions lead to the reject state or<br />

to looping, then the input is not accepted.<br />

Other <strong>Variants</strong><br />

Assignment


Nondeterminism<br />

<strong>Variants</strong> <strong>of</strong><br />

<strong>Turing</strong><br />

<strong>Machines</strong><br />

Robb T.<br />

Koether<br />

Homework<br />

Review<br />

<strong>Variants</strong> <strong>of</strong><br />

<strong>Turing</strong><br />

<strong>Machines</strong><br />

Multiple Tapes<br />

Two-Way<br />

Infinite Tape<br />

Theorem<br />

Any language accepted by a nondeterministic <strong>Turing</strong><br />

machine is also accepted by a standard <strong>Turing</strong> machine.<br />

Nondeterminism<br />

Other <strong>Variants</strong><br />

Assignment


Nondeterminism<br />

<strong>Variants</strong> <strong>of</strong><br />

<strong>Turing</strong><br />

<strong>Machines</strong><br />

Robb T.<br />

Koether<br />

Homework<br />

Review<br />

<strong>Variants</strong> <strong>of</strong><br />

<strong>Turing</strong><br />

<strong>Machines</strong><br />

Multiple Tapes<br />

Two-Way<br />

Infinite Tape<br />

Nondeterminism<br />

Other <strong>Variants</strong><br />

Pro<strong>of</strong>.<br />

We may use a three-tape machine to simulate a<br />

nondeterministic <strong>Turing</strong> machine.<br />

Tape 1 preserves a copy <strong>of</strong> the original input.<br />

Tape 2 contains a “working” copy <strong>of</strong> the input.<br />

Tape 3 keeps track <strong>of</strong> the current state in the<br />

nondeterministic machine.<br />

Assignment


Nondeterminism<br />

<strong>Variants</strong> <strong>of</strong><br />

<strong>Turing</strong><br />

<strong>Machines</strong><br />

Robb T.<br />

Koether<br />

Homework<br />

Review<br />

<strong>Variants</strong> <strong>of</strong><br />

<strong>Turing</strong><br />

<strong>Machines</strong><br />

Multiple Tapes<br />

Two-Way<br />

Infinite Tape<br />

Nondeterminism<br />

Other <strong>Variants</strong><br />

Assignment<br />

Pro<strong>of</strong>.<br />

Start with the input w on Tape 1 and with Tapes 2 and 3<br />

empty.<br />

Copy w from Tape 1 to Tape 2.<br />

For Tape 3, imagine the transitions starting from the<br />

start state as forming a tree.<br />

Each state has child states, namely, the states are that<br />

are accessible in one transition.


Nondeterminism<br />

<strong>Variants</strong> <strong>of</strong><br />

<strong>Turing</strong><br />

<strong>Machines</strong><br />

Robb T.<br />

Koether<br />

Homework<br />

Review<br />

<strong>Variants</strong> <strong>of</strong><br />

<strong>Turing</strong><br />

<strong>Machines</strong><br />

Multiple Tapes<br />

Two-Way<br />

Infinite Tape<br />

Pro<strong>of</strong>.<br />

Let b be the largest number <strong>of</strong> children <strong>of</strong> any node.<br />

Number the children <strong>of</strong> each state using the numbers 1,<br />

2, . . . , b (as many as needed).<br />

Nondeterminism<br />

Other <strong>Variants</strong><br />

Assignment


Nondeterminism<br />

<strong>Variants</strong> <strong>of</strong><br />

<strong>Turing</strong><br />

<strong>Machines</strong><br />

Robb T.<br />

Koether<br />

Homework<br />

Review<br />

<strong>Variants</strong> <strong>of</strong><br />

<strong>Turing</strong><br />

<strong>Machines</strong><br />

Multiple Tapes<br />

Two-Way<br />

Infinite Tape<br />

Nondeterminism<br />

Other <strong>Variants</strong><br />

Pro<strong>of</strong>.<br />

Now each finite string <strong>of</strong> numbers from {1, 2, . . . , b}<br />

represents a particular path through the<br />

nondeterministic <strong>Turing</strong> machine, or else represents no<br />

path at all.<br />

Begin by writing the empty string on Tape 3,<br />

representing no moves at all.<br />

Assignment


Nondeterminism<br />

<strong>Variants</strong> <strong>of</strong><br />

<strong>Turing</strong><br />

<strong>Machines</strong><br />

Robb T.<br />

Koether<br />

Homework<br />

Review<br />

<strong>Variants</strong> <strong>of</strong><br />

<strong>Turing</strong><br />

<strong>Machines</strong><br />

Multiple Tapes<br />

Two-Way<br />

Infinite Tape<br />

Nondeterminism<br />

Other <strong>Variants</strong><br />

Assignment<br />

Pro<strong>of</strong>.<br />

If that leads to acceptance, then quit.<br />

If not, then replace ε with its lexicographical successor.<br />

For that string, follow the sequence <strong>of</strong> transitions that it<br />

describes.<br />

If that sequence leads to acceptance, then quit and<br />

accept.<br />

If not, then continue in the same manner.


Nondeterminism<br />

<strong>Variants</strong> <strong>of</strong><br />

<strong>Turing</strong><br />

<strong>Machines</strong><br />

Robb T.<br />

Koether<br />

Homework<br />

Review<br />

<strong>Variants</strong> <strong>of</strong><br />

<strong>Turing</strong><br />

<strong>Machines</strong><br />

Multiple Tapes<br />

Two-Way<br />

Infinite Tape<br />

Nondeterminism<br />

Other <strong>Variants</strong><br />

Assignment<br />

Pro<strong>of</strong>.<br />

If w is accepted by the nondeterministic <strong>Turing</strong><br />

machine, then some sequence <strong>of</strong> transitions leads to<br />

the accept state.<br />

Eventually that sequence will be written on Tape 3 and<br />

tried.<br />

On the other hand, if no sequence <strong>of</strong> transitions leads<br />

to the accept state, then the deterministic <strong>Turing</strong><br />

machine will loop.


Nondeterminism<br />

<strong>Variants</strong> <strong>of</strong><br />

<strong>Turing</strong><br />

<strong>Machines</strong><br />

Robb T.<br />

Koether<br />

Homework<br />

Review<br />

<strong>Variants</strong> <strong>of</strong><br />

<strong>Turing</strong><br />

<strong>Machines</strong><br />

Multiple Tapes<br />

Note that the deterministic <strong>Turing</strong> machine will never<br />

reject its input unless it runs out <strong>of</strong> paths to try.<br />

Two-Way<br />

Infinite Tape<br />

Nondeterminism<br />

Other <strong>Variants</strong><br />

Assignment


Other <strong>Variants</strong><br />

<strong>Variants</strong> <strong>of</strong><br />

<strong>Turing</strong><br />

<strong>Machines</strong><br />

Robb T.<br />

Koether<br />

Homework<br />

Review<br />

<strong>Variants</strong> <strong>of</strong><br />

<strong>Turing</strong><br />

<strong>Machines</strong><br />

Multiple Tapes<br />

Two-Way<br />

Infinite Tape<br />

Theorem (Meta-theorem)<br />

Any language accepted by a <strong>Turing</strong> machine with any<br />

variant that anyone has ever thought <strong>of</strong> is also accepted by<br />

a standard <strong>Turing</strong> machine.<br />

Nondeterminism<br />

Other <strong>Variants</strong><br />

Assignment


Assignment<br />

<strong>Variants</strong> <strong>of</strong><br />

<strong>Turing</strong><br />

<strong>Machines</strong><br />

Robb T.<br />

Koether<br />

Homework<br />

Review<br />

<strong>Variants</strong> <strong>of</strong><br />

<strong>Turing</strong><br />

<strong>Machines</strong><br />

Multiple Tapes<br />

Two-Way<br />

Infinite Tape<br />

Homework<br />

Read Section 3.2, pages 148 - 154.<br />

Problems 9, 12, 13, pages 160 - 161.<br />

Nondeterminism<br />

Other <strong>Variants</strong><br />

Assignment

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!