Explain Multi tape Turing Machine in TOC?


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).

δ=QxXN ->Q x XN 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.

Updated on: 16-Jun-2021

3K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements