CSC 4170 Theory of Computation. Turing Machines. Section 3.1. 3.1.a. Components of a Turing machine (TM). a a b a b b      . (Q, , , ,start,accept,reject). Q is the set of states
Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.
a a b a b b      
(Q,,,,start,accept,reject)
xy,R
q1
q2
If the current tape symbol is x, replace it with y, move the head right and go to q2. The label xx,R is simply written as xR.
If we here have L instead of R, then the head is moved left, unless it was on the first cell, in which case it remains where it was.
0 L
x L
How a Turing machine worksq5
xR
 R
 L
xR
start
q2
q3
0 ,R
0x,R
 R
0 x,R
0R
xR
q4
reject
accept
 R

x
0
0







A TM accepts an input string iff, for this input, sooner or later it enters
the accept state.
Otherwise the string is considered rejected.
A Turing machine is said to be a decider iff it halts for every input.
The language recognized by a TM  the set the strings that TM accepts;
If this machine is a decider, then we say that it not only recognizes,
but also decides that language.
A language is said to be Turingrecognizable iff some TM recognizes it.
A language is said to be Turingdecidable iff some TM decides it.
accept
0 R
 R
 R
0 R
reject
What language does the above machine recognize?
Does it decide that language?
accept
0 R
 R
0 R
 R
reject
What language does the above machine recognize?
Does it decide that language?
0 L
x L
xR
q5
 R
 L
start
xR
q2
q3
0 ,R
0x,R
 R
0R
0 x,R
accept
xR
q4
The reject state can be safely removed.
It will be understood that all the missing transitions lead to the reject state.
Design a TM that recognizes (better – decides) {#n =m  n=m}
1. Sweep left to right across the tape, testing if the input has the form
#*=*; if not, reject; if yes, go back to the beginning of the tape
and go to step 2 (state q3).
L
= L
x L
 L
R
R
= R
 L
# R
start
q1
q2
q9
# L
q3
2. Keep going to the right, replace the first you see before = with
x andgo to step 3 (state q5);
if you reach = without seeing a , go to step 4 (state q6).
xR
x,R
q4
q3
q5
# R
= R
q6
3. Keep going to the right, pass = and then replace the first you see
with x andgo to the beginning of the tape, step 2 (this can be
done by going to state q9);
if you reach a blank without seeing a , reject.
q9
x,R
R
= R
xR
q7
q5
4. Keep going to the right as long as you see x. If you see a before
reaching a blank, reject; otherwise accept.
xR
 R
accept
q6
L
= L
x L
 L
R
R
= R
 L
# R
start
q1
q2
q9
# L
x,R
xR
R
x,R
= R
xR
q4
q7
q3
q5
# R
xR
= R
 R
accept
q6



#
=
Design a TM that decides {#n <m  n<m}
L
< L
x L
L
< L
x L
 L
R
R
< R
 L
# R
start
q1
q2
q9
# L
x,R
xR
R
x,R
< R
xR
q4
q7
q3
q5
# R
xR
< R
R
accept
q6
Design a TM that decides {#n +m = k  n+m=k}
+ L
L
= L
x L
 L
R
R
R
= R
 L
+ R
# R
start
q1
q2
q9
q0
# L
x,R
xR
+R
R
+R
x,R
= R
xR
q4
q7
q3
q5
# R
xR
= R
 R
accept
q6
Design a TM that decides {#n m = k  nm=k}
Step 1: Check if the string has the form #* * = * . If not, reject;
If yes, go back to the beginning of the tape, step 2.
Step 2: Find the first between # and, delete it and go to step 3;
If no suchwas found, go to step 5.
Step 3: Find the first between and =,delete it and go to step 4;
If no suchwas found, go to the beginning of the tape, restoring on
the way back all the deletedbetween and=,and go to step 2.
Step 4: Find the first after=, delete it, go back to ,and go to step 3;
If no suchwas found before seeing a blank, reject.
Step 5: Go right past = ; if no is found there before reaching a blank,
Accept; otherwise reject.
=

#
Design a fragment of a TM that, from a state “Beg?”, goes to a state “Yes” or “No”,
depending on whether you are at the beginning of the tape or not,
without corrupting the contents of the tape.
Testing whether the head is at the beginning of the tapeTape alphabet: {x1,…,xn}
Add a new tape symbol: $
x1,…,xnR
a1
b1
$ x1,L
x1,R
x1$,L
…
L
Beg?
Yes
Temp
No
xn$,L
$ xn,L
xn,R
an
bn
x1,…,xnR
Design a fragment of a TM that, from a state “Go to the beginning”,
goes to the beginning of the tape and state “Done”.
Move left and test if you are at the beginning of the tape.
If yes, go to “Done”.
If not, repeat the step.
No
Done
Go to the beginning
Beg?
Yes
Design a fragment of a TM that types 0 in the current cell and shifts the
(old) contents of the remaining tape one cell to the right.
Assume the tape alphabet is {0,1,}.
Shift
Done
Design a TM that decides the language
E={#x1#x2#…#xn  each xi{0,1} and xixj for each ij}
See page 135 for a description of such a TM
# x1 # x2 # x3 # x4 #x5
x1 x2 x3 x4
#
0
1
1
#
0
1
0
#
0
#
1
1
0
