Difference between revisions of "Turing machine"

From Computer History Wiki
Jump to: navigation, search
(From wanted pages)
 
(Add category, some external links to toy physical ones, etc)
Line 1: Line 1:
[[File:Minksy-computation-fig-6.0.1.png|right|thumb|A blank Turing machine from Minsky's ''Computation: Finite and Infinite Machines'']]
+
[[File:Minksy-computation-fig-6.0.1.png|right|thumb|250px|A blank Turing machine from Minsky's ''Computation: Finite and Infinite Machines'']]
  
A '''Turing Machine''' is a kind of abstract computer, devised by mathematician [[Alan Turing]] in 1936, to develop theories of ''computability'' -- that which can, and which cannot, be computed.
+
A '''Turing machine''' is an abstract [[computer]] (ironically, created before the first real computer), devised by mathematician [[Alan Turing]] in 1936, to develop theories of ''computability'' -- that which can, and which cannot, be computed.
  
The classic introduction to this kind of machine is MIT professor Marvin Minksy's ''Computation: Finite and Infinite Machines'' (Prentice-Hall 1967):
+
The classic introduction to this kind of machine is MIT professor [[Marvin Minksy]]'s ''Computation: Finite and Infinite Machines'' (Prentice-Hall 1967):
  
 
<blockquote>
 
<blockquote>
Line 12: Line 12:
 
tape (see fig).  The head has three functions, all of which are exercised
 
tape (see fig).  The head has three functions, all of which are exercised
 
in each operation cycle of the finite-state machine.  The functions are:
 
in each operation cycle of the finite-state machine.  The functions are:
''reading'' the square of the tape beeing "scanned," ''writing'' on the scanned
+
''reading'' the square of the tape being ''scanned'', ''writing'' on the scanned
 
square, and ''moving'' the machine to an adjacent square (which becomes the
 
square, and ''moving'' the machine to an adjacent square (which becomes the
 
scanned square in the next operation cycle).
 
scanned square in the next operation cycle).
Line 27: Line 27:
 
* A Turing machine is adequate to simulate any other kind of automata, ignoring specified size and speed constraints.
 
* A Turing machine is adequate to simulate any other kind of automata, ignoring specified size and speed constraints.
 
* A machine which can simulate a Turing machine can therefore simulate ''any'' machine and is said to be ''Turing complete''.
 
* A machine which can simulate a Turing machine can therefore simulate ''any'' machine and is said to be ''Turing complete''.
 +
 +
{{semi-stub}}
 +
 +
==See also==
 +
 +
* [[Analytical Engine]]
 +
 +
==External links==
 +
 +
* [https://web.stanford.edu/class/cs208e/lectures/09-Turing-Machines/d.pdf Turing Machines] - good lecture notes on the topic, and the environment in which it was create
 +
* [https://aturingmachine.com/index.php A Turing Machine] - wonderful site about an actual Turing machine, with a lot of detail
 +
** [https://aturingmachine.com/hardware.php Hardware Information]
 +
* [https://legoofdoom.blogspot.com/2008/12/noter-omkring-konstruktionen-af.html Lego of Doom] - a Turing machine built out of Lego
 +
** [https://legoofdoom.blogspot.com/2008/12/noter-omkring-konstruktionen-af.html Constructing the Turing Machine]
 +
** [https://legoofdoom.blogspot.com/2009/01/conclusion.html Conclusion]
 +
 +
[[Category: Theory]]

Revision as of 20:13, 8 April 2024

A blank Turing machine from Minsky's Computation: Finite and Infinite Machines

A Turing machine is an abstract computer (ironically, created before the first real computer), devised by mathematician Alan Turing in 1936, to develop theories of computability -- that which can, and which cannot, be computed.

The classic introduction to this kind of machine is MIT professor Marvin Minksy's Computation: Finite and Infinite Machines (Prentice-Hall 1967):

A Turing machine is a finite-state machine associated with an external storage or memory medium. This medium has the form of a sequence of squares, marked of on a linear tape. The machine is couple to the tape through a head, which is situated, at each moment, on some square of the tape (see fig). The head has three functions, all of which are exercised in each operation cycle of the finite-state machine. The functions are: reading the square of the tape being scanned, writing on the scanned square, and moving the machine to an adjacent square (which becomes the scanned square in the next operation cycle).

The basic operation is that each square can have a single symbol from a finite set of symbols; each step possibly changes the symbol and moves the tape to the left or the right.

They are comprehensively covered in computing literature, with endless variations, including a large number of physical implementations.

A number of very important theoretical results came from study of these machines:

  • A Turing machine is adequate to simulate any other kind of automata, ignoring specified size and speed constraints.
  • A machine which can simulate a Turing machine can therefore simulate any machine and is said to be Turing complete.

See also

External links