Multi-track Turing machine

From HandWiki


A Multitrack Turing machine is a specific type of multi-tape Turing machine.

In a standard n-tape Turing machine, n heads move independently along n tracks. In a n-track Turing machine, one head reads and writes on all tracks simultaneously. A tape position in an n-track Turing Machine contains n symbols from the tape alphabet. It is equivalent to the standard Turing machine and therefore accepts precisely the recursively enumerable languages.

Formal definition

A multitrack Turing machine with [math]\displaystyle{ n }[/math]-tapes can be formally defined as a 6-tuple[math]\displaystyle{ M= \langle Q, \Sigma, \Gamma, \delta, q_0, F \rangle }[/math], where

  • [math]\displaystyle{ Q }[/math] is a finite set of states;
  • [math]\displaystyle{ \Sigma \subseteq \Gamma \setminus\{b\} }[/math] is a finite set of input symbols, that is, the set of symbols allowed to appear in the initial tape contents;
  • [math]\displaystyle{ \Gamma }[/math] is a finite set of tape alphabet symbols;
  • [math]\displaystyle{ q_0 \in Q }[/math] is the initial state;
  • [math]\displaystyle{ F \subseteq Q }[/math] is the set of final or accepting states;
  • [math]\displaystyle{ \delta: \left(Q \backslash F \times \Gamma^n \right) \rightarrow \left( Q \times \Gamma^n \times \{L,R\} \right) }[/math] is a partial function called the transition function.
Sometimes also denoted as [math]\displaystyle{ \delta \left(Q_i,[x_1,x_2...x_n]\right)=(Q_j,[y_1,y_2...y_n],d) }[/math], where [math]\displaystyle{ d \in \{L,R\} }[/math].

A non-deterministic variant can be defined by replacing the transition function [math]\displaystyle{ \delta }[/math] by a transition relation [math]\displaystyle{ \delta \subseteq \left(Q \backslash F \times \Gamma^n \right) \times \left( Q \times \Gamma^n \times \{L,R\} \right) }[/math].

Proof of equivalency to standard Turing machine

This will prove that a two-track Turing machine is equivalent to a standard Turing machine. This can be generalized to a n-track Turing machine. Let L be a recursively enumerable language. Let M= [math]\displaystyle{ \langle Q, \Sigma, \Gamma, \delta, q_0, F \rangle }[/math] be standard Turing machine that accepts L. Let M' is a two-track Turing machine. To prove M=M' it must be shown that M [math]\displaystyle{ \subseteq }[/math] M' and M' [math]\displaystyle{ \subseteq }[/math] M

  • [math]\displaystyle{ M \subseteq M' }[/math]

If the second track is ignored then M and M' are clearly equivalent.

  • [math]\displaystyle{ M' \subseteq M }[/math]

The tape alphabet of a one-track Turing machine equivalent to a two-track Turing machine consists of an ordered pair. The input symbol a of a Turing machine M' can be identified as an ordered pair [x,y] of Turing machine M. The one-track Turing machine is:

M= [math]\displaystyle{ \langle Q, \Sigma \times {B}, \Gamma \times \Gamma, \delta ', q_0, F \rangle }[/math] with the transition function [math]\displaystyle{ \delta \left(q_i,[x_1,x_2]\right)=\delta ' \left(q_i,[x_1,x_2]\right) }[/math]

This machine also accepts L.

References

  • Thomas A. Sudkamp (2006). Languages and Machines, Third edition. Addison-Wesley. ISBN 0-321-32221-5. Chapter 8.6: Multitape Machines: pp 269–271