Busy Beaver
   HOME

TheInfoList



OR:

In
theoretical computer science Theoretical computer science is a subfield of computer science and mathematics that focuses on the Abstraction, abstract and mathematical foundations of computation. It is difficult to circumscribe the theoretical areas precisely. The Associati ...
, the busy beaver game aims to find a terminating program of a given size that (depending on definition) either produces the most output possible, or runs for the longest number of steps. Since an endlessly looping program producing infinite output or running for infinite time is easily conceived, such programs are excluded from the game. Rather than traditional programming languages, the programs used in the game are n-state
Turing machines A Turing machine is a mathematical model of computation describing an abstract machine that manipulates symbols on a strip of tape according to a table of rules. Despite the model's simplicity, it is capable of implementing any computer alg ...
, one of the first mathematical models of computation. Turing machines consist of an infinite tape, and a finite set of states which serve as the program's "source code". Producing the most output is defined as writing the largest number of 1s on the tape, also referred to as achieving the highest score, and running for the longest time is defined as taking the longest number of steps to halt. The ''n-''state busy beaver game consists of finding the longest-running or highest-scoring Turing machine which has ''n'' states and eventually halts. Such machines are assumed to start on a blank tape, and the tape is assumed to contain only zeros and ones (a binary Turing machine). The objective of the game is to program a set of transitions between states aiming for the highest score or longest running time while making sure the machine will halt eventually. An ''n''-th busy beaver, BB-''n'' or simply "busy beaver" is a Turing machine that wins the ''n''-state busy beaver game. Depending on definition, it either attains the highest score (denoted by Σ(n) ), or runs for the longest time (S(n)), among all other possible ''n''-state competing Turing machines. Deciding the running time or score of the ''n''th Busy Beaver is incomputable. In fact, both the functions Σ(n) and S(n) eventually become larger than any computable function. This has implications in
computability theory Computability theory, also known as recursion theory, is a branch of mathematical logic, computer science, and the theory of computation that originated in the 1930s with the study of computable functions and Turing degrees. The field has since ex ...
, the
halting problem In computability theory (computer science), computability theory, the halting problem is the problem of determining, from a description of an arbitrary computer program and an input, whether the program will finish running, or continue to run for ...
, and complexity theory.PDF available
from author.
The concept of a busy beaver was first introduced by
Tibor Radó Tibor Radó ( ; June 2, 1895 – December 29, 1965) was a Hungarian mathematician who moved to the United States after World War I. Biography Radó was born in Budapest and between 1913 and 1915 attended the Polytechnic Institute, studying c ...
in his 1962 paper, "On Non-Computable Functions". One of the most interesting aspects of the busy beaver game is that, if it were possible to compute the functions Σ(n) and S(n) for all ''n'', then this would resolve all mathematical conjectures which can be encoded in the form "does <this Turing machine> halt". For example, a 27-state Turing machine could check
Goldbach's conjecture Goldbach's conjecture is one of the oldest and best-known list of unsolved problems in mathematics, unsolved problems in number theory and all of mathematics. It states that every even and odd numbers, even natural number greater than 2 is the ...
for each number and halt on a counterexample: if this machine had not halted after running for S(27) steps, then it must run forever, resolving the conjecture. Many other problems, including the
Riemann hypothesis In mathematics, the Riemann hypothesis is the conjecture that the Riemann zeta function has its zeros only at the negative even integers and complex numbers with real part . Many consider it to be the most important unsolved problem in pure ...
(744 states) and the consistency of ZF set theory (745 states), can be expressed in a similar form, where at most a
countably infinite In mathematics, a set is countable if either it is finite or it can be made in one to one correspondence with the set of natural numbers. Equivalently, a set is ''countable'' if there exists an injective function from it into the natural numbe ...
number of cases need to be checked.


Technical definition

The ''n''-state busy beaver game (or BB-''n'' game), introduced in
Tibor Radó Tibor Radó ( ; June 2, 1895 – December 29, 1965) was a Hungarian mathematician who moved to the United States after World War I. Biography Radó was born in Budapest and between 1913 and 1915 attended the Polytechnic Institute, studying c ...
's 1962 paper, involves a class of
Turing machine A Turing machine is a mathematical model of computation describing an abstract machine that manipulates symbols on a strip of tape according to a table of rules. Despite the model's simplicity, it is capable of implementing any computer algori ...
s, each member of which is required to meet the following design specifications: *The machine has ''n'' "operational" states plus a Halt state, where ''n'' is a positive integer, and one of the ''n'' states is distinguished as the starting state. (Typically, the states are labelled by 1, 2, ..., ''n'', with state 1 as the starting state, or by ''A'', ''B'', ''C'', ..., with state ''A'' as the starting state.) *The machine uses a single two-way infinite (or unbounded) tape. *The tape alphabet is , with 0 serving as the blank symbol. *The machine's ''transition function'' takes two inputs: :#the current non-Halt state, :#the symbol in the current tape cell, :and produces three outputs: :#a symbol to write over the symbol in the current tape cell (it may be the same symbol as the symbol overwritten), :#a direction to move (left or right; that is, shift to the tape cell one place to the left or right of the current cell), and :#a state to transition into (which may be the Halt state). "Running" the machine consists of starting in the starting state, with the current tape cell being any cell of a blank (all-0) tape, and then iterating the transition function until the Halt state is entered (if ever). If and only if (iff) the machine eventually halts, then the number of 1s finally remaining on the tape is called the machine's ''score''. The ''n''-state busy beaver (BB-''n'') game is therefore a contest, depending on definition to find such an ''n''-state Turing machine having the largest possible score or running time.


