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