esc
Type to search, or take a leap:
1936 (Turing and Church)·Computing·verified

Theory of computation

The mathematics of what can be computed at all, by any mechanical procedure whatever. Alan Turing and Alonzo Church, independently in 1936, made the notion of "algorithm" exact — and used it to prove that some perfectly well-posed questions have no algorithm that can answer them.

Das tiefe Archiv ist vorerst auf Englisch verfasst — geprüfte Übersetzungen stehen auf der Roadmap. Die Übersetzungsfunktion Ihres Browsers funktioniert auf dieser Seite gut.

Theory of computation
Wdvorak · CC BY-SA 4.0 · Wikimedia Commons

✦ Moment, wirklich?

Turing dreamed up an imaginary machine purely to prove a limit, not to build a computer. He showed that no program can exist that decides, for every possible program, whether it will eventually halt or run forever — the halting problem. The proof is a trap: if such a halt-checker existed, you could build a program that asks the checker about itself and then does the opposite, a contradiction. The "universal machine" he sketched to run the argument turned out to be the blueprint of every computer since.

Was es ist

In the 1920s David Hilbert posed the *Entscheidungsproblem*: is there a mechanical procedure that can decide the truth of any mathematical statement? To answer it, someone first had to say precisely what "mechanical procedure" *means*. In 1936 two people did, in two guises. Alonzo Church built the lambda calculus, a spare formalism of functions applied to functions. Alan Turing imagined a machine — an idealized device scanning a tape of symbols, reading and writing by a fixed table of rules — and defined a number as computable if such a machine could churn out its digits. The two definitions proved exactly equivalent, and both delivered the same verdict to Hilbert: no. No universal decision procedure exists.

Warum es zählte

This drew a hard, permanent boundary around computation — before a single electronic computer had been built. Some precisely stated problems are *undecidable*: no algorithm settles all their cases, ever, no matter how fast the machine or how vast its memory. The halting problem is the emblem of this. And the Church–Turing thesis — that anything effectively computable by any means is computable by a Turing machine — means these are not the failings of some weak device but limits on mechanical computation as such. Knowing what *cannot* be computed is as foundational as knowing what can.

Was es erschloss

The stored-program computer is a physical universal machine — a real embodiment of the object Turing invented to prove an impossibility. From this root grew complexity theory, which asks not merely *whether* something can be computed but *how expensively* (the P versus NP question). Undecidability turns up everywhere once you look: in Gödel's incompleteness, in the impossibility of a general program that verifies other programs, in whole classes of unsolvable puzzles. Every compiler, interpreter, and operating system stands on the universal-machine idea that Turing found while proving where computation must stop.

Dieser Eintrag wartet noch auf seine vollständige Darstellung — die Kartografen sind am Werk. Sein Platz im Graphen ist bereits verifiziert.

Setzt voraus

Erschloss

Die Grenze — dahinter ist noch nichts kartiert.

Stimmt etwas auf dieser Seite nicht? Jede Behauptung hier soll dem Widerspruch standhalten. Eine Korrektur vorschlagen →