First page . . . Back to page 4 . . . Forward to page 6 . . . Last page (page 8)
Analysis of the Oct 2000 MarxenBuntrock BB_{6} RecordSetter 'q'
This is a highlevel description of an old BB(6) candidate champion, discovered in October 2000 and later surpassed on March 2001. It writes over 6×10^{462} ones before halting. For a more thorough and rigorous analysis read this page.
This machine operates on similar principles to the one just discussed, but instead of iterating a process of multiplying the number of 1's by 5/2, it iterates a process of raising 2 to the power of the number of 1's! Yes, that's right, iterated exponents. Combined with the modulo dependency mechanism (this time on a modulo3 test rather than modulo4) it's easy to see how it gets up to 10^{462} ones.
To analyze, we use the same method as before of finding a simple "canonical" state (like a run of 1's) and looking at what it produces when the number of 1's changes. In this case, the simplest such state is when the head is in state 2, positioned on a 0 cell, with N consecutive 1's just to the left of the head, and nothing else. Call such a state C(N).
Looking at the fates of the first few C(N)'s, we find:
C(0) becomes C(10) after 86 steps.
C(1) becomes C(24) after 408 steps.
C(2) halts after 8 steps, leaving 4 1's on the tape.
C(3) becomes C(28) after 544 steps.
C(4) becomes C(56) after 2098 steps.
C(5) halts after 11 steps, leaving 6 1's on the tape.
C(6) becomes C(64) after 2730 steps.
C(7) becomes C(120) after 9548 steps.
C(8) halts after 14 steps, leaving 8 1's on the tape.
C(9) becomes C(136) after 12260 steps.
C(10) becomes C(248) after 40806 steps.
C(11) halts after 17 steps, leaving 10 1's on the tape.
C(12) becomes C(280) after 52030 steps.
C(13) becomes C(504) after 168832 steps.
C(14) halts after 20 steps, leaving 12 1's on the tape.
C(15) becomes C(568) after 214488 steps.
It is clear right away that there is a modulo3 effect going on. A general formula is only evident for the case of N=2 modulo 3:
C(3N+2) halts after 3N+8 steps, leaving (2(N+1)/3)+2 1's on the tape.
For the others, we have to consider another "canonical" state; this one is a bit more complex. It consists of bunch of groups of 1's separated by single 0's, with the head in state 2 and positioned just to the left of the leftmost 1. I will represent such a state as D(a,b,c,...) where the a, b, c etc. are numbers giving the number of 1's in each group. Each of the C(N)'s above (except the ones that halt) leads to one of these D(...) states, which then passes through one or more additional D(...) states and ultimately becomes another C() state. Here is the first D(...) state for each C() state:
C(0) becomes 111_1 which we call D(3,1)
C(1) becomes 111_1_1 which we call D(3,1,1)
C(3) becomes 1111_1_1 which we call D(4,1,1)
C(4) becomes 111_11_1_1 which we call D(3,2,1,1)
C(6) becomes D(4,2,1,1)
C(7) becomes D(3,2,2,1,1)
C(9) becomes D(4,2,2,1,1)
C(10) becomes D(3,2,2,2,1,1)
C(12) becomes D(4,2,2,2,1,1)
C(13) becomes D(3,2,2,2,2,1,1)
C(15) becomes D(4,2,2,2,2,1,1)
and in general:
C(3N) becomes D(4,X,1,1) where X is a string of N1 2's in a row
C(3N+1) becomes D(3,X,1,1) where X is a string of N 2's in a row
Then we can look at each of the D's and see what happens:
D(3,1) becomes C(10)
D(3,1,1) becomes D(10,1)
D(10,1) becomes C(24)
D(4,1,1) becomes D(12,1)
D(12,1) becomes C(28)
D(3,2,1,1) becomes D(11,1,1)
D(11,1,1) becomes D(26,1)
D(26,1) becomes C(56)
D(4,2,1,1) becomes D(13,1,1)
D(13,1,1) becomes D(28,1)
D(28,1) becomes C(60)
The pattern that emerges is:
D(N,1) becomes C(2N+4)
D(N,1,1) becomes D(2N+4,1)
D(N,2,1,1) becomes D(2N+5,1,1)
and in general:
D(N,2,X) becomes D(2N+5,X)
where X is any sequence of groups.
So, to figure out how far this machine goes before halting, we have to find the first occurance of a C(N) state, then apply these rules to find each subsequent C(N) state until we get to one with N=2 modulo 3. Since the transition from each C(N) to the next higher C(N) involves approximately N/3 steps iterating 2N+4 or 2N+5 each step, it amounts to calculating (approximately) 2^{N/3} each time. If you count each C(N) as a "step", the machine only takes three "steps" to produce the huge number 6×10^{462}.
C(1) occurs at step 1 of the machine's operation.
C(1) becomes D(3,1,1) which becomes C(24) at step 409.
C(24) = C(8×3), becomes D(4,2,2,2,2,2,2,2,1,1), which becomes C(4600).
C(4600) = C(1533×3+1), becomes D(3,X,1,1) where "X" is a string of 1533 2's in a row, which becomes C(B) where B is calculated by the following BASIC code:
B = 3 FOR X = 1 to 1533 B = 2 * B + 5 NEXT X B = 2 * B + 4 B = 2 * B + 4 PRINT 2 * (B+1) / 3 + 2or the following equivalent code for the bc tool in Unix:
b = 3 x = 1533 while (x > 0) { x = x  1 b = 2 * b + 5 } b = 2 * b + 4 b = 2 * b + 4 2 * (b + 1) / 3 + 2The first few values of B are: 3, 11, 27, 59, 123, 251, ... It gets doubled another 1530 times, which produces a final value of B around 9×10^{462}. As luck would have it, this value of B is equal to 2 modulo 3, so this C(N) is the last. The machine proceeds to cut the number of 1's by 2/3 and halt.
The final line of the samplecode prints the number of 1's that the machine will leave on the tape just before halting. That value is:
64274998051227535695469776160755043010989153278551705369591334375073\ 53044244808535117560064286256132435863376749034679434299778610119888\ 86658563463437539907054723557168433393272208554111381733247158811503\ 30341868202595889544122642918970323255986879066608417102461351403452\ 62280750979809098117770580762320987650584291257578514811285364167355\ 86688154556760240264990637942260439101648404017014632900048602801665\ 8647567729882589366735582198403287964952012694238177960References:
Heiner Marxen, table of record setters
Heiner Marxen, table of BB(6) candidates found by a search in 2000
Robert Munafo, Detailed Analysis of the Oct 2000 MarxenBuntrock BB(6) RecordSetter 'q'.
Ligocki and Kropitz 2022 BB(6) Candidates
In May 2022 a series of BB(6) candidates were announced, raising the record four times in succession, to 6.0×10^{39456}, 1.7×10^{646,456,993}, 10^{10101.6926214×1020823}, and 10↑↑15.
Shawn Ligocki's BB(6) Candidate "pt421k" 3pt1.6926214×10^{20823}
The latter of the 2022 BB(6) machines from Shawn Ligocki has a canonical state looking like this:
canonical(n,m) := ...000[E](0)^{n}100(01)^{m}000...
in which the machine is in state E with the head having just overwritten a 1 with a 0, which has n1 0's to the right followed by 100 and then m copies of 01. The rules for getting to the next canonical state, given by Ligocki on the 27^{th} May 2022, are:
canonical(3k+0,m) → canonical((19×4^{k}13)/3,m+1)
canonical(3k+1,m) → ...000[h]11(011)^{k}00(01)^{(m+1)}000...
canonical(3k+2,m) → canonical((28×4^{k}13)/3,m+1)
To determine when this machine halts, one must iterate a process in which at each step given a k whose remainder modulo 0 is known, one much then compute a value of 4^{k} modulo 9. This becomes difficult once the number of digits is too big to fit in memory. It is necessary ti use methods such as those described in my page on sequence A92188. Based on this type of computation Ligocki determined that the machine terminates with S() and S() bounded by
4^{44434587} < S() < S() < 4^{44434589}
This calculation was confirmed by Wietze Koops on the 30^{th} May 2022.
To calculate the all important modulo values for each step (+0, +1, or +2 in the "canonical" expressions above) Koops defined the values n0, n1, n2, etc. and corresponding k0, k1, k2, etc.:

Before the conversation had completed on the verification of pt421k, Pavel Kropitz announced the machine that came to be called "t15", discussed next.
Pavel Kropitz's BB(6) Candidate "t15" 10↑↑15
First page . . . Back to page 4 . . . Forward to page 6 . . . Last page (page 8)
s.30