Busy Beaver Functions: Difference between revisions

From BusyBeaverWiki
Jump to navigation Jump to search
m (Fixed Grammar)
 
(14 intermediate revisions by 3 users not shown)
Line 12: Line 12:
Ben-Amram calls this the <math>time(n)</math> function.<ref name=":0">Ben-Amram A.M., Julstrom B.A. and Zwick U. (1996). [http://dx.doi.org/10.1007/BF01192693 A note on busy beavers and other creatures]. ''Mathematical Systems Theory'' '''29''' (4), July-August 1996, 375-386.</ref> Harland calls it the "frantic frog" function <math>ff(n)</math>.<ref name=":1">James Harland. [https://dl.acm.org/doi/pdf/10.5555/1151785.1151794 The Busy Beaver, the Placid Platypus and other Crazy Creatures]. 2006.</ref>  
Ben-Amram calls this the <math>time(n)</math> function.<ref name=":0">Ben-Amram A.M., Julstrom B.A. and Zwick U. (1996). [http://dx.doi.org/10.1007/BF01192693 A note on busy beavers and other creatures]. ''Mathematical Systems Theory'' '''29''' (4), July-August 1996, 375-386.</ref> Harland calls it the "frantic frog" function <math>ff(n)</math>.<ref name=":1">James Harland. [https://dl.acm.org/doi/pdf/10.5555/1151785.1151794 The Busy Beaver, the Placid Platypus and other Crazy Creatures]. 2006.</ref>  


In his 2020 survey, Scott Aaronson used the notation <math>BB(n, m)</math> for the Max Shift function and referred to it as "the" Busy Beaver function.<ref>Scott Aaronson. [https://scottaaronson.blog/?p=4916 The Busy Beaver Frontier]. 2020.</ref>
In his 2020 [[Busy Beaver Frontier]] survey, Scott Aaronson used the notation <math>BB(n, m)</math> for the Max Shift function and referred to it as "the" Busy Beaver function.<ref name=":2">Scott Aaronson. [https://scottaaronson.blog/?p=4916 The Busy Beaver Frontier]. 2020.</ref>


== Max Score Function Σ(n, m) ==
== Max Score Function Σ(n, m) ==
Line 22: Line 22:
In addition to the above functions, there are a couple of others that have appeared in the literature:
In addition to the above functions, there are a couple of others that have appeared in the literature:


* Maximum space: Ben-Amram call this <math>space(n)</math><ref name=":0" />, bbchallenge calls it <code>BB_SPACE(n)</code> or <math>BB_{space}(n)</math>. This is the total number of tape cells read before halting. According to Ben-Amram, it includes the starting cell, but not necessarily the cell the halting transition moves to.<ref> https://link.springer.com/article/10.1007/BF01192693 created on August 1996 (unknown day in the month) </ref>
* Maximum space: Ben-Amram calls this <math>space(n)</math><ref name=":0" />, bbchallenge calls it <code>BB_SPACE(n)</code> or <math>BB_{space}(n)</math>. This is the total number of tape cells read before halting. According to Ben-Amram, it includes the starting cell, but not necessarily the cell the halting transition moves to.<ref name=":0" />
* Maximum consecutive ones: Ben-Amram calls this <math>num(n)</math>.<ref name=":0" /> A TM only qualifies if it halts with all ones consecutive on tape.
* [[Maximum Consecutive Ones Function|Maximum consecutive ones]]: Ben-Amram calls this <math>num(n)</math>.<ref name=":0" /> A TM only qualifies if it halts with all ones consecutive on tape.
* N<sub>e</sub> function: Radó formulated the number of halting machines in terms of the set of all valid busy beaver entries M,s where s is the Turing machine, and s is the exact number of steps the halting Turing machine took. The set of all halting n-card machines is denoted E_n, and the cardinality of this set is denoted N<sub>e</sub>(n) The number of n-card Turing machines that halt after exactly or not more than s steps are respectively denoted N(s,n) and G(s,n).
* <math>N_e</math> function: Radó formulated the number of halting machines in terms of the set of all valid busy beaver entries <math>M,s</math> where <math>M</math> is the Turing machine, and <math>s</math> is the exact number of steps the halting Turing machine took. The set of all halting <math>n</math>-card machines is denoted <math>E_n</math>, and the cardinality of this set is denoted <math>N_e(n)</math> The number of <math>n</math>-card Turing machines that halt after exactly or not more than s steps are respectively denoted <math>N(s,n)</math> and <math>G(s,n)</math>.
* Blanking busy beaver: <math>BLB(n,m)</math> is the largest of steps done by any Turing machine with n states and m symbols before blanking the tape.
* Blanking busy beaver: <math>BLB(n,m)</math> is the largest of steps done by any Turing machine with n states and m symbols before blanking the tape.
* [[Beeping Busy Beaver|Beeping busy beaver]]: <math>BBB(n,m)</math> is the largest of steps done by any Turing machine with ''n'' states and ''m'' symbols before [[Quasihalt|quasihalting]].
* [[Beeping Busy Beaver|Beeping busy beaver]]: <math>BBB(n,m)</math> is the largest of steps done by any Turing machine with ''n'' states and ''m'' symbols before [[Quasihalt|quasihalting]].
* Busy periodic beaver: <math>BBP(n,m)</math> is the largest period of any cycler or [[translated cycler]] with ''n'' states and ''m'' symbols.
* [[BBP|Busy periodic beaver]]: <math>BBP(n,m)</math> is the largest period of any cycler or [[translated cycler]] with ''n'' states and ''m'' symbols.
* Busy preperiodic beaver: <math>BBS(n,m)</math> is the largest preperiod of any cycler or [[translated cycler]] with ''n'' states and ''m'' symbols.
* [[BBS|Busy preperiodic beaver]]: <math>BBS(n,m)</math> is the largest preperiod of any cycler or [[translated cycler]] with ''n'' states and ''m'' symbols.
* Higher order busy beaver functions:
*BB<sub>L</sub>(n) (busy beaver for L programs):People have also studied variants with a 2-dimensional tape, or where the tape head is allowed to stay still in addition to moving left or right, etc. More broadly, given any programming language L, whose programs consist of bit-strings, one can define a Busy Beaver function for L-programs:BB<sub>L</sub>(n) := max<sub>P∈L∩{0,1}</sub><sup>≤n</sup><sub>: s(P)<∞</sub>s(P) where s(P) is the number of steps taken by P on a blank input. Alternatively, some people define a “Busy Beaver function for L-programs” using Kolmogorov complexity. That is, they let BB’<sub>L</sub>(n) be the largest integer m such that K<sub>L</sub> (m) ≤ n, where K<sub>L</sub>(m) is the length of the shortest L-program whose output is m on a blank input.<ref name=":3">[https://www.scottaaronson.com/papers/bb.pdf Scott Aaronson - The Busy Beaver frontier]</ref>
*<math>R(n)</math> (The runtime spectrum function): <math>T(n)</math> is the set of <math>n</math>-state Turing machines, and <math>s(M)</math> is the running time of machine <math>M</math> on an all-0 input tape. Let <math>R(n)</math> be the spectrum of possible runtimes of <math>n</math>-state machines on the all-0 input<math> R(n) := \lbrace k \in \natnums : s(M) = k \, \textrm{for} \, \textrm{some} \, M \in T(n) \rbrace</math>.<ref name=":3" />
*[[Instruction-Limited Busy Beaver]] Function: <math> BBi(n)</math> is the longest runtime for all halting n-instruction (allowing any states and symbols) TMs when started on a blank tape.


== References ==
== References ==
<references />
<references />
[[category:Functions]]

Latest revision as of 19:37, 14 August 2025

The Busy Beaver Game is the search for Turing machines which maximize various Busy Beaver Functions. All Busy Beaver functions are non-computable. There are several, related functions with different authors referring to one or the other as "the Busy Beaver function". Therefore, it is recommended that you use a more specific designation when referring to one specific Busy Beaver function.

The two most commonly used Busy Beaver functions are:

  • The Maximum Shift function which is the most commonly used Busy Beaver function by bbchallenge and is generally called here.
  • The Maximum Score function which is Tibor Radó's original Busy Beaver function.

where denotes the number of states and the number of symbols.

Max Shift Function S(n, m)

The Maximum Shift or Maximum Step function is the largest number of steps (or shifts) that any Turing machine (of a certain size, and starting with a blank tape) takes before halting. It was introduced by Tibor Radó in his seminal Busy Beaver paper.[1] He used the notation to define it for Turing machines with states and 2 symbols. This was later extended to for states and symbols. Notably, the halting transition counts as a step, so the TM with rule A0 -> 1RZ halts in 1 step.

Ben-Amram calls this the function.[2] Harland calls it the "frantic frog" function .[3]

In his 2020 Busy Beaver Frontier survey, Scott Aaronson used the notation for the Max Shift function and referred to it as "the" Busy Beaver function.[4]

Max Score Function Σ(n, m)

The Maximum Score function is the largest number of ones (or non-zero symbols in general) left on the tape by any halting Turing machine (of a certain size, and starting with a blank tape) at the moment it halts. It was also introduced by Tibor Radó in his seminal paper. He called it the "score" of the Turing machine. He used the notation to define it for Turing machines with states and 2 symbols. This was later extended to for states and symbols.

Ben-Amram calls this the function.[2] Harland calls it the "busy beaver" function .[3] Before Aaronson's survey, this was the function that most people called "the" Busy Beaver function.

Other Busy Beaver functions

In addition to the above functions, there are a couple of others that have appeared in the literature:

  • Maximum space: Ben-Amram calls this [2], bbchallenge calls it BB_SPACE(n) or . This is the total number of tape cells read before halting. According to Ben-Amram, it includes the starting cell, but not necessarily the cell the halting transition moves to.[2]
  • Maximum consecutive ones: Ben-Amram calls this .[2] A TM only qualifies if it halts with all ones consecutive on tape.
  • function: Radó formulated the number of halting machines in terms of the set of all valid busy beaver entries where is the Turing machine, and is the exact number of steps the halting Turing machine took. The set of all halting -card machines is denoted , and the cardinality of this set is denoted The number of -card Turing machines that halt after exactly or not more than s steps are respectively denoted and .
  • Blanking busy beaver: is the largest of steps done by any Turing machine with n states and m symbols before blanking the tape.
  • Beeping busy beaver: is the largest of steps done by any Turing machine with n states and m symbols before quasihalting.
  • Busy periodic beaver: is the largest period of any cycler or translated cycler with n states and m symbols.
  • Busy preperiodic beaver: is the largest preperiod of any cycler or translated cycler with n states and m symbols.
  • Higher order busy beaver functions:
  • BBL(n) (busy beaver for L programs):People have also studied variants with a 2-dimensional tape, or where the tape head is allowed to stay still in addition to moving left or right, etc. More broadly, given any programming language L, whose programs consist of bit-strings, one can define a Busy Beaver function for L-programs:BBL(n) := maxP∈L∩{0,1}≤n: s(P)<∞s(P) where s(P) is the number of steps taken by P on a blank input. Alternatively, some people define a “Busy Beaver function for L-programs” using Kolmogorov complexity. That is, they let BB’L(n) be the largest integer m such that KL (m) ≤ n, where KL(m) is the length of the shortest L-program whose output is m on a blank input.[5]
  • (The runtime spectrum function): is the set of -state Turing machines, and is the running time of machine on an all-0 input tape. Let be the spectrum of possible runtimes of -state machines on the all-0 input.[5]
  • Instruction-Limited Busy Beaver Function: is the longest runtime for all halting n-instruction (allowing any states and symbols) TMs when started on a blank tape.

References

  1. Tibor Radó (May 1962). "On non-computable functions" (PDF). Bell System Technical Journal. 41 (3): 877–884. https://doi.org/10.1002%2Fj.1538-7305.1962.tb00480.x
  2. 2.0 2.1 2.2 2.3 2.4 Ben-Amram A.M., Julstrom B.A. and Zwick U. (1996). A note on busy beavers and other creatures. Mathematical Systems Theory 29 (4), July-August 1996, 375-386.
  3. 3.0 3.1 James Harland. The Busy Beaver, the Placid Platypus and other Crazy Creatures. 2006.
  4. Scott Aaronson. The Busy Beaver Frontier. 2020.
  5. 5.0 5.1 Scott Aaronson - The Busy Beaver frontier