Turing Machine: Difference between revisions

From Citizendium
Jump to navigation Jump to search
imported>Sandy Harris
imported>Sandy Harris
Line 15: Line 15:
== Turing Completeness ==
== Turing Completeness ==


A device that can simulate any Turing Machine is called '''Turing complete'''. The device does not necessarily have to be intentionally designed to compute or be a computer; if a device, piece of software or even an abstract concept meets the criteria it is Turing complete.
A device that can simulate any Turing Machine is called '''Turing complete'''. The device does not necessarily have to be intentionally designed to compute or be a computer; if a device, piece of software or even an abstract concept meets the criteria it is Turing complete. Even software that is only used as a teaching tool or exists only as a concept, not as an implementation (such as [[Donald Knuth|Donald Knuth's]] MMIX<ref name=MMIX> {{cite web | url=http://www-cs-faculty.stanford.edu/~knuth/mmix.html  
 
| title=Knuth: MMIX | author=Donald Knuth | accessdate=2007-11-10 }}</ref>) can be considered "Turing complete," in a completely abstract sense.
Even software that is only used as a teaching tool or exist only as a concept, not as an implementation (such as [[Donald Knuth|Donald Knuth's]] MMIX<ref name=MMIX> {{cite web | url=http://www-cs-faculty.stanford.edu/~knuth/mmix.html  
| title=Knuth: MMIX | author=Donald Knuth | accessdate=2007-11-10 }}</ref> can be considered "Turing complete," in a completely abstract sense.
 
The name "Turing machine" and the concept known as "Turing completeness" are both derived from noted mathematician and computer scientist [[Alan Turing]].


==References==
==References==
{{reflist}}
{{reflist}}

Revision as of 20:04, 9 August 2010

This article is a stub and thus not approved.
Main Article
Discussion
Related Articles  [?]
Bibliography  [?]
External Links  [?]
Citable Version  [?]
 
This editable Main Article is under development and subject to a disclaimer.

A Turing machine [1] is a theoretical computing device, first posited by mathematician Alan Turing, which has been used extensively in analyzing computing problems such as tractability and complexity theory. Its basic components are a length of tape and a head which operates on the tape. The tape is divided into segments, each of which can hold a single character which is an element of a predefined, finite set of characters called the 'tape alphabet'. The machine is always in one 'state' which is an element in a predefined, finite set of states. The head is also always in a single location on the tape (i.e. there is one character on the tape at which the head is located). The machine is fully deterministic &mash; the current state and current tape character determine what it does next. In a single computing step the head reads the character from the tape and takes actions based on the character and its current state. In addition to changing its internal state, it may take one of four actions — step to an adjacent character to the left, step to the right, change the character at the current location, or halt.

Turing invented the machine in order to solve the halting problem and it is widely used in theoretical computer science because its simplicity makes it relatively easy to prove theorems about its behavior. However, it is also quite a general description and many other types of computer are provably equivalent to a Turing machine.

One reduction which has been proven to place no limitations on the Turing machine is limiting the tape alphabet to two characters; a Turing machine with a binary alphabet can simulate any turing machine with an alphabet of any size. Therefore, turing machines are usually defined and studied using only the binary alphabet consisting of 1 and 0.

Turing Completeness

A device that can simulate any Turing Machine is called Turing complete. The device does not necessarily have to be intentionally designed to compute or be a computer; if a device, piece of software or even an abstract concept meets the criteria it is Turing complete. Even software that is only used as a teaching tool or exists only as a concept, not as an implementation (such as Donald Knuth's MMIX[2]) can be considered "Turing complete," in a completely abstract sense.

References

  1. Alan Turing (1936), "On Computable Numbers, With an Application to the Entscheidungsproblem", Proceedings of the London Mathematical Society
  2. Donald Knuth. Knuth: MMIX. Retrieved on 2007-11-10.