turing machines - keithschwarz.comdesign turing machines! alternate problem session tomorrow night,...

Post on 25-Jul-2020

4 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Turing Machines

Announcements

● Problem Set 7 due Friday, November 18● Stop by OH with questions.● Email cs103@cs.stanford.edu with questions.

● Problem session tonight, 7-8PM, in 370-370● Practice with PDAs!● Play with the pumping lemma!● Design Turing machines!

● Alternate problem session tomorrow night, 7-8PM, in Gates 100.

The Turing Machine

● A Turing machine consists of three parts:● A finite-state control used to determine which actions to take,● an infinite tape serving as both input and scratch space, and● a tape head that can read and write the tape and move left or right.

● At each step, the Turing machine● Replaces the contents of the current cell with a new symbol (which

could optionally be the same symbol as before),● Changes state, and● Moves the tape head to the left or to the right.

● The Turing machine accepts if it enters a special accept state. It rejects if it enters a special reject state.

A Simple Turing Machine

A Simple Turing Machine

q0

qacc

qrej

q1

start

1 → B, R

1 → B, R

B → B, R

B → B, R

qacc

qrej

A Simple Turing Machine

q0

qacc

qrej

q1

start

1 → B, R

1 → B, R

B → B, R

B → B, R

qacc

qrej

Each transition of the form

x y, D→

means “upon reading x, replace it with symbol y and move the tape head in direction D (which is either L or R).

The letter B represents a blank.

A Simple Turing Machine

q0

qacc

qrej

q1

start

1 → B, R

1 → B, R

B → B, R

B → B, R

qacc

qrej

This special accept state causes the

machine to immediately accept.

Each transition of the form

x y, D→

means “upon reading x, replace it with symbol y and move the tape head in direction D (which is either L or R).

The letter B represents a blank.

A Simple Turing Machine

q0

qacc

qrej

q1

start

1 → B, R

1 → B, R

B → B, R

B → B, R

qacc

qrej

Each transition of the form

x y, D→

means “upon reading x, replace it with symbol y and move the tape head in direction D (which is either L or R).

The letter B represents a blank.

This special accept state causes the

machine to immediately accept.

This special reject state causes the

machine to immediately reject.

A Simple Turing Machine

q0

qacc

qrej

q1

start

1 → B, R

1 → B, R

B → B, R

B → B, R

qacc

qrej

A Simple Turing Machine

q0

qacc

qrej

q1

start

1 → B, R

1 → B, R

B → B, R

B → B, R

qacc

qrej

1 1 1 1

q0

q0

q1

A Simple Turing Machineq

acc

qrej

q1

start

1 → B, R

1 → B, R

B → B, R

B → B, R

qacc

qrej

1 1 1 1

q0

q0

q1

A Simple Turing Machineq

acc

qrej

q1

start

1 → B, R

1 → B, R

B → B, R

B → B, R

qacc

qrej

1 1 1 1

q0

q0

q1

A Simple Turing Machineq

acc

qrej

q1

start

1 → B, R

1 → B, R

B → B, R

B → B, R

qacc

qrej

1 1 1 1

q0

q0

q1

A Simple Turing Machineq

acc

qrej

q1

start

1 → B, R

1 → B, R

B → B, R

B → B, R

qacc

qrej

1 1 1

q0

q0

q1

A Simple Turing Machineq

acc

qrej

q1

start

1 → B, R

1 → B, R

B → B, R

B → B, R

qacc

qrej

1 1 1

q1

q0

q0

q1

A Simple Turing Machineq

acc

qrej

start

1 → B, R

1 → B, R

B → B, R

B → B, R

qacc

qrej

1 1 1

q1

q0

q0

q1

A Simple Turing Machineq

acc

qrej

start

1 → B, R

1 → B, R

B → B, R

B → B, R

qacc

qrej

1 1 1

q1

q0

q0

q1

A Simple Turing Machineq

acc

qrej

start

1 → B, R

1 → B, R

B → B, R

B → B, R

qacc

qrej

1 1

q1

q0

q0

q1

A Simple Turing Machineq

acc

qrej

start

1 → B, R

1 → B, R

B → B, R

B → B, R

qacc

qrej

1 1

q0

q1

q1

q0

A Simple Turing Machineq

acc

qrej

start

1 → B, R

1 → B, R

B → B, R

B → B, R

qacc

qrej

1 1

q0

q1

q1

q0

A Simple Turing Machineq

acc

qrej

start

1 → B, R

1 → B, R

B → B, R

B → B, R

qacc

qrej

1 1

q0

q1

q1

q0

A Simple Turing Machineq

acc

qrej

start

1 → B, R

1 → B, R

B → B, R

B → B, R

qacc

qrej

1

q0

q1

q1

q0

A Simple Turing Machineq

acc

qrej

start

1 → B, R

1 → B, R

B → B, R

B → B, R

qacc

qrej

1

q1

q0

q0

q1

A Simple Turing Machineq

acc

qrej

start

1 → B, R

1 → B, R

B → B, R

B → B, R

qacc

qrej

1

q1

q0

q0

q1

A Simple Turing Machineq

acc

qrej

start

1 → B, R

1 → B, R

B → B, R

B → B, R

qacc

qrej

1

q1

q0

q0

q1

A Simple Turing Machineq

acc

qrej

start

1 → B, R

1 → B, R

B → B, R

B → B, R

qacc

qrej

q1

q0

q0

q1

A Simple Turing Machineq

acc

qrej

start

1 → B, R

1 → B, R

B → B, R

B → B, R

qacc

qrej

q1

q0

q1

q0

A Simple Turing Machineq

acc

qrej

start

1 → B, R

1 → B, R

B → B, R

B → B, R

qacc

qrej

q1

q0

q1

q0

A Simple Turing Machineq

acc

qrej

start

1 → B, R

1 → B, R

B → B, R

B → B, R

qacc

qrej

q1

q0

q1

q0

A Simple Turing Machineq

acc

qrej

start

1 → B, R

1 → B, R

B → B, R

B → B, R

qacc

qrej

q0

q1

q0

q1

A Simple Turing Machineq

acc

qrej

start

1 → B, R

1 → B, R

B → B, R

B → B, R

qacc

qrej

q0

q1

q0

q1

A Simple Turing Machineq

acc

qrej

start

1 → B, R

1 → B, R

B → B, R

B → B, R

qacc

qrej

q0

q1

q0

q1

A Simple Turing Machineq

acc

qrej

start

1 → B, R

1 → B, R

B → B, R

B → B, R

qacc

qrej

q0

q1

A Simple Turing Machine

q0

qacc

qrej

q1

start

1 → B, R

1 → B, R

B → B, R

B → B, R

qacc

qrej

1

q0

q0

q1

A Simple Turing Machineq

acc

qrej

q1

start

1 → B, R

1 → B, R

B → B, R

B → B, R

qacc

qrej

1

q0

q0

q1

A Simple Turing Machineq

acc

qrej

q1

start

1 → B, R

1 → B, R

B → B, R

B → B, R

qacc

qrej

1

q0

q0

q1

A Simple Turing Machineq

acc

qrej

q1

start

1 → B, R

1 → B, R

B → B, R

B → B, R

qacc

qrej

1

q0

q0

q1

A Simple Turing Machineq

acc

qrej

q1

start

1 → B, R

1 → B, R

B → B, R

B → B, R

qacc

qrej

q0

q0

q1

A Simple Turing Machineq

acc

qrej

q1

start

1 → B, R

1 → B, R

B → B, R

B → B, R

qacc

qrej

q0

q1

q0

q1

A Simple Turing Machineq

acc

qrej

start

1 → B, R

1 → B, R

B → B, R

B → B, R

qacc

qrej

q0

q1

q0

q1

A Simple Turing Machineq

acc

qrej

start

1 → B, R

1 → B, R

B → B, R

B → B, R

qacc

qrej

q0

q1

q0

q1

A Simple Turing Machineq

acc

qrej

start

1 → B, R

1 → B, R

B → B, R

B → B, R

qacc

qrej

q0

q1

q0

q1

A Simple Turing Machineq

acc

qrej

start

1 → B, R

1 → B, R

B → B, R

B → B, R

qacc

qrej

q0

q1

q0

q1

A Simple Turing Machineq

acc

qrej

start

1 → B, R

1 → B, R

B → B, R

B → B, R

qacc

qrej

q0

q1

q0

q1

A Simple Turing Machineq

acc

qrej

start

1 → B, R

1 → B, R

B → B, R

B → B, R

qacc

qrej

A More Powerful Turing Machine

● Let Σ = {0, 1} and let L = { w | w is a palindrome }

● We can build a TM for L as follows:● Look at the leftmost character of the string.● Scan across the tape until we find the end of the

string.● If the last character doesn't match, reject the input.● Sweep back to the left of the tape and repeat.● If every character becomes matched, accept.

q0

q0

q1

q2

q3

q4

q5

qacc q

rej

q1

start qrej

q2

q3

q4

q5

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

q0

q0

q1

q2

q3

q4

q5

qacc q

rej

q1

start qrej

q2

q3

q4

q5

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

0 1 1 0

q0

q0

q1

q2

q3

q4

q5

qacc q

rej

q1

start qrej

q2

q3

q4

q5

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

0 1 1 0

q0

q0

q1

q2

q3

q4

q5

qacc q

rej

q1

start qrej

q2

q3

q4

q5

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

0 1 1 0

q0

q0

q1

q2

q3

q4

q5

qacc q

rej

q1

start qrej

q2

q3

q4

q5

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

0 1 1 0

q0

q0

q1

q2

q3

q4

q5

qacc q

rej

q1

start qrej

q2

q3

q4

q5

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

1 1 0

q1

q0

q0

q1

q2

q3

q4

q5

qacc q

