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

373
Turing Machines

Upload: others

Post on 25-Jul-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

Turing Machines

Page 2: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

Announcements

● Problem Set 7 due Friday, November 18● Stop by OH with questions.● Email [email protected] 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.

Page 3: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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.

Page 4: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

A Simple Turing Machine

Page 5: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

A Simple Turing Machine

q0

qacc

qrej

q1

start

1 → B, R

1 → B, R

B → B, R

B → B, R

qacc

qrej

Page 6: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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.

Page 7: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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.

Page 8: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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.

Page 9: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

A Simple Turing Machine

q0

qacc

qrej

q1

start

1 → B, R

1 → B, R

B → B, R

B → B, R

qacc

qrej

Page 10: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 11: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 12: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 13: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 14: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 15: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 16: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 17: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 18: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 19: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 20: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 21: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 22: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 23: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 24: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 25: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 26: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 27: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 28: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 29: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 30: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 31: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 32: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 33: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 34: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 35: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 36: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 37: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 38: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 39: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 40: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 41: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 42: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 43: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 44: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 45: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 46: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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.

Page 47: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 48: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 49: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 50: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 51: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 52: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 53: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 54: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 55: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 56: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 57: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 58: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 59: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 60: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 61: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 62: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 63: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 64: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 65: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 66: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 67: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 68: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 69: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 70: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 71: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 72: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 73: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 74: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 75: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 76: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 77: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 78: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 79: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 80: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 81: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 82: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 83: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 84: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 85: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 86: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 87: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 88: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 89: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 90: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 91: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 92: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 93: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 94: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 95: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 96: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 97: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 98: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 99: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 100: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 101: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 102: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 103: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 104: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 105: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 106: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 107: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 108: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 109: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 110: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 111: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 112: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 113: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 114: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 115: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 116: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 117: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 118: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 119: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 120: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 121: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 122: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 123: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 124: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 125: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 126: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 127: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 128: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 129: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 130: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 131: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 132: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 133: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 134: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 135: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 136: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 137: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 138: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 139: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 140: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 141: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 142: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 143: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 144: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 145: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 146: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 147: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 148: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 149: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 150: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 151: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 152: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 153: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 154: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 155: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 156: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 157: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 158: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 159: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 160: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 161: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 162: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 163: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 164: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 165: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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.

Page 166: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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.

Page 167: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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.

Page 168: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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.

Page 169: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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 ?Σ ⊆ Γ

Page 170: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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.

Page 171: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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).

Page 172: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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.

Page 173: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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.

Page 174: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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.

Page 175: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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.

Page 176: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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.

Page 177: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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∈ℕ }

Page 178: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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.

Page 179: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

POWER2 Intuition

1 1 1 1 1 1 1 1

Page 180: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

POWER2 Intuition

1 1 1 1 1 1 1 1

x 1 x 1 x 1 x 1

Page 181: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 182: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 183: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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.”

Page 184: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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.”

Page 185: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 186: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 187: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 188: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 189: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 190: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 191: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 192: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 193: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 194: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 195: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 196: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 197: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 198: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 199: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 200: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 201: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 202: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 203: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 204: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 205: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 206: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 207: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 208: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 209: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 210: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 211: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 212: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 213: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 214: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 215: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 216: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 217: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 218: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 219: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 220: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 221: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 222: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 223: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 224: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 225: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 226: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 227: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 228: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 229: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 230: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 231: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 232: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 233: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 234: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 235: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 236: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 237: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 238: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 239: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 240: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 241: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 242: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 243: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 244: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 245: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 246: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 247: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 248: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 249: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 250: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 251: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 252: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 253: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 254: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 255: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 256: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 257: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 258: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 259: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 260: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 261: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 262: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 263: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 264: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 265: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 266: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 267: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 268: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 269: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 270: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 271: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 272: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 273: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 274: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 275: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 276: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 277: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 278: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 279: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 280: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 281: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 282: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 283: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 284: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 285: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 286: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 287: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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.

Page 288: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

The Church-Turing Thesis

Page 289: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

Just how powerful are Turing machines?

Page 290: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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?

Page 291: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

The Multitrack Turing Machine

0 0 1

Page 292: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

The Multitrack Turing Machine

0 0 1

Page 293: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

The Multitrack Turing Machine

0 0 1

+

?

0

Page 294: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

The Multitrack Turing Machine

0 0 1

+ +

? ?

0 0

Page 295: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

The Multitrack Turing Machine

0 0 1

+ + -

? ? !

0 0 1

Page 296: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

The Multitrack Turing Machine

0 0 1

+ + -

? ! !

0 0 1

Page 297: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

The Multitrack Turing Machine

0 0 1

+ + -

! ! !

0 0 1

Page 298: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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.

Page 299: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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?

Page 300: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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?

Page 301: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

Simulating a Multitrack TM

0

0

1

Page 302: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

Simulating a Multitrack TM

0

0

1

0

0

1

Page 303: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

Simulating a Multitrack TM

0

0

1

0

0

1

Page 304: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

Simulating a Multitrack TM

0

0

1

(0, B, B, *)

0

1

Page 305: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

Simulating a Multitrack TM

0

0

1

(0, B, B, *)

(0, B, B, B)

1

Page 306: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

Simulating a Multitrack TM

0

0

1

(0, B, B, *)

(0, B, B, B)

(1, B, B, B)

Page 307: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

Simulating a Multitrack TM

0

0

1

(0, B, B, *)

(0, B, B, B)

(1, B, B, B)

Page 308: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

Simulating a Multitrack TM

0

0

1

(0, B, B, *)

(0, B, B, B)

