Everything about Halting problem
Problem in computer science
In computability theory, the halting problem is the decision problem of, given an arbitrary computer program and an input, determining whether said program will eventually finish running and halt, or will continue to run forever. Alan Turing proved in 1937 that the halting problem is undecidable, meaning that no general algorithm exists that can correctly solve the problem for all possible program–input pairs. The problem comes up often in discussions of computability since it demonstrates that some functions are mathematically definable but not computable. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: Halting problemA 5-minute orientation
- Skim a recent paper: Non-perturbative graph languages, halting problem and complexityInfluential work since 2022
- Pick up a classic book: Argonauts of the western PacificThe most-reprinted book on the subject
- Read the landmark paper: The problem of halting enzyme action when extracting plant tissuesCited 230 times
- Go sideways: Decider (Turing machine)A closely related topic
- Go sideways: Undecidable problemA closely related topic
📖 Definitions
Noun The problem of deciding in finite time whether a given program will finish running in finite time, when given a certain finite input.
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
The problem of halting enzyme action when extracting plant tissues
X-machines and the halting problem: Building a super-turing machine
A Mechanical Proof of the Unsolvability of the Halting Problem
Solvability of the halting problem for certain classes of Turing machines
The origins of the halting problem
Robustness and the Halting Problem for Multicellular Artificial Ontogeny
Strong Computability and Variants of the Uniform Halting Problem
Approximations to the halting problem
🆕 Influential since 2022
Non-perturbative graph languages, halting problem and complexity
Halting problem in Feynman graphon processes derived from the renormalization Hopf algebra
Unboxed Data Constructors: Or, How cpp Decides a Halting Problem
Did Turing prove the undecidability of the halting problem?
Rethinking the halting problem-angles trisectability cryptographic analogy
📚 Books worth reading
Argonauts of the western PacificBronisław Malinowski · 1922
Mathematical structures for computer scienceJudith L. Gersting · 1982
Introduction to automata theory, languages, and computationJohn E. Hopcroft, Jeffrey D. Ullman · 1979
Effective parenting for the hard-to-manage childGeorgia A. DeGangi · 2007
Languages and machinesThomas A. Sudkamp · 1988
Revolution in LearningMaya Pines · 1967
Countering terrorismRichard A. Posner · 2007
Three Views of LogicDonald W. Loveland, Richard E. Hodel · 2014
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- Decider (Turing machine) In computability theory, a decider is a Turing machine that halts for every input. A decider is also called a total Turing machine as it represents a total…
- Undecidable problem In computability theory and computational complexity theory, an undecidable problem is a decision problem for which it is proved to be impossible to construct…
- Computability theory Computability theory, also known as recursion theory, is a branch of mathematical logic, computer science, and the theory of computation that originated…
- Turing reduction In computability theory, a Turing reduction from a decision problem A to a decision problem B is an oracle machine that decides problem A given an oracle…
- Theory of computation In theoretical computer science and mathematics, the theory of computation is the branch that deals with what problems can be solved on a model of computation…
- Church–Turing thesis In computability theory, the Church–Turing thesis is a thesis about the nature of computable functions. It states that a function on the natural numbers…
- Computable function Computable functions are the basic objects of study in computability theory. Informally, a function is computable if there is an algorithm that computes…
- Computability Computability is the ability to solve a problem by an effective procedure. It is a key topic of the field of computability theory within mathematical logic…