rejstart q

rej

q2

q3

q4

q5

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

1 1 0

q1

q0

q0

q1

q2

q3

q4

q5

qacc q

rejstart q

rej

q2

q3

q4

q5

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

1 1 0

q1

q0

q0

q1

q2

q3

q4

q5

qacc q

rejstart q

rej

q2

q3

q4

q5

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

1 1 0

q1

q0

q0

q1

q2

q3

q4

q5

qacc q

rejstart q

rej

q2

q3

q4

q5

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

1 1 0

q1

q0

q0

q1

q2

q3

q4

q5

qacc q

rejstart q

rej

q2

q3

q4

q5

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

1 1 0

q1

q0

q0

q1

q2

q3

q4

q5

qacc q

rejstart q

rej

q2

q3

q4

q5

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

1 1 0

q1

q0

q0

q1

q2

q3

q4

q5

qacc q

rejstart q

rej

q2

q3

q4

q5

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

1 1 0

q1

q0

q0

q1

q2

q3

q4

q5

qacc q

rejstart q

rej

q2

q3

q4

q5

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

1 1 0

q1

q0

q0

q1

q2

q3

q4

q5

qacc q

rejstart q

rej

q2

q3

q4

q5

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

1 1 0

q1

q0

q0

q1

q2

q3

q4

q5

qacc q

rejstart q

rej

q2

q3

q4

q5

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

1 1 0

q1

q0

q0

q1

q2

q3

q4

q5

qacc q

rejstart q

rej

q2

q3

q4

q5

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

1 1 0

q1

q0

q0

q1

q2

q3

q4

q5

qacc q

rejstart q

rej

q2

q3

q4

q5

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

1 1 0

q3

q1

q1

q0

q0

q2

q3

q4

q5

qacc q

rejstart q

rej

q2

q4

q5

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

1 1 0

q3

q1

q1

q0

q0

q2

q3

q4

q5

qacc q

rejstart q

rej

q2

q4

q5

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

1 1 0

q3

q1

q1

q0

q0

q2

q3

q4

q5

qacc q

rejstart q

rej

q2

q4

q5

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

1 1

q5

q3

q3

q1

q1

q0

q0

q2

q4

q5

qacc q

rejstart q

rej

q2

q4

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

1 1

q5

q3

q3

q1

q1

q0

q0

q2

q4

q5

qacc q

rejstart q

rej

q2

q4

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

1 1

q5

q3

q3

q1

q1

q0

q0

q2

q4

q5

qacc q

rejstart q

rej

q2

q4

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

1 1

q5

q3

q3

q1

q1

q0

q0

q2

q4

q5

qacc q

rejstart q

rej

q2

q4

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

1 1

q5

q3

q3

q1

q1

q0

q0

q2

q4

q5

qacc q

rejstart q

rej

q2

q4

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

1 1

q5

q3

q3

q1

q1

q0

q0

q2

q4

q5

qacc q

rejstart q

rej

q2

q4

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

1 1

q5

q3

q3

q1

q1

q0

q0

q2

q4

q5

qacc q

rejstart q

rej

q2

q4

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

1 1

q5

q3

q3

q1

q1

q0

q0

q2

q4

q5

qacc q

rejstart q

rej

q2

q4

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

1 1

q0

q5

q5

q3

q3

q1

q1

q0

q2

q4

qacc q

rejstart q

rej

q2

q4

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

1 1

q0

q5

q5

q3

q3

q1

q1

q0

q2

q4

qacc q

rejstart q

rej

q2

q4

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

1 1

q0

q5

q5

q3

q3

q1

q1

q0

q2

q4

qacc q

rejstart q

rej

q2

q4

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

1

q0

q2

q0

q5

q5

q3

q3

q1

q1

q2

q4

qacc q

rejstart q

rej

q4

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

1

q0

q2

q0

q5

q5

q3

q3

q1

q1

q2

q4

qacc q

rejstart q

rej

q4

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

1

q0

q2

q0

q5

q5

q3

q3

q1

q1

q2

q4

qacc q

rejstart q

rej

q4

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

1

q0

q2

q0

q5

q5

q3

q3

q1

q1

q2

q4

qacc q

rejstart q

rej

q4

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

1

q0

q2

q0

q5

q5

q3

q3

q1

q1

q2

q4

qacc q

rejstart q

rej

q4

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

1

q0

q2

q0

q5

q5

q3

q3

q1

q1

q2

q4

qacc q

rejstart q

rej

q4

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

1

q2

q4

q0

q2

q0

q5

q5

q3

q3

q1

q1

q4

qacc q

rejstart q

rej

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

1

q2

q4

q0

q2

q0

q5

q5

q3

q3

q1

q1

q4

qacc q

rejstart q

rej

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

1

q2

q4

q0

q2

q0

q5

q5

q3

q3

q1

q1

q4

qacc q

rejstart q

rej

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

q5

q4

q2

q4

q0

q2

q0

q5

q3

q3

q1

q1

qacc q

rejstart q

rej

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

q5

q4

q2

q4

q0

q2

q0

q5

q3

q3

q1

q1

qacc q

rejstart q

rej

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

q5

q4

q2

q4

q0

q2

q0

q5

q3

q3

q1

q1

qacc q

rejstart q

rej

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

q0

q5

q5

q4

q2

q4

q0

q2

q3

q3

q1

q1

qacc q

rejstart q

rej

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

q0

q5

q5

q4

q2

q4

q0

q2

q3

q3

q1

q1

qacc q

rejstart q

rej

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

q0

q5

q5

q4

q2

q4

q0

q2

q3

q3

q1

q1

qacc q

rejstart q

rej

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

q0

q0

q5

q5

q4

q2

q4

q2

q3

q3

q1

q1

qacc q

rejstart q

rej

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

q0

q0

q5

q5

q4

q2

q4

q2

q3

q3

q1

q1

qacc q

rejstart q

rej

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

q0

q0

q1

q2

q3

q4

q5

qacc q

rej

q1

start qrej

q2

q3

q4

q5

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

q0

q0

q1

q2

q3

q4

q5

qacc q

rej

q1

start qrej

q2

q3

q4

q5

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

1 0 0 0

q0

q0

q1

q2

q3

q4

q5

qacc q

rej

q1

start qrej

q2

q3

q4

q5

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

1 0 0 0

q0

q0

q1

q2

q3

q4

q5

qacc q

rej

q1

start qrej

q2

q3

q4

q5

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

1 0 0 0

q0

q0

q1

q2

q3

q4

q5

qacc q

rej

q1

start qrej

q2

q3

q4

q5

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

1 0 0 0

q0

q0

q1

q2

q3

q4

q5

qacc q

rej

q1

start qrej

q2

q3

q4

q5

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

0 0 0

q0

q2

q0

q1

q2

q3

q4

q5

qacc q

rej

q1

start qrej

q3

q4

q5

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

0 0 0

q0

q2

q0

q1

q2

q3

q4

q5

qacc q

rej

q1

start qrej

q3

q4

q5

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

0 0 0

q0

q2

q0

q1

q2

q3

q4

q5

qacc q

rej

q1

start qrej

q3

q4

q5

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

0 0 0

q0

q2

q0

q1

q2

q3

q4

q5

qacc q

rej

q1

start qrej

q3

q4

q5

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

0 0 0

q0

q2

q0

q1

q2

q3

q4

q5

qacc q

rej

q1

start qrej

q3

q4

q5

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

0 0 0

q0

q2

q0

q1

q2

q3

q4

q5

qacc q

rej

q1

start qrej

q3

q4

q5

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

0 0 0

q0

q2

q0

q1

q2

q3

q4

q5

qacc q

rej

q1

start qrej

q3

q4

q5

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

0 0 0

q0

q2

q0

q1

q2

q3

q4

q5

qacc q

rej

q1

start qrej

q3

q4

q5

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

0 0 0

q2

q4

q0

q2

q0

q1

q3

q4

q5

qacc q

rej

q1

start qrej

q3

q5

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

0 0 0

q2

q4

q0

q2

q0

q1

q3

q4

q5

qacc q

rej

q1

start qrej

q3

q5

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

0 0 0

q2

q4

q0

q2

q0

q1

q3

q4

q5

qacc q

rej

q1

start qrej

q3

q5

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

0 0 0

q4

q2

q4

q0

q2

q0

q1

q3

q5

qacc q

rej

q1

start qrej

q3

q5

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

0 0 0

q4

q2

q4

q0

q2

q0

q1

q3

q5

qacc q

rej

q1

start qrej

q3

q5

B → B, R

0 → B, R

1 → B, R

0 → 0, R1 → 1, R

B → B, L

0 → 0, R 1 → 1, R

B → B, L

B → B, R

B → B, R

qacc

1 → 1, R

0 → 0, R

0 → B, L

1 → B, L

0 → 0, L 1 → 1, L

B → B, R

0 0 0

0 1 Bq

0

q1

q2

q3

q4

q5

A More Sane Representation

0 1 Bq

0

q1

q2

q3

q4

q5

B R q1 B R q

2 B R qacc

0 R q1 1 R q

1 B L q3

0 R q2 1 R q

2 B L q4

B L q5 1 R q

rej B R qacc

0 R qrej B R q

accB L q5

0 L q5 1 L q

5 B R q0

0 1 Bq

0

q1

q2

q3

q4

q5

A More Sane Representation

0 1 Bq

0

q1

q2

q3

q4

q5

B R q1 B R q

2 B R qacc

0 R q1 1 R q

1 B L q3

0 R q2 1 R q

2 B L q4

B L q5 1 R q

rej B R qacc

0 R qrej B R q

accB L q5

0 L q5 1 L q

5 B R q0

0 0 1 0 0

q0

0 1 Bq

0

q1

q2

q3

q4

q5

A More Sane Representation

