Professional Documents
Culture Documents
g Machines
Reading: Chapter 8
1
Turing Machines are
Very powerful (abstract) machines that
could simulate any modern day
computer (although very, very slowly!)
For every input,
answer YES or NO
Why design such a machine?
If a p
problem cannot be solved even usingg
a TM, then it implies that the problem is
undecidable
Finite
control Tape is the
memory
Tape head
Infinite tape
p with tape
p symbols
y
B B B X1 X2 X3 Xi Xn B B
4
ID of a TM
Instantaneous Description or ID :
X1X2Xi-1qXiXi+1Xn
means:
q is the current state
Tape head is pointing g to Xi
X1X2Xi-1XiXi+1Xn are the current tape symbols
( Xi) = ((p,Y,R)
(q,X Y R) iis same as:
X1Xi-1qXiXn |---- X1Xi-1YpXi+1Xn
(q Xi) = (p,Y,L)
(q,X (p Y L) is same as:
X1Xi-1qXiXn |---- X1pXi-1YXi+1Xn
5
Way to check for Membership
Is a string w accepted by a TM?
Initial condition:
The (whole) input string w is present in TM,
preceded and followed by infinite blank symbols
Final acceptance:
Accept w if TM enters final state and halts
If TM halts and not final state, then reject
6
Example: L = {0 1
n n | n1}
Strategy: w = 000111
B B 0 0 0 1 1 1 B B B B X X 0 Y Y 1 B B
B B X 0 0 1 1 1 B B B B X X X Y Y 1 B B
B B X 0 0 Y 1 1 B B B B X X X Y Y Y B B
B B X X 0 Y 1 1 B B
B B X X X Y Y Y B B
Accept 7
TM for {0 1
n n | n1}
Y / Y,R 1. Mark next unread 0 with X
0 / 0,R and move right
2. Move to the right all the way
0 / X,R
XR to the first unread 1
1, and mark
q0 q1 it with Y
3. Move back (to the left) all the
Y / Y,R
YR 1 / Y,L way to the last marked X, and
then move one position to the
X / X,R right
q2
q3 4. If the next position is 0, then
Y / Y,R goto step
g p 1.
Y / Y,L Else move all the way to the
B / B,R right to ensure there are no
0 / 0,L excess 1s. If not move right to
q4
the next blank symbol and
stop & accept.
8
*state diagram representation preferred
TM for {0 1
n n | n1}
Next Tape Symbol
Curr. 0 1 X Y B
State
q0 (q1,X,R) - - (q3,Y,R) -
q3 - - - (q3,Y,R) (q4,B,R)
*q4 - -- - - -
10
Example 2: monus subtraction
m -- n = max{m-n,0}
0m10n ...B 0m-n B.. (if m>n)
...BBB.. (otherwise)
1. For every 0 on the left (mark X), mark off a 0 on the right
(mark Y)
am
ate diagra
11
Example 3: Multiplication
0m10n1 (input), 0mn1 (output)
Pseudocode:
1. Move tape head back & forth such that for every
am
delimiting 1
2. Once written, that zero is changed to B to get
marked
k d as fifinished
i h d
Give sta
12
Calculations vs. Languages
The language for a certain
A calculation is one calculation is the set of strings of
that takes an input the form <input, output>, where
and outputs a value the output corresponds to a valid
(or values) calculated value for the input
A language is a set
E.g., The language Ladd for the addition operation
of strings that meet
certain criteria <0#0,0>
<0#1,1>
<2#4,6>
Membership question == verifying a solution
e.g., is <15#12,27> a member of Ladd ? 13
Language
g g of the Turing
g
Machines
Recursive Enumerable (RE) language
Regular Context-
nsitive
erable
sively
ntext
(DFA)
free
Con
Recurs
Enume
sen
(PDA)
14
Variations of Turing Machines
15
Generic description
Will work for both a=0 and a=1
TMs with storage
E.g., TM for 01* + 10*Current
Tape Next
Current Storage symbol state
state symbol New
N
Storage
symbol
q Transition function :
storage
([q0,B],a) = ([q1,a], a, R)
Tape head ([q1,a],a) = ([q1,a], a, R)
B B 0 1 1 1 1 1 B B
([q1,a],B) = ([q2,B], B, R)
the TM w/ storage:
Create a new state in the TM w/o storage
Define transitions induced by TM w/ storage
Track k
18
Multi-Track TMs
TM with multiple tracks but just one
head E.g.,
g TM for {{wcw | w {{0,1}*
} }
but w/o modifying original input string
BEFORE AFTER
control
t l control
t l
B B 0 1 0 c 0 1 0 B Track 1 B B 0 1 0 c 0 1 0 B Track 1
B B B B B B B B B B Track 2 B B X X X c Y Y Y B Track 2
19
Second track mainly used as a scratch space for marking
Multi-track TMs are equivalent
q
to basic (single-track) TMs
Let M be a single-track TM
M = (Q, , , , q0,B,F)
Claims:
For every M, there is an M s.t. L(M)=L(M).
(proof trivial here)
20
Multi-track TM ==> TM (proof)
For every M, there is an M s.t. L(M)=L(M).
Main idea:
M = (Q,
(Q , ,
,
q0,[B,B,],F)
[B B ] F) Create one composite
Where: symbol to represent
Q = Q every combination of
k track) k symbols
= x x (k times for k-track)
y
= x x (k times for k-track)
q0 = q0
F = F
Tape 1
Tape 2
Tape k 22
On how a Multi-tape
p TM would
operate
Initially:
The input is in tape #1 surrounded by blanks
input
The heads for all other tapes
p p point at an arbitrary
y cell
(doesnt matter because they are all blanks anyway)
A move:
Is a function (current state, the symbols pointed by all the
heads)
After each move, each tape head can move independently
( f or right)) off one another
(left
23
Multitape TMs Basic TMs
Theorem: Every language accepted by a k-
tape
p TM is also accepted
p by
y a single-tape
g p TM
Proof by construction:
Construct a single-tape TM with 2k tracks, where
each tape of the k-tape TM is simulated by 2
tracks of basic TM
k out the 2k tracks simulate the k input tapes
The other k out of the 2k tracks keep track of the k
tape head positions
24
Multitape TMs Basic TMs
To simulate one move of the k-tape TM:
Move from the leftmost marker to the rightmost marker (k markers) and in
the process, gather all the input symbols into storage
Then, take the action same as done by the k-tape TM (rewrite tape symbols
& move L/R using the markers)
control
storage
Track 1 x
A1 A2 Ai
Track 2
x
Track 3
B1 B2 Bi Bj
Track 4
25
Non-deterministic TMs Deterministic TMs
Non-deterministic TMs
A TM can have non-deterministic moves:
(q,X) = { (q1,Y1,D1), (q2,Y2,D2), }
Simulation using a multitape deterministic
TM:
Control
Input tape
ID1 ID2 ID3 ID4
Marker tape * * * *
Scratch tape
26
Summary
TMs == Recursively Enumerable languages
TMs can be used as both:
Language recognizers
Calculators/computers
B i TM is
Basic i equivalent
i l t tot all
ll the
th below:
b l
1. TM + storage
2
2. Multi-track
Multi track TM
3. Multi-tape TM
4. Non-deterministic TM
TMs are like universal computing machines
with unbounded storage 27