This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
|
In theoretical computer science, the busy beaver game aims at finding 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.[2] Since an endlessly looping program producing infinite output or running for infinite time is easily conceived, such programs are excluded from the game.[2] Rather than traditional programming languages, the programs used in the game are n-state Turing machines,[2] one of the first mathematical models of computation.[3]
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.[4] The n-state busy beaver game consists of finding the longest-running or highest-scoring Turing machine which has n states and eventually halts.[2] 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).[2] 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 nth busy beaver, BB-n or simply "busy beaver" is a Turing machine that wins the n-state busy beaver game.[5] Depending on definition, it either attains the highest score, or runs for the longest time, among all other possible n-state competing Turing machines. The functions determining the highest score or longest running time of the n-state busy beavers by each definition are Σ(n) and S(n) respectively.[4]
Deciding the running time or score of the nth Busy Beaver is incomputable.[4] In fact, both the functions Σ(n) and S(n) eventually become larger than any computable function.[4] This has implications in computability theory, the halting problem, and complexity theory.[6] The concept was first introduced by Tibor Radó in his 1962 paper, "On Non-Computable Functions".[4] 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 as "does this Turing machine halt or not".[5] For example, a 27-state Turing machine could check Goldbach's conjecture 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.[5] Many other problems, including the Riemann hypothesis (744 states) and the consistency of ZF set theory (745 states[7][8]), can be expressed in a similar form, where at most a countably infinite number of cases need to be checked.[5]
AaronsonJuly2023
was invoked but never defined (see the help page).