Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Turing machine
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Computation model defining an abstract machine}} {{Other uses}} [[File:Turing Machine Model Davey 2012.jpg|alt=A physical Turing machine constructed by Mike Davey|thumb|A physical Turing machine model constructed by Mike Davey. A true Turing machine would have unlimited tape on both sides; however, physical models can only have a finite amount of tape.|300x300px]] {{Turing}} {{Automata theory}} A '''Turing machine''' is a [[mathematical model of computation]] describing an [[abstract machine]]<ref>Minsky 1967:107 "In his 1936 paper, A. M. Turing defined the class of abstract machines that now bear his name. A Turing machine is a finite-state machine associated with a special kind of environment -- its tape -- in which it can store (and later recover) sequences of symbols," also Stone 1972:8 where the word "machine" is in quotation marks.</ref> that manipulates symbols on a strip of tape according to a table of rules.<ref>Stone 1972:8 states "This "machine" is an abstract mathematical model", also cf. Sipser 2006:137ff that describes the "Turing machine model". Rogers 1987 (1967):13 refers to "Turing's characterization", Boolos Burgess and Jeffrey 2002:25 refers to a "specific kind of idealized machine".</ref> Despite the model's simplicity, it is capable of implementing any [[computer algorithm]].<ref>Sipser 2006:137 "A Turing machine can do everything that a real computer can do".</ref> The machine operates on an infinite<ref>Cf. Sipser 2002:137. Also, Rogers 1987 (1967):13 describes "a paper tape of infinite length in both directions". Minsky 1967:118 states "The tape is regarded as infinite in both directions". Boolos Burgess and Jeffrey 2002:25 include the possibility of "there is someone stationed at each end to add extra blank squares as needed".</ref> memory tape divided into [[discrete mathematics|discrete]] cells,<ref>Cf. Rogers 1987 (1967):13. Other authors use the word "square" e.g. Boolos Burgess Jeffrey 2002:35, Minsky 1967:117, Penrose 1989:37.</ref> each of which can hold a single symbol drawn from a [[finite set]] of symbols called the [[Alphabet (formal languages)|alphabet]] of the machine. It has a "head" that, at any point in the machine's operation, is positioned over one of these cells, and a "state" selected from a finite set of states. At each step of its operation, the head reads the symbol in its cell. Then, based on the symbol and the machine's own present state, the machine writes a symbol into the same cell, and moves the head one step to the left or the right,<ref>Boolos Burgess Jeffry 2002:25 illustrate the machine as moving along the tape. Penrose 1989:36-37 describes himself as "uncomfortable" with an infinite tape observing that it "might be hard to shift!"; he "prefer[s] to think of the tape as representing some external environment through which our finite device can move" and after observing that the " 'movement' is a convenient way of picturing things" and then suggests that "the device receives all its input from this environment. Some variations of the Turing machine model also allow the head to stay in the same position instead of moving or halting.</ref> or halts the computation. The choice of which replacement symbol to write, which direction to move the head, and whether to halt is based on a finite table that specifies what to do for each combination of the current state and the symbol that is read. As with a real computer program, it is possible for a Turing machine to go into an [[infinite loop]] which will never halt. The Turing machine was invented in 1936 by [[Alan Turing]],<ref name=Hodges-2012>{{cite book |first=Andrew | last=Hodges |author-link =Andrew Hodges |year = 2012 |title =Alan Turing: The Enigma |publisher =[[Princeton University Press]] |isbn=978-0-691-15564-7 |edition=The Centenary }}</ref><ref>The idea came to him in mid-1935 (perhaps, see more in the History section) after a question posed by [[M. H. A. Newman]] in his lectures: "Was there a definite method, or as Newman put it, a "mechanical process" which could be applied to a mathematical statement, and which would come up with the answer as to whether it was provable" (Hodges 1983:93). Turing submitted his paper on 31 May 1936 to the London Mathematical Society for its ''Proceedings'' (cf. Hodges 1983:112), but it was published in early 1937 and offprints were available in February 1937 (cf. Hodges 1983:129).</ref> who called it an "a-machine" (automatic machine).<ref>See footnote in Davis 2000:151.</ref> It was Turing's doctoral advisor, [[Alonzo Church]], who later coined the term "Turing machine" in a review.<ref name="mitpress.mit.edu">see note in forward to The Collected Works of Alonzo Church ({{Cite book |url=https://mitpress.mit.edu/books/collected-works-alonzo-church |title=The Collected Works of Alonzo Church |date=2019-04-23 |publisher=MIT Press |isbn=978-0-262-02564-5 |editor-last=Burge |editor-first=Tyler |location=Cambridge, MA, US |language=en |editor-last2=Enderton |editor-first2=Herbert}})</ref> With this model, Turing was able to answer two questions in the negative: * Does a machine exist that can determine whether any arbitrary machine on its tape is "circular" (e.g., freezes, or fails to continue its computational task)? * Does a machine exist that can determine whether any arbitrary machine on its tape ever prints a given symbol?<ref name="The Undecidable' page 119">Turing 1936 in ''The Undecidable'' 1965:132-134; Turing's definition of "circular" is found on page 119.</ref><ref name="Turing 1937 230–265">{{cite journal |first=Alan Mathison |last=Turing |title=On Computable Numbers, with an Application to the ''Entscheidungsproblem'' |journal=Proceedings of the London Mathematical Society |series=Series 2 |volume=42 |number=1 |pages=230–265 |year=1937 | doi=10.1112/plms/s2-42.1.230 |s2cid=73712 }}</ref> Thus by providing a mathematical description of a very simple device capable of arbitrary computations, he was able to prove properties of computation in general—and in particular, the [[computability|uncomputability]] of the ''[[Entscheidungsproblem]]'', or 'decision problem' (whether every mathematical statement is provable or disprovable).<ref name="ReferenceA">Turing 1936 in ''The Undecidable'' 1965:145</ref> Turing machines proved the existence of fundamental limitations on the power of mechanical computation.<ref>Sipser 2006:137 observes that "A Turing machine can do everything that a real computer can do. Nevertheless, even a Turing machine cannot solve certain problems. In a very real sense, these problems are beyond the theoretical limits of computation."</ref> While they can express arbitrary computations, their minimalist design makes them too slow for computation in practice: real-world [[computer]]s are based on different designs that, unlike Turing machines, use [[random-access memory]]. [[Turing completeness]] is the ability for a [[computational model]] or 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 programming languages are Turing complete if the limitations of finite memory are ignored.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)