Example

The rules for one 1-state Turing machine might be: * In state 1, if the current symbol is 0, write a 1, move one space to the right, and transition to state 1 * In state 1, if the current symbol is 1, write a 0, move one space to the right, and transition to HALT This Turing machine would move to the right, swapping the value of all the bits it passes. Since the starting tape is all 0s, it would make an unending string of ones. This machine would not be a busy beaver contender because it runs forever on a blank tape.


Functions

In his original 1962 paper, Radó defined two functions related to the busy beaver game: the score function Σ(n) and the shifts function S(n). Both take a number of Turing machine states n and output the maximum score attainable by a Turing machine of that number of states by some measure. The score function Σ(n) gives the maximum number of 1s an n-state Turing machine can output before halting, while the shifts function S(n) gives the maximum number of shifts (or equivalently steps, because each step includes a shift) that an n-state Turing machine can undergo before halting. He proved that both of these functions were noncomputable, because they each grew faster than any computable function. The function BB(n) has been defined to be either of these functions, so that notation is not used in this article. A number of other uncomputable functions can also be defined based on measuring the performance of Turing machines in other ways than time or maximal number of ones. For example: * The function \text(n) is defined to be the maximum number of ''contiguous'' ones a halting Turing machine can write on a blank tape. In other words, this is the largest unary number a Turing machine of ''n'' states can write on a tape. * The function \text(n) is defined to be the maximal number of tape squares a halting Turing machine can ''read'' (i.e., visit) before halting. This includes the starting square, but not a square that the machine only reaches after the halt transition (if the halt transition is annotated with a move direction), because that square does not influence the machine's behaviour. This is the maximal
space complexity The space complexity of an algorithm or a data structure is the amount of memory space required to solve an instance of the computational problem as a function of characteristics of the input. It is the memory required by an algorithm until it exec ...
of an ''n''-state Turing machine. These four functions together stand in the relation \text(n) \leq \Sigma(n) \leq \text(n) \leq S(n). More functions can also be defined by operating the game on different computing machines, such as 3-symbol Turing machines, non-deterministic Turing machines, the
lambda calculus In mathematical logic, the lambda calculus (also written as ''λ''-calculus) is a formal system for expressing computability, computation based on function Abstraction (computer science), abstraction and function application, application using var ...
or even arbitrary programming languages.


Score function Σ

The score function quantifies the maximum score attainable by a busy beaver on a given measure. This is a noncomputable function, because it grows
asymptotically In analytic geometry, an asymptote () of a curve is a line such that the distance between the curve and the line approaches zero as one or both of the ''x'' or ''y'' coordinates tends to infinity. In projective geometry and related contexts, ...
faster than any computable function. The score function, \Sigma: \mathbb \to \mathbb, is defined so that \Sigma(n) is the maximum attainable score (the maximum number of 1s finally on the tape) among all halting 2-symbol n-state Turing machines of the above-described type, when started on a blank tape. It is clear that \Sigma is a well-defined function: for every ''n'', there are at most finitely many ''n''-state Turing machines as above,
up to Two Mathematical object, mathematical objects and are called "equal up to an equivalence relation " * if and are related by , that is, * if holds, that is, * if the equivalence classes of and with respect to are equal. This figure of speech ...
isomorphism, hence at most finitely many possible running times.p. 880 According to the score-based definition, any ''n''-state 2-symbol Turing machine ''M'' for which (i.e., which attains the maximum score) is called a busy beaver. For each ''n'', there exist at least 4(''n'' − 1)! ''n''-state busy beavers. (Given any ''n''-state busy beaver, another is obtained by merely changing the shift direction in a halting transition, a third by reversing ''all'' shift directions uniformly, and a fourth by reversing the halt direction of the all-swapped busy beaver. Furthermore, a permutation of all states except Start and Halt produces a machine that attains the same score. Theoretically, there could be more than one kind of transition leading to the halting state, but in practice it would be wasteful, because there is only one sequence of state transitions producing the sought-after result.)


Non-computability

