Difference between revisions of "Turing machine"
Karl Jones (Talk | contribs) (First) |
(No difference)
|
Revision as of 08:55, 19 August 2015
A Turing machine is a hypothetical device that manipulates symbols on a strip of tape according to a table of rules.
Despite its simplicity, a Turing machine can be adapted to simulate the logic of any computer algorithm.
At a very high level, the machine consists of a memory tape divided into cells.
A "head" (e.g. a pencil/eraser) traverses the memory one cell at a time, writing or erasing data (e.g. numerical digits) based on user-specified rules.
The "machine" was invented in 1936 by Alan Turing who called it an "a-machine" (automatic machine).
The Turing machine is not intended as practical computing technology, but rather as a hypothetical device representing a computing machine.
Turing machines help computer scientists understand the limits of mechanical computation.
Turing completeness is the ability for a system of instructions to simulate a Turing machine.
A programming language that is Turing complete is theoretically capable of expressing all tasks accomplishable by computers. Nearly all non-markup programming languages are Turing complete.
See also
External links
- Turing machine @ Wikipedia