0

The proof of $HALT$'s undecidability usually goes like this: we assume the existence of a halting decider and incorporate it into a machine $D$ that takes a TM as input, runs it on its own encoding and does the "opposite" action. We then notice $D(D)$ has a contradicting behavior and conclude a halting decider cannot exist.

This is a rigorous, formal proof; there's no doubt about what it states: "given a Turing machine $M$ and a word $w$, we can't decide whether $M(w)$ halts".

But consider the following statement: "given a Turing machine $M$ with less than $2^{2^{100}}$ and a word $w$ with less than $2^{2^{100}}$ symbols, we can decide whether $M(w)$ halts".

This statement doesn't contradict the one above it, but it effectively makes $HALT$'s undecidability seem just a quirky theoretical fact, without any practical relevance.

My question is: how "obvious" is it that the second statement is false? It seems to me like neither Turing's 1936 paper, nor usual textbooks on computability address it explicitly. Am I missing something?

1 Answers1

3

The second statement (limited to size $\le 2^{2^{100}}$) is true. That problem is decidable: there exists an algorithm to decide it. There are only $2^{2^{101}}$ different problem instances, which is finite, so there exists an algorithm that has all answers for each problem instance hard-coded into it. I couldn't write down such an algorithm, but it doesn't matter. We know one exists, hence the problem is decidable. See also How can it be decidable whether $\pi$ has some sequence of digits?.

You ask about whether the Halting problem is "just" a quirky theoretical fact.

Well, from one perspective it is just a theoretical result. That theorem does not completely rule out of the possibility of an algorithm that is "good enough" at solving the problem, e.g., it solves most problem instances that we are likely to run into in a reasonable amount of time. It does not rule out the possibility of always-correct algorithms that output either "Yes, I'm sure, it halts", "No, I'm sure it doesn't halt", or "I'm not sure".

From another perspective, it is not just a theoretical result. It does help provide some understanding about why certain problems seem very hard to solve in a fully satisfactory way, and helps us avoid wasting our time trying to achieve the impossible.

For more, see Why, really, is the Halting Problem so important?, Practical importance of Turing machines?, What are some decidable problems which cannot be solved in real life(due to time and memory constraints)?, Undecidable problems with efficient heuristics, Gödels (first) incompleteness Theorem and the Halting Problem - How limiting is it?.

D.W.
  • 167,959
  • 22
  • 232
  • 500