Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
Design a TM that perform right shift over ∑ = {0, 1}
Problem
Shift the input string right by one place and design a Turing Machine (TM) that can perform right shift over ∑ = {0, 1}.
Solution
Refer an algorithm given below to design a TM −
Step 1 − Move right side to the last character from the initial character.
Step 2 − If the character is „0?, replace it with „B? and move one step right to replace the immediate „B? to „0?.
Step 3 − If the character is „1?, replace it with „B? and move one step right to replace the immediate „B? to „1?.
Step 4 − After processing as above, move left one step to perform step 2 or 3 on the next right most unprocessed character.
Step 5 − Perform step 4 until all the characters are processed.
The diagram given below shows the respective TM −

Description of Turing Machine
The Turing machine is given by M = (Q, Σ, Γ, δ, q0, B, F)
Where,
Q = {q0, q1, q2, q3, q4, q5}
Σ = {0, 1}
Γ = {0, 1, B}
q0 = {q0}
B = {B}
F = {q5}

Here,
q0 → skips the initial 0?s and 1?s and moves the head of the TM to the last character. q1 → the unprocessed rightmost character is replaced by B.
q2 → on processing the input „0?, q2 immediately replaces the „B? as „0? and takes left.
q3 → on processing „1?, q3 replaces immediately the „B? as „1? and moves left.
-
q4 → takes a left position to process the next character
q5 → halts if no more input characters are available.