0 1 B

q1

q2

q3

q4

q5

B R q1 B R q

2 B R qacc

0 R q1 1 R q

1 B L q3

0 R q2 1 R q

2 B L q4

B L q5 1 R q

rej B R qacc

0 R qrej B R q

accB L q5

0 L q5 1 L q

5 B R q0

0 0 1 0 0

q0

0 1 Bq

0

q1

q2

q3

q4

q5

A More Sane Representation

0 1 B

q1

q2

q3

q4

q5

B R q1 B R q

2 B R qacc

0 R q1 1 R q

1 B L q3

0 R q2 1 R q

2 B L q4

B L q5 1 R q

rej B R qacc

0 R qrej B R q

accB L q5

0 L q5 1 L q

5 B R q0

0 0 1 0 0

0q

0

0 1 Bq

0

q1

q2

q3

q4

q5

A More Sane Representation

1 B

q1

q2

q3

q4

q5

B R q1 B R q

2 B R qacc

0 R q1 1 R q

1 B L q3

0 R q2 1 R q

2 B L q4

B L q5 1 R q

rej B R qacc

0 R qrej B R q

accB L q5

0 L q5 1 L q

5 B R q0

0 0 1 0 0

q1

0q

0

0q

0

1 B

q1

q2

q3

q4

q5

A More Sane Representation

1 B

q2

q3

q4

q5

B R q1 B R q

2 B R qacc

0 R q1 1 R q

1 B L q3

0 R q2 1 R q

2 B L q4

B L q5 1 R q

rej B R qacc

0 R qrej B R q

accB L q5

0 L q5 1 L q

5 B R q0

0 1 0 0

0

q1

0q

0q

0

1 B

q1

q2

q3

q4

q5

A More Sane Representation

1 B

q2

q3

q4

q5

B R q1 B R q

2 B R qacc

0 R q1 1 R q

1 B L q3

0 R q2 1 R q

2 B L q4

B L q5 1 R q

rej B R qacc

0 R qrej B R q

accB L q5

0 L q5 1 L q

5 B R q0

0 1 0 0

q1

0

q1

0q

0q

0

1 B

q2

q3

q4

q5

A More Sane Representation

1 B

q2

q3

q4

q5

B R q1 B R q

2 B R qacc

0 R q1 1 R q

1 B L q3

0 R q2 1 R q

2 B L q4

B L q5 1 R q

rej B R qacc

0 R qrej B R q

accB L q5

0 L q5 1 L q

5 B R q0

0 1 0 0

q1

10

q1

0q

0q

0

1 B

q2

q3

q4

q5

A More Sane Representation

B

q2

q3

q4

q5

B R q1 B R q

2 B R qacc

0 R q1 1 R q

1 B L q3

0 R q2 1 R q

2 B L q4

B L q5 1 R q

rej B R qacc

0 R qrej B R q

accB L q5

0 L q5 1 L q

5 B R q0

0 1 0 0

q1

q1

1100q

0q

0

B

q2

q3

q4

q5

A More Sane Representation

B

q2

q3

q4

q5

B R q1 B R q

2 B R qacc

0 R q1 1 R q

1 B L q3

0 R q2 1 R q

2 B L q4

B L q5 1 R q

rej B R qacc

0 R qrej B R q

accB L q5

0 L q5 1 L q

5 B R q0

0 1 0 0

q1

0

q1

110q

0q

0

B

q2

q3

q4

q5

A More Sane Representation

B

q2

q3

q4

q5

B R q1 B R q

2 B R qacc

0 R q1 1 R q

1 B L q3

0 R q2 1 R q

2 B L q4

B L q5 1 R q

rej B R qacc

0 R qrej B R q

accB L q5

0 L q5 1 L q

5 B R q0

0 1 0 0

0

q1

0

q1

11q

0q

0

B

q2

q3

q4

q5

A More Sane Representation

B

q2

q3

q4

q5

B R q1 B R q

2 B R qacc

0 R q1 1 R q

1 B L q3

0 R q2 1 R q

2 B L q4

B L q5 1 R q

rej B R qacc

0 R qrej B R q

accB L q5

0 L q5 1 L q

5 B R q0

0 1 0 0

00

q1

q1

11q

0q

0

B

q2

q3

q4

q5

A More Sane Representation

B

q2

q3

q4

q5

B R q1 B R q

2 B R qacc

0 R q1 1 R q

1 B L q3

0 R q2 1 R q

2 B L q4

B L q5 1 R q

rej B R qacc

0 R qrej B R q

accB L q5

0 L q5 1 L q

5 B R q0

0 1 0 0

00

q1

q1

11q

0q

0

B

q2

q3

q4

q5

A More Sane Representation

B

q2

q3

q4

q5

B R q1 B R q

2 B R qacc

0 R q1 1 R q

1 B L q3

0 R q2 1 R q

2 B L q4

B L q5 1 R q

rej B R qacc

0 R qrej B R q

accB L q5

0 L q5 1 L q

5 B R q0

0 1 0 0

B00

q1

q1

11q

0q

0

B

q2

q3

q4

q5

A More Sane Representation

q2

q3

q4

q5

B R q1 B R q

2 B R qacc

0 R q1 1 R q

1 B L q3

0 R q2 1 R q

2 B L q4

B L q5 1 R q

rej B R qacc

0 R qrej B R q

accB L q5

0 L q5 1 L q

5 B R q0

0 1 0 0

q1

B

q3

B00

q1

11q

0q

0

q2

q3

q4

q5

A More Sane Representation

q2

q4

q5

B R q1 B R q

2 B R qacc

0 R q1 1 R q

1 B L q3

0 R q2 1 R q

2 B L q4

B L q5 1 R q

rej B R qacc

0 R qrej B R q

accB L q5

0 L q5 1 L q

5 B R q0

0 1 0 0

0

q1

B

q3

B0

q1

11q

0q

0

q2

q3

q4

q5

A More Sane Representation

q2

q4

q5

B R q1 B R q

2 B R qacc

0 R q1 1 R q

1 B L q3

0 R q2 1 R q

2 B L q4

B L q5 1 R q

rej B R qacc

0 R qrej B R q

accB L q5

0 L q5 1 L q

5 B R q0

0 1 0 0

0

q3

q5

0

q1

B

q3

B

q1

11q

0q

0

q2

q4

q5

A More Sane Representation

q2

q4

B R q1 B R q

2 B R qacc

0 R q1 1 R q

1 B L q3

0 R q2 1 R q

2 B L q4

B L q5 1 R q

rej B R qacc

0 R qrej B R q

accB L q5

0 L q5 1 L q

5 B R q0

0 1 0

00

q3

q5

q1

B

q3

B

q1

11q

0q

0

q2

q4

q5

A More Sane Representation

q2

q4

B R q1 B R q

2 B R qacc

0 R q1 1 R q

1 B L q3

0 R q2 1 R q

2 B L q4

B L q5 1 R q

rej B R qacc

0 R qrej B R q

accB L q5

0 L q5 1 L q

5 B R q0

0 1 0

00

q3

q5

q1

B

q3

B

q1

11q

0q

0

q2

q4

q5

A More Sane Representation

q2

q4

B R q1 B R q

2 B R qacc

0 R q1 1 R q

1 B L q3

0 R q2 1 R q

2 B L q4

B L q5 1 R q

rej B R qacc

0 R qrej B R q

accB L q5

0 L q5 1 L q

5 B R q0

0 1 0

100

q3

q5

q1

B

q3

B

q1

1q

0q

0

q2

q4

q5

A More Sane Representation

q2

q4

B R q1 B R q

2 B R qacc

0 R q1 1 R q

1 B L q3

0 R q2 1 R q

2 B L q4

B L q5 1 R q

rej B R qacc

0 R qrej B R q

accB L q5

0 L q5 1 L q

5 B R q0

0 1 0

1100

q3

q5

q1

B

q3

B

q1

q0

q0

q2

q4

q5

A More Sane Representation

q2

q4

B R q1 B R q

2 B R qacc

0 R q1 1 R q

1 B L q3

0 R q2 1 R q

2 B L q4

B L q5 1 R q

rej B R qacc

0 R qrej B R q

accB L q5

0 L q5 1 L q

5 B R q0

0 1 0

0 110

q3

q5

q1

B

q3

B

q1

q0

q0

q2

q4

q5

A More Sane Representation

q2

q4

B R q1 B R q

2 B R qacc

0 R q1 1 R q

1 B L q3

0 R q2 1 R q

2 B L q4

B L q5 1 R q

rej B R qacc

0 R qrej B R q

accB L q5

0 L q5 1 L q

5 B R q0

0 1 0

00 11

q3

q5

q1

B

q3

B

q1

q0

q0

q2

q4

q5

A More Sane Representation

q2

q4

B R q1 B R q

2 B R qacc

0 R q1 1 R q

1 B L q3

0 R q2 1 R q

2 B L q4

B L q5 1 R q

rej B R qacc

0 R qrej B R q

accB L q5

0 L q5 1 L q

5 B R q0

0 1 0

B00 11

q3

q5

q1

B

q3

q1

q0

q0

q2

q4

q5

A More Sane Representation

q2

q4

B R q1 B R q

2 B R qacc

0 R q1 1 R q

1 B L q3

0 R q2 1 R q

2 B L q4

B L q5 1 R q

rej B R qacc

0 R qrej B R q

accB L q5

0 L q5 1 L q

5 B R q0

0 1 0

Bq

0

q5

B00 11

q3

q5

q1

q3

q1

q0

q2

q4

A More Sane Representation

q2

q4

B R q1 B R q

2 B R qacc

0 R q1 1 R q

1 B L q3

0 R q2 1 R q

2 B L q4

B L q5 1 R q

rej B R qacc

0 R qrej B R q

