An honor just to be nominated

Rich’s p16 came in at 11th place in the 2016 Pattern of the Year awards. First place was never even a remote possibility, not in a year that produced the Caterloopillar and the Copperhead. (I actually thought the latter would win handily, but I guess that’s just my relative lack of interest in engineered spaceships showing.)

Changing the rules (part 3)

Take a look at a pre-loaf and a pi:screen-shot-2016-09-07-at-11-37-22-pm

If you run them in B37c/S23, the pre-loaf stabilizes quickly, but the pi takes a while — and some space. It needs 110 generations to settle down.

If you run them in B37e/S23, though, the pre-loaf just becomes a loaf immediately and the pi stabilizes much more quickly, in only 23 generations, and without spreading out so much.

So based on that, maybe it’s plausible B37c/S23 could be explosive while B37e/S23 isn’t. And then that might help account for why B37/S23 is explosive while B36/S23 and B38/S23 aren’t.

But this is still rather hand-wavy. Plausible is one thing, proved is something else entirely. First, it’s not just what happens to these objects that matters, but also how likely they are to arise in the first place. No matter how long and over what area a pi evolves, it won’t cause anything if it never crops up in the first place.

Second, in addition to pre-loafs and pis, you also need to consider larger sub-patterns with pre-loaves and pis embedded in them. How likely are they and what do they do under the two rules?

Anyway, proof or no proof, B37e/S23 really isn’t explosive. That means — unlike B37/S23 — it can be explored with a soup search. But apgmera, the C++ version 3 of apgsearch, can’t handle non-totalistic rules. The Python version 1.0 can, or rather a hacked version of it can. Slowly! I’ve been running it and it’s done 2 or 3 soups per second, about 3 orders of magnitude slower than apgmera can run B3/S23. And for some reason it seemed not to be sending results to Catagolue.*

But anyway, 11c/52 diagonal puffers cropped up several times, laying trails of blocks and loaves:

screen-shot-2016-09-07-at-11-49-25-pmThis puffer evolves from this 7 cell object:screen-shot-2016-09-07-at-11-54-50-pmAnd if there’s a suitably placed ship nearby, it becomes an 11c/52 diagonal spaceship. This has cropped up in several soups.screen-shot-2016-09-07-at-11-44-59-pm

*Edit: My B37e/S23 hauls are on Catagolue, but under the enharmonic name B37-c/S23.

Changing the rules (part 2a)

That lame explanation seems even more lame when you consider this: The non totalistic rule B37c/S23 (meaning birth occurs if there are 3 live neighbors, or if there are 7 live neighbors with the dead neighbor in the corner of the neighborhood) is explosive, but B37e/S23 (birth occurs if there are 3 live neighbors, or if there are 7 live neighbors with the dead neighbor on the edge of the neighborhood) isn’t.

Changing the rules (part 2)

Here’s an even more perplexing (to me, at least) instance of different CA behavior under similar-but-different rules. Consider this 32 x 32 soup:Screen Shot 2016-09-04 at 10.14.02 AM B36/S23 is a Life-like rule sometimes called HighLife. Many objects behave the same way as in Life; in particular, blocks, loaves, boats, and beehives are still lifes; blinkers are p2 oscillators; gliders are c/4 diagonal spaceships. So after 378 generations in B36/S23 when that soup looks like this, it’s stabilized:Screen Shot 2016-09-04 at 10.10.26 AM B38/S23 has no nickname I know of. Under that rule, the same soup stabilizes in 483 generations:Screen Shot 2016-09-04 at 10.10.52 AM And in B37/S23… here’s what it evolves to after 10,000 generations:Screen Shot 2016-09-04 at 10.11.08 AMPopulation 17,298 and growing, presumably forever.

Fairly typical. I’ve seen some soups take several thousand generations to stabilize in B38/S23, and I’ve seen a few — very few — stabilize in B37/S23. But most soups stabilize in 1000 generations or so in B36/S23 and B38/S23… and almost all soups explode in B37/S23.

