- Related Questions & Answers
- Explain the universal Turing machine in TOC
- What is Turing Machine in TOC?
- What are the Turing machine variations in TOC?
- Explain Turing Machine variant Two Stack PDA?
- Explain about a non-deterministic Turing Machine?
- Explain the basic properties of the Turing machine?
- Design Turing machine for multiplication
- Construct Turing machine for subtraction
- Construct Turing machine for addition
- Differentiate between Mealy machine and Moore machine in TOC
- Distinguish between Finite Automata and Turing Machine
- What is The Church-Turing Thesis in TOC?
- What is a Moore Machine in TOC?
- What is a mealy machine in TOC?
- Give implementation-level descriptions of a Turing machine?

- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who

A Turing machine (TM) with several tapes is called a multi tape Turing machine.

Every tape’s have their own Read/Write head

For N-tape Turing Machine

M={( Q,X, ∑,δ,q0,B,F)}

We define Multi-tape Turing machine as k-tapes with k-tape heads moving independently (generalisation of multi-track Turing machines).

δ=QxX^{N} ->Q x X^{N} x {L,R}^{N}

Each TM has its own read-write head, but the state is common for all. The multi tape TM is as follows −

In each step (transitions), TM reads symbols scanned by all heads, depending on those and current state, each head writes, moves R or L, and control-unit enters into a new state.

Actions of heads are independent of each other.

**Example**

Multiplying two numbers (each represented as a unary string of ones) to get a third would be difficult to do with a simple Turing machine, but is fairly straightforward with a three tape machine.

Tapes before starting to compute Tapes before starting the second addition

Start by checking to see whether either number is zero −

(0,(B,B ,B ),(B,B ,B ),(S, S, S), Halt) Both are zero

(0,(B, 1, B),(B, 1,B ),(S, S, S), Halt) First is zero

(0,(1,B ,B ),(1,B ,B ),(S, S, S), Halt) Second is zero

(0,(1, 1, B),(1, 1B, ),(S, S, S), 1) Both are nonzero

Add the number on the second tape to the third tape −

(1,(1, 1,B ),(1, 1, 1),(S, R, R), 1) Copy

(1,(1,B ,B ),(1,B ,B ),(S, L, S), 2) Done copying

Move the tape head of the second tape back to the left end of the number; move the tape head of the first number one cell to the right −

(2,(1, 1,B ),(1, 1,B ),(S, L, S), 2) Move to the left end

(2,(1,B ,B ),(1,B ,B ),(R, R, S), 3) Both types to the right one cell

Check the first tape head to see if all the additions have been performed −

(3,(B, 1,B ),(B, 1,B ),(S, S, L), Halt) Done

(3,(1, 1,B ),(1, 1,B ),(S, S, S), 1) Do another add

Every multi-tape TM has an equivalent single tape TM

If M has k tapes, M0 simulates the effect of k tapes by storing the same information on its single tape.

Uses a new symbol # as a delimiter to separate the contents of the different tapes (marks the left/the right end of the relevant portions of the tape).

M0 must also keep track of the locations of the heads on each tape.

Write a tape symbol with a dot above it to mark where the head on that tape would be. Dotted symbols are simply new symbols added to the tape alphabet.

If the movement of one T’s tape heads causes M0’s tape head to bump into either or #, then that side of the type must be moved to make room for a new type cell.

Advertisements