accB L q5

0 L q5 1 L q

5 B R q0

0 1 0

0 Bq

0

q5

B0 11

q3

q5

q1

q3

q1

q0

q2

q4

A More Sane Representation

q2

q4

B R q1 B R q

2 B R qacc

0 R q1 1 R q

1 B L q3

0 R q2 1 R q

2 B L q4

B L q5 1 R q

rej B R qacc

0 R qrej B R q

accB L q5

0 L q5 1 L q

5 B R q0

0 1 0

0

q1

q0

0 Bq

0

q5

B11

q3

q5

q1

q3

q2

q4

A More Sane Representation

q2

q4

B R q1 B R q

2 B R qacc

0 R q1 1 R q

1 B L q3

0 R q2 1 R q

2 B L q4

B L q5 1 R q

rej B R qacc

0 R qrej B R q

accB L q5

0 L q5 1 L q

5 B R q0

1 0

10

q1

q0

0 Bq

0

q5

B1

q3

q5

q1

q3

q2

q4

A More Sane Representation

q2

q4

B R q1 B R q

2 B R qacc

0 R q1 1 R q

1 B L q3

0 R q2 1 R q

2 B L q4

B L q5 1 R q

rej B R qacc

0 R qrej B R q

accB L q5

0 L q5 1 L q

5 B R q0

1 0

110

q1

q0

0 Bq

0

q5

B

q3

q5

q1

q3

q2

q4

A More Sane Representation

q2

q4

B R q1 B R q

2 B R qacc

0 R q1 1 R q

1 B L q3

0 R q2 1 R q

2 B L q4

B L q5 1 R q

rej B R qacc

0 R qrej B R q

accB L q5

0 L q5 1 L q

5 B R q0

1 0

0 110

q1

q0

Bq

0

q5

B

q3

q5

q1

q3

q2

q4

A More Sane Representation

q2

q4

B R q1 B R q

2 B R qacc

0 R q1 1 R q

1 B L q3

0 R q2 1 R q

2 B L q4

B L q5 1 R q

rej B R qacc

0 R qrej B R q

accB L q5

0 L q5 1 L q

5 B R q0

1 0

00 11

q1

q0

Bq

0

q5

B

q3

q5

q1

q3

q2

q4

A More Sane Representation

q2

q4

B R q1 B R q

2 B R qacc

0 R q1 1 R q

1 B L q3

0 R q2 1 R q

2 B L q4

B L q5 1 R q

rej B R qacc

0 R qrej B R q

accB L q5

0 L q5 1 L q

5 B R q0

1 0

B00 11

q1

q0

Bq

0

q5

q3

q5

q1

q3

q2

q4

A More Sane Representation

q2

q4

B R q1 B R q

2 B R qacc

0 R q1 1 R q

1 B L q3

0 R q2 1 R q

2 B L q4

B L q5 1 R q

rej B R qacc

0 R qrej B R q

accB L q5

0 L q5 1 L q

5 B R q0

1 0

B

q1

q3

B00 11

q1

q0

q0

q5

q3

q5

q2

q4

A More Sane Representation

q2

q4

B R q1 B R q

2 B R qacc

0 R q1 1 R q

1 B L q3

0 R q2 1 R q

2 B L q4

B L q5 1 R q

rej B R qacc

0 R qrej B R q

accB L q5

0 L q5 1 L q

5 B R q0

1 0

0 B

q1

q3

B0 11

q1

q0

q0

q5

q3

q5

q2

q4

A More Sane Representation

q2

q4

B R q1 B R q

2 B R qacc

0 R q1 1 R q

1 B L q3

0 R q2 1 R q

2 B L q4

B L q5 1 R q

rej B R qacc

0 R qrej B R q

accB L q5

0 L q5 1 L q

5 B R q0

1 0

0

q3

q5

0 B

q1

q3

B11

q1

q0

q0

q5

q2

q4

A More Sane Representation

q2

q4

B R q1 B R q

2 B R qacc

0 R q1 1 R q

1 B L q3

0 R q2 1 R q

2 B L q4

B L q5 1 R q

rej B R qacc

0 R qrej B R q

accB L q5

0 L q5 1 L q

5 B R q0

1

10

q3

q5

0 B

q1

q3

B1

q1

q0

q0

q5

q2

q4

A More Sane Representation

q2

q4

B R q1 B R q

2 B R qacc

0 R q1 1 R q

1 B L q3

0 R q2 1 R q

2 B L q4

B L q5 1 R q

rej B R qacc

0 R qrej B R q

accB L q5

0 L q5 1 L q

5 B R q0

1

110

q3

q5

0 B

q1

q3

B

q1

q0

q0

q5

q2

q4

A More Sane Representation

q2

q4

B R q1 B R q

2 B R qacc

0 R q1 1 R q

1 B L q3

0 R q2 1 R q

2 B L q4

B L q5 1 R q

rej B R qacc

0 R qrej B R q

accB L q5

0 L q5 1 L q

5 B R q0

1

B110

q3

q5

0 B

q1

q3

q1

q0

q0

q5

q2

q4

A More Sane Representation

q2

q4

B R q1 B R q

2 B R qacc

0 R q1 1 R q

1 B L q3

0 R q2 1 R q

2 B L q4

B L q5 1 R q

rej B R qacc

0 R qrej B R q

accB L q5

0 L q5 1 L q

5 B R q0

1

Bq

0

q5

B110

q3

q5

0

q1

q3

q1

q0

q2

q4

A More Sane Representation

q2

q4

B R q1 B R q

2 B R qacc

0 R q1 1 R q

1 B L q3

0 R q2 1 R q

2 B L q4

B L q5 1 R q

rej B R qacc

0 R qrej B R q

accB L q5

0 L q5 1 L q

5 B R q0

1

1 Bq

0

q5

B10

q3

q5

0

q1

q3

q1

q0

q2

q4

A More Sane Representation

q2

q4

B R q1 B R q

2 B R qacc

0 R q1 1 R q

1 B L q3

0 R q2 1 R q

2 B L q4

B L q5 1 R q

rej B R qacc

0 R qrej B R q

accB L q5

0 L q5 1 L q

5 B R q0

1

1q

0

q2

1 Bq

0

q5

B0

q3

q5

0

q1

q3

q1

q2

q4

A More Sane Representation

q4

B R q1 B R q

2 B R qacc

0 R q1 1 R q

1 B L q3

0 R q2 1 R q

2 B L q4

B L q5 1 R q

rej B R qacc

0 R qrej B R q

accB L q5

0 L q5 1 L q

5 B R q0

B1q

0

q2

1 Bq

0

q5

0

q3

q5

0

q1

q3

q1

q2

q4

A More Sane Representation

q4

B R q1 B R q

2 B R qacc

0 R q1 1 R q

1 B L q3

0 R q2 1 R q

2 B L q4

B L q5 1 R q

rej B R qacc

0 R qrej B R q

accB L q5

0 L q5 1 L q

5 B R q0

B

q2

q4

B1q

0

q2

1q

0

q5

0

q3

q5

0

q1

q3

q1

q4

A More Sane Representation

B R q1 B R q

2 B R qacc

0 R q1 1 R q

1 B L q3

0 R q2 1 R q

2 B L q4

B L q5 1 R q

rej B R qacc

0 R qrej B R q

accB L q5

0 L q5 1 L q

5 B R q0

BB

q2

q4

1q

0

q2

1q

0

q5

0

q3

q5

0

q1

q3

q1

q4

A More Sane Representation

B R q1 B R q

2 B R qacc

0 R q1 1 R q

1 B L q3

0 R q2 1 R q

2 B L q4

B L q5 1 R q

rej B R qacc

0 R qrej B R q

accB L q5

0 L q5 1 L q

5 B R q0

B

q4

B

q2

q4

1q

0

q2

1q

0

q5

0

q3

q5

0

q1

q3

q1

A More Sane Representation

B R q1 B R q

2 B R qacc

0 R q1 1 R q

1 B L q3

0 R q2 1 R q

2 B L q4

B L q5 1 R q

rej B R qacc

0 R qrej B R q

accB L q5

0 L q5 1 L q

5 B R q0

B

q4

B

q2

q4

1q

0

q2

1q

0

q5

0

q3

q5

0

q1

q3

q1

A More Sane Representation

B R q1 B R q

2 B R qacc

0 R q1 1 R q

1 B L q3

0 R q2 1 R q

2 B L q4

B L q5 1 R q

rej B R qacc

0 R qrej B R q

accB L q5

0 L q5 1 L q

5 B R q0

B

q4

B

q2

q4

1q

0

q2

1q

0

q5

0

q3

q5

0

q1

q3

q1

A More Sane Representation

B R q1 B R q

2 B R qacc

0 R q1 1 R q

1 B L q3

0 R q2 1 R q

2 B L q4

B L q5 1 R q

rej B R qacc

0 R qrej B R q

accB L q5

0 L q5 1 L q

5 B R q0

Accept

Reject

Reject Accept

Accept

B

q4

B

q2

q4

1q

0

q2

1q

0

q5

0

q3

q5

0

q1

q3

q1

A More Sane Representation

B R q1 B R q

2

0 R q1 1 R q

1 B L q3

0 R q2 1 R q

2 B L q4

B L q5 Reject

B L q5

0 L q5 1 L q

5 B R q0

Accept

Reject

Reject Accept

Accept

B

q4

B

q2

q4

1q

0

q2

1q

0

q5

0

q3

q5

0

q1

q3

q1

A More Sane Representation

B R q1 B R q

2

0 R q1 1 R q

1 B L q3

0 R q2 1 R q

2 B L q4

B L q5 Reject

B L q5

0 L q5 1 L q

5 B R q0

Turing Machines, Formally

