- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
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
Construct a Turing machine for adding 2 to the binary natural number?
A Turing machine (TM) can be formally described as seven tuples −
(Q,X, ∑, δ,q0,B,F)
Where,
Q is a finite set of states.
X is the tape alphabet.
∑ is the input alphabet.
δ is a transition function:δ:QxX->QxXx{left shift, right shift}.
q0 is the initial state.
B is the blank symbol.
F is the final state.
Input − n a natural number
Output − n + 2
Let’s represent natural numbers in unary form (e.g. 3 = 111, 5 = 11111) and 0 will be represented by the empty symbol.
Algorithm
Move the tape head to the left of the first 1 (if it exists).
Change that empty cell to a 1.
Move left and repeat.
Halt
We only need 3 states: 0 (initial), 1 and Halt; as well as three instructions −
(1): (0, 1, 1, L, 0) Move left to blank cell.
(2): (0, , 1, L, 1) Write 1 into the cell and move left.
(3): (1, ❑, 1, S, Halt) Write 1 into cell and halt.
Graphically, it is represented as follows:
Instantaneous description
State 0: ❑ 1 1 1 ❑ Begin in state 0
State 0: ❑ 1 1 1 ❑ (1)
State 1: ❑ 1 1 1 1 ❑ (2)
Halt: ❑ 1 1 1 1 1 ❑ (3)
- Related Articles
- Construct a TM for adding 1 to a binary natural number?
- Construct Turing machine for addition
- Construct Turing machine for subtraction
- Draw a Turing machine to find 2’s complement of a binary number
- Construct a Turing Machine for language L = {0n1n2n | n≥1}
- Construct a Turing Machine for language L = {ww | w ∈ {0,1}}
- Construct a Turing Machine for language L = {wwr | w ∈ {0, 1}}
- Construct a Turing Machine for L = {a^n b^n | n>=1}
- Construct a Turing machine for L = {aibjck | i< j< k; i ≥ 1}
- Construct a Turing machine for L = {aibjck | i>j>k; k ≥ 1}
- Draw a Turing machine to find 1’s complement of a binary number
- Construct a Turing machine for L = {aibjck | i*j = k; i, j, k ≥ 1}
- Design Turing machine for multiplication
- Construct Turing machine for L = {an bm a(n+m) - n,m≥1} in C++
- Explain about a non-deterministic Turing Machine?
