Microsoft PowerPoint – CS332-Lec09-ann
BU CS 332 – Theory of Computation
Lecture 9:
• Turing Machines
Reading:
Sipser Ch 3.1, 3.3
Mark Bun
February 22, 2021
Turing Machines – Motivation
We’ve seen finite automata as a restricted model of
computation
Finite Automata / Regular Expressions
• Can do simple pattern matching (e.g., substrings), check parity,
addition
• Can’t perform unbounded counting
• Can’t recognize palindromes
Somewhat more powerful (not in this course):
Pushdown Automata / Context‐Free Grammars
• Can count and compare, parse math expressions
• Can’t recognize 𝑎 𝑏 𝑐 𝑛 0
2/22/2021 CS332 ‐ Theory of Computation 2
Turing Machines – Motivation
Goal:
Define a model of computation that is
1) General purpose. Captures all algorithms that can be
implemented in any programming language.
2) Mathematically simple. We can hope to prove that
things are not computable in this model.
2/22/2021 CS332 ‐ Theory of Computation 3
A Brief History
2/22/2021 CS332 ‐ Theory of Computation 4
1900 – Hilbert’s Tenth Problem
2/22/2021 CS332 ‐ Theory of Computation 5
David Hilbert 1862‐1943
Given a Diophantine equation with any
number of unknown quantities and with
rational integral numerical coefficients: To
devise a process according to which it can
be determined in a finite number of
operations whether the equation is
solvable in rational integers.
1928 – The Entscheidungsproblem
2/22/2021 CS332 ‐ Theory of Computation 6
David Hilbert 1862‐1943
The “Decision Problem”
Is there an algorithm which
takes as input a formula (in
first‐order logic) and
decides whether it’s
logically valid?
Wilhelm Ackermann 1896‐1962
1936 – Solution to the Entscheidungsproblem
2/22/2021 CS332 ‐ Theory of Computation 7
Alonzo Church 1903‐1995
Alan Turing 1912‐1954
“An unsolvable problem of elementary
number theory“
Model of computation: 𝜆‐calculus (CS 320)
“On computable numbers, with an
application to the Entscheidungsproblem”
Model of computation: Turing Machine
Turing Machines
2/22/2021 CS332 ‐ Theory of Computation 8
The Basic Turing Machine (TM)
2/22/2021 CS332 ‐ Theory of Computation 9
Tape 𝑎 𝑏 𝑎 𝑎
Finite
control
…
• Input is written on an infinitely long tape
• Head can both read and write, and move in both
directions
• Computation halts as soon as control reaches
“accept” or “reject” state
Input
0 → 0,𝑅
⊔ → ⊔,𝑅
accept
reject
0 → 0,𝑅
⊔ → ⊔,𝑅
Example
𝑞0 𝑞1
0 → 0,𝑅
⊔ → ⊔,𝑅
accept
reject
0 → 0,𝑅
⊔ → ⊔,𝑅
Example
𝑞0 𝑞1
Example
0 → 0,𝑅
⊔ → ⊔,𝑅
accept
reject
0 → 0,𝑅
⊔ → ⊔,𝑅
0 → 0,𝑅
⊔ → ⊔, 𝐿
𝑞0 𝑞1
𝑞3
What does this TM do on input 000?
a) Halt and accept
b) Halt and reject
c) Halt in state 𝑞
d) Loop forever without halting
Three Levels of Abstraction
High‐Level Description
An algorithm (like CS 330)
Implementation‐Level Description
Describe (in English) the instructions for a TM
• How to move the head
• What to write on the tape
Low‐Level Description
State diagram or formal specification
2/22/2021 CS332 ‐ Theory of Computation 13
Example
Determine if a string
High‐Level Description
Repeat the following forever:
• If there is exactly one in , accept
• If there is an odd number of s in , reject
• Delete half of the s in
2/22/2021 CS332 ‐ Theory of Computation 14
Example
Determine if a string
Implementation‐Level Description
1. While moving the tape head left‐to‐right:
a) Cross off every other 0
b) If there is exactly one 0 when we reach the right end of the
tape, accept
c) If there is an odd number of 0s when we reach the right
end of the tape, reject
2. Return the head to the left end of the tape
3. Go back to step 1
2/22/2021 CS332 ‐ Theory of Computation 15
Example
Determine if a string
Low‐Level Description
2/22/2021 CS332 ‐ Theory of Computation 16
TMs vs. Finite Automata
2/22/2021 CS332 ‐ Theory of Computation 17
Formal Definition of a TM
A TM is a 7‐tuple
• is a finite set of states
• is the input alphabet (does not include )
• is the tape alphabet (contains and )
• is the transition function
…more on this later
• is the start state
• is the accept state
• is the reject state ( )
2/22/2021 CS332 ‐ Theory of Computation 18
TM Transition Function
means “move left” and means “move right”
means:
• Replace 𝑎 with 𝑏 in current cell
• Transition from state 𝑝 to state 𝑞
• Move tape head right
means:
• Replace 𝑎 with 𝑏 in current cell
• Transition from state 𝑝 to state 𝑞
• Move tape head left UNLESS we are at left end of tape, in
which case don’t move
2/22/2021 CS332 ‐ Theory of Computation 19
Configuration of a TM
A string with captures the state of a TM together with the
contents of the tape
2/22/2021 CS332 ‐ Theory of Computation 20
…
Configuration of a TM: Formally
A configuration is a string where and ∗
• Tape contents = (followed by blanks )
• Current state =
• Tape head on first symbol of
2/22/2021 CS332 ‐ Theory of Computation 21
…
Example:
How a TM Computes
Start configuration:
One step of computation:
• yields if
• yields if
• If we are at the left end of the tape in configuration ,
what configuration do we reach if ?
2/22/2021 CS332 ‐ Theory of Computation 22