|
en>Jacobkjaersgaardhansen |
Line 1: |
Line 1: |
| {{multiple issues|
| | Hi! <br>My name is Reva and I'm a 25 years old boy from Unterlamm.<br><br>My weblog [http://www.decoclay.ru/blog/2012/11/02/%D0%9F%D1%83%D0%B1%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F-%D0%BD%D0%B0%D1%88%D0%B5%D0%B3%D0%BE-%D0%B8%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D0%BE%D1%80%D0%B0-%D0%B8%D0%B7-%D0%9E%D0%BC%D1%81%D0%BA%D0%B0-%D0%9D%D0%B8%D0%BD%D1%8B-%D0%A2%D0%B5%D1%80%D0%B5%D1%85%D0%BE%D0%B2%D0%BE%D0%B9-.aspx Window Installatio] |
| {{more footnotes|date=February 2013}}
| |
| {{citation style|date=February 2013}}
| |
| }}
| |
| | |
| In [[computability theory]], a '''busy beaver''' is a [[Turing machine]] that attains the maximum number of steps performed or number of nonblank symbols finally on the tape among all Turing machines in a certain class. The Turing machines in this class must meet certain design specifications and are required to [[Halting problem|eventually halt]] after being started with a blank tape.
| |
| | |
| A '''busy beaver function''' quantifies these upper limits on a given measure, and is a [[noncomputable function]]. In fact, a busy beaver function can be shown to grow faster [[asymptotic analysis|asymptotically]] than does any computable function. The concept was first introduced by [[Tibor Radó]] as the "busy beaver game" in his 1962 paper, "On Non-Computable Functions".
| |
| | |
| ==The busy beaver game==
| |
| The '''''n''-state busy beaver game''' (or '''BB-''n'' game'''), introduced in [[Tibor Radó]]'s 1962 paper, involves a class of [[Turing machine#Formal definition|Turing machines]], 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. <br>(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 {0, 1}, 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 one in the current tape cell (it may be the same symbol as the one 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).
| |
| :The transition function may be seen as a finite table of 5-tuples, each of the form
| |
| :(current state, current symbol, symbol to write, direction of shift, next 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, 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 a contest to find such an ''n''-state Turing machine having the largest possible score — the largest number of 1s on its tape after halting. A machine that attains the largest possible score among all ''n''-state Turing machines is called an ''n''-state '''busy beaver''', and a machine whose score is merely the highest so far attained (perhaps not the largest possible) is called a ''champion'' ''n''-state machine.
| |
| | |
| Radó required that each machine entered in the contest be accompanied by a statement of the exact number of steps it takes to reach the Halt state, thus allowing the score of each entry to be verified (in principle) by running the machine for the stated number of steps. (If entries were to consist only of machine descriptions, then the problem of verifying every potential entry is undecidable, because it is equivalent to the well-known [[halting problem]] — there would be no effective way to decide whether an arbitrary machine eventually halts.)
| |
| | |
| ==The busy beaver function Σ==
| |
| The busy beaver function, Σ: ''N'' → ''N'', is defined such that Σ(''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 Σ is a well-defined function: for every ''n'', there are at most finitely many ''n''-state Turing machines as above, [[up to]] isomorphism<!-- (BB(n)=n↑↑↑n) -->, hence at most finitely many possible running times.
| |
| | |
| This infinite sequence '''Σ''' is the '''busy beaver function''', and any ''n''-state 2-symbol Turing machine ''M'' for which σ(''M'') = Σ(''n'') (i.e., which attains the maximum score) is called a '''busy beaver'''. Note that for each ''n'', there exist at least two ''n''-state busy beavers (because, given any ''n''-state busy beaver, another is obtained by merely changing the shift direction in a halting transition).
| |
| | |
| ==Non-computability of Σ==
| |
| Radó's 1962 paper proved that if ''f'': [[natural number|N]] → [[natural number|N]] is any [[computable function]], then Σ(''n'') > ''f(n)'' for all sufficiently large ''n'', and hence that Σ is not a computable function.
| |
| | |
| Moreover, this implies that it is [[Undecidable problem|undecidable]] by a general [[algorithm]] whether an arbitrary Turing machine is a [[Busy beaver#The busy beaver game|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 and Σ(4) = 13 {{OEIS|A028444}}. Σ(n) has not yet been determined for any instance of n > 4, although lower bounds have been established (see the [[#Known values|Known Values]] section below).
| |
| | |
| ==Σ, complexity and unprovability==
| |
| | |
| A variant of [[Kolmogorov complexity]] is defined as follows [cf. Boolos, Burgess & Jeffrey, 2007]: 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]] for the natural numbers, there exists a number ''k'' such that no specific number can be proved 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 proved if "''n'' > Σ(''k'')" were proved). 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 (using [[Knuth up-arrow notation]]); 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 "Σ(10↑↑10) = ''n''", and there are infinitely many true-but-unprovable sentences of the form "Σ(10↑↑10) < ''n''".)
| |
| | |
| ==Max shifts function==
| |
| In addition to the function Σ, Radó [1962] introduced another extreme function for the BB-class of Turing machines, the '''maximum shifts function''', ''S'', defined as follows:
| |
| | |
| <!-- The \,\! in <math>...\,\!</math> forces consistent image-rendering of formulas. Please don't remove them.-->
| |
| * <math>s(M) = \,\!</math> the number of shifts ''M'' makes before halting, for any ''M'' in ''E<sub>n</sub>'',
| |
| * <math>S(n) = \max \{ s(M) | M \in E_n \} = \,\!</math> the largest number of shifts made by any halting ''n''-state 2-symbol Turing machine.
| |
| | |
| Because these 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''), because a shift is required to write a 1 on the tape; 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'', 1965] to prove that Σ(3) = 6: 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, then to simulate all the essentially different 3-state machines for up to 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, thus proving the conjecture that ''S''(3) = 21, and determining that Σ(3) = 6 by the procedure just described.
| |
| | |
| Inequalities relating Σ and ''S'' include the following (from [Ben-Amram, et al., 1996]), which are valid for all ''n'' ≥ 1:
| |
| | |
| :<math>S(n) \ge \Sigma(n) \,\!</math>
| |
|
| |
| :<math>S(n) \le (2n-1)\Sigma(3n+3) \,\!</math>
| |
| | |
| :<math>S(n) < \Sigma(3n+6) \,\! ;</math>
| |
| | |
| and an [[asymptotic analysis|asymptotically]] improved bound (from [Ben-Amram, Petersen, 2002]): there exists a constant ''c'', such that for all ''n'' ≥ 2,
| |
| | |
| :<math>S(n) \le \Sigma(n + \lceil 8n/\log_2 n \rceil + c). \, </math>
| |
| | |
| ==Known values==
| |
| The function values for Σ(''n'') and ''S''(''n'') are only known exactly for ''n'' < 5. The current 5-state busy beaver champion produces 4,098 1s, using 47,176,870 steps (discovered by Heiner Marxen and Jürgen Buntrock in 1989), but there remain about 40 machines with non-regular behavior which are believed to never halt, but which have not yet been proven to run infinitely.<ref>Skelet [http://skelet.ludost.net/bb/nreg.html lists 42 unproven machines]. However, other busy beaver hunters have different sets of machines.</ref> At the moment the record 6-state busy beaver produces over 10<sup>18267</sup> 1s, using over 10<sup>36534</sup> steps (found by Pavel Kropitz in 2010). As noted above, these busy beavers are 2-symbol Turing machines.
| |
| | |
| Milton Green, in his 1964 paper "A Lower Bound on Rado's Sigma Function for Binary Turing Machines", constructed a set of Turing machines demonstrating that
| |
| | |
| :<math>\Sigma(2k) > 3 \uparrow^{k-2} 3 > A(k-2,k-2) \quad (k \ge 2),</math>
| |
| | |
| where <math>\uparrow</math> is [[Knuth up-arrow notation]] and ''A'' is [[Ackermann's function]].
| |
| | |
| Thus
| |
| :<math>\Sigma(10) > 3 \uparrow\uparrow\uparrow 3 = 3 \uparrow\uparrow 3^{3^3} = 3^{3^{3^{.^{.^{.^3}}}}}</math>
| |
| | |
| (with 3<sup>27</sup> = 7,625,597,484,987 terms in the exponential tower), and
| |
| | |
| :<math>\Sigma(12) > 3 \uparrow\uparrow\uparrow\uparrow 3 = g_1, </math>
| |
| | |
| where [[Graham's number#Magnitude|the number ''g''<sub>1</sub>]] is the enormous starting value in the sequence that defines [[Graham's number]].
| |
| | |
| In contrast, the current bound on Σ(6) is 10<sup>18267</sup>, which is greater than the lower bound 3<sup>3</sup>=27 (which is tiny in comparison). In fact, it is much greater than the lower bound :<math>3 \uparrow\uparrow 3 = 3^{3^3} = 7,625,597,484,987</math>, which is Green's bound for <math>\Sigma(8)</math>.
| |
| | |
| ==Generalizations==
| |
| For any [[model of computation]] there exist simple analogs of the busy beaver. For example, 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 119,112,334,170,342,540 steps before halting<!--[http://www.cse.unr.edu/~al/BusyBeaver.html]-->. The longest running 6-state, 2-symbol machine which has the additional property of reversing the tape value at each step produces 6,147 1s after 47,339,970 steps. So ''S''<sub>RTM</sub>(6) ≥ 47,339,970 and Σ<sub>RTM</sub>(6) ≥ 6,147.
| |
| | |
| It is possible to further generalize the busy beaver function by extending to more than one dimension.
| |
| | |
| Likewise we could define an analog to the Σ function for [[register machine]]s as the largest number which can be present in any register on halting, for a given number of instructions.
| |
| | |
| ==Applications==
| |
| In addition to posing a rather challenging [[mathematical game]], the busy beaver functions offer an entirely new approach to solving pure mathematics problems. Many [[open problem in mathematics|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''.<ref>Chaitin 1987</ref>
| |
| | |
| Consider any [[conjecture]] that could be [[mathematical proof|disproven]] via a [[counterexample]] among a [[countable]] number of cases (e.g. [[Goldbach's conjecture]]). 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 2 primes in our example), it halts and notifies us. 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 used to systematically solve many open problems in mathematics (in theory). 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). It has only been proven for extremely small machines with fewer than 5 states, while one would presumably need at least 20-50 states to make a useful machine. Furthermore, 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.
| |
| * But even if one did find a better way to calculate ''S''(''n''), the values of the busy beaver function (and max shift function) get very large, very fast. ''S''(6) > 10<sup>36534</sup> already requires special pattern-based acceleration to be able to simulate to completion. Likewise, we know that <math>S(10) > \Sigma(10) > 3 \uparrow\uparrow\uparrow 3</math> is a gigantic number. Thus, even if we knew, say, ''S''(30), it is completely unreasonable to run any machine that number of steps. There is not enough computational capacity in the known universe to have performed even ''S''(6) operations directly.<ref>Lloyd 2001. [http://arxiv.org/abs/quant-ph/0110141 Computational Capacity of the Universe].</ref>
| |
| | |
| ==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''<sub>0</sub> be the number of states of this machine. Let ''Create_n<sub>0</sub>'' denote a Turing machine creating ''n''<sub>0</sub> 1s on an initially blank tape. This machine may be constructed in a trivial manner to have ''n''<sub>0</sub> states (the state ''i'' writes 1, moves the head right and switches to state ''i'' + 1, except the state ''n''<sub>0</sub>, which halts). Let ''N'' denote the sum ''n''<sub>0</sub> + ''n''<sub>0</sub>.
| |
| | |
| Let ''BadS'' denote the composition ''Create_n<sub>0</sub>'' | ''Double'' | ''EvalS'' | ''Clean''. Notice that this machine has ''N'' states. Starting with an initially blank tape it first creates a sequence of ''n''<sub>0</sub> 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]] 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.
| |
| | |
| == Examples ==
| |
| {{for|an example of a 3-state busy beaver's state table and its "run"|Turing machine examples#3-state Busy Beaver|Turing machine examples}}
| |
| | |
| These are tables of rules for the Turing machines that generate Σ(1) and ''S''(1), Σ(2) and ''S''(2), Σ(3) (but not ''S''(3)), Σ(4) and ''S''(4), and the best known lower bound for Σ(5) and ''S''(5), and Σ(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 <span style="color:blue">'''H'''</font>.
| |
| | |
| 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 <u>underlined</u>, halts at the position '''in bold''')
| |
| | |
| {| class="wikitable"
| |
| |+ 1-state, 2-symbol busy beaver
| |
| ! width="20px" |
| |
| ! A
| |
| |-
| |
| ! 0
| |
| | 1R<span style="color:blue">'''H'''</font>
| |
| |-
| |
| ! 1
| |
| | (not used)
| |
| |}
| |
| | |
| '''Result:''' 0 0 <u>1</u> '''0''' 0 (1 step, one "1" total)
| |
| | |
| {| class="wikitable"
| |
| |+ 2-state, 2-symbol busy beaver
| |
| ! width="20px" |
| |
| ! A
| |
| ! B
| |
| |-
| |
| ! 0
| |
| | 1R'''B'''
| |
| | 1L'''A'''
| |
| |-
| |
| ! 1
| |
| | 1L'''B'''
| |
| | 1R<span style="color:blue">'''H'''</font>
| |
| |}
| |
| | |
| '''Result:''' 0 0 1 1 '''<u>1</u>''' 1 0 0 (6 steps, four "1"s total)
| |
| | |
| {| class="wikitable"
| |
| |+ 3-state, 2-symbol busy beaver
| |
| ! width="20px" |
| |
| ! A
| |
| ! B
| |
| ! C
| |
| |-
| |
| ! 0
| |
| | 1R'''B'''
| |
| | 0R'''C'''
| |
| | 1L'''C'''
| |
| |-
| |
| ! 1
| |
| | 1R<span style="color:blue">'''H'''</font>
| |
| | 1R'''B'''
| |
| | 1L'''A'''
| |
| |}
| |
| | |
| '''Result:''' 0 0 1 <u>1</u> 1 '''1''' 1 1 0 0 (14 steps, six "1"s total).
| |
| | |
| Unlike the previous machines, this one is a busy beaver only for Σ, but not for S. (S(3) = 21.)
| |
| | |
| {| class="wikitable"
| |
| |+ 4-state, 2-symbol busy beaver
| |
| ! width="20px" |
| |
| ! A
| |
| ! B
| |
| ! C
| |
| ! D
| |
| |-
| |
| ! 0
| |
| | 1R'''B'''
| |
| | 1L'''A'''
| |
| | 1R<span style="color:blue">'''H'''</font>
| |
| | 1R'''D'''
| |
| |-
| |
| ! 1
| |
| | 1L'''B'''
| |
| | 0L'''C'''
| |
| | 1L'''D'''
| |
| | 0R'''A'''
| |
| |}
| |
| | |
| '''Result:''' 0 0 1 '''0''' 1 1 1 1 1 1 1 1 <u>1</u> 1 1 1 0 0 (107 steps, thirteen "1"s total)
| |
| | |
| {| class="wikitable"
| |
| |+ current 5-state, 2-symbol best contender (possible busy beaver)
| |
| ! width="20px" |
| |
| ! A
| |
| ! B
| |
| ! C
| |
| ! D
| |
| ! E
| |
| |-
| |
| ! 0
| |
| | 1R'''B'''
| |
| | 1R'''C'''
| |
| | 1R'''D'''
| |
| | 1L'''A'''
| |
| | 1R<span style="color:blue">'''H'''</font>
| |
| |-
| |
| ! 1
| |
| | 1L'''C'''
| |
| | 1R'''B'''
| |
| | 0L'''E'''
| |
| | 1L'''D'''
| |
| | 0L'''A'''
| |
| |}
| |
| | |
| '''Result:''' 4098 "1"s with 8191 "0"s interspersed in 47,176,870 steps.
| |
| | |
| {| class="wikitable"
| |
| |+ current 6-state, 2-symbol best contender
| |
| ! width="20px" |
| |
| ! A
| |
| ! B
| |
| ! C
| |
| ! D
| |
| ! E
| |
| ! F
| |
| |-
| |
| ! 0
| |
| | 1R'''B'''
| |
| | 1R'''C'''
| |
| | 1L'''D'''
| |
| | 1R'''E'''
| |
| | 1L'''A'''
| |
| | 1L<span style="color:blue">'''H'''</font>
| |
| |-
| |
| ! 1
| |
| | 1L'''E'''
| |
| | 1R'''F'''
| |
| | 0R'''B'''
| |
| | 0L'''C'''
| |
| | 0R'''D'''
| |
| | 1R'''C'''
| |
| |}
| |
| | |
| '''Result:''' ≈3.515 × 10<sup>18267</sup> "1"s in ≈7.412 × 10<sup>36534</sup> steps.
| |
| | |
| ==Exact values and lower bounds for some ''S''(''n'', ''m'') and Σ(''n'', ''m'')==
| |
| The following table lists the exact values and some known lower bounds for ''S''(''n'', ''m'') and Σ(''n'', ''m'') for the generalized busy beaver problems. Known exact values are shown as plain integers and known lower bounds are preceded by a greater than or equal to (≥) symbol. Note: entries listed as "???" are bounded from below by the maximum of all entries to left and above. These machines either haven't been investigated or were subsequently surpassed by a machine preceding them.
| |
| | |
| The Turing machines that achieve these values are available on both [http://www.drb.insel.de/~heiner/BB/ Heiner Marxen's] and [http://www.logique.jussieu.fr/~michel/ha.html Pascal Michel's] webpages. Each of these websites also contains some analysis of the Turing machines and references to the proofs of the exact values.
| |
| | |
| '''Values of S(''n'',''m'')''':
| |
| :{| class="wikitable"
| |
| !
| |
| ! width="120px" | 2-state
| |
| ! width="120px" | 3-state
| |
| ! width="120px" | 4-state
| |
| ! width="120px" | 5-state
| |
| ! width="120px" | 6-state
| |
| |-
| |
| ! 2-symbol
| |
| | align="right" | 6
| |
| | align="right" | 21
| |
| | align="right" | 107
| |
| | align="right" | ≥ 47,176,870
| |
| | align="right" | > 7.4 × 10<sup>36534</sup>
| |
| |-
| |
| ! 3-symbol
| |
| | align="right" | 38
| |
| | align="right" | ≥ 119,112,334,170,342,540
| |
| | align="right" | > 1.0 × 10<sup>14072</sup>
| |
| | align="center" | ???
| |
| | align="center" | ???
| |
| |-
| |
| ! 4-symbol
| |
| | align="right" | ≥ 3,932,964
| |
| | align="right" | > 5.2 × 10<sup>13036</sup>
| |
| | align="center" | ???
| |
| | align="center" | ???
| |
| | align="center" | ???
| |
| |-
| |
| ! 5-symbol
| |
| | align="right" | > 1.9 × 10<sup>704</sup>
| |
| | align="center" | ???
| |
| | align="center" | ???
| |
| | align="center" | ???
| |
| | align="center" | ???
| |
| |-
| |
| ! 6-symbol
| |
| | align="right" | > 2.4 × 10<sup>9866</sup>
| |
| | align="center" | ???
| |
| | align="center" | ???
| |
| | align="center" | ???
| |
| | align="center" | ???
| |
| |}
| |
| | |
| '''Values of Σ(''n'',''m'')''':
| |
| :{| class="wikitable"
| |
| !
| |
| ! width="120px" | 2-state
| |
| ! width="120px" | 3-state
| |
| ! width="120px" | 4-state
| |
| ! width="120px" | 5-state
| |
| ! width="120px" | 6-state
| |
| |-
| |
| ! 2-symbol
| |
| | align="right" | 4
| |
| | align="right" | 6
| |
| | align="right" | 13
| |
| | align="right" | ≥ 4,098
| |
| | align="right" | > 3.5 × 10<sup>18267</sup>
| |
| |-
| |
| ! 3-symbol
| |
| | align="right" | 9
| |
| | align="right" | ≥ 374,676,383
| |
| | align="right" | > 1.3 × 10<sup>7036</sup>
| |
| | align="center" | ???
| |
| | align="center" | ???
| |
| |-
| |
| ! 4-symbol
| |
| | align="right" | ≥ 2,050
| |
| | align="right" | > 3.7 × 10<sup>6518</sup>
| |
| | align="center" | ???
| |
| | align="center" | ???
| |
| | align="center" | ???
| |
| |-
| |
| ! 5-symbol
| |
| | align="right" | > 1.7 × 10<sup>352</sup>
| |
| | align="center" | ???
| |
| | align="center" | ???
| |
| | align="center" | ???
| |
| | align="center" | ???
| |
| |-
| |
| ! 6-symbol
| |
| | align="right" | > 1.9 × 10<sup>4933</sup>
| |
| | align="center" | ???
| |
| | align="center" | ???
| |
| | align="center" | ???
| |
| | align="center" | ???
| |
| |}
| |
| | |
| ==See also==
| |
| *[[Turmite]]
| |
| | |
| ==Notes==
| |
| <references />
| |
| | |
| ==References==
| |
| <div class="references-small">
| |
| * {{cite journal | last1 = Radó | first = Tibor | url = http://www.alcatel-lucent.com/bstj/vol41-1962/articles/bstj41-3-877.pdf | title = On non-computable functions | journal = [[Bell System Technical Journal]] | volume = 41 | issue = 3 |date=May 1962 | pages = 877–884 }}
| |
| *: This is where Radó first defined the busy beaver problem and proved that it was uncomputable and grew faster than any computable function.
| |
| * {{cite journal | last1 = Lin | first1 = Shen | last2 = Radó | first2 = Tibor | title = Computer Studies of Turing Machine Problems | journal = [[Journal of the ACM]] | volume = 12 | issue = 2 |date=April 1965 | pages = 196–212 | doi=10.1145/321264.321270 }}
| |
| *: 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.)
| |
| * {{cite journal | last1 = Brady | first1 = Allen H. | title = The determination of the value of Rado's noncomputable function Sigma(k) for four-state Turing machines | journal = [[Mathematics of Computation]] | volume = 40 | issue = 162 |date=April 1983 | pages = 647–665 | url = http://www.jstor.org/stable/2007539 | doi = 10.1090/S0025-5718-1983-0689479-6 }}
| |
| *: 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.
| |
| * {{cite journal | last1 = Machlin | first1 = Rona | last2 = Stout | first2 = Quentin F. | url = http://www.eecs.umich.edu/~qstout/abs/busyb.html | title = The complex behavior of simple machines | journal = [[Physica (journal)|Physica D: Nonlinear Phenomena]] | volume = 42 | issue = 1–3 |date=June 1990 | pages = 85–98 | doi = 10.1016/0167-2789(90)90068-Z | id = {{hdl|2027.42/28528}} }}
| |
| *: 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 (Ω).
| |
| * {{cite journal | last1 = Marxen | first1 = Heiner | last2 = Buntrock | first2 = Jürgen | title = Attacking the Busy Beaver 5 | journal = [[European Association for Theoretical Computer Science|Bulletin of the EATCS]] | volume = 40 |date=February 1990 | pages = 247–251 | url = http://www.drb.insel.de/~heiner/BB/mabu90.html }}
| |
| *: Marxen and Buntrock demonstrate that Σ(5) ≥ 4098 and S(5) ≥ 47,176,870 and describe in detail the method they used to find these machines and prove many others will never halt.
| |
| * {{cite conference | last1 = Green | first1 = Milton W. | year = 1964 | url = http://doi.ieeecomputersociety.org/10.1109/SWCT.1964.3 | title = A Lower Bound on Rado's Sigma Function for Binary Turing Machines | conferenceurl = http://www.computer.org/csdl/proceedings/focs/1964/5428/00/index.html | conference = 1964 Proceedings of the Fifth Annual Symposium on Switching Circuit Theory and Logical Design | pages = 91–94 | doi = 10.1109/SWCT.1964.3 }}
| |
| *: 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]].
| |
| * {{cite journal | last = Dewdney | first = Alexander K. |authorlink = Alexander Dewdney | title = A computer trap for the busy beaver, the hardest working Turing machine | journal = [[Scientific American]] | volume = 251 | issue = 2 | pages = 10–17 | year = 1984 }}
| |
| *: Busy beaver programs are described by [[Alexander Dewdney]] in ''Scientific American'', August 1984, pages 19–23, also March 1985 p. 23 and [http://grail.cba.csuohio.edu/~somos/busy.html#dewd April 1985 p. 30].
| |
| * {{cite book | last1 = Chaitin | first1 = Gregory J. | chapter = Computing the Busy Beaver Function | chapter-url = http://www.umcs.maine.edu/~chaitin/bellcom.pdf | editor1-first = T. M. | editor1-last = Cover | editor2-first = B. | editor2-last = Gopinath | title = Open Problems in Communication and Computation | publisher = Springer | year = 1987 | pages = 108–112 | isbn = 978-0387966212 }}
| |
| * {{cite book | last = Brady | first = Allen H. | chapter = The Busy Beaver Game and the Meaning of Life | pages = 237–254 | editor1-last = Herken | editor1-first = Rolf | title = The Universal Turing Machine: A Half-Century Survey | edition = 2<sup>nd</sup> | year = 1995 | publisher = Springer-Verlag | location = Wien New York }}
| |
| *: 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]] and [[Conway's Game of Life]]). Of particular interest is "The Busy Beaver Game in Two Dimensions" (p. 247). With 19 references.
| |
| * {{cite book | authorlink = Taylor L. Booth | first = Taylor L. | last = Booth | title = Sequential Machines and Automata Theory | publisher = Wiley | location = New York | year = 1967 }}
| |
| *: 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."
| |
| * {{cite journal | first1 = A. M. | last1 = Ben-Amram | first2 = B. A. | last2 = Julstrom | first3 = U. | last3 = Zwick | title = A note on Busy Beavers and other creatures | journal = [[Mathematical Systems Theory]] | volume = 29 | pages = 375–386 | year = 1996 | doi = 10.1007/BF01192693 }}
| |
| *: Bounds between functions Σ and ''S''.
| |
| *{{cite journal | first1 = A. M. | last1 = Ben-Amram | first2 = H. | last2 = Petersen | url = http://www.springerlink.com/content/uy02c7ny21mv04tj | title = Improved Bounds for Functions Related to Busy Beavers | journal = [[Theory of Computing Systems]] | volume = 35 | pages = 1–11 | year = 2002 | doi = <!-- 10.1007/s00224-001-1052-0 -- DOI not working right now --> }}
| |
| *: Improved bounds.
| |
| * {{cite conference | first1 = G. | last1 = Lafitte | first2 = C. | last2 = Papazian | id = {{citeseerx|10.1.1.104.3021}} | title = The fabric of small Turing machines | booktitle = Computation and Logic in the Real World, Proceedings of the Third Conference on Computability in Europe | month = June | year = 2007 | pages = 219–227 }}
| |
| *: 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.
| |
| * {{cite book | first1 = George S. | last1 = Boolos | first2 = John P. | last2 = Burgess | first3 = Richard C. | last3 = Jeffrey | title = Computability and Logic | edition = Fifth | year = 2007 | publisher = Cambridge University Press | isbn = 978-0-521-87752-7 }}
| |
| </div>
| |
| | |
| ==External links==
| |
| * The page of [http://www.drb.insel.de/~heiner/BB/ Heiner Marxen], who, with Jürgen Buntrock, found the above-mentioned records for a 5 and 6-state Turing machine.
| |
| * Pascal Michel's [http://www.logique.jussieu.fr/~michel/ha.html Historical survey] of busy beaver results which also contains best results and some analysis.
| |
| * Definition of the class [http://skelet.ludost.net/bb/RTM.htm RTM] - Reversal Turing Machines, simple and strong subclass of the TMs.
| |
| * The "[http://www.cogsci.rpi.edu/~heuveb/research/BB/ Millennium Attack]" at the Rensselaer RAIR Lab on the busy beaver Problem. This effort found several new records and established several values for the quadruple formalization.
| |
| * Daniel Briggs' [http://web.mit.edu/~dbriggs/www/ website] and [http://dbriggs.scripts.mit.edu/forum/index.php forum] for solving the 5-state, 2-symbol busy beaver problem, based on [http://skelet.ludost.net/bb/nreg.html Skelet] (Georgi Georgiev) nonregular machines list.
| |
| *Aaronson, Scott (1999), ''[http://www.scottaaronson.com/writings/bignumbers.html Who can name the biggest number?]''
| |
| * {{MathWorld |title=Busy Beaver |urlname=BusyBeaver}}
| |
| * ''[http://demonstrations.wolfram.com/BusyBeaver/ Busy Beaver]'' by Hector Zenil, [[Wolfram Demonstrations Project]].
| |
| | |
| {{DEFAULTSORT:Busy Beaver}}
| |
| [[Category:Computability theory]]
| |
| [[Category:Theory of computation]]
| |
| [[Category:Large integers]]
| |