Does that make any sense to you? Explain it to me, then.

I guess you can wave your hands and say “well, if you have few births you don’t get explosive behavior, and if you have many births in some small region you get momentary overpopulation which then crashes in the next generation, but somewhere in the middle there’s a point where you have not too few births but not enough crashes and it explodes”. But is that the best we can do at understanding this?

Edit: In fact, that lame explanation seems even more lame when you consider this: The non totalistic rule B37c/S23 (meaning birth occurs if there are 3 live neighbors, or if there are 7 live neighbors with the dead neighbor in the corner of the neighborhood) is explosive, but B37e/S23 (birth occurs if there are 3 live neighbors, or if there are 7 live neighbors with the dead neighbor on the edge of the neighborhood) isn’t.

Changing the rules

It surprises me how hard it can be to guess what kind of behavior a given CA rule will produce. There are some things that are fairly obvious. For instance, under a rule that doesn’t include births with fewer than 4 live neighbors, no pattern will never expand past its bounding box. (Any empty cell outside the bounding box will have no more than 3 live neighbors, so no births will occur there.)

But beyond a few observations like that, it’s hard to predict. At least for me.

Consider the rule B34/S456, for a semi random example. Start with a 32 by 32 soup at 50% density:gen0 Then let it run for 1000 generations. It expands to a blob 208 by 208 in size, population 21,132:b34s456But change the B34/S456 rule to B3/S456 or B4/S456 — removing one number or the other from the birth rule — and either way, the same initial configuration dies.

How about removing one number from the survival rule? B34/S56 collapses to a little period 2 oscillator:b34s56

And so does B34/S45. But B34/S46 dies.

Now try adding numbers to the birth rule. B345/S456 for instance:b345s456

At first it expands, but only until it makes this near-square shape. Its boundaries no longer move, but oscillate with period 2. The interior is mostly static but there are a couple of regions that oscillate with period 3, so the whole thing is a p6 oscillator.

Here’s B346/S456:b346s456

So we’re back to infinitely growing irregular blob behavior. Population 53,457. How about B347/S456?b347s456Likewise, but slower growing; population only 15,686. Want to guess at B348/S456?b348s456Blob again, but population only 9672. Not too surprising. Except that both B347/S456 and B348/S456 grow slower than B34/S456, even though both differ only in that there are more ways to produce a birth!

Finally let’s add numbers to the survival rule. B34/S4567 first:b34s4567
Population 196,655. If you see faint squares on that blob it’s an artifact of the image reduction. Click on the image to see it at full size. It’s interesting: there are chaotic regions interspersed with domains where the live cells are arranged regularly. Most of the interior cells are stable or oscillate with period 2, and the only real evolution occurs at the boundary of the blob. That’s true of the B34/S4568 blob too:b34s4568but here the growth rate is much smaller — the population’s only 23,299 — and the interior of the blob’s pretty random with only very small regular domains.

So twelve rules: B34/S456, B4/S456, B3/S456, B34/S56, B34/S46, B34/S45, B345/S456, B346/S456, B347/S456, B348/S456, B34/S4567, B34/S4568. All look similar in that the last eleven differ from the first only by the addition or removal of a single number. Three die, two collapse to a small oscillator, one shows bounded growth, and the other six show unbounded growth, but not only at different rates but with different behavior: unstable interior versus stable or oscillating interior; random patterns versus random mixed with regular. There’s the seeming paradox that adding a digit to the rule can produce something that grows more slowly, or can even stop it from growing.

Add or subtract a second digit and try guessing what’ll happen. I don’t guess correctly very often.


Big natural ship in B358/S23

Here’s another big spaceship evolving from a soup. The rule here is B358/S23, and the soup has D2_+1 symmetry.Screen Shot 2016-07-17 at 7.06.44 AM

