Turing machine (nonfiction): Difference between revisions
Line 3: | Line 3: | ||
== Description == | == Description == | ||
Despite its simplicity, a Turing machine can be adapted to simulate the logic of any computer algorithm. | Despite its simplicity, a Turing machine can be adapted to simulate the [[logic (nonfiction)]] of any computer algorithm. | ||
At a very high level, the machine consists of a memory tape divided into cells. | At a very high level, the machine consists of a memory tape divided into cells. | ||
Line 9: | Line 9: | ||
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. | 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 "machine" was invented in 1936 by [[Alan Turing (nonfiction)]] 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. | The Turing machine is not intended as practical computing technology, but rather as a hypothetical device representing a computing machine. | ||
Line 15: | Line 15: | ||
Turing machines help computer scientists understand the limits of mechanical computation. | 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. | [[Turing completeness (nonfiction)]] is the ability for a system of instructions to simulate a Turing machine. | ||
== Programming languages == | == Programming languages == |
Revision as of 10:14, 13 December 2015
A Turing machine is a hypothetical device that manipulates symbols on a strip of tape according to a table of rules.
Description
Despite its simplicity, a Turing machine can be adapted to simulate the logic (nonfiction) 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 (nonfiction) 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 (nonfiction) is the ability for a system of instructions to simulate a Turing machine.
Programming languages
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
- Church, Alonzo
- Computer science
- Entscheidungsproblem
- Lambda calculus
- Theoretical computer science
- Turing, Alan
- Turing completeness
External links
- Turing machine @ wiki.karljones.com
- Turing machine @ Wikipedia