from
The Free On-line Dictionary of Computing (8 July 2008)
Turing Machine
<computability> A hypothetical machine defined in 1935-6 by
{Alan Turing} and used for {computability theory} proofs. It
consists of an infinitely long "tape" with symbols (chosen
from some {finite set}) written at regular intervals. A
pointer marks the current position and the machine is in one
of a finite set of "internal states". At each step the
machine reads the symbol at the current position on the tape.
For each combination of current state and symbol read, a
program specifies the new state and either a symbol to write
to the tape or a direction to move the pointer (left or right)
or to halt.
In an alternative scheme, the machine writes a symbol to the
tape *and* moves at each step. This can be encoded as a write
state followed by a move state for the write-or-move machine.
If the write-and-move machine is also given a distance to move
then it can emulate an write-or-move program by using states
with a distance of zero. A further variation is whether
halting is an action like writing or moving or whether it is a
special state.
[What was Turing's original definition?]
Without loss of generality, the symbol set can be limited to
just "0" and "1" and the machine can be restricted to start on
the leftmost 1 of the leftmost string of 1s with strings of 1s
being separated by a single 0. The tape may be infinite in
one direction only, with the understanding that the machine
will halt if it tries to move off the other end.
All computer {instruction sets}, {high level languages} and
computer architectures, including {parallel processors}, can
be shown to be equivalent to a Turing Machine and thus
equivalent to each other in the sense that any problem that
one can solve, any other can solve given sufficient time and
memory.
Turing generalised the idea of the Turing Machine to a
"Universal Turing Machine" which was programmed to read
instructions, as well as data, off the tape, thus giving rise
to the idea of a general-purpose programmable computing
device. This idea still exists in modern computer design with
low level {microcode} which directs the reading and decoding
of higher level {machine code} instructions.
A {busy beaver} is one kind of Turing Machine program.
Dr. Hava Siegelmann of {Technion} reported in Science of 28
Apr 1995 that she has found a mathematically rigorous class of
machines, based on ideas from {chaos} theory and {neural
networks}, that are more powerful than Turing Machines. Sir
Roger Penrose of {Oxford University} has argued that the brain
can compute things that a Turing Machine cannot, which would
mean that it would be impossible to create {artificial
intelligence}. Dr. Siegelmann's work suggests that this is
true only for conventional computers and may not cover {neural
networks}.
See also {Turing tar-pit}, {finite state machine}.
(1995-05-10)