x = 143, y = 41, rule = B358/S23

It goes left to right (right to left in the original soup) at speed 36c/72.

Again, the way this comes about is through development of a small seed. In this case at generation 83 you get a couple of these objectsScreen Shot 2016-07-17 at 12.09.26 PMwhich in four generations recur, inverted, but with some debris.Screen Shot 2016-07-17 at 12.09.44 PMBy itself, this seed becomes a 36c/72 puffer.Screen Shot 2016-07-17 at 12.09.02 PMBut two of them, mirror images at just the right separation, have their smoke trails interact in such a way as to extinguish them, and the result is a spaceship. If you start with this pairScreen Shot 2016-07-17 at 12.24.37 PM

x = 9, y = 29, rule = B358/S23

you end up with a ship, plus a couple of blinkers.

These puffer seeds crop up fairly regularly — they develop into puffers 214 times out of 5,274,253,500 C1 soups — though this looks like the first time two of them have produced a spaceship. This symmetric object isn’t the only way to kill the puffer smoke, though. Here are six other ships produced by placing two puffers at various relative positions and phases. Undoubtedly there are lots more.Screen Shot 2016-07-17 at 7.38.24 AM

x = 363, y = 80, rule = B358/S23


Big and natural and (5,2)c/190

Generally speaking the larger a Life object is, the less likely it is to arise from a random soup. Going by the current Catagolue census, for instance, gliders arise in Life 684 times as often as lightweight spaceships, which are seen 3.8 times as often as middleweight spaceships, which turn up 5.8 times as often as heavyweight spaceships. Or look at the statistics page: All of the still lifes of size up to 13 have arisen, and 616 of the 619 size 14 still lifes, but only 1256 out of 1353 size 15, 2484 out of 3286 size 16, 4199 out of 7773 size 17 and so on… to only 7769 out of 4,051,711 still lifes of size 24.

Now, the smallest known Life spaceship that isn’t a glider, a *WSS, or a flotilla of *WSSs is the loafer, which has population 20 in a 9 by 9 bounding box. For comparison the HWSS is 13 cells in a 7 by 4 bounding box. There are 2^81 possible states for a 9 by 9 box versus 2^28 for a 7 by 4, or 2^53 times as many — about 9 quadrillion. From that point of view it’s not too surprising no loafer has evolved naturally from a soup so far. Only 111 trillion objects have been seen so far, after all.

So what are the odds of natural occurrence of a population 49 spaceship in a 47 by 17 bounding box? Incomprehensibly tiny, you would think — never in many times the lifetime of the universe would it happen.

Well, so you might think, anyway. Evidently that thinking’s not entirely correct:Screen Shot 2016-07-09 at 6.55.05 PMBecause that pattern evolved, not in Life but in the Life-like B38/S23, from a random D2_+2 soup, on my computer in the past few hours. It may not look like much… but it’s a spaceship. A spaceship which in 190 generations travels obliquely, 5 cells up and 2 cells to the left.

I was pretty excited by this discovery, until I checked the census for B38/S23 C1 soups, and saw that a bunch of p190 ships have been found already, the first by David S. Miller last April. Then I found out, well, re-found out these ships had been discussed extensively in a forum thread shortly after that. A thread which I read. And forgot about.

All these ships are based on the same fundamental engine. Take a look at the part on the right of the above ship. Run just that for 190 generations and you get this:Screen Shot 2016-07-09 at 7.28.16 PMThree of the pieces of the original pattern come back, shifted by (5, 2). The fourth piece gets changed. So this is a near spaceship by itself.

Now if you look at the part on the left and run that 52 generations you get:Screen Shot 2016-07-09 at 7.31.34 PMThe same thing as the right half at generation zero, minus the boat. So the ship consists basically of two out of phase copies of a single engine, plus a boat, evolving in such a way that the interaction between them makes up for the lack of a boat for the left engine, and changes the evolution of the 7-bit piece in both engines to make it recur in 190 generations.