(1, B, B, B)

Page 309: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

Simulating a Multitrack TM

0

0

1

(0, B, B, *)

(0, B, B, B)

(1, B, B, B)

Page 310: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

Simulating a Multitrack TM

0

0

1

(0, B, B, *)

(0, B, B, B)

(1, B, B, B)

Page 311: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

Simulating a Multitrack TM

0 ? -

0

1

(0, B, B, *)

(0, B, B, B)

(1, B, B, B)

Page 312: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

Simulating a Multitrack TM

0 ? -

0

1

(0, ?, -, *)

(0, B, B, B)

(1, B, B, B)

Page 313: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

Simulating a Multitrack TM

0 ? -

0 ? -

1

(0, ?, -, *)

(0, B, B, B)

(1, B, B, B)

Page 314: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

Simulating a Multitrack TM

0 ? -

0 ? -

1

(0, ?, -, *)

(0, ?, -, B)

(1, B, B, B)

Page 315: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

Simulating a Multitrack TM

0 ? -

0 ? -

1 ! +

(0, ?, -, *)

(0, ?, -, B)

(1, B, B, B)

Page 316: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

Simulating a Multitrack TM

0 ? -

0 ? -

1 ! +

(0, ?, -, *)

(0, ?, -, B)

(1, !, +, B)

Page 317: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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.

Page 318: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

The Multitape Turing Machine

0 0 1

Page 319: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

The Multitape Turing Machine

0 0 1

Page 320: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

The Multitape Turing Machine

0 0 1 Y

X

Page 321: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

The Multitape Turing Machine

0 1 1 Y X

X

Page 322: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

The Multitape Turing Machine

1 1 1 Y X X

Y

Page 323: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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.

Page 324: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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.

Page 325: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

0 1 1 3 A B C DZYX

Page 326: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

0 1 1 3 A B C DZYX

0 1 1 3

ZYX

C DBA

Page 327: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

0 1 1 3 A B C DZYX

0 1 1 3

ZYX

C DBA

Page 328: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

0 1 1 3 A B C DZYX

0 1 1 3

ZYX

C DBA

Page 329: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

0 1 1 3 A B C DZYX

0 1 1 3

ZYX

C DBA

Page 330: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

0 1 2 3 A B C DZYX

0 1 1 3

ZYX

C DBA

Page 331: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

0 1 2 3 A B C DZYX

0 1 2 3

ZYX

C DBA

Page 332: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

0 1 2 3 A B C DZYX

0 1 2 3

ZYX

C DBA

Page 333: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

0 1 2 3 A B C DZYX

0 1 2 3

ZYX

C DBA

Page 334: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

0 1 2 3 A B C DZYX

0 1 2 3

ZYX

C DBA

Page 335: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

0 1 2 3 A B C DZYX

0 1 2 3

ZYX

C DBA

Page 336: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

0 1 2 3 A B C DZYX

0 1 2 3

ZYX

C DBA

Page 337: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

0 1 2 3 A B C DZYX

0 1 2 3

ZYX

C DBA

Page 338: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

0 1 2 3 A B C DZ WYX

0 1 2 3

ZYX

C DBA

Page 339: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

0 1 2 3 A B C DZ WYX

0 1 2 3

ZYX

C DBA

Page 340: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

0 1 2 3 A B C DZ WYX

0 1 2 3

Z WYX

C DBA

Page 341: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

0 1 2 3 A B C DZ WYX

0 1 2 3

Z WYX

C DBA

Page 342: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

0 1 2 3 A B C DZ WYX

0 1 2 3

Z WYX

C DBA

Page 343: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

0 1 2 3 A B C DZ WYX

0 1 2 3

Z WYX

C DBA

Page 344: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

0 1 2 3 A B C DZ WYX

0 1 2 3

Z WYX

C DBA

Page 345: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

0 1 2 3 A B C DZ WYX

0 1 2 3

Z WYX

C DBA

Page 346: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

0 1 2 3 A E C DZ WYX

0 1 2 3

Z WYX

C DBA

Page 347: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

0 1 2 3 A E C DZ WYX

0 1 2 3

Z WYX

C DEA

Page 348: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

0 1 2 3 A E C DZ WYX

0 1 2 3

Z WYX

C DEA

Page 349: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

0 1 2 3 A E C DZ WYX

0 1 2 3

Z WYX

C DEA

Page 350: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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.

Page 351: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 352: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 353: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 354: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 355: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 356: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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.

Page 357: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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.

Page 358: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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?

Page 359: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

1370

421

02

23

14

……

7PC

Page 360: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

1370

421

02

23

14

……

7PC

0

:

1

,

1

:

3

7

4

2

,

RAM Tape

Page 361: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

1370

421

02

23

14

……

7PC

0

:

1

,

1

:

3

7

4

2

,

7

RAM Tape

Register Tape

Page 362: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 363: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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.

Page 364: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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

Page 365: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

Just how powerful are Turing machines?

Page 366: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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.

Page 367: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

All Languages

Page 368: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

RegularLanguages

All Languages

Page 369: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

RegularLanguages DCFLs

All Languages

Page 370: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

RegularLanguages CFLsDCFLs

All Languages

Page 371: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

RegularLanguages CFLsDCFLs

All Languages

Turing-Recognizable

Languages

Page 372: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

RegularLanguages CFLsDCFLs

All Languages

Problems Solvable by

Any Feasible Computing

Machine

Page 373: Turing Machines - KeithSchwarz.comDesign Turing machines! Alternate problem session tomorrow night, 7-8PM, in Gates 100. The Turing Machine A Turing machine consists of three parts:

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?