0

While converting multitape turing machine into an equivalent singletape turing machine we have to shift the data and insert a blank to it. e.g :

Multitape = [1,2,3,4] [5,6,7,8] [9,10,11,12]
Equivalent singletape = [1,2,3,4,#,5,6,7,8,#,9,10,11,12]
consider this transition function in multitape turing machine :
[(q1,4) = (q2,4,R) and similar for others]

after this transition next element of tape1 is Blank But in single tape

[(q1,4) = (q2,4,R) and for others]

After this transition next element of tape1 is # so we have to shift remaining data to insert a blank at this position. How to do that? please give answers with respect to transition function.

tjd
  • 4,064
  • 1
  • 24
  • 34
user3778989
  • 127
  • 1
  • 2
  • 8

1 Answers1

0

Your transition function only reads the first tape. A transition for the three.tape machien should look something like:

(q1,4,5,10) = (q2,4,R,6,L,11,R)

because you need instructions for all three tapes.

For the shifting: there is no better way than to shift all the data on one side of the current position one position by one. For example:

  1. Mark current position
  2. Run to the right-most symbol
  3. Move right-most symbol one to the right
  4. Move next symbol on the left one position to the right and so on until you reach the marked symbol
Peter Leupold
  • 1,162
  • 1
  • 9
  • 16