● A Turing machine is an 8-tuple (Q, Σ, Γ, δ, q0, q

acc, q

rej, B),

where

Q is a finite set of states,

Σ is a finite input alphabet,

Γ is a finite tape alphabet, with Σ Γ,⊆

δ : Q × Γ → Q × Γ × {R, L} is the transition function,

q0 Q is the ∈ start state,

qacc

Q is the ∈ accept state,

qrej

Q, q∈rej

≠ qacc

, is the reject state, and

B Γ is the ∈ blank symbol.

Turing Machines, Formally

● A Turing machine is an 8-tuple (Q, Σ, Γ, δ, q0, q

acc, q

rej, B),

where● Q is a finite set of states,

Σ is a finite input alphabet,

Γ is a finite tape alphabet, with Σ Γ,⊆

δ : Q × Γ → Q × Γ × {R, L} is the transition function,

q0 Q is the ∈ start state,

qacc

Q is the ∈ accept state,

qrej

Q, q∈rej

≠ qacc

, is the reject state, and

B Γ is the ∈ blank symbol.

Turing Machines, Formally

● A Turing machine is an 8-tuple (Q, Σ, Γ, δ, q0, q

acc, q

rej, B),

where● Q is a finite set of states,● Σ is a finite input alphabet,

Γ is a finite tape alphabet, with Σ Γ,⊆

δ : Q × Γ → Q × Γ × {R, L} is the transition function,

q0 Q is the ∈ start state,

qacc

Q is the ∈ accept state,

qrej

Q, q∈rej

≠ qacc

, is the reject state, and

B Γ is the ∈ blank symbol.

Turing Machines, Formally

● A Turing machine is an 8-tuple (Q, Σ, Γ, δ, q0, q

acc, q

rej, B),

where● Q is a finite set of states,● Σ is a finite input alphabet,● Γ is a finite tape alphabet, with Σ Γ⊆ ,

δ : Q × Γ → Q × Γ × {R, L} is the transition function,

q0 Q is the ∈ start state,

qacc

Q is the ∈ accept state,

qrej

Q, q∈rej

≠ qacc

, is the reject state, and

B Γ is the ∈ blank symbol.

Turing Machines, Formally

● A Turing machine is an 8-tuple (Q, Σ, Γ, δ, q0, q

acc, q

rej, B),

where● Q is a finite set of states,● Σ is a finite input alphabet,● Γ is a finite tape alphabet, with Σ Γ⊆ ,

δ : Q × Γ → Q × Γ × {R, L} is the transition function,

q0 Q is the ∈ start state,

qacc

Q is the ∈ accept state,

qrej

Q, q∈rej

≠ qacc

, is the reject state, and

B Γ is the ∈ blank symbol.

Why must ?Σ ⊆ Γ

Turing Machines, Formally

● A Turing machine is an 8-tuple (Q, Σ, Γ, δ, q0, q

acc, q

rej, B),

where● Q is a finite set of states,● Σ is a finite input alphabet,● Γ is a finite tape alphabet, with Σ Γ,⊆● δ : Q × Γ → Q × Γ × {R, L} is the transition function,

q0 Q is the ∈ start state,

qacc

Q is the ∈ accept state,

qrej

Q, q∈rej

≠ qacc

, is the reject state, and

B Γ is the ∈ blank symbol.

Turing Machines, Formally

● A Turing machine is an 8-tuple (Q, Σ, Γ, δ, q0, q

acc, q

rej, B),

where● Q is a finite set of states,● Σ is a finite input alphabet,● Γ is a finite tape alphabet, with Σ Γ,⊆● δ : Q × Γ → Q × Γ × {R, L} is the transition function,

q0 Q is the ∈ start state,

qacc

Q is the ∈ accept state,

qrej

Q, q∈rej

≠ qacc

, is the reject state, and

B Γ is the ∈ blank symbol.

Each transition is based on the current tape symbol and state. Each transition maps to a new

state, a new tape symbol, and a direction (either left or right).

Turing Machines, Formally

● A Turing machine is an 8-tuple (Q, Σ, Γ, δ, q0, q

acc, q

rej, B),

where● Q is a finite set of states,● Σ is a finite input alphabet,● Γ is a finite tape alphabet, with Σ Γ,⊆● δ : Q × Γ → Q × Γ × {R, L} is the transition function,

● q0 Q is the ∈ start state,

qacc

Q is the ∈ accept state,

qrej

Q, q∈rej

≠ qacc

, is the reject state, and

B Γ is the ∈ blank symbol.

Turing Machines, Formally

● A Turing machine is an 8-tuple (Q, Σ, Γ, δ, q0, q

acc, q

rej, B),

where● Q is a finite set of states,● Σ is a finite input alphabet,● Γ is a finite tape alphabet, with Σ Γ,⊆● δ : Q × Γ → Q × Γ × {R, L} is the transition function,

● q0 Q is the ∈ start state,

● qacc

Q is the ∈ accept state,

qrej

Q, q∈rej

≠ qacc

, is the reject state, and

B Γ is the ∈ blank symbol.

Turing Machines, Formally

● A Turing machine is an 8-tuple (Q, Σ, Γ, δ, q0, q

acc, q

rej, B),

where● Q is a finite set of states,● Σ is a finite input alphabet,● Γ is a finite tape alphabet, with Σ Γ,⊆● δ : Q × Γ → Q × Γ × {R, L} is the transition function,

● q0 Q is the ∈ start state,

● qacc

Q is the ∈ accept state,

● qrej

Q, q∈rej

≠ qacc

, is the reject state, and

B Γ is the ∈ blank symbol.

Turing Machines, Formally

● A Turing machine is an 8-tuple (Q, Σ, Γ, δ, q0, q

acc, q

rej, B),

where● Q is a finite set of states,● Σ is a finite input alphabet,● Γ is a finite tape alphabet, with Σ Γ,⊆● δ : Q × Γ → Q × Γ × {R, L} is the transition function,

● q0 Q is the ∈ start state,

● qacc

Q is the ∈ accept state,

● qrej

Q, q∈rej

≠ qacc

, is the reject state, and

● B Γ – Σ is the ∈ blank symbol.

The Language of a Turing Machine

● The language of a TM M is the set

L(M) = { w | M enters qacc when run on w }

● If there is a TM M such that L(M) = L, we say that L is Turing-recognizable.● These languages are sometimes called recursively

enumerable.

Describing POWER2

● Recall: POWER2 is the language

● In Problem Set 6, you saw that POWER2 is not

regular.● In Problem Set 7, you'll prove that POWER2 is

not context-free.● However, POWER2 is Turing-recognizable.● How would we build a TM to recognize POWER2?

{12n | n∈ℕ }

Describing Turing Machines

● Specify TM explicitly using the transition table.● Incontrovertibly shows there's a TM for a problem.● Almost impossible to decipher.

● Specify TM's tape operations in natural language.● Describes what the tape head needs to do rather than how it's

done.● Might miss an important edge case.

● Specify TM's entire behavior at a high level.● Provides a clear description of how the TM tackles the

problem.● Almost impossible to translate into a machine.

POWER2 Intuition

1 1 1 1 1 1 1 1

POWER2 Intuition

1 1 1 1 1 1 1 1

x 1 x 1 x 1 x 1

POWER2 Intuition

1 1 1 1 1 1 1 1

x 1 x 1 x 1 x 1

x x x 1 x x x 1

POWER2 Intuition

1 1 1 1 1 1 1 1

x 1 x 1 x 1 x 1

x x x 1 x x x 1

x x x x x x x 1

A Very High-Level Description

● M = “On input w:● If w = ε, reject.● Otherwise, repeatedly cross out pairs of 1s in w

until the number of 1s is odd.● If there is exactly one 1 left, accept.● Otherwise, reject.”

A Tape-Operation Description

● M = “On input w:● If the initial cell contains a blank, reject.● If there is exactly one 1 in the input, accept.● Otherwise:

– Scan across the tape crossing off pairs of 1s. If an odd number of 1s is found, reject.

– Scan back to the start of the tape.– If we see exactly one 1 when scanning back, accept.”

q0

q0

BB11 xx

q6

q6

rejectq

1

q2

q3

q4

q5

A Low-Level Description

q1

q2

q3

q4

q5

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

1 L q6 x L q

6 B R q2

q0

q0

BB11 xx

q6

q6

rejectq

1

q2

q3

q4

q5

A Low-Level Description

q1

q2

q3

q4

q5

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

1 1 1 1 1 1 1 1

1 L q6 x L q

6 B R q2

q0

q0

BB11 xx

q6

q6

rejectq

1

q2

q3

q4

q5

A Low-Level Description

q1

q2

q3

q4

q5

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

1 1 1 1 1 1 1 1

1 L q6 x L q

6 B R q2

q0

q0

BB11 xx

q6

q6

rejectq

1

q2

q3

q4

q5

A Low-Level Description

q1

q2

q3

q4

q5

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

1 1 1 1 1 1 1 1

1 L q6 x L q

6 B R q2

1q

0q

0

BB1 xx

q6

q6

rejectq

1

q2

q3

q4

q5

A Low-Level Description

q1

q2

q3

q4

q5

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

1 1 1 1 1 1 1 1

1 L q6 x L q

6 B R q2

q0

q1

11q

0

BBxx

q6

q6

rejectq

1

q2

q3

q4

q5

A Low-Level Description

q2

q3

q4

q5

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

1 1 1 1 1 1 1

1 L q6 x L q

6 B R q2

1q

0

q1

1q

0

BBxx

q6

q6

rejectq

1

q2

q3

q4

q5

A Low-Level Description

q2

q3

q4

q5

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

1 1 1 1 1 1 1

1 L q6 x L q

6 B R q2

1

q1

q2

1q

0

q1

q0

BBxx

q6

q6

reject

q2

q3

q4

q5

A Low-Level Description

q3

q4

q5

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

1 1 1 1 1 1 1

1 L q6 x L q

6 B R q2

11

q1

q2

q0

q1

q0

BBxx

q6

q6

reject

q2

q3

q4

q5

A Low-Level Description

q3

q4

q5

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

1 1 1 1 1 1 1

1 L q6 x L q

6 B R q2

1

q2

q3

1

q1

q2

q0

q1

q0

BBxx

q6

q6

reject

q3

q4

q5

A Low-Level Description

q4

q5

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

1 x 1 1 1 1 1

1 L q6 x L q

6 B R q2

11

q2

q3

q1

q2

q0

q1

q0

BBxx

q6

q6

reject

q3

q4

q5

A Low-Level Description

q4

q5

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

1 x 1 1 1 1 1

1 L q6 x L q

6 B R q2

1

q2

q3

1

q2

q3

q1

q0

q1

q0

BBxx

q6

q6

reject

q4

q5

A Low-Level Description

q4

q5

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

1 x 1 1 1 1 1

1 L q6 x L q

6 B R q2

11

q2

q3

q2

q3

q1

q0

q1

q0

BBxx

q6

q6

reject

q4

q5

A Low-Level Description

q4

q5

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

1 x 1 1 1 1 1

1 L q6 x L q

6 B R q2

1

q2

q3

1

q2

q3

q1

q0

q1

q0

BBxx

q6

q6

reject

q4

q5

A Low-Level Description

q4

q5

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

1 x 1 x 1 1 1

1 L q6 x L q

6 B R q2

11

q2

q3

q2

q3

q1

q0

q1

q0

BBxx

q6

q6

reject

q4

q5

A Low-Level Description

q4

q5

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

1 x 1 x 1 1 1

1 L q6 x L q

6 B R q2

1

q2

q3

1

q2

q3

q1

q0

q1

q0

BBxx

q6

q6

reject

q4

q5

A Low-Level Description

q4

q5

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

1 x 1 x 1 1 1

1 L q6 x L q

6 B R q2

11

q2

q3

q2

q3

q1

q0

q1

q0

BBxx

q6

q6

reject

q4

q5

A Low-Level Description

q4

q5

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

1 x 1 x 1 1 1

1 L q6 x L q

6 B R q2

1

q2

q3

1

q2

q3

q1

q0

q1

q0

BBxx

q6

q6

reject

q4

q5

A Low-Level Description

q4

q5

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

1 x 1 x 1 x 1

1 L q6 x L q

6 B R q2

11

q2

q3

q2

q3

q1

q0

q1

q0

BBxx

q6

q6

reject

q4

q5

A Low-Level Description

q4

q5

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

1 x 1 x 1 x 1

1 L q6 x L q

6 B R q2

1

q2

q3

1

q2

q3

q1

q0

q1

q0

BBxx

q6

q6

reject

q4

q5

A Low-Level Description

q4

q5

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

1 x 1 x 1 x 1

1 L q6 x L q

6 B R q2

B1

q2

q3

1

q2

q3

q1

q0

q1

q0

Bxx

q6

q6

reject

q4

q5

A Low-Level Description

q4

q5

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

1 x 1 x 1 x 1

1 L q6 x L q

6 B R q2

q2

B

q4

B1

q2

q3

1

q3

q1

q0

q1

q0

xx

q6

q6

reject

q4

q5

A Low-Level Description

q5

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

1 x 1 x 1 x 1

1 L q6 x L q

6 B R q2

1

q2

B

q4

B1

q2

q3

q3

q1

q0

q1

q0

xx

q6

q6

reject

q4

q5

A Low-Level Description

q5

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

1 x 1 x 1 x 1

1 L q6 x L q

6 B R q2

1

q4

q5

1

q2

B

q4

B

q2

q3

q3

q1

q0

q1

q0

xx

q6

q6

reject

q5

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

1 x 1 x 1 x 1

1 L q6 x L q

6 B R q2

x1

q4

q5

1

q2

B

q4

B

q2

q3

q3

q1

q0

q1

q0

x

q6

q6

reject

q5

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

1 x 1 x 1 x 1

1 L q6 x L q

6 B R q2

xx1

q4

q5

1

q2

B

q4

B

q2

q3

q3

q1

q0

q1

q0

q6

q6

reject

q5

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

1 x 1 x 1 x 1

1 L q6 x L q

6 B R q2

1 xx1

q4

q5

q2

B

q4

B

q2

q3

q3

q1

q0

q1

q0

q6

q6

reject

q5

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

1 x 1 x 1 x 1

1 L q6 x L q

6 B R q2

1

q6

q5

1 xx

q4

q5

q2

B

q4

B

q2

q3

q3

q1

q0

q1

q0

q6

reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

1 x 1 x 1 x 1

1 L q6 x L q

6 B R q2

x1

q6

q5

1 x

q4

q5

q2

B

q4

B

q2

q3

q3

q1

q0

q1

q0

q6

reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

1 x 1 x 1 x 1

1 L q6 x L q

6 B R q2

xx1

q6

q5

1

q4

q5

q2

B

q4

B

q2

q3

q3

q1

q0

q1

q0

q6

reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

1 x 1 x 1 x 1

1 L q6 x L q

6 B R q2

1 xx1

q6

q5

q4

q5

q2

B

q4

B

q2

q3

q3

q1

q0

q1

q0

q6

reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

1 x 1 x 1 x 1

1 L q6 x L q

6 B R q2

11 xx

q6

q5

q4

q5

q2

B

q4

B

q2

q3

q3

q1

q0

q1

q0

q6

reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

1 x 1 x 1 x 1

1 L q6 x L q

6 B R q2

x11 x

q6

q5

q4

q5

q2

B

q4

B

q2

q3

q3

q1

q0

q1

q0

q6

reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

1 x 1 x 1 x 1

1 L q6 x L q

6 B R q2

xx11

q6

q5

q4

q5

q2

B

q4

B

q2

q3

q3

q1

q0

q1

q0

q6

reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

1 x 1 x 1 x 1

1 L q6 x L q

6 B R q2

1 xx1

q6

q5

q4

q5

q2

B

q4

B

q2

q3

q3

q1

q0

q1

q0

q6

reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

1 x 1 x 1 x 1

1 L q6 x L q

6 B R q2

11 xx

q6

q5

q4

q5

q2

B

q4

B

q2

q3

q3

q1

q0

q1

q0

q6

reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

1 x 1 x 1 x 1

1 L q6 x L q

6 B R q2

B11 xx

q6

q5

q4

q5

q2

B

q4

q2

q3

q3

q1

q0

q1

q0

q6

reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

1 x 1 x 1 x 1

1 L q6 x L q

6 B R q2

B

q2

q6

B11 xx

q6

q5

q4

q5

q2

q4

q3

q3

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

1 x 1 x 1 x 1

1 L q6 x L q

6 B R q2

1 B

q2

q6

B1 xx

q6

q5

q4

q5

q2

q4

q3

q3

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

1 x 1 x 1 x 1

1 L q6 x L q

6 B R q2

1

q2

q3

1 B

q2

q6

Bxx

q6

q5

q4

q5

q4

q3

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x 1 x 1 x 1

1 L q6 x L q

6 B R q2

x1

q2

q3

1 B

q2

q6

Bx

q6

q5

q4

q5

q4

q3

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x 1 x 1 x 1

1 L q6 x L q

6 B R q2

xx1

q2

q3

1 B

q2

q6

B

q6

q5

q4

q5

q4

q3

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x 1 x 1 x 1

1 L q6 x L q

6 B R q2

1 xx1

q2

q3

B

q2

q6

B

q6

q5

q4

q5

q4

q3

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x 1 x 1 x 1

1 L q6 x L q

6 B R q2

1

q2

q3

1 xx

q2

q3

B

q6

B

q6

q5

q4

q5

q4

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x 1 x 1 x 1

1 L q6 x L q

6 B R q2

x1

q2

q3

1 x

q2

q3

B

q6

B

q6

q5

q4

q5

q4

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x 1 x 1 x 1

1 L q6 x L q

6 B R q2

xx1

q2

q3

1

q2

q3

B

q6

B

q6

q5

q4

q5

q4

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x 1 x 1 x 1

1 L q6 x L q

6 B R q2

1 xx1

q2

q3

q2

q3

B

q6

B

q6

q5

q4

q5

q4

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x 1 x 1 x 1

1 L q6 x L q

6 B R q2

1

q2

q3

1 xx

q2

q3

B

q6

B

q6

q5

q4

q5

q4

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x 1 x x x 1

1 L q6 x L q

6 B R q2

x

x

1

q2

q3

1 x

q2

q3

B

q6

B

q6

q5

q4

q5

q4

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x 1 x x 1

1 L q6 x L q

6 B R q2

xx

x

1

q2

q3

1

q2

q3

B

q6

B

q6

q5

q4

q5

q4

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x 1 x x 1

1 L q6 x L q

6 B R q2

1 xx

x

1

q2

q3

q2

q3

B

q6

B

q6

q5

q4

q5

q4

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x 1 x x 1

1 L q6 x L q

6 B R q2

1

q2

q3

1 xx

x

q2

q3

B

q6

B

q6

q5

q4

q5

q4

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x 1 x x 1

1 L q6 x L q

6 B R q2

B1

q2

q3

1 xx

x

q2

q3

B

q6

q6

q5

q4

q5

q4

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x 1 x x 1

1 L q6 x L q

6 B R q2

q2

B

q4

B1

q2

q3

1 xx

x

q3

q6

q6

q5

q4

q5

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x 1 x x 1

1 L q6 x L q

6 B R q2

1

q2

B

q4

B1

q2

q3

xx

x

q3

q6

q6

q5

q4

q5

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x 1 x x 1

1 L q6 x L q

6 B R q2

1

q4

q5

1

q2

B

q4

B

q2

q3

xx

x

q3

q6

q6

q5

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x 1 x x 1

1 L q6 x L q

6 B R q2

x1

q4

q5

1

q2

B

q4

B

q2

q3

x

x

q3

q6

q6

q5

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x 1 x x 1

1 L q6 x L q

6 B R q2

xx1

q4

q5

1

q2

B

q4

B

q2

q3

x

q3

q6

q6

q5

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x 1 x x 1

1 L q6 x L q

6 B R q2

xx1

q4

q5

1

q2

B

q4

B

q2

q3

x

q3

q6

q6

q5

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x 1 x x 1

1 L q6 x L q

6 B R q2

xx1

q4

q5

1

q2

B

q4

B

q2

q3

x

q3

q6

q6

q5

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x 1 x x 1

1 L q6 x L q

6 B R q2

xx1

q4

q5

1

q2

B

q4

B

q2

q3

x

q3

q6

q6

q5

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x 1 x x 1

1 L q6 x L q

6 B R q2

xx1

q4

q5

1

q2

B

q4

B

q2

q3

x

q3

q6

q6

q5

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x 1 x x 1

1 L q6 x L q

6 B R q2

1 xx1

q4

q5

q2

B

q4

B

q2

q3

x

q3

q6

q6

q5

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x 1 x x 1

1 L q6 x L q

6 B R q2

1

q6

q5

1 xx

q4

q5

q2

B

q4

B

q2

q3

x

q3

q6

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x 1 x x 1

1 L q6 x L q

6 B R q2

x1

q6

q5

1 x

q4

q5

q2

B

q4

B

q2

q3

x

q3

q6

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x 1 x x 1

1 L q6 x L q

6 B R q2

xx1

q6

q5

1

q4

q5

q2

B

q4

B

q2

q3

x

q3

q6

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x 1 x x 1

1 L q6 x L q

6 B R q2

xx1

q6

q5

1

q4

q5

q2

B

q4

B

q2

q3

x

q3

q6

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x 1 x x 1

1 L q6 x L q

6 B R q2

xx1

q6

q5

1

q4

q5

q2

B

q4

B

q2

q3

x

q3

q6

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x 1 x x 1

1 L q6 x L q

6 B R q2

Bxx1

q6

q5

1

q4

q5

q2

B

q4

q2

q3

x

q3

q6

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x 1 x x 1

1 L q6 x L q

6 B R q2

B

q2

q6

Bxx1

q6

q5

1

q4

q5

q2

q4

q3

x

q3

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x 1 x x 1

1 L q6 x L q

6 B R q2

x B

q2

q6

Bx1

q6

q5

1

q4

q5

q2

q4

q3

x

q3

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x 1 x x 1

1 L q6 x L q

6 B R q2

xx B

q2

q6

B1

q6

q5

1

q4

q5

q2

q4

q3

x

q3

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x 1 x x 1

1 L q6 x L q

6 B R q2

xx B

q2

q6

B1

q6

q5

1

q4

q5

q2

q4

q3

x

q3

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x 1 x x 1

1 L q6 x L q

6 B R q2

xx B

q2

q6

B1

q6

q5

1

q4

q5

q2

q4

q3

x

q3

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x 1 x x 1

1 L q6 x L q

6 B R q2

1 xx B

q2

q6

B1

q6

q5

q4

q5

q2

q4

q3

x

q3

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x 1 x x 1

1 L q6 x L q

6 B R q2

1

q2

q3

1 xx B

q2

q6

B

q6

q5

q4

q5

q4

q3

x

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x x x x 1

1 L q6 x L q

6 B R q2

x1

q2

q3

1 x B

q2

q6

B

q6

q5

q4

q5

q4

q3

x

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x x x x 1

1 L q6 x L q

6 B R q2

xx1

q2

q3

1 B

q2

q6

B

q6

q5

q4

q5

q4

q3

x

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x x x x 1

1 L q6 x L q

6 B R q2

xx1

q2

q3

1 B

q2

q6

B

q6

q5

q4

q5

q4

q3

x

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x x x x 1

1 L q6 x L q

6 B R q2

xx1

q2

q3

1 B

q2

q6

B

q6

q5

q4

q5

q4

q3

x

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x x x x 1

1 L q6 x L q

6 B R q2

xx1

q2

q3

1 B

q2

q6

B

q6

q5

q4

q5

q4

q3

x

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x x x x 1

1 L q6 x L q

6 B R q2

xx1

q2

q3

1 B

q2

q6

B

q6

q5

q4

q5

q4

q3

x

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x x x x 1

1 L q6 x L q

6 B R q2

1 xx1

q2

q3

B

q2

q6

B

q6

q5

q4

q5

q4

q3

x

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x x x x 1

1 L q6 x L q

6 B R q2

1

q2

q3

1 xx

q2

q3

B

q6

B

q6

q5

q4

q5

q4

x

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x x x x 1

1 L q6 x L q

6 B R q2

B1

q2

q3

1 xx

q2

q3

B

q6

q6

q5

q4

q5

q4

x

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x x x x 1

1 L q6 x L q

6 B R q2

q2

B

q4

B1

q2

q3

1 xx

q3

q6

q6

q5

q4

q5

x

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x x x x 1

1 L q6 x L q

6 B R q2

1

q2

B

q4

B1

q2

q3

xx

q3

q6

q6

q5

q4

q5

x

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x x x x 1

1 L q6 x L q

6 B R q2

1

q4

q5

1

q2

B

q4

B

q2

q3

xx

q3

q6

q6

q5

x

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x x x x 1

1 L q6 x L q

6 B R q2

x1

q4

q5

1

q2

B

q4

B

q2

q3

x

q3

q6

q6

q5

x

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x x x x 1

1 L q6 x L q

6 B R q2

xx1

q4

q5

1

q2

B

q4

B

q2

q3

q3

q6

q6

q5

x

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x x x x 1

1 L q6 x L q

6 B R q2

xx1

q4

q5

1

q2

B

q4

B

q2

q3

q3

q6

q6

q5

x

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x x x x 1

1 L q6 x L q

6 B R q2

xx1

q4

q5

1

q2

B

q4

B

q2

q3

q3

q6

q6

q5

x

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x x x x 1

1 L q6 x L q

6 B R q2

xx1

q4

q5

1

q2

B

q4

B

q2

q3

q3

q6

q6

q5

x

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x x x x 1

1 L q6 x L q

6 B R q2

xx1

q4

q5

1

q2

B

q4

B

q2

q3

q3

q6

q6

q5

x

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x x x x 1

1 L q6 x L q

6 B R q2

xx1

q4

q5

1

q2

B

q4

B

q2

q3

q3

q6

q6

q5

x

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x x x x 1

1 L q6 x L q

6 B R q2

xx1

q4

q5

1

q2

B

q4

B

q2

q3

q3

q6

q6

q5

x

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x x x x 1

1 L q6 x L q

6 B R q2

xx1

q4

q5

1

q2

B

q4

B

q2

q3

q3

q6

q6

q5

x

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x x x x 1

1 L q6 x L q

6 B R q2

xx1

q4

q5

1

q2

B

q4

B

q2

q3

q3

q6

q6

q5

x

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x x x x 1

1 L q6 x L q

6 B R q2

xx1

q4

q5

1

q2

B

q4

B

q2

q3

q3

q6

q6

q5

x

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x x x x 1

1 L q6 x L q

6 B R q2

xx1

q4

q5

1

q2

B

q4

B

q2

q3

q3

q6

q6

q5

x

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x x x x 1

1 L q6 x L q

6 B R q2

Bxx1

q4

q5

1

q2

B

q4

q2

q3

q3

q6

q6

q5

x

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x x x x 1

1 L q6 x L q

6 B R q2

Bxx1

q4

q5

1

q2

B

q4

q2

q3

q3

q6

q6

q5

x

q1

q0

q1

q0 reject

A Low-Level Description

B R q1 reject

1 R q2 reject accept

x R q3 x R q

2 B L q4

1 R q2 x R q

3 reject

1 L q5 rejectx L q

4

1 L q6 x L q

5 accept

x x x x x 1

1 L q6 x L q

6 B R q2

Why This Matters

● From this point forward, we are not going to concern ourselves (that much) with low-level descriptions of Turing Machines.

● If you are asked to explicitly construct a Turing machine, you should provide a transition table or state-transition diagram.

● If you are asked to prove that you could solve a problem with a Turing machine (for example, to prove that a language is recursively enumerable), just provide a high-level description.

The Church-Turing Thesis

Just how powerful are Turing machines?

Tweaking Models of Computation

● If we add a stack to a finite automaton, we get the (more powerful) pushdown automaton.

● If we replace a PDA's stack with an infinite tape, we get the (more powerful) Turing machine.

● What happens if we try making changes to the Turing machine?

The Multitrack Turing Machine

0 0 1

The Multitrack Turing Machine

0 0 1

The Multitrack Turing Machine

0 0 1

+

?

0

The Multitrack Turing Machine

0 0 1

+ +

? ?

0 0

The Multitrack Turing Machine

0 0 1

+ + -

? ? !

0 0 1

The Multitrack Turing Machine

0 0 1

+ + -

? ! !

0 0 1

The Multitrack Turing Machine

0 0 1

+ + -

! ! !

0 0 1

The Multitrack Turing Machine

● A multitrack Turing machine is a Turing machine in which the tape is split into a finite number of parallel tracks.

● Each cell in each track can hold a single symbol.

● The finite-state control can base its transition on the symbols stored in each of the tracks.

● The finite-state control can write a new symbol back to each of the tracks.

The Multitrack Turing Machine

● Clearly, the multitrack Turing machine is at least as powerful as the regular Turing machine.● Just have one track.

