Problem Solving in Automata, Languages, and Complexity

(Dana P.) #1

4.3 Multi-Tape Turing Machines 189



  1. Describe the details of a simulation step of the two-way DTM &+!I of
    Theorem 4.13 that simulates a three-tape DTM AL That is, show the
    instructions of A&l that move the head to left to collect the tape infor-
    mation of M and then move right to execute an instruction of M from
    this information.

  2. Given a two-way infinite one-tape DTM M with C = (1) and I’ =
    (0, 1, B}, construct a multi-tape DTM M’ that, on input ( ln, 1”)) sim-
    ulates M on input 1” for at most k moves so that it halts if and only if
    M halts on input ln within k moves.

  3. Construct multi-tape DTM’s to accept the following languages. For each
    language, discuss how much time your machine saves over a one-tape
    DTM using the same algorithm.
    (a) {w E {a$}* 1 w = We}.


(b) {(%~2) I a+2 E {~,~}*,21
(c) {unbncn 1 n > - 0).
(cl) {a”bnck 1 m,n, k > 0,m # n

(4 {w E 1% b, c)* I #,(w) = #b(

is a substring of 22).

ornfkorkfm}.

4 = #c(w>~*


  1. Construct multi-tape DTM’s to compute the following functions. For
    each function, discuss how much time your machine saves over a one-
    tape DTM using the same algorithm.


(a) f(z) = xR on strings x E {a, b}*.
(b) f b-4 4 = nm on natural numbers m, n.
(C) f(nl, 722,... , nk) = max{nl, n2,... , nk) over positive integers nl,
l l l 7 nk, where k is not fixed.
(d) .f(nl, 732, l l .Y nk) = the maximum number of occurrences of a
positive integer in (121,... , nk), where k is not fixed. (E. ., g
f(3,5,3,6,7) = 2 and f(3,6,3,6,6,5,6) = 4.
0 e sort(n
order,

1, n2,... , nk) = the li st (721,..
where nl,... , nk are positive

’ 7 nk) sorted
integers and

in the increasing
k is not fixed.


  1. A two-dimensional DTM M is a TM whose “tape” is a two-dimensional
    plane divided into infinitely many cells (see Figure 4.15). A two-
    dimensional DTM M operates in a way similar to a two-way DTM
    except that in each move, it can move its head up (U), down (D), left
    (Q 7 right (R) or stay (S). Initially, the input is stored in a horizontal
    row and the head is scanning the blank cell to its right. When it halts,
    the output is also stored in a horizontal row (but not necessarily the
    same row as the input) with the head pointing to the blank cell to its
    right. All other symbols not on this row are ignored.

Free download pdf