Radó's 1962 paper proved that if f: \mathbb \to \mathbb is any
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 the value of the function for every value of its argument. Because of the lack of a precis ...
, then Σ(''n'') > ''f''(''n'') for all sufficiently large ''n'', and hence that Σ is not a computable function. Moreover, this implies that it is undecidable by a general
algorithm In mathematics and computer science, an algorithm () is a finite sequence of Rigour#Mathematics, mathematically rigorous instructions, typically used to solve a class of specific Computational problem, problems or to perform a computation. Algo ...
whether an arbitrary Turing machine is a busy beaver. (Such an algorithm cannot exist, because its existence would allow Σ to be computed, which is a proven impossibility. In particular, such an algorithm could be used to construct another algorithm that would compute Σ as follows: for any given ''n'', each of the finitely many ''n''-state 2-symbol Turing machines would be tested until an ''n''-state busy beaver is found; this busy beaver machine would then be simulated to determine its score, which is by definition Σ(''n'').) Even though Σ(''n'') is an uncomputable function, there are some small ''n'' for which it is possible to obtain its values and prove that they are correct. It is not hard to show that Σ(0) = 0, Σ(1) = 1, Σ(2) = 4, and with progressively more difficulty it can be shown that Σ(3) = 6, Σ(4) = 13 and Σ(5) = 4098 . Σ(''n'') has not yet been determined for any instance of ''n'' > 5, although lower bounds have been established (see the Known values section below).


Complexity and unprovability of Σ

