Busy beaver function

Rado's sigma function or busy beaver function \(\Sigma(n)\) is equal to the maximum number of 1s that can be written (in the finished tape) with an n-state, 2-color before halting. Turing machines that produce these numbers are called busy beavers. It is also commonly denoted \(BB(n)\). It is one of the fastest-growing functions ever arising out of professional mathematics.

Rado showed that it the function grows faster than any computable function, and thus it is uncomputable &mdash; determining whether a given Turing machine is a busy beaver takes an infinite number of steps.

Size and growth rate
The sigma function is uncomputable, but it is possible to evaluate \(\Sigma(n)\) for some small values of \(n\). It has been proven that \(\Sigma(1) = 1\), \(\Sigma(2) = 4\), \(\Sigma(3) = 6\), and \(\Sigma(4) = 13\). No other values are exactly known, but some lower bounds are \(\Sigma(5) \geq 4098\) and \(\Sigma(6) \geq 3.514 \cdot 10^{18276}\).

Milton Green proved that \(\Sigma(2n) \gg 3 \uparrow^{k-2} 3\), yielding the following lower bounds:

\[\Sigma(6) > 3 \uparrow 3 = 27\]

\[\Sigma(8) > 3 \uparrow\uparrow 3 = 7625597484987\]

\[\Sigma(10) > 3 \uparrow\uparrow\uparrow 3\]

\[\Sigma(12) > 3 \uparrow\uparrow\uparrow\uparrow 3\]

\(\Sigma(6)\) is already known to be much greater than 27, so these lower bounds are very weak.

The function's growth rate is comparable to \(f_{\omega^\text{CK}_1}(n)\) in the fast-growing hierarchy, where \(\omega^\text{CK}_1\) is the, the set of all recursive ordinals.

\(\Sigma(64)\) has been proved to be larger than Graham's number. It is the smallest known value of \(\Sigma(n)\) with this property.

Suppose we define an accelerated version of the fast-growing hierarchy:

\begin{eqnarray*} h_0(n) &=& n+1 \\ h_{\alpha+1}(n) &=& h_{\alpha}^{n+2}(n+4) \\ h_{\alpha}(n) &=& h_{a[n+1]}^{n+5}(n+7) \\ \end{eqnarray*}

Then \(\Sigma(64) > h_{\omega+1}(h_{\omega+1}(4)) > \lbrace 4,3,2,2 \rbrace \gg G\) (where \(\{\}\) represent BEAF). Bird's Proof also tells us that \(\Sigma(64) > 3 \rightarrow 3 \rightarrow 3 \rightarrow 3\) in chained arrow notation.

Finding lower bounds
It is exceedingly difficult to compute exact values of \(\Sigma(n)\), but some lower bounds can be found.

This algorithm works for smaller values of \(n\):


 * Run through all possible Turing machines with \(n\) states.
 * If a machine writes X ones, for some large limit X, it is assumed to be running indefinitely and is ignored.
 * Find the machine that writes the most ones.

And this algorithm works for larger values of \(n\):


 * Take the some quickly growing function \(f\).
 * Simulate the computation of \(f(n)\) using a Turing machine with \(n\) states.

For example, if we can compute the Goodstein function on a machine with 100 states, then we can prove that \(\Sigma(100) > G(100)\).

Max shifts function
Another function that has comparable growth rate is \(S(n)\), the maximum finite number of steps that can be performed using n-state, 2-color Turing machine. For n=1,2,3,4,5,6 it gives sequence 1,6,21,>47176870,>7.412 × 1036534. Some authors refers to this function as Busy Beaver function.

Variations
There are many variations on busy beaver and max shifts function. For example, define \(\Sigma(n,m)\) as the maximum number of colored symbols that can be written (in the finished tape) with an n-state, m-color Turing machine before halting, and \(S(n,m)\) in this way. It will grow even faster than regular \(\Sigma(n)\) and \(S(n)\).

It is possible to further generalize the function by extending to more than one dimension.

Higher order busy beaver functions
It is impossible for a Turing machine (or anything less powerful) to compute \(\Sigma(n)\) for arbitrary \(n\). However, we can create a second order Turing machine, or , that has access to a black box ("oracle") that can determine when an ordinary Turing machine halts. The maximum number of ones that can be written with an n-state, two-color oracle Turing machine is denoted \(\Sigma_2(n)\) &mdash; the second order busy beaver function.

Although a second order Turing machine can solve the for first order Turing machines, it cannot predict when it halts itself. Thus \(\Sigma_2(n)\) is uncomputable even with respect to an oracle Turing machine.

In general, \(\Sigma_x(n)\) can be computed using an order-\((x + 1)\) Turing machine, but not for any lower-order machines.

The order-\(x\) busy beaver function has growth rate comparable to \(f_{\omega^\text{CK}_x}(n)\) in the fast-growing hierarchy.