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.
A non-deterministic Turing machine is represented formally by a 6-tuple,
M=(Q,\Sigma,\iota,\sqcup,A,\delta)
w=a1,a2,...,an
c0,c1,...,cm
c0
w
ci+1
ci
cm
w
M
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).
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.
Lane A. Hemaspaandra and Jorg Rothe, Unambiguous Computation: Boolean Hierarchies and Sparse Turing-Complete Sets, SIAM J. Comput., 26(3), 634–653