Jump to content

Unambiguous Turing machine

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Yobot (talk | contribs) at 09:07, 20 August 2016 (clean up / fix section header naming (WP:ASL) using AWB (12082)). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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

Formal definition

A non-deterministic Turing machine is represented formally by a 6-tuple, . An Unambiguous Turing machine is a non-deterministic Turing machine such that, for all input w = a1a2 ... an, there exists at most one sequence of configurations c0,c1, ..., cm with the following conditions:

  1. c0 is the initial configuration with input w
  2. ci+1 is a successor of ci and
  3. cm is an accepting configuration.

In other words, if w is accepted by A, there is exactly one accepting computation.

Expressivity

A (deterministic) Turing machine is an unambiguous Turing machine. Indeed, for each input, there is exactly one computation possible.

On the one hand, unambiguous Turing machine have the same expressivity as a Turing machine. Indeed, they are a subset of non-deterministic Turing machines, which have the same expressivity as Turing machines.

On the other hand, unambiguous non-deterministic polynomial time is supposed to be strictly less expressive than 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