- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- MS Excel
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP
- Physics
- Chemistry
- Biology
- Mathematics
- English
- Economics
- Psychology
- Social Studies
- Fashion Studies
- Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
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.