The B36/S125 “2x2” Life-Like Cellular Automaton
The B36/S125 (or “2x2”) cellular automaton is one that takes place on a 2D square lattice much like Conway’s Game of Life. Although it exhibits high-level behaviour that is similar to Life, such as chaotic but eventually stable evolution and the existence of a natural diagonal glider, the individual objects that the rule contains generally look very different from their Life counterparts. In this article, a history of notable discoveries in the 2x2 rule is provided, and the fundamental patterns of the automaton are described. Some theoretical results are derived along the way, including a proof that the speed limits for diagonal and orthogonal spaceships in this rule are and , respectively. A Margolus block cellular automaton that 2x2 emulates is investigated, and in particular a family of oscillators made up entirely of blocks are analyzed and used to show that there exist oscillators with period for any integers .
One cellular automaton that has drawn a fair amount of interest recently is the one that takes place on a grid like Conway’s Game of Life, except dead cells are born if they have 3 or 6 live neighbours, and alive cells survive if they have 1, 2, or 5 live neighbours – this information is conveyed by its rulestring “B36/S125”. This rule exhibits many qualities that are similar to those of Life – for example, evolution seems unpredictable and random patterns tend to evolve into “ash fields” consisting of several small stable patterns (known as still lifes) and periodic patterns (known as oscillators).
The B36/S125 automaton has become known as “2x2” because of the fact that it emulates a simpler cellular automaton that acts on blocks of cells. In particular, this means that patterns that are initially made up of blocks will forever be made up of blocks under this evolution rule. Because of the simplicity of the emulated block cellular automaton, it has many properties in common with elementary cellular automata W83 (); W02 () and in particular emulates Wolfram’s rule 90 WR90 ().
Although the rough behaviour and statistics of 2x2 are similar to those of Life, the patterns of 2x2 have completely different structure and thus are interesting in their own right. Furthermore, many questions that have been answered about Life remain open in 2x2, such as whether or not it contains guns or replicators. It has a basic diagonal glider that occurs fairly commonly, though it is larger than the standard Life glider and is thus more difficult to construct. The first infinitely-growing pattern to be discovered was a wickstretcher based on the glider which, despite its simplicity, was not stumbled upon until June 2009. This wickstretcher is displayed in Figure 2 with alive cells in black and dead cells in white.
Other spaceships were found via computerized searches carried out by Alan Hensel, Dean Hickerson, David Bell, and David Eppstein in the 1990s. One of the most important spaceship discoveries was a diagonal spaceship, which showed that it is possible for spaceships to travel faster in the 2x2 universe than in the standard Life universe, despite most of the easy-to-find spaceships being quite slow. We will see that is the diagonal speed limit in 2x2, much like is the diagonal speed limit in Life. Several derived results will also apply to other Life-like cellular automata, and we will note when this is the case, although our focus and motivation will be the 2x2 rule.
2 Ash and Common Patterns
One of those most interesting aspects of 2x2 is the large variety of still lifes and oscillators that appear naturally as a result of evolving randomly-generated starting patterns (known as soup). Many simple still lifes are familiar from the standard Life rules, such as the tub, beehive, aircraft carrier, loaf, and pond. More commonly-occurring, however, are simple “sparse” still lifes that are not stable in Life, such as a horizontal or diagonal row of cells. Table 1 shows the 20 most commonly-occurring still lifes in 2x2.111Computed by evolving random patterns of size and initial density . A total of (non-distinct) still lifes were catalogued as a result. Statistics compiled by the Online Life-Like CA Soup Search. http://www.conwaylife.com/soup
Observe that the fact that cells stay alive if they have only one live neighbour results in an abundance of small still lifes, most of which are made up of islands, with each island being a chain or loop of a few cells. This leads to a simple grammar for constructing large still lifes – see Figure 2. The number of distinct strict still lifes with cells for is given by 222Sloane’s A166476 – the still lifes with or fewer cells are shown in Appendix I. Compare this with the corresponding sequence for Life, which is 333Sloane’s A019473.
The oscillators that occur naturally in 2x2 do not occur in Life. The majority of common oscillators have period 2 or 4, but some small patterns give rise to very high-period oscillators. For example, the fourth most common oscillator is simply the stairstep hexomino in one of its phases, yet it has period 26. The thirteenth most common oscillator, which it might be appropriate to name the “decathlon,” has period 10 and evolves out of a horizontal row of adjacent cells, much like the period 15 “pentadecathlon” of Life evolves out of a horizontal row of adjacent cells. Oscillators with periods 14 and 22 are also relatively frequent, as demonstrated by Table 2.444Based on data from the Online Life-Like CA Soup Search. A total of (non-distinct) oscillators were catalogued.
The only other particularly notable patterns that have been known to appear spontaneously from random soup are a fairly common diagonal glider and a related wickstretcher. Although the glider itself was known of by no later than 1993, the wickstretcher, which works simply by placing the glider next to a diagonal wick, was not found until June 2009. In fact, the wickstretcher and its slight modifications are currently the only known infinitely-growing patterns in 2x2.
3 Oscillators and Spaceships
Beyond the standard oscillators that appear naturally, many oscillators of period 2 through 4 have been constructed by hand and computer search by Alan Hensel, Dean Hickerson, and Lewis Patterson over the years. In 1993, Hensel discovered the first known oscillator with odd period, the small period 5 pattern shown in Figure 3. David Bell soon thereafter noticed that it can be combined with itself and extended in a variety of different ways, creating the first known extensible oscillator. Hensel discovered the first known period 3 oscillator in 1994, and Hickerson found the first known period 11 and 17 oscillators later that same year. To date, the only odd periods for which there are known oscillators are 3, 5, 11, and 17, which shows that odd-period oscillators seem to be much more difficult to construct in this rule than even-period oscillators. We will see later that there is an infinite family of even periods that are easily realized by simple block oscillators. The least period for which there is no known oscillator is 7, while the least even period for which there is no known oscillator is 18.
The diagonal glider is the only spaceship that has ever been seen to occur naturally in 2x2, though several others have been found via computer search. In February 1994, Hensel found the first such spaceship – the orthogonal pattern shown in Figure 5. He also found the next three spaceships, which were orthogonal with speed , , and . As a result of the relative ease of finding slow spaceships in this rule, it was initially suspected that it does not contain spaceships that travel as fast as their Life counterparts ( orthogonally and diagonally). However, David Eppstein found a orthogonal spaceship in October 1998 using his
gfind program E02 (), and several others have been found since then (see Appendix I). Hickerson found the first diagonal spaceship in 1999. Eppstein has since found a diagonal spaceship, which shows that it is possible for spaceships in 2x2 to travel faster than spaceships in Life.
With the discovery of the diagonal spaceship comes the natural question of what the speed limits in 2x2 are for spaceships. It was proved by Conway in the early 1970s that spaceships in Life can not travel faster than orthogonally or diagonally. Using similar methods it is possible to prove that spaceships in 2x2 can not travel faster than orthogonally or diagonally.
Spaceships in 2x2 can not travel faster than diagonally or orthogonally.
The result for diagonal spaceships is proved first. Assume the contrary; assume that there exists a spaceship that travels diagonally at a speed faster than . It then must contain a phase such that if that phase is on or to the left of the diagonal line given by the cells A, B, C, D, E, and F in Figure 6 in generation , then the spaceship is not entirely on or to the left of the diagonal line defined by the cells V and Y in generation . We can thus assume without loss of generality that the cell X is born in generation . Cells V, W, and Y then must be alive in generation . It is clear that V and Y can not already be alive in generation , so they must have three alive neighbours each in generation . It follows that each of C, D, U, W, and Z must be alive in generation .
Now observe that, because cell W is alive in generation and generation , and we know that its four neighbours C, D, U and Z are alive in generation , W must have a fifth alive neighbour in generation : O. We will now derive a contradiction by showing that it is impossible for O to be alive in generation .
For U, W, and Z to be alive in generation , it is necessary that B, C, D, E, M, O, and S all be alive in generation . For C and D to survive to generation , N and P must also be alive in generation ; otherwise C and D have only four alive neighbours. In particular, this implies that C, D, M, N, P, and S must all be alive in generation , which implies that O has at least alive neighbours. Since O also must be alive in generation , it can not be alive in generation – a contradiction. It follows that the spaceship must be on or to the left of the diagonal line defined by the cells V and Y in generation , which shows that it can not travel faster than .555In 1994, Dean Hickerson used a similar method to prove that spaceships in the rule B3/S135 can not travel faster than diagonally or orthogonally.
To see the result for orthogonal spaceships, we perform a similar argument, but instead assume that the spaceship is on or below the line of slope defined by cells A, B, C, D, E, and F in Figure 7 in generation . Assuming that orthogonal spaceships can travel faster than orthogonally, it must be possible for either X or Y to be alive in generation . However, the only one of Y’s neighbours that can possibly be alive in generation is N, so Y can not be alive in generation . Similarly, the only of X’s neighbours that can be alive in generation are B and N, so X can not possibly be alive in generation . This shows that neither X nor Y can be alive in generation , so spaceship speeds are limited to orthogonally. ∎
Because a diagonal spaceship is already known, as are several orthogonal spaceships, the speed limit question for 2x2 has been answered. Additionally, the proof of Theorem 3.1 only relies on a couple of properties of 2x2 and so the upper bounds apply to various other rules as well. In fact, the upper bounds apply to any of the rules in which birth occurs when a cell has neighbours but does not occur for or fewer neighbours.
Finally, it is worth noting that the second half of the proof of Theorem 3.1 implies not only the speed limit result for orthogonal spaceships, but also that any spaceship that travels cells vertically for every cells horizontally (if such a spaceship exists) can not travel faster than .666David Eppstein was aware of this speed upper bound for rules in which birth occurs when a cell has three live neighbours back in 1999 and he used it as an alternative method of proving the upper bound for diagonal spaceships. In particular, this captures the diagonal speed limit and says that knightships (which travel two cells vertically for every one cell horizontally), if they exist, can not travel faster than .
4 As a Block Cellular Automaton
One of the most interesting properties of 2x2 is that it emulates a simpler cellular automaton that acts on blocks of cells. A bit more specifically, it emulates the block cellular automaton that makes use of the Margolus neighbourhood and evolves according to the six rules given by Figure 8.
By saying that 2x2 emulates a Margolus block cellular automaton, we mean that the resulting block appears at the center of the original four blocks. Thus, patterns that are originally made up of blocks will forever be made up of blocks, but the block partition will be offset diagonally by one cell in the odd generations from the even generations. Of course, 2x2 is not the only Life-like cellular automaton that emulates a Margolus block cellular automaton; such a cellular automaton is emulated if and only if the rule satisfies the following four conditions:
Birth occurs for neighbours if and only if survival occurs for neighbours.
Birth occurs for neighbours if and only if survival occurs for neighbours.
Birth occurs for neighbours if and only if survival occurs for neighbours if and only if survival occurs for neighbours.
Birth occurs for neighbour if and only if birth occurs for neighbours if and only if survival occurs for neighbours.
More succinctly, a Life-like cellular automaton emulates a Margolus block cellular automaton if and only if, in its rulestring, B3 = S5, B4 = S4, B5 = S6 = S7, and B1 = B2 = S3. 2x2 can be seen to satisfy these conditions because 4 is neither a birth condition nor a survival condition, 5 is not a birth condition and 6 and 7 are not survival conditions, 3 is a birth condition and 5 is a survival condition, and 3 is not a survival condition and 1 and 2 are not birth conditions. There are Life-like cellular automata that emulate different Margolus block cellular automata. The Life-like cellular automata from B3/S5 to B3678/S0125 all emulate the same Margolus block cellular automaton given by Figure 8.
In fact, it was noticed by David Eppstein in 1998 that the Margolus block cellular automaton that 2x2 emulates also emulates itself via blocks of blocks, but with a slowdown of one simulated generation per real generation. That is, each block in Figure 8 can be replaced by the corresponding block as long as it is understood that the transition time indicated by the arrows is two generations instead of one.
It follows naturally that blocks can be used to simulate blocks, again doubling the number of real generations per simulated generation. In general, blocks can be used to simulate blocks, with each simulated generation requiring real generations. Because the rectangle is an oscillator with period 2, it follows that the rectangle is an oscillator with period 4, the rectangle is an oscillator with period 8, and in general the rectangle is an oscillator with period . This was the first known proof that 2x2 contains oscillators of arbitrarily large period – we will see another proof (also related to block oscillators) in the next section.
One might wonder what types of patterns exist in this block cellular automaton – after all, it is a simpler rule so perhaps we can prove the existence of certain types of patterns in 2x2 by simply trying to find interesting block patterns. However, no block pattern can ever escape its initial “bounding diamond,” so we can not hope to find spaceships or infinitely-growing patterns in this manner. Additionally, because the block partition in even generations is offset by one cell from the block partition in odd generations, we can’t hope to find odd-period oscillators. Thus, we investigate an infinite family of even-period block oscillators.
5 Block Oscillators
One particularly interesting family of oscillators in 2x2 are those that in one phase are a rectangle of alive cells for some integer . For , the oscillator has period 2 and simply rotates by 90 degrees every generation. That is, it starts as a rectangle, evolves into a rectangle after one generation, and then evolves back into a rectangle after the next generation. As increases, these oscillators behave more and more unpredictably. For , the oscillator has period 6 as shown in Figure 10.
By simply playing around with Life simulation software, it is not difficult to compute the period of the block oscillator for to be 777Sloane’s A160657. Other than the fact that each of these periods is two less than a power of two, this sequence does not have any obvious pattern. The following theorem shows that the sequence is in fact related to a well-studied mathematical phenomenon, albeit one that does not admit what most people would consider a closed form solution. Before presenting the theorem, it is perhaps worth noting that B36/S125 is not the only rule in which these oscillators work; these rectangular oscillators behave the same in the rules from B3/S5 to B35678/S012567.
The period of the block oscillator is , where is the multiplicative suborder of .888The values of given by Theorem 5.1 for are (Sloane’s A003558).
The multiplicative suborder of (mod ), denoted , is defined as the least natural number such that b. There exists a satisfying this condition if and only if . Since is odd we know that the mentioned by Theorem 5.1 is well-defined. We now sketch a proof of the theorem.
The key step in the proof is to notice that each phase of these oscillators can be described as an XOR of rectangles – that is, an intersection of rectangles where we keep the sections that consist of an odd number of overlapping rectangles and we discard the sections that consist of an even number of overlapping rectangles. For example, Figure 11 shows a phase of the block oscillator represented as the XOR of a rectangle, a rectangle, and a rectangle.
Different phases may require a different number of rectangles to be XORed, but every phase can always be represented in this way. More important, however, is the fact that the evolution of the oscillators occurs in a predictable way when modeled like this. Consider the grid given in Figure 12, which is helpful in analyzing the evolution of the block oscillators. The fact that it resembles the Sierpinski triangle is no coincidence; this block automaton is, in a sense, emulating the Rule 90 elementary cellular automaton.
The way to read Figure 12 is that that row represents the generation number and the column represents the size of the rectangle that is being XORed. The first column represents a rectangle, the second column represents a rectangle, the third column represents a rectangle, and so on. Thus, you “start” in the top-left cell, and that represents the rectangle of generation . To go to generation , go to the next row, where we see that the only filled in cell is in the second column, which is the column. Thus, generation will just be a filled-in rectangle. To see what generation 2 will look like, go to the next row, where we see that two cells are filled in, corresponding to and rectangles. Thus, XOR together two rectangles of those sizes (in the sense described earlier) to get what generation 2 looks like.
In order to determine the oscillators’ periods, we must observe that if we continue to label the columns in the way described, eventually we hit zero-length rectangles, which does not make a whole lot of sense. Thus, we simply ignore any rectangles that are of length zero. But what about rectangles of negative length? Instead of counting down into negative numbers, start counting back up. Thus, the columns corresponding to a rectangle are given by for and for . To help illustrate this idea, consider the grid given in Figure 13, which shows the lengths associated with each column in the case.
For example, in generation 6, there is a live cell in columns marked “”, “”, “”, and “”. The column marked “” is ignored, and the columns marked “”, “”, and “” correspond to rectangles of size , , and , respectively. Generation 6 of the oscillator should thus be the XOR of these three rectangles, which we saw in Figure 11 is indeed the case.
Now, notice that, because the multiplicative suborder of is well-defined, there must exist some such that . Because is even, it must be the case that is odd. In terms of Figure 13 this means that there is some row containing only one cell (i.e., one of the rows labelled ) such that its cell is in a “” column (i.e., a “” column in the case of the example provided). This means that, at some point during its evolution, a rectangle evolves into a rectangle. A simple symmetry argument shows that this must occur at exactly half of its period.
It follows that the oscillator returns to its original form in generation , where is the multiplicative suborder of . Thus, the period of the block oscillator must be a factor of . It is not difficult to see that the period must actually be of the form for some integer , so the result follows. ∎
Even though there is no known closed form formula for the multiplicative suborder of (mod ), it has several simple properties that can be verified without much difficulty. Importantly, it can be bounded as follows:
The lower bound follows simply by noting that if , then . To see that the upper bound holds, recall that Euler’s theorem says that b, where is the totient of . Since , the inequality follows. Also, since exactly when is prime, we see that equality is attained on the right in Inequality (1) only if is prime.
Let be the period of the block oscillator. Then
By simply letting , , and , Inequality (1) says
Rearranging the inequality gives
The result follows from Theorem 5.1.∎
This result provides, for example, a second proof that 2x2 contains oscillators with arbitrarily large period. In fact, any period of the form for an integer is attainable as a block oscillator by simply choosing . Combining this with the period-doubling method of Section 4, we can construct a block oscillator with period for any integers – one such oscillator is a solid rectangle of alive cells of size . It is still an open question whether or not 2x2 is omniperiodic; that is, whether or not it contains an oscillator of any given period.
It is clear via Figure 13 that a oscillator is a solid rectangle in any generation of the form , where is an integer. In fact, the number of distinct solid rectangles that the oscillator will produce is exactly (or simply if you don’t double-count the 90 degree rotations of rectangles that appear during the second half of the oscillator’s period), where is the multiplicative suborder of (as in Theorem 5.1). Thus, if the upper bound of Theorem 1 is not attained, then there are rectangular blocks of size for some integer that are not part of the evolution of the block oscillator. Table 3 shows us that the smallest example of this happening is in the case because the oscillator has period 14, which is less than the upper bound of 30. Indeed, the case of a rectangle is another oscillator of period 14. This tells us what happens for of the possible nonempty combinations of four rectangles being XORed together (with an overall 90 degree rotation being allowed). So what happens to the two missing combinations? Well, if we XOR a rectangle with a rectangle and a rectangle, we get a seemingly atyptical period block oscillator that simply rotates 90 degree every generation (see Figure 14).999In 1993, Dean Hickerson observed that a similar phenomenon occurs in the case of a rectangle XORed with an rectangle, although it was unknown whether or not there was a smaller block oscillator that did not turn into a single rectangle in one of its phases.
While solid rectangles of size are always an oscillator, this is not the case for rectangles of size – they sometimes evolve into an oscillator and they sometimes vanish completely. It was shown by Dean Hickerson in 1993 they eventually vanish if and only if for some integer . Furthermore, he showed that they must vanish by no later than generation . To find out what happens when is not a power of , we will make use of all of the ideas presented so far in this and the previous section.
If is odd, say for some integer , then generation of the oscillator will be a single rectangle of the size . Since this rectangle is made up of blocks, we know from Section 4 that it is an oscillator with period that is double the period of the block oscillator. It follows from Theorem 5.1 that it has period , where is the multiplicative suborder of .
Now let’s suppose is divisible by but not by – that is, for some integer . Then generation of the oscillator will be a single rectangle of size . Since this rectangle is made up of blocks, we can use the same logic as earlier to see that this pattern is an oscillator with period that is quadruple the period of the block oscillator. That is, it has period , where is the multiplicative suborder of .
Carrying on in this way, one can easily prove the following result.
Let for some . If then the rectangle vanishes in the generation. Otherwise, the rectangle evolves in the generation into a block oscillator with period , where is the multiplicative suborder of .
Acknowledgements. Thanks are extended to Alan Hensel and David Eppstein for helpful e-mails as well as Lewis Patterson and the rest of the ConwayLife.com community for helping dig up information about this rule. Thanks also to Dean Hickerson, David Bell, and the other Life enthusiasts who have investigated B36/S125 over the years. The author was supported by an NSERC Canada Graduate Scholarship and the University of Guelph Brock Scholarship.
- (1) S. Wolfram, Statistical mechanics of cellular automata, Rev. Mod. Phys. 55, 601–644 (1983).
- (2) S. Wolfram, A New Kind of Science, Wolfram Media, Champaign (2002).
- (3) E. W. Weisstein, Rule 90, from MathWorld – a Wolfram web resource. http://mathworld.wolfram.com/Rule90.html
- (4) D. Eppstein, Searching for Spaceships, More Games of No Chance, MSRI Publications 42, 433–453 (2002). arXiv:cs/0004003v2 [cs.AI]