Professional Documents
Culture Documents
Lesson 15 A Turing Machine
Lesson 15 A Turing Machine
Lesson 15 A Turing Machine
A Turing Machine
Tape
...... ......
Read-Write head
Control Unit
Read-Write head
Read-Write head
1. Reads a symbol
2. Writes a symbol
3. Moves Left or Right
Courtesy Costas Busch - RPI 4
Example:
Time 0
...... a b a c ......
Time 1
...... a b k c ......
1. Reads a
2. Writes k
3. Moves Left
Courtesy Costas Busch - RPI 5
Time 1
...... a b k c ......
Time 2
...... a f k c ......
1. Reads b
2. Writes f
3. Moves Right
Courtesy Costas Busch - RPI 6
The Input String
...... a b a c ......
head
Read Write
Move Left
q1 a b, L q2
Move Right
q1 a b, R q2
Courtesy Costas Busch - RPI 8
Example:
Time 1
...... a b a c ......
q1
current state
q1 a b, R q2
Courtesy Costas Busch - RPI 9
Time 1
...... a b a c ......
q1
Time 2
...... a b b c ......
q2
q1 a b, R q2
Courtesy Costas Busch - RPI 10
Example:
Time 1
...... a b a c ......
q1
Time 2
...... a b b c ......
q2
q1 a b, L q2
Courtesy Costas Busch - RPI 11
Example:
Time 1
...... a b a c ......
q1
Time 2
...... a b b c g ......
q2
q1 g, R q2
Courtesy Costas Busch - RPI 12
Determinism
Turing Machines are deterministic
q1 q1
q3 a d, L q3
b d, L
...... a b a c ......
q1
a b, R q2 Allowed:
q1 No transition
for input symbol c
b d, L q3
Courtesy Costas Busch - RPI 14
Halting
...... a b a c ......
q1
a b, R q2
No possible transition
q1
HALT!!!
b d, L q3
Courtesy Costas Busch - RPI 16
Final States
q1 q2 Allowed
q1 q2 Not Allowed
• In a final stateCourtesy
the machine
Costas Busch - RPI
halts 17
Acceptance
If machine halts
Accept Input
in a final state
If machine halts
in a non-final state
Reject Input or
[If machine enters
an infinite loop ]
a*
a a, R
, L
q0 q1
q0
a a, R
, L
q0 q1
q0
a a, R
, L
q0 q1
q0
a a, R
, L
q0 q1
q0
a a, R
, L
q0 q1
q1
, L
q0 q1
Time 0 a b a
q0
a a, R
, L
q0 q1
Courtesy Costas Busch - RPI 25
Time 1 a b a
q0
No possible Transition
a a, R Halt & Reject
, L
q0 q1
Courtesy Costas Busch - RPI 26
Draw TM that accept these languages.
4){a n
b : n 0}
5) awa : w a , b *
6){ } 7){a , b } * 8){ }
q4 y y, R y y, L
y y, R a a, R a a, L
, L
y y, R a x, R b y, L
q3 q0 q1 q2
x x, R
Courtesy Costas Busch - RPI 28
Basic Idea:
Match a’s with b’s:
Repeat:
replace leftmost a with x
find leftmost b and replace it with y
Until there are no more a’s or b’s
q0
q4 y y, R y y, L
y y, R a a, R a a, L
, L
y y, R a x, R b y, L
q3 q0 q1 q2
x x, R
Courtesy Costas Busch - RPI 30
Time 1 x a b b
q1
q4 y y, R y y, L
y y, R a a, R a a, L
, L
y y, R a x, R b y, L
q3 q0 q1 q2
x x, R
Courtesy Costas Busch - RPI 31
Time 2 x a b b
q1
q4 y y, R y y, L
y y, R a a, R a a, L
, L
y y, R a x, R b y, L
q3 q0 q1 q2
x x, R
Courtesy Costas Busch - RPI 32
Time 3 x a y b
q2
q4 y y, R y y, L
y y, R a a, R a a, L
, L
y y, R a x, R b y, L
q3 q0 q1 q2
x x, R
Courtesy Costas Busch - RPI 33
Time 4 x a y b
q2
q4 y y, R y y, L
y y, R a a, R a a, L
, L
y y, R a x, R b y, L
q3 q0 q1 q2
x x, R
Courtesy Costas Busch - RPI 34
Time 5 x a y b
q0
q4 y y, R y y, L
y y, R a a, R a a, L
, L
y y, R a x, R b y, L
q3 q0 q1 q2
x x, R
Courtesy Costas Busch - RPI 35
Time 6 x x y b
q1
q4 y y, R y y, L
y y, R a a, R a a, L
, L
y y, R a x, R b y, L
q3 q0 q1 q2
x x, R
Courtesy Costas Busch - RPI 36
Time 7 x x y b
q1
q4 y y, R y y, L
y y, R a a, R a a, L
, L
y y, R a x, R b y, L
q3 q0 q1 q2
x x, R
Courtesy Costas Busch - RPI 37
Time 8 x x y y
q2
q4 y y, R y y, L
y y, R a a, R a a, L
, L
y y, R a x, R b y, L
q3 q0 q1 q2
x x, R
Courtesy Costas Busch - RPI 38
Time 9 x x y y
q2
q4 y y, R y y, L
y y, R a a, R a a, L
, L
y y, R a x, R b y, L
q3 q0 q1 q2
x x, R
Courtesy Costas Busch - RPI 39
Time 10 x x y y
q0
q4 y y, R y y, L
y y, R a a, R a a, L
, L
y y, R a x, R b y, L
q3 q0 q1 q2
x x, R
Courtesy Costas Busch - RPI 40
Time 11 x x y y
q3
q4 y y, R y y, L
y y, R a a, R a a, L
, L
y y, R a x, R b y, L
q3 q0 q1 q2
x x, R
Courtesy Costas Busch - RPI 41
Time 12 x x y y
q3
q4 y y, R y y, L
y y, R a a, R a a, L
, L
y y, R a x, R b y, L
q3 q0 q1 q2
x x, R
Courtesy Costas Busch - RPI 42
Time 13 x x y y
q4
Halt & Accept
q4 y y, R y y, L
y y, R a a, R a a, L
, L
y y, R a x, R b y, L
q3 q0 q1 q2
x x, R
Courtesy Costas Busch - RPI 43
Observation:
If we modify the
n n
machine for the language {a b }
Input Tape
alphabet alphabet
States
M (Q, , , , q0 , , F )
Transition Final
function Initial states
state blank
Courtesy Costas Busch - RPI 46
Turing Machine:
M (Q, , , , q0 , , F )
,
q0 Q
F Q
q1 a b, R q2
(q1, a ) (q2 , b, R )
q1 c d, L q2
(q1, c) (q2 , d , L)
c a b a
q1
Instantaneous description: ca q1 ba
q2 q0
q2 q0
Time 6 Time 7
x x y b x x y b
q1 q1
A computation
q2 xayb x q0 ayb xx q1 yb xxy q1 b
Courtesy Costas Busch - RPI 52
q2 xayb x q0 ayb xx q1 yb xxy q1 b
Equivalent notation: q2 xayb xxy q1 b
Input string
w
a a b b
q0
L( M ) {w : q0 w x1 q f x2 }
•Turing Recognizable
• Deterministic
f (w)
w D f ( w) S
f ( x, y ) x y
Decimal: 5
Binary: 101
Unary: 11111
A function f is computable if
there is a Turing Machine M such that:
A function f is computable if
there is a Turing Machine M such that:
q0 w q f f ( w)
Initial Final
Configuration Configuration
x, y are integers
Turing Machine:
Start 1 1 1 0 1 1
q0
initial state
Start 1 1 1 0 1 1
q0 initial state
x y
Finish 1 1 1 1 0
q f final state
Courtesy Costas Busch - RPI 66
The 0 helps when we use
the result for other operations
x y
Finish 1 1 1 1 0
q f final state
Courtesy Costas Busch - RPI 67
Turing machine for function f ( x, y ) x y
1 1, R 1 1, R 1 1, L
q0 0 1, R q1 , L q 1 0, L q3
2
, R
q4
Courtesy Costas Busch - RPI 68
Execution Example: Time 0
x y
x 11 (2)
1 1 0 1 1
y 11 (2) q0
Final Result
x y
1 1 1 1 0
q4
Courtesy Costas Busch - RPI 69
Time 0 1 1 0 1 1
q0
1 1, R 1 1, R 1 1, L
q0 0 1, R q1 , L q 1 0, L q3
2
, R
q4
Courtesy Costas Busch - RPI 70
Time 1 1 1 0 1 1
q0
1 1, R 1 1, R 1 1, L
q0 0 1, R q1 , L q 1 0, L q3
2
, R
q4
Courtesy Costas Busch - RPI 71
Time 2 1 1 0 1 1
q0
1 1, R 1 1, R 1 1, L
q0 0 1, R q1 , L q 1 0, L q3
2
, R
q4
Courtesy Costas Busch - RPI 72
Time 3 1 1 1 1 1
q1
1 1, R 1 1, R 1 1, L
q0 0 1, R q1 , L q 1 0, L q3
2
, R
q4
Courtesy Costas Busch - RPI 73
Time 4 1 1 1 1 1
q1
1 1, R 1 1, R 1 1, L
q0 0 1, R q1 , L q 1 0, L q3
2
, R
q4
Courtesy Costas Busch - RPI 74
Time 5 1 1 1 1 1
q1
1 1, R 1 1, R 1 1, L
q0 0 1, R q1 , L q 1 0, L q3
2
, R
q4
Courtesy Costas Busch - RPI 75
Time 6 1 1 1 1 1
q2
1 1, R 1 1, R 1 1, L
q0 0 1, R q1 , L q 1 0, L q3
2
, R
q4
Courtesy Costas Busch - RPI 76
Time 7 1 1 1 1 0
q3
1 1, R 1 1, R 1 1, L
q0 0 1, R q1 , L q 1 0, L q3
2
, R
q4
Courtesy Costas Busch - RPI 77
Time 8 1 1 1 1 0
q3
1 1, R 1 1, R 1 1, L
q0 0 1, R q1 , L q 1 0, L q3
2
, R
q4
Courtesy Costas Busch - RPI 78
Time 9 1 1 1 1 0
q3
1 1, R 1 1, R 1 1, L
q0 0 1, R q1 , L q 1 0, L q3
2
, R
q4
Courtesy Costas Busch - RPI 79
Time 10 1 1 1 1 0
q3
1 1, R 1 1, R 1 1, L
q0 0 1, R q1 , L q 1 0, L q3
2
, R
q4
Courtesy Costas Busch - RPI 80
Time 11 1 1 1 1 0
q3
1 1, R 1 1, R 1 1, L
q0 0 1, R q1 , L q 1 0, L q3
2
, R
q4
Courtesy Costas Busch - RPI 81
Time 12 1 1 1 1 0
q4
1 1, R 1 1, R 1 1, L
q0 0 1, R q1 , L q 1 0, L q3
2
, R
HALT & accept q4
Courtesy Costas Busch - RPI 82
Another Example
x is integer
Turing Machine:
Start 1 1 1
q0 initial state
2x
Finish 1 1 1 1 1
q f final state
Courtesy Costas Busch - RPI 84
Turing Machine Pseudocode for f ( x) 2 x
• Repeat:
• Find rightmost $, replace it with 1
1 $, R 1 1, L 1 1, R
q0 , L q1 $ 1, R q2
, R 1, L
q3
Courtesy Costas Busch - RPI 86
Example
Start Finish
1 1 1 1 1 1
q0 q3
1 $, R 1 1, L 1 1, R
q0 , L q1 $ 1, R q2
, R 1, L
q3
Courtesy Costas Busch - RPI 87