10

So, I was reading this article by Scott Aaronson on big numbers, and he mentioned that the Busy Beaver sequence increases faster than all sequences computable by Turing Machines. Faster than exponentials, faster than the Aaronson sequence, and faster than a recursive use of Knuth's up-arrow notation.

This led me to a thought: are there any algorithms that grow in size with Big O (Busy Beaver(n)), aside from the Halting Problem? Is it even possible to design such an algorithm on that would run on a Turing Machine-equivalent computer?

nick012000
  • 231
  • 2
  • 8

2 Answers2

39

The usual meaning of algorithm is a program that always halts. Under this definition, no algorithm has a running time of $\Theta(\mathit{BB}(n))$, or indeed $\Omega(\mathit{BB}(n))$. Indeed, such an algorithm could be used to solve the halting problem (assuming you knew a constant $c>0$ such that the running time is at least $c\mathit{BB}(n)$), since you could use the algorithm to get an upper bound on $\mathit{BB}(n)$.

On the other hand, any algorithm has a running time of $O(\mathit{BB}(n))$, precisely because the busy beaver function grows faster than any computable function.

Yuval Filmus
  • 280,205
  • 27
  • 317
  • 514
0

The runtime of every algorithm (that halts on all inputs, exact or not), will always be $o(\mathrm{BB}(n))$, that is, it is strictly slower-growing than the busy beaver function. The output will also be strictly slower-growing than the busy beaver function in terms of internal representation (such as the number of digits, chars, or bytes). Thus, every function that is the numerical output or the runtime of an algorithm is $O(\mathrm{BB}(n))$.

However, the runtime of a semialgorithm for a RE-complete problem (such as the halting problem or the Post correspondence problem) can be $\Theta(\mathrm{BB}(n))$ in respect to the input size. This is because solving $\mathrm{BB}$ is equivalent to solving the halting problem, and $\mathrm{BB}(n)$ can be seen as a "worst-case" space or time consumption of a running program that is destined to halt. The worst-case runtime of any $n$-state Turing machine (2-color, single-tape), if it halts, is $\Theta(\mathrm{BB}(n))$.

The busy beaver function comes in two variants as defined by Erdos: (1) The $\Sigma$ function defined by the maximum number of ones that can be left on a finished tape produced by a $n$-state machine, and (2) the $S$ function defined by the maximum number of state transitions a $n$-state halting machine can achieve before halting. They are analogous to the space and time complexity instead. Michael Buro of RWTH Aachen proved in 1990 that $S(n) < \Sigma(9n)$, that is $S(n) = \Sigma (O(n))$. It does not necessarily imply that $S(n) = O(\Sigma(n))$. [link]