Another way to look at it: Start with an R pentomino and a boat:Screen Shot 2016-07-09 at 8.34.21 PMAfter 192 generations you get this:Screen Shot 2016-07-09 at 8.35.04 PMAnd if you add a second R pentomino in just the right place at just the right phase, it’ll react with the first R and boat in just such a way as to make a spaceship. Seems kind of miraculous, but in fact there several ways to accomplish it. According to David S. Miller, at least 692 ways. Of which, as of today, apparently 11 have turned up in soup searches. There are also another 120 combinations of two Rs and a boat that produce puffers, rakes, and so on.

So a 47 by 17 spaceship evolving naturally? Not quite as astronomically unlikely as it looks. A remarkable system, though, and there’s nothing like it known in Life. Yet.

Rich’s p18

Hot on the heels of Rich’s p16, here’s a period 18 oscillator, once again found using apgsearch. It even bears a family resemblance to the p16: D2_+1 symmetry and shuttle behavior. But… it doesn’t work in Life (B3/S23). It works in B357/S23.Screenshot - 070816 - 11:54:22


x = 13, y = 5, rule = B357/S23

Rich’s p16

Here’s a new period 16 oscillator:p16

The stubby wiki page says I discovered it, which is silly of course: all I did was install apgsearch and run it looking at D2_+1 soups in standard Life (B3/S23). I was asleep when it found this and woke up to find it’d been tweeted, retweeted, reported on the forum, used to make a smaller p48 gun, deemed awesome, and written up on the wiki.


Gun show (part 4)

The p61 gun is quite different, though it too makes use of herschel tracks. To get a better picture of what’s going on, here it is with history turned on: the blue cells are ones that were live at some point:Screen Shot 2016-04-15 at 11.45.37 PM To start with let’s zoom in to the upper right corner. You see a couple of lightweight spaceships moving west to east, and the spark on the one near the center is about to perturb a southwest-going glider:Screen Shot 2016-04-15 at 11.48.49 PM 39 generations later, and several cells to the south, this becomes an r pentomino:Screen Shot 2016-04-15 at 11.49.24 PM And another 48 generations later, quite a bit further south, it becomes a herschel.Screen Shot 2016-04-15 at 11.50.09 PMThat herschel gets sucked up into a downward conduit (purple line below). It gets converted into two parallel southwest-going gliders. marked1One of these (red line) gets bounced off a series of 90° reflectors, snarks again like the ones we saw in the p58 gun, ending up at the top where it becomes (a later version of) the glider we saw at the start, getting converted to an r pentomino. The other one (yellow line) gets kicked right by an interaction with a herschel loop (orange line). I presume this very complicated reflector is used because it can reflect one glider without messing up the parallel stream (and I’m guessing a similar loop can’t be made to work at p58, hence the different solution used in that gun?). Not quite sure. Anyway, it then gets bounced a couple more times before ending up at the top of another section of the gun, where it’ll share the other glider’s fate: getting converted by a lightweight spaceship into an r pentomino, then a herschel, to feed another herschel track.

Here’s the middle stage:marked2Again a downward track (purple) produces two parallel gliders (red and yellow). Again the yellow one gets bounced by a herschel loop to the top of a third stage for yet another r pentomino conversion. As for the red one, it bounces a bunch of times up to the top left where it runs into… something.

The third stage yet again has a downward track producing two gliders, one bounced off a loop and the other just kicked around with snark reflectors.

marked3Both of these gliders arrive at the proper phase, spacing, and direction to interact with each other and with the red glider from the second stage to produce, of course, a lightweight spaceship. And the spaceship travels east, perturbing three gliders as it goes but remaining unscathed itself. If this were all, you’d have a p61 lightweight spaceship gun, but instead there are a few more still lifes at the right edge which convert the lightweight spaceships into gliders. And there you are. A p61 glider gun.