Jump to content

Unambiguous Turing machine

From Wikipedia, the free encyclopedia
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

In theoretical computer science, an unambiguous Turing machine is a theoretical model of computation whose power is between that of ordinary Turing machines and nondeterministic Turing machines. An unambiguous Turing machine is defined as a nondeterministic Turing machine with the property that for every input, there is at most one accepting computation path.[1]

Formal definition

A non-deterministic Turing machine is represented formally by a 6-tuple, , as explained in the aforementioned page.[2]: 178 

An unambiguous Turing machine is a non-deterministic Turing machine such that for any input , has at most one accepting computation on .[1] That is, for every input , there exists at most one sequence of configurations with the following conditions:

  1. is the initial configuration with input
  1. is a successor of and
  1. is an accepting configuration.[2]: 168–169 

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.

The complexity class UP is defined as the class of languages which can be decided in polynomial time by an unambiguous Turing machine.

References

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

  1. ^ a b Valiant, Leslie (May 1976). "Relative complexity of checking and evaluating". Information Processing Letters. 5 (1): 20–23. doi:10.1016/0020-0190(76)90097-1.
  2. ^ a b Sipser, Michael (1996-12-01). Introduction to the Theory of Computation (1st ed.). International Thomson Publishing. ISBN 978-0-534-94728-6.