Unambiguous Turing machine

Turing machines
Machine
  • Turing machine equivalents
  • Turing machine examples
  • Turing machine gallery
Variants
  • Alternating Turing machine
  • Neural Turing machine
  • Nondeterministic Turing machine
  • Quantum Turing machine
  • Post–Turing machine
  • Probabilistic Turing machine
  • Multitape Turing machine
  • Multi-track Turing machine
  • Symmetric Turing machine
  • Total Turing machine
  • Unambiguous Turing machine
  • Universal Turing machine
  • Zeno machine
Science
  • Alan Turing
  • Category:Turing machine
  • v
  • t
  • e

In theoretical computer science, a Turing machine is a theoretical machine that is used in thought experiments[by whom?] to examine the abilities and limitations of computers.[citation needed] An unambiguous Turing machine is a special kind of non-deterministic Turing machine, which, in some sense,[clarification needed] is similar to a deterministic Turing machine.

Formal definition

A non-deterministic Turing machine is represented formally by a 6-tuple, M = ( Q , Σ , ι , , A , δ ) {\displaystyle M=(Q,\Sigma ,\iota ,\sqcup ,A,\delta )} , as explained in the page non-deterministic Turing machine. An unambiguous Turing machine is a non-deterministic Turing machine such that, for every input w = a 1 , a 2 , . . . , a n {\displaystyle w=a_{1},a_{2},...,a_{n}} , there exists at most one sequence of configurations c 0 , c 1 , . . . , c m {\displaystyle c_{0},c_{1},...,c_{m}} with the following conditions:

  1. c 0 {\displaystyle c_{0}} is the initial configuration with input w {\displaystyle w}
  2. c i + 1 {\displaystyle c_{i+1}} is a successor of c i {\displaystyle c_{i}} and
  3. c m {\displaystyle c_{m}} is an accepting configuration.

In other words, if w {\displaystyle w} is accepted by M {\displaystyle M} , there is exactly one accepting computation.

Expressivity

The language of an unambiguous Turing machine is defined to be the same language that is accepted by the nondeterministic Turing machine. A language of strings L can be defined to be unambiguously recognizable if it is recognizable by an unambiguous Turing machine. The class of unambiguously recognizable languages is exactly the same as the class of recursively enumerable languages (RE).[citation needed]

In particular, every deterministic Turing machine is an unambiguous Turing machine, as for each input, there is exactly one computation possible. Therefore, all recursively enumerable languages are unambiguously recognizable.

On the other hand, unambiguous non-deterministic polynomial time is suspected to be strictly less expressive than (potentially ambiguous) non-deterministic polynomial time.

References

Lane A. Hemaspaandra and Jorg Rothe, Unambiguous Computation: Boolean Hierarchies and Sparse Turing-Complete Sets, SIAM J. Comput., 26(3), 634–653