Prerequisite – Turing Machine
Design a Turing Machine for a string which contains exactly 3 repetitions of w consecutively.
Approach Used :
First, we will find the position of separation of the first w from the second w.
Now, we will match the first and second w. If both get, matched then the second w string will be converted to a string of $.
Then, we will match the first and third w. If both get, matched then the third w string will be converted to a string of $. If the string reaches the Halt state H, then it gets accepted.
Example –
Input: ababab
Output: Accepted
Input: abbabbabb
Output: Accepted
Input: ^ (Empty string)
Output: Accepted
Input: aba
Output: Not accepted
Step-1:
If the symbol is $, replace it by $ and move right.
Go to state Q1 and step 2.
Step-2:
If the symbol is a, replace it by A and move right, or
If the symbol is b, replace it by B and move right.
Go to state Q2 and step 3.
————————————————-
If the symbol is A, replace it by A and move left, or
If the symbol is B, replace it by B and move left.
Go to state Q6 and step 7.
————————————————-
If the symbol is $, replace it by $, and the string is accepted.
Go to final state H.
Step-3:
If the symbol is a, replace it by a and move right, remain on the same state, or
If the symbol is b, replace it by b and move right, remain on the same state.
————————————————
If the symbol is A replace it by A and move left, or
If the symbol is B replace it by B and move left, or
If the symbol is $ replace it by $ and move left.
Go to state Q3 and step 4.
Step-4:
If the symbol is a replace it by A and move left, or
If the symbol is b replace it by B and move left,
Go to state Q4 and step 5
Step-5:
If the symbol is a replace it by A and move left, or
If the symbol is b replace it by B and move left,
Go to state Q5 and step 6
Step-6:
If the symbol is a, replace it by a and move left, remain on the same state, or
If the symbol is b, replace it by b and move left, remain on the same state.
————————————————
If the symbol is A, replace it by A and move right, or
If the symbol is B, replace it by B and move right, or
Go to state Q1 and step 2.
Step-7:
If the symbol is A, replace it by a and move left, remain on the same state, or
If the symbol is B, replace it by b and move left, remain on the same state
————————————————-
If the symbol if $, replace it by $ and move right.
Go to state Q7 and step 8.
Step-8:
If the symbol is a, replace it by A and move right.
Go to state Q9 and step 10.
————————————————–
If the symbol is b, replace it by B and move right.
Go to state Q8 and step 9.
————————————————–
If the symbol is $, replace it by $ and move left.
Go to state Q11 and step 12.
Step-9:
If the symbol is a, replace it by a and move right, remain on the same state, or
If the symbol is b, replace it by b and move right, remain on the same state, or
If the symbol is $, replace it by $ and move right, remain on the same state
————————————————–
If the symbol is B, replace it by $ and move left.
Go to state Q10 and step 11.
Step-10:
If the symbol is a, replace it by a and move right, remain on the same state, or
If the symbol is b, replace it by b and move right, remain on the same state, or
If the symbol is $, replace it by $ and move right, remain on the same state.
————————————————–
If the symbol is A, replace it by $ and move left.
Go to state Q10 and step 11.
Step-11:
If the symbol is a, replace it by a and move left, remain on the same state, or
If the symbol is b, replace it by b and move left, remain on the same state, or
If the symbol is $, replace it by $ and move left.
————————————————–
If the symbol is A, replace it by A and move right, or
If the symbol is B, replace it by B and move right.
Go to state Q7 and step 8.
Step-12:
If the symbol is A, replace it by a and move left, remain on the same state, or
If the symbol is B, replace it by b and move left, remain on the same state.
————————————————–
If the symbol is $, replace it by $ and move right.
Go to state Q12 and step 13.
Step-13:
If the symbol is a, replace it by A and move right.
Go to state Q14 and step 15.
————————————————–
If the symbol is b, replace it by B and move right.
Go to state Q13 and step 14.
————————————————–
If the symbol is $, replace it by $, and the string is accepted.
Go to final state H.
Step-14:
If the symbol is a, replace it by a and move right, remain on the same state, or
If the symbol is b, replace it by b and move right, remain on the same state, or
If the symbol is $, replace it by $ and move right, remain on the same state.
————————————————–
If the symbol is B, replace it by $ and move left.
Go to state Q15 and step 16.
Step-15:
If the symbol is a, replace it by a and move right, remain on the same state, or
If the symbol is b, replace it by b and move right, remain on the same state, or
If the symbol is $, replace it by $ and move right, remain on the same state.
————————————————–
If the symbol is A, replace it by $ and move left.
Go to state Q15 and step 16.
Step-16:
If the symbol is a, replace it by a and move left, remain on the same state, or
If the symbol is b, replace it by b and move left, remain on the same state, or
If the symbol is $, replace it by $ and move left.
————————————————–
If the symbol is A, replace it by A and move right, or
If the symbol is B, replace it by B and move right.
Go to state Q12 and step 13.

Meaning of symbols-
R- move right
L- move left
a- character a
b- character b
A- character A
B- character B
Example:
We have to test the Turing machine for a string “ababab”.
-> $ababab$
-> $Ababab$
-> $AbabaB$
->$AbabAB$
-> $ABabAB$
-> $ABaBAB$
-> $ABABAB$
-> $AbABAB$
-> $abABAB$
-> $AbABAB$
-> $Ab$BAB$
-> $AB$BAB$
-> $AB$$AB$
-> $Ab$$AB$
-> $ab$$AB$
-> $Ab$$AB$
-> $Ab$$$B$
-> $AB$$$B$
-> $AB$$$$$ (Accepted)
Whether you're preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape,
GeeksforGeeks Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we've already empowered, and we're here to do the same for you. Don't miss out -
check it out now!
Last Updated :
04 Aug, 2020
Like Article
Save Article