● Is the multitrack TM strictly more powerful than the regular TM?

Simulation Revisited

● Two models of computation are said to be equivalent if they can accept precisely the same languages.

● Key technique: If each model of computation can simulate the other, they must be equally powerful.● If we can simulate one machine with another, then any

machine of one type can be turned into a machine of the other type.

● We last saw this with NFAs and DFAs.● Can we prove that a TM can simulate a multitrack

TM?

Simulating a Multitrack TM

0

0

1

Simulating a Multitrack TM

0

0

1

0

0

1

Simulating a Multitrack TM

0

0

1

0

0

1

Simulating a Multitrack TM

0

0

1

(0, B, B, *)

0

1

Simulating a Multitrack TM

0

0

1

(0, B, B, *)

(0, B, B, B)

1

Simulating a Multitrack TM

0

0

1

(0, B, B, *)

(0, B, B, B)

(1, B, B, B)

Simulating a Multitrack TM

0

0

1

(0, B, B, *)

(0, B, B, B)

(1, B, B, B)

Simulating a Multitrack TM

0

0

1

(0, B, B, *)

(0, B, B, B)

(1, B, B, B)

Simulating a Multitrack TM

0

0

1

(0, B, B, *)

(0, B, B, B)

(1, B, B, B)

Simulating a Multitrack TM

0

0

1

(0, B, B, *)

(0, B, B, B)

(1, B, B, B)

Simulating a Multitrack TM

0 ? -

0

1

(0, B, B, *)

(0, B, B, B)

(1, B, B, B)

Simulating a Multitrack TM

0 ? -

0

1

(0, ?, -, *)

(0, B, B, B)

(1, B, B, B)

Simulating a Multitrack TM

0 ? -

0 ? -

1

(0, ?, -, *)

(0, B, B, B)

(1, B, B, B)

Simulating a Multitrack TM

0 ? -

0 ? -

1

(0, ?, -, *)

(0, ?, -, B)

(1, B, B, B)

Simulating a Multitrack TM

0 ? -

0 ? -

1 ! +

(0, ?, -, *)

(0, ?, -, B)

(1, B, B, B)

Simulating a Multitrack TM

0 ? -

0 ? -

1 ! +

(0, ?, -, *)

(0, ?, -, B)

(1, !, +, B)

Simulating a Multitrack TM

● Given a multitrack TM M, we can build a single-track TM M' as follows:● Use a stack alphabet Γ consisting of tuples of

symbols rather than individual symbols.● On startup, replace each input symbol with a tuple

where each extra track begins blank.● Then, use the same finite-state control as M.

● Turing machines and multitrack Turing machines have the same computational power.

The Multitape Turing Machine

0 0 1

The Multitape Turing Machine

0 0 1

The Multitape Turing Machine

0 0 1 Y

X

The Multitape Turing Machine

0 1 1 Y X

X

The Multitape Turing Machine

1 1 1 Y X X

Y

The Multitape Turing Machine

● A multitape Turing machine (MTTM) is a Turing machine with finitely many additional tapes and additional tape heads.

● Each tape head can move independently of the others.

● Each tape head can write symbols independently of the others.

● The finite-state control issues commands to each tape head at the same time and can base its decisions on all of the other tapes.

The Multitape Turing Machine

● Clearly, the multitape Turing machine is at least as powerful as the regular Turing machine (just use zero extra tapes).

● However, the MTTM is no more powerful than a regular Turing machine.

● Idea: Show how to simulate an multitape Turing machine using a multitrack Turing machine.● Since multitrack TMs are equally powerful as

regular TMs, this shows that standard Turing machines are at least as powerful as MTTMs.

0 1 1 3 A B C DZYX

0 1 1 3 A B C DZYX

0 1 1 3

ZYX

C DBA

0 1 1 3 A B C DZYX

0 1 1 3

ZYX

C DBA

0 1 1 3 A B C DZYX

0 1 1 3

ZYX

C DBA

0 1 1 3 A B C DZYX

0 1 1 3

ZYX

C DBA

0 1 2 3 A B C DZYX

0 1 1 3

ZYX

C DBA

0 1 2 3 A B C DZYX

0 1 2 3

ZYX

C DBA

0 1 2 3 A B C DZYX

0 1 2 3

ZYX

C DBA

0 1 2 3 A B C DZYX

0 1 2 3

ZYX

C DBA

0 1 2 3 A B C DZYX

0 1 2 3

ZYX

C DBA

0 1 2 3 A B C DZYX

0 1 2 3

ZYX

C DBA

0 1 2 3 A B C DZYX

0 1 2 3

ZYX

C DBA

0 1 2 3 A B C DZYX

0 1 2 3

ZYX

C DBA

0 1 2 3 A B C DZ WYX

0 1 2 3

ZYX

C DBA

0 1 2 3 A B C DZ WYX

0 1 2 3

ZYX

C DBA

0 1 2 3 A B C DZ WYX

0 1 2 3

Z WYX

C DBA

0 1 2 3 A B C DZ WYX

0 1 2 3

Z WYX

C DBA

0 1 2 3 A B C DZ WYX

0 1 2 3

Z WYX

C DBA

0 1 2 3 A B C DZ WYX

0 1 2 3

Z WYX

C DBA

0 1 2 3 A B C DZ WYX

0 1 2 3

Z WYX

C DBA

0 1 2 3 A B C DZ WYX

0 1 2 3

Z WYX

C DBA

0 1 2 3 A E C DZ WYX

0 1 2 3

Z WYX

C DBA

0 1 2 3 A E C DZ WYX

0 1 2 3

Z WYX

C DEA

0 1 2 3 A E C DZ WYX

0 1 2 3

Z WYX

C DEA

0 1 2 3 A E C DZ WYX

0 1 2 3

Z WYX

C DEA

Simulating an MTTM

● Idea: Build a multitrack machine with one track per tape.● Add in special symbols representing “the tape head is

here, and the symbol is x.”● Repeatedly scan across the tracks, applying the

transition for each tape one at a time.● Scan across the tracks to find where the tape head is.● Apply the transition function to determine which direction the

head moves.● Replace the symbol in that direction with a marked symbol

indicating that the tape head is now there.

Modern Computers

CPU

137 3141 42

1004

2 7 1 8 2 8 0…

ProgramCounter

Registers

0 4 8 12 16 20 N

Data Bus

Modern Computers

CPU

137 3141 42

1004

2 7 1 8 2 8 0…

ProgramCounter

Registers

0 4 8 12 16 20 N

Data Bus

Fetches and executes

instructions

Modern Computers

CPU

137 3141 42

1004

2 7 1 8 2 8 0…

ProgramCounter

Registers

0 4 8 12 16 20 N

Data Bus

Fetches and executes

instructions

Holds address of next

instruction

Modern Computers

CPU

137 3141 42

1004

2 7 1 8 2 8 0…

ProgramCounter

Registers

0 4 8 12 16 20 N

Data Bus

Fetches and executes

instructions

Holds address of next

instruction

Stores values for quick access

Modern Computers

CPU

137 3141 42

1004

2 7 1 8 2 8 0…

ProgramCounter

Registers

0 4 8 12 16 20 N

Data Bus

Fetches and executes

instructions

Holds address of next

instruction

Stores values for quick accessHolds values

for later use

Modern Computers

● A modern computer has● A CPU for fetching, decoding, and executing

instructions,● A program counter for keeping track of the next

instruction to execute,● A finite set of fixed-size registers for doing quick

computation,● A finite random-access memory of

fixed-size integers for holding results.

An Idealized Computer

● An ideal random-access machine has● A CPU for fetching, decoding, and executing

instructions,● A program counter for keeping track of the next

instruction to execute,● A finite set of unbounded registers for doing quick

computation,● An infinite random-access memory of

unbounded integers for holding results.

The Idealized Computer

● The idealized computer is powerful enough to simulate a Turing machine:● Dedicate a special memory location to the state of

the TM.● Use the infinite memory to hold the contents of the

TM's infinite tape.

● Is the idealized computer any more powerful than the Turing machine?

1370

421

02

23

14

……

7PC

1370

421

02

23

14

……

7PC

0

:

1

,

1

:

3

7

4

2

,

RAM Tape

1370

421

02

23

14

……

7PC

0

:

1

,

1

:

3

7

4

2

,

7

RAM Tape

Register Tape

1370

421

02

23

14

……

7PC

0

:

1

,

1

:

3

7

4

2

,

7 1

3

7

2

=

1

+

4

7

9

RAM Tape

Register Tape

Scratch Tape

Simulating the Idealized Computer

● Have three tapes:● A RAM tape for holding the contents of RAM.● A register tape for holding the program counter and other registers.● A scratch tape for performing extra work.

● To execute an instruction:● Fetch the instruction from memory by scanning the memory tape for

the appropriate instruction.● Copy the instruction to the scratch tape.● Decode the instruction and fetch the operands from the RAM tape.● Perform the operation on the scratch tape.● Write the result back to the RAM tape.

All of these different models of computation are no more powerful than the basic Turing machine.

Just how powerful are Turing machines?

The Church-Turing Thesis states that

Any feasible model of computation is equivalent in power to a Turing machine.

This statement cannot be proven or disproven, but is widely considered true.

All Languages

RegularLanguages

All Languages

RegularLanguages DCFLs

All Languages

RegularLanguages CFLsDCFLs

All Languages

RegularLanguages CFLsDCFLs

All Languages

Turing-Recognizable

Languages

RegularLanguages CFLsDCFLs

All Languages

Problems Solvable by

Any Feasible Computing

Machine

Next Time

● The Limits of Turing Machines● What problems are provably impossible to solve

with Turing machines?● In other words, what problems are beyond the

realm of what can be computed?

top related