Jump to content
Wikipedia The Free Encyclopedia

Unambiguous Turing machine

From Wikipedia, the free encyclopedia
Model of computation in computer science
Turing machines
Machine
Variants
Science

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

[edit ]

A non-deterministic Turing machine is represented formally by a 6-tuple, M = ( Q , Σ , ι , , A , δ ) {\displaystyle M=(Q,\Sigma ,\iota ,\sqcup ,A,\delta )} {\displaystyle M=(Q,\Sigma ,\iota ,\sqcup ,A,\delta )}, as explained in the aforementioned page.[2] : 178 

An unambiguous Turing machine is a non-deterministic Turing machine M {\displaystyle M} {\displaystyle M} such that for any input w {\displaystyle w} {\displaystyle w}, M {\displaystyle M} {\displaystyle M} has at most one accepting computation on w {\displaystyle w} {\displaystyle w}.[1] That is, for every input w {\displaystyle w} {\displaystyle w}, there exists at most one sequence of configurations c 0 , c 1 , , c m {\displaystyle c_{0},c_{1},\ldots ,c_{m}} {\displaystyle c_{0},c_{1},\ldots ,c_{m}} with the following conditions:

  1. c 0 {\displaystyle c_{0}} {\displaystyle c_{0}} is the initial configuration with input w {\displaystyle w} {\displaystyle w}
  1. c i + 1 {\displaystyle c_{i+1}} {\displaystyle c_{i+1}} is a successor of c i {\displaystyle c_{i}} {\displaystyle c_{i}} and
  1. c m {\displaystyle c_{m}} {\displaystyle c_{m}} is an accepting configuration.[2] : 168–169 

Expressivity

[edit ]

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

[edit ]
  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.
  • Lane A. Hemaspaandra and Jorg Rothe, Unambiguous Computation: Boolean Hierarchies and Sparse Turing-Complete Sets, SIAM J. Comput., 26(3), 634–653

AltStyle によって変換されたページ (->オリジナル) /