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.

L'archive profonde est pour l'instant rédigée en anglais — des traductions vérifiées font partie de la feuille de route. La fonction de traduction de votre navigateur fonctionne bien sur cette page.

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

✦ Attendez, vraiment ?

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.

Ce que c'est

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.

Pourquoi cela a compté

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.

Ce que cela a débloqué

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.

Cette fiche attend encore son récit complet — les cartographes sont à l'œuvre. Sa place dans le graphe est déjà vérifiée.

Requiert

A débloqué

Frontière — rien de cartographié encore.

Quelque chose d'inexact sur cette page ? Chaque affirmation ici est censée survivre à la contestation. Suggérer une correction →