HOME

TheInfoList



OR:

In
theoretical computer science Theoretical computer science (TCS) is a subset of general computer science and mathematics that focuses on mathematical aspects of computer science such as the theory of computation, lambda calculus, and type theory. It is difficult to circumsc ...
, a
Turing machine A Turing machine is a mathematical model of computation describing an abstract machine that manipulates symbols on a strip of tape according to a table of rules. Despite the model's simplicity, it is capable of implementing any computer algor ...
is a theoretical machine that is used in
thought experiment A thought experiment is a hypothetical situation in which a hypothesis, theory, or principle is laid out for the purpose of thinking through its consequences. History The ancient Greek ''deiknymi'' (), or thought experiment, "was the most anci ...
s to examine the abilities and limitations of computers. An unambiguous Turing machine is a special kind of
non-deterministic Turing machine In theoretical computer science, a nondeterministic Turing machine (NTM) is a theoretical model of computation whose governing rules specify more than one possible action when in some given situations. That is, an NTM's next state is ''not'' comp ...
, which, in some sense, is similar to a deterministic Turing machine.


Formal definition

A ''
non-deterministic Turing machine In theoretical computer science, a nondeterministic Turing machine (NTM) is a theoretical model of computation whose governing rules specify more than one possible action when in some given situations. That is, an NTM's next state is ''not'' comp ...
'' is represented formally by a 6-tuple, M=(Q, \Sigma, \iota, \sqcup, A, \delta), as explained in the page ''
non-deterministic Turing machine In theoretical computer science, a nondeterministic Turing machine (NTM) is a theoretical model of computation whose governing rules specify more than one possible action when in some given situations. That is, an NTM's next state is ''not'' comp ...
''. An ''unambiguous Turing machine'' is a non-deterministic Turing machine such that, for every input w=a_1,a_2,...,a_n, there exists at most one sequence of configurations c_0,c_1,...,c_m with the following conditions: # c_0 is the initial configuration with input w # c_{i+1} is a successor of c_i and # c_m'' is an accepting configuration. In other words, if w is accepted by M, there is exactly one accepting computation.


Expressivity

Every deterministic Turing machine is an unambiguous Turing machine, as for each input, there is exactly one computation possible. Unambiguous Turing machines have the same expressivity as a Turing machines. 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 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 Turing machine