A variant of
Kolmogorov complexity In algorithmic information theory (a subfield of computer science and mathematics), the Kolmogorov complexity of an object, such as a piece of text, is the length of a shortest computer program (in a predetermined programming language) that prod ...
is defined as follows: The ''complexity'' of a number ''n'' is the smallest number of states needed for a BB-class Turing machine that halts with a single block of ''n'' consecutive 1s on an initially blank tape. The corresponding variant of Chaitin's incompleteness theorem states that, in the context of a given
axiomatic system In mathematics and logic, an axiomatic system is a set of formal statements (i.e. axioms) used to logically derive other statements such as lemmas or theorems. A proof within an axiom system is a sequence of deductive steps that establishes ...
for the
natural number In mathematics, the natural numbers are the numbers 0, 1, 2, 3, and so on, possibly excluding 0. Some start counting with 0, defining the natural numbers as the non-negative integers , while others start with 1, defining them as the positive in ...
s, there exists a number ''k'' such that no specific number can be proven to have complexity greater than ''k'', and hence that no specific upper bound can be proven for Σ(''k'') (the latter is because "the complexity of ''n'' is greater than ''k''" would be proven if were proven). As mentioned in the cited reference, for any axiomatic system of "ordinary mathematics" the least value ''k'' for which this is true is far less than 10⇈10; consequently, in the context of ordinary mathematics, neither the value nor any upper-bound of Σ(10⇈10) can be proven. ( Gödel's first incompleteness theorem is illustrated by this result: in an axiomatic system of ordinary mathematics, there is a true-but-unprovable sentence of the form , and there are infinitely many true-but-unprovable sentences of the form .)


Maximum shifts function ''S''

In addition to the function Σ, Radó 962introduced another extreme function for Turing machines, the maximum shifts function, ''S'', defined as follows: * = the number of shifts ''M'' makes before halting, for any , * = the largest number of shifts made by any halting ''n''-state 2-symbol Turing machine. Because normal Turing machines are required to have a shift in each and every transition or "step" (including any transition to a Halt state), the max-shifts function is at the same time a max-steps function. Radó showed that ''S'' is noncomputable for the same reason that Σ is noncomputable — it grows faster than any computable function. He proved this simply by noting that for each ''n'', ''S''(''n'') ≥ Σ(''n''). Each shift may write a 0 or a 1 on the tape, while Σ counts a subset of the shifts that wrote a 1, namely the ones that hadn't been overwritten by the time the Turing machine halted; consequently, ''S'' grows at least as fast as Σ, which had already been proved to grow faster than any computable function. The following connection between Σ and ''S'' was used by Lin & Radó 'Computer Studies of Turing Machine Problems'', 1965to prove that Σ(3) = 6 and that S(3)=21: For a given ''n'', if ''S''(''n'') is known then all ''n''-state Turing machines can (in principle) be run for up to ''S''(''n'') steps, at which point any machine that hasn't yet halted will never halt. At that point, by observing which machines have halted with the most 1s on the tape (i.e., the busy beavers), one obtains from their tapes the value of Σ(''n''). The approach used by Lin & Radó for the case of ''n'' = 3 was to conjecture that ''S''(3) = 21 (after unsuccessfully conjecturing 18), then to simulate all the essentially different 3-state machines (82,944 machines, equal to 23) for up to 21 steps. They found 26,073 machines that halted, including one that halted only after 21 steps. By analyzing the behavior of the machines that had not halted within 21 steps, they succeeded in showing that none of those machines would ever halt, most of them following a certain pattern. This proved the conjecture that ''S''(3) = 21, and also determined that Σ(3) = 6, which was attained by several machines, all halting after 11 to 14 steps. In 2016, Adam Yedidia and
Scott Aaronson Scott Joel Aaronson (born May 21, 1981) is an American Theoretical computer science, theoretical computer scientist and Schlumberger Centennial Chair of Computer Science at the University of Texas at Austin. His primary areas of research are ...
obtained the first (explicit) upper bound on the minimum ''n'' for which S(''n'') is unprovable in ZFC. To do so they constructed a 7910-state Turing machine whose behavior cannot be proven based on the usual axioms of set theory (
Zermelo–Fraenkel set theory In set theory, Zermelo–Fraenkel set theory, named after mathematicians Ernst Zermelo and Abraham Fraenkel, is an axiomatic system that was proposed in the early twentieth century in order to formulate a theory of sets free of paradoxes suc ...
with the
axiom of choice In mathematics, the axiom of choice, abbreviated AC or AoC, is an axiom of set theory. Informally put, the axiom of choice says that given any collection of non-empty sets, it is possible to construct a new set by choosing one element from e ...
), under reasonable consistency hypotheses ( stationary Ramsey property).Version from May 3rd contained 7918 states: Stefan O'Rear then reduced it to 1919 states, with the dependency on the stationary Ramsey property eliminated, and later to 748 states. In July 2023, Riebel reduced it to 745 states.


Proof for uncomputability of ''S''(''n'') and Σ(''n'')

Suppose that ''S''(''n'') is a computable function and let ''EvalS'' denote a TM, evaluating ''S''(''n''). Given a tape with ''n'' 1s it will produce ''S''(''n'') 1s on the tape and then halt. Let ''Clean'' denote a Turing machine cleaning the sequence of 1s initially written on the tape. Let ''Double'' denote a Turing machine evaluating function ''n'' + ''n''. Given a tape with ''n'' 1s it will produce 2''n'' 1s on the tape and then halt. Let us create the composition ''Double'' , ''EvalS'' , ''Clean'' and let ''n''0 be the number of states of this machine. Let ''Create_n0'' denote a Turing machine creating ''n''0 1s on an initially blank tape. This machine may be constructed in a trivial manner to have ''n''0 states (the state ''i'' writes 1, moves the head right and switches to state ''i'' + 1, except the state ''n''0, which halts). Let ''N'' denote the sum ''n''0 + ''n''0. Let ''BadS'' denote the composition ''Create_n0'' , ''Double'' , ''EvalS'' , ''Clean''. Notice that this machine has ''N'' states. Starting with an initially blank tape it first creates a sequence of ''n''0 1s and then doubles it, producing a sequence of ''N'' 1s. Then ''BadS'' will produce ''S''(''N'') 1s on tape, and at last it will clear all 1s and then halt. But the phase of cleaning will continue at least ''S''(''N'') steps, so the time of working of ''BadS'' is strictly greater than ''S''(''N''), which contradicts to the definition of the function ''S''(''n''). The uncomputability of Σ(''n'') may be proved in a similar way. In the above proof, one must exchange the machine ''EvalS'' with ''EvalΣ'' and ''Clean'' with ''Increment'' — a simple TM, searching for a first 0 on the tape and replacing it with 1. The uncomputability of ''S''(''n'') can also be established by reference to the blank tape halting problem. The blank tape halting problem is the problem of deciding for any Turing machine whether or not it will halt when started on an empty tape. The blank tape halting problem is equivalent to the standard
halting problem In computability theory (computer science), computability theory, the halting problem is the problem of determining, from a description of an arbitrary computer program and an input, whether the program will finish running, or continue to run for ...
and so it is also uncomputable. If ''S''(''n'') was computable, then we could solve the blank tape halting problem simply by running any given Turing machine with ''n'' states for ''S''(''n'') steps; if it has still not halted, it never will. So, since the blank tape halting problem is not computable, it follows that ''S''(''n'') must likewise be uncomputable.


Uncomputability of space(n) and num(n)

Both \text(n) and \text(n) functions are uncomputable. This can be shown for \text(n) by noting that every tape square a Turing machine writes a one to, it must also visit: in other words, \Sigma(n) \leq \text(n). The \text(n) function can be shown to be incomputable by proving, for example, that \text(n) < \text(3n + 3): this can be done by designing an ''(3n+3)''-state Turing machine which simulates the ''n''-state space champion, and then uses it to write at least \text(n) contiguous ones to the tape.


Generalizations

Analogs of the shift function can be simply defined in any programming language, given that the programs can be described by bit-strings, and a program's number of steps can be counted. For example, the busy beaver game can also be generalized to two dimensions using Turing machines on two-dimensional tapes, or to Turing machines that are allowed to stay in the same place as well as move to the left and right. Alternatively a "busy beaver function" for diverse models of computation can be defined with
Kolmogorov complexity In algorithmic information theory (a subfield of computer science and mathematics), the Kolmogorov complexity of an object, such as a piece of text, is the length of a shortest computer program (in a predetermined programming language) that prod ...
. This is done by taking (n) to be the largest integer m such that K_L(m) \le n, where K_L(m) is the length of the shortest program in L that outputs m: (n) is thereby the largest integer a program with length n or less can output in L. The longest running 6-state, 2-symbol machine which has the additional property of reversing the tape value at each step produces 1s after steps. So for the Reversal Turing Machine (RTM) class, ''S''RTM(6) ≥ and ΣRTM(6) ≥ . Likewise we could define an analog to the Σ function for
register machine In mathematical logic and theoretical computer science, a register machine is a generic class of abstract machines, analogous to a Turing machine and thus Turing complete. Unlike a Turing machine that uses a tape and head, a register machine u ...
s as the largest number which can be present in any register on halting, for a given number of instructions.


Different numbers of symbols

A simple generalization is the extension to Turing machines with ''m'' symbols instead of just two (0 and 1). For example a trinary Turing machine with ''m'' = 3 symbols would have the symbols 0, 1, and 2. The generalization to Turing machines with ''n'' states and ''m'' symbols defines the following generalized busy beaver functions: # Σ(''n'', ''m''): the largest number of non-zeros printable by an ''n''-state, ''m''-symbol machine started on an initially blank tape before halting, and # ''S''(''n'', ''m''): the largest number of steps taken by an ''n''-state, ''m''-symbol machine started on an initially blank tape before halting. For example, the longest-running 3-state 3-symbol machine found so far runs steps before halting.


Nondeterministic Turing machines

The problem can be extended to
nondeterministic Turing machine In theoretical computer science, a nondeterministic Turing machine (NTM) is a theoretical model of computation whose governing rules specify more than one possible action when in some given situations. That is, an NTM's next state is ''not'' comp ...
s by looking for the system with the most states across all branches or the branch with the longest number of steps. The question of whether a given NDTM will halt is still computationally irreducible, and the computation required to find an NDTM busy beaver is significantly greater than the deterministic case, since there are multiple branches that need to be considered. For a 2-state, 2-color system with ''p'' cases or rules, the table to the right gives the maximum number of steps before halting and maximum number of unique states created by the NDTM.


Applications


Open mathematical problems

In addition to posing a rather challenging mathematical game, the busy beaver functions Σ(n) and ''S''(''n'') offer an entirely new approach to solving pure mathematics problems. Many open problems in mathematics could in theory, but not in practice, be solved in a systematic way given the value of ''S''(''n'') for a sufficiently large ''n''. Theoretically speaking, the value of S(n) encodes the answer to all mathematical conjectures that can be checked in infinite time by a Turing machine with less than or equal to ''n'' states. Consider any \Pi_1^0
conjecture In mathematics, a conjecture is a conclusion or a proposition that is proffered on a tentative basis without proof. Some conjectures, such as the Riemann hypothesis or Fermat's conjecture (now a theorem, proven in 1995 by Andrew Wiles), ha ...
: any conjecture that could be disproven via a
counterexample A counterexample is any exception to a generalization. In logic a counterexample disproves the generalization, and does so rigorously in the fields of mathematics and philosophy. For example, the fact that "student John Smith is not lazy" is a c ...
among a
countable In mathematics, a Set (mathematics), set is countable if either it is finite set, finite or it can be made in one to one correspondence with the set of natural numbers. Equivalently, a set is ''countable'' if there exists an injective function fro ...
number of cases (e.g.
Goldbach's conjecture Goldbach's conjecture is one of the oldest and best-known list of unsolved problems in mathematics, unsolved problems in number theory and all of mathematics. It states that every even and odd numbers, even natural number greater than 2 is the ...
). Write a computer program that sequentially tests this conjecture for increasing values. In the case of Goldbach's conjecture, we would consider every even number ≥ 4 sequentially and test whether or not it is the sum of two prime numbers. Suppose this program is simulated on an ''n''-state Turing machine. If it finds a counterexample (an even number ≥ 4 that is not the sum of two primes in our example), it halts and indicates that. However, if the conjecture is true, then our program will never halt. (This program halts ''only'' if it finds a counterexample.) Now, this program is simulated by an ''n''-state Turing machine, so if we know ''S''(''n'') we can decide (in a finite amount of time) whether or not it will ever halt by simply running the machine that many steps. And if, after ''S''(''n'') steps, the machine does not halt, we know that it never will and thus that there are no counterexamples to the given conjecture (i.e., no even numbers that are not the sum of two primes). This would prove the conjecture to be true. Thus specific values (or upper bounds) for ''S''(''n'') could be, in theory, used to systematically solve many open problems in mathematics. However, current results on the busy beaver problem suggest that this will not be practical for two reasons: * It is extremely hard to prove values for the busy beaver function (and the max shift function). Every known exact value of ''S''(''n'') was proven by enumerating every ''n''-state Turing machine and proving whether or not each halts. One would have to calculate ''S''(''n'') by some less direct method for it to actually be useful. * The values of S(n) and the other busy beaver functions get very large, very quickly. While the value of S(5) is only around 47 million, the value of S(6) is more than 10⇈15, or in
tetration In mathematics, tetration (or hyper-4) is an operation (mathematics), operation based on iterated, or repeated, exponentiation. There is no standard mathematical notation, notation for tetration, though Knuth's up arrow notation \uparrow \upa ...
notation, ^10, which is equal to 10^ with a tower of 15 tens. This number has 10⇈14 digits and is unreasonable to use in a computation. The value of S(27), which is the number of steps the current program for the
Goldbach conjecture Goldbach's conjecture is one of the oldest and best-known unsolved problems in number theory and all of mathematics. It states that every even natural number greater than 2 is the sum of two prime numbers. The conjecture has been shown to ho ...
would need to be run to give a conclusive answer, is incomprehensibly huge, and not remotely possible to write down, much less run a machine for, in the observable universe.


Consistency of theories

Another property of S(n) is that no arithmetically sound, computably axiomatized
theory A theory is a systematic and rational form of abstract thinking about a phenomenon, or the conclusions derived from such thinking. It involves contemplative and logical reasoning, often supported by processes such as observation, experimentation, ...
can prove all of the function's values. Specifically, given a computable and arithmetically sound theory T, there is a number n_T such that for all n \geq n_T, no statement of the form S(n) = k can be proved in T. This implies that for each theory there is a specific largest value of S(n) that it can prove. This is true because for every such T, a Turing machine with n_T states can be designed to enumerate every possible proof in T. If the theory is inconsistent, then all false statements are provable, and the Turing machine can be given the condition to halt if, and only if, it finds a proof of, for example, 0 = 1. Any theory that proves the value of S(n_T) proves its own consistency, violating Gödel's second incompleteness theorem. This can be used to place various theories on a scale, for example the various large cardinal axioms in ZFC: if each theory T is assigned as its number n_T, theories with larger values of n_T prove the consistency of those below them, placing all such theories on a countably infinite scale.


Notable examples

* A 745-state binary Turing machine has been constructed that halts
iff In logic and related fields such as mathematics and philosophy, "if and only if" (often shortened as "iff") is paraphrased by the biconditional, a logical connective between statements. The biconditional is true in two cases, where either both ...
ZFC is inconsistent. * A 744-state Turing machine has been constructed that halts iff the
Riemann hypothesis In mathematics, the Riemann hypothesis is the conjecture that the Riemann zeta function has its zeros only at the negative even integers and complex numbers with real part . Many consider it to be the most important unsolved problem in pure ...
is false. * A 43-state Turing machine was constructed that halts iff
Goldbach's conjecture Goldbach's conjecture is one of the oldest and best-known list of unsolved problems in mathematics, unsolved problems in number theory and all of mathematics. It states that every even and odd numbers, even natural number greater than 2 is the ...
is false. This was further reduced to 25-state machine, and later formally proved and verified in the Lean 4 theorem proving language. * A 15-state Turing machine has been constructed that halts iff the following conjecture formulated by
Paul Erdős Paul Erdős ( ; 26March 191320September 1996) was a Hungarian mathematician. He was one of the most prolific mathematicians and producers of mathematical conjectures of the 20th century. pursued and proposed problems in discrete mathematics, g ...
in 1979 is false: for all ''n'' > 8 there is at least one digit 2 in the base 3 representation of 2''n''.


Universal Turing machines

Exploring the relationship between computational universality and the dynamic behavior of Busy Beaver
Turing machines A Turing machine is a mathematical model of computation describing an abstract machine that manipulates symbols on a strip of tape according to a table of rules. Despite the model's simplicity, it is capable of implementing any computer alg ...
, a conjecture was proposed in 2012PDF available
from publisher.
suggesting that Busy Beaver machines were natural candidates for Turing universality as they display complex characteristics, known for (1) their maximal
computational complexity In computer science, the computational complexity or simply complexity of an algorithm is the amount of resources required to run it. Particular focus is given to computation time (generally measured by the number of needed elementary operations ...
within size constraints, (2) their ability to perform non-trivial calculations before halting, and (3) the difficulty in finding and proving these machines; these features suggest that Busy Beaver machines possess the necessary complexity for universality.


Physical Church–Turing thesis

The growth properties of the Busy Beaver function have implications for the behaviour of physical systems, assuming the truth of the physical Church–Turing thesis. If the physical Church–Turing thesis holds, and all physically computable functions are Turing-computable, then no directly measurable physical quantity can grow faster than the Busy Beaver function, as no Turing-computable function can grow faster than it. Simple functions of BB(n) would also impose a lower limit on growth rates, as well as upper and lower bounds on rates of convergence.


Known results


Lower bounds


Green machines

In 1964 Milton Green developed a lower bound for the 1s-counting variant of the Busy Beaver function that was published in the proceedings of the 1964 IEEE symposium on switching circuit theory and logical design. Heiner Marxen and Jürgen Buntrock described it as "a non-trivial (not primitive recursive) lower bound". This lower bound can be calculated but is too complex to state as a single expression in terms of ''n''. This was done with a set of Turing machines, each of which demonstrated the lower bound for a certain ''n''. When ''n''=8 the method gives : \Sigma(8) \geq 3 \times (7 \times 3^ - 1) / 2 \approx 8.248 \times 10^. In contrast, the best current (as of 2024) lower bound on \Sigma(6) is 10 \uparrow\uparrow 15, where each \uparrow is
Knuth's up-arrow notation In mathematics, Knuth's up-arrow notation is a method of notation for very large integers, introduced by Donald Knuth in 1976. In his 1947 paper, R. L. Goodstein introduced the specific sequence of operations that are now called ''hyperoperatio ...
. This represents 10^, an exponentiated chain of 15 tens equal to 10^. The value of \Sigma(8) is probably much larger still than that. Specifically, the lower bound was shown with a series of recursive Turing machines, each of which was made of a smaller one with two additional states that repeatedly applied the smaller machine to the input tape. Defining the value of the N-state busy-beaver competitor on a tape containing m ones to be B_N(m) (the ultimate output of each machine being its value on m = 0, because a blank tape has 0 ones), the recursion relations are as follows: : B_N(0) = 1 : B_1(m) = m + 1 : B_N(m) = 1 + B_(1 + B_N(m - 1)) This leads to two formulas, for odd and even numbers, for calculating the lower bound given by the Nth machine, G(N): : G(N) = B_(B_(1)) for odd N : G(N) = 1 + B_(1 + B_(1)) for even N The lower bound BB(N) can also be related to the
Ackermann function In computability theory, the Ackermann function, named after Wilhelm Ackermann, is one of the simplest and earliest-discovered examples of a total function, total computable function that is not Primitive recursive function, primitive recursive. ...
. It can be shown that: : A(n,n) > G(4N+3) > A(4, 2N+1)


Relationships between Busy beaver functions

Trivially, S(n) ≥ Σ(n) because a machine that writes Σ(n) ones must take at least Σ(n) steps to do so. It is possible to give a number of upper bounds on the time S(n) with the number of ones Σ(n): * S(n) \leq (n + 1) \times \Sigma(5n) \times 2^   (Rado) * S(n) \leq \Sigma(9n)   (Buro) * S(n) \leq (2n - 1) \times \Sigma(3n + 3)   (Ben-Amram, Julstrom and Zwick) By defining num(n) to be the maximum number of ones an ''n''-state Turing machine is allowed to output contiguously, rather than in any position (the largest unary number it can output), it is possible to show: : \text(n) < \Sigma(n) : S(n) < \text(n + o(n)) : S(n) < \text(3n+6)   (Ben-Amram, et al., 1996) Ben-Amram and Petersen, 2002, also give an asymptotically improved bound on S(n). There exists a constant ''c'', such that for all : :S(n) \le \Sigma\left(n + \left\lceil \frac \right\rceil + c\right).


Exact values and lower and upper bounds

The following table lists the exact values and some known lower bounds for ''S''(''n''), Σ(''n''), and several other busy beaver functions. In this table, 2-symbol Turing machines are used. Entries listed as "?" are at least as large as other entries to the left (because all n-state machines are also (n+1) state machines), and no larger than entries above them (because S(n) ≥ space(n) ≥ Σ(n) ≥ num(n)). So, space(6) is known to be greater than 10⇈15, as space(n) ≥ Σ(n) and Σ(6) > 10⇈15. is an upper bound for space(5), because S(5) = () and S(n) ≥ space(n). The last two entries listed as "?" are num(5) and num(6), because Σ(5) ≥ 4098 and Σ(6) > 10⇈15, but Σ(n) ≥ num(n). The 5-state busy beaver was discovered by Heiner Marxen and Jürgen Buntrock in 1989, but only proved to be the winning fifth busy beaver in 2024 using a proof in Rocq.


List of busy beavers

These are tables of rules for Turing machines that generate Σ(1) and ''S''(1), Σ(2) and ''S''(2), Σ(3) (but not ''S''(3)), Σ(4) and ''S''(4), Σ(5) and ''S''(5), and the best known lower bound for Σ(6) and ''S''(6). In the tables, columns represent the current state and rows represent the current symbol read from the tape. Each table entry is a string of three characters, indicating the symbol to write onto the tape, the direction to move, and the new state (in that order). The halt state is shown as H. Each machine begins in state A with an infinite tape that contains all 0s. Thus, the initial symbol read from the tape is a 0. Result key: (starts at the position , halts at the position ) : Result: 0 0 0 (1 step, one "1" total) : Result: 0 0 1 1 1 0 0 (6 steps, four "1"s total) : Result: 0 0 1 1 1 1 0 0 (14 steps, six "1"s total). This is one of several nonequivalent machines giving six 1s. Unlike the previous machines, this one is a busy beaver for Σ, but not for ''S''. (''S''(3) = 21, and the machine obtains only five 1s.) : Result: 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 (107 steps, thirteen "1"s total) : Result: 4098 "1"s with 8191 "0"s interspersed in 47,176,870 steps. Note in the image to the right how this solution is similar qualitatively to the evolution of some
cellular automata A cellular automaton (pl. cellular automata, abbrev. CA) is a discrete model of computation studied in automata theory. Cellular automata are also called cellular spaces, tessellation automata, homogeneous structures, cellular structures, tessel ...
. : Result: 1 1 1 1 ... 1 1 1 ("10" followed by more than 10↑↑15 contiguous "1"s in more than 10↑↑15 steps, where 10↑↑15=1010..10, an exponential tower of 15 tens).


Visualizations

In the following table, the rules for each busy beaver (maximizing Σ) are represented visually, with orange squares corresponding to a "1" on the tape, and white corresponding to "0". The position of the head is indicated by the black ovoid, with the orientation of the head representing the state. Individual tapes are laid out horizontally, with time progressing from top to bottom. The halt state is represented by a rule which maps one state to itself (head doesn't move).


See also

* Rayo's number * Turmite


Notes


References

* *: This is where Radó first defined the busy beaver problem and proved that it was uncomputable and grew faster than any computable function. * *: The results of this paper had already appeared in part in Lin's 1963 doctoral dissertation, under Radó's guidance. Lin & Radó prove that Σ(3) = 6 and ''S''(3) = 21 by proving that all 3-state 2-symbol Turing Machines which don't halt within 21 steps will never halt. (Most are proven automatically by a computer program, however 40 are proven by human inspection.) * *: Brady proves that Σ(4) = 13 and ''S''(4) = 107. Brady defines two new categories for non-halting 3-state 2-symbol Turing Machines: Christmas Trees and Counters. He uses a computer program to prove that all but 27 machines which run over 107 steps are variants of Christmas Trees and Counters which can be proven to run infinitely. The last 27 machines (referred to as holdouts) are proven by personal inspection by Brady himself not to halt. * *: Machlin and Stout describe the busy beaver problem and many techniques used for finding busy beavers (which they apply to Turing Machines with 4-states and 2-symbols, thus verifying Brady's proof). They suggest how to estimate a variant of Chaitin's halting probability (Ω). * *: Marxen and Buntrock demonstrate that Σ(5) ≥ 4098 and ''S''(5) ≥  and describe in detail the method they used to find these machines and prove many others will never halt. * *: Green recursively constructs machines for any number of states and provides the recursive function that computes their score (computes σ), thus providing a lower bound for Σ. This function's growth is comparable to that of Ackermann's function. * *: Busy beaver programs are described by Alexander Dewdney in ''Scientific American'', August 1984, pages 19–23, also March 1985 p. 23 an
April 1985 p. 30
* * *: Wherein Brady (of 4-state fame) describes some history of the beast and calls its pursuit "The Busy Beaver Game". He describes other games (e.g.
cellular automata A cellular automaton (pl. cellular automata, abbrev. CA) is a discrete model of computation studied in automata theory. Cellular automata are also called cellular spaces, tessellation automata, homogeneous structures, cellular structures, tessel ...
and
Conway's Game of Life The Game of Life, also known as Conway's Game of Life or simply Life, is a cellular automaton devised by the British mathematician John Horton Conway in 1970. It is a zero-player game, meaning that its evolution is determined by its initial ...
). Of particular interest is "The Busy Beaver Game in Two Dimensions" (p. 247). With 19 references. * *: Cf Chapter 9, Turing Machines. A difficult book, meant for electrical engineers and technical specialists. Discusses recursion, partial-recursion with reference to Turing Machines, halting problem. A reference in Booth attributes busy beaver to Rado. Booth also defines Rado's busy beaver problem in "home problems" 3, 4, 5, 6 of Chapter 9, p. 396. Problem 3 is to "show that the busy beaver problem is unsolvable... for all values of n." * *: Improved bounds. * *: This article contains a complete classification of the 2-state, 3-symbol Turing machines, and thus a proof for the (2, 3) busy beaver: Σ(2, 3) = 9 and S(2, 3) = 38. * * *: This is the description of ideas, of the algorithms and their implementation, with the description of the experiments examining 5-state and 6-state Turing machines by parallel run on 31 4-core computer and finally the best results for 6-state TM.


External links

* The page of