My goal is to find all rulesets of life-like cellular automata and initial states that, when simulated in a toroidal grid (although non-toroidal would be interesting as well) of arbitrary finite dimensions, eventually end up in a fixed end state that doesn't oscillate and can be trivial (empty or full).

It seems like there are multiple classes of solutions:

  1. Rulesets that always generate a stationary end state from any arbitrary initial state (e.g. All "no death" rules B0/S012345678, B1/S012345678). However, I'm unsure if there any more rulesets with this fixed end state guarantee.

  2. Non-trivial initial states in rulesets not contained in the first category that end in all still life, or trivial states. This section seems like it would be extremely large and difficult to generate these initial states computationally.

  3. Trivial initial states in any ruleset that don't change, or simply flip to the other state.

For my purposes I am interested in the first class of these solutions mostly, so that I can simply generate random initial states and guarantee it will eventually reach a fixed end state.

And also, some way of randomly generating arbitrary initial states that conform to the second class, but my hunch is it's not easy.

  • $\begingroup$ This paragraph seems like it's the right way to start organizing these. There appears the quote "There are $262144 (= 2^{18})$ distinct Life-like rules. " and I would guess they mean for a nontoriodal grid. The link is already provided by the OP but I wanted to draw attention to this paragraph. $\endgroup$
    – Mason
    Dec 8, 2019 at 10:01
  • $\begingroup$ Your comment reminded me of how people will use programs to assist searches for B3/S23 patterns, and maybe I need to write my own for searching for different rulesets, because most lists I see of these programs are mostly for patterns in BS/S23 (e.g. ics.uci.edu/~eppstein/ca/search.html ) $\endgroup$
    – brubsby
    Dec 8, 2019 at 15:53

1 Answer 1


I don't have a ton of experience with CA, but I have some. I can at least say that you may have problems with your first requirement, as in general, it's very much impossible to predict these things from the outset. That said, maybe you'll have some luck checking around and seeing what's worked for others.

Generating non-trivial states is also going to be rough. The problem is the massive, massive amount of options you'll have to work with, almost all of which produces garbage. Even the tiniest rule set options are tough to sort through and have enormous ramifications.

Again, in the past to deal with this, I've picked a middle-of-the-ground framework (meaning some 2^128 possible rulesets, maybe), chose at random over and over, ran them shortly, and kept an eye out for "interesting" behavior, which is tough to define. For my purposes, I was interested in computation more than life, so I was watching for behavior that might indicate something analogous to a computer gate.

Perhaps more relevantly to you, I kept an eye out for how quickly or slowly information propagated through the universe. Paradoxically, the slower information travels, the better, so long as it's not actually stagnant and stuck. It means that there's richer, more robust interaction there.

Dunno, that's my two cents. Out of curiosity, do you know what you're using to run it, if you do?

One last thought that I'm reminded of$-$I didn't have much luck, but the idea seemed sound. You could try selecting a few physical mechanisms that you think are conducive to life, like gravity, or extremely basic chemistry-like interaction, maybe consumption and some recognizable form of energy or fuel. Some of these should be easy to spot if you're lucky enough to stumble onto one.

  • $\begingroup$ My true purpose for wanting these rulesets is to create the most visually varied set of animations that eventually end. I'll be writing my own javascript CA simulator for the animations, but for exploration of rulesets I haven't found any good tools online, so I may have to write my own. The best js app I've found is mame.github.io/golgi but it has some limitations for my purpose and isn't automated. Also when I say "animations" this is an example of what I'm talking about for Elementary CA brubsby.com?a=16 (refresh for different wolfram rules!) $\endgroup$
    – brubsby
    Dec 8, 2019 at 15:46
  • $\begingroup$ @brubsby: Would it be sufficient to just have your program stop when it detects that the pattern is cycling back to a previously seen configuration? That's always guaranteed to eventually happen on a finite grid, although in some cases it can take an exponentially long time (but then, so can settling into a fixed state, too). $\endgroup$ Dec 8, 2019 at 19:07
  • $\begingroup$ @ilmari-karonen I've considered that approach as well, but I thought that even though it would technically fulfill my criteria, I was still curious about this question as it seemed like a more interesting approach to the problem. $\endgroup$
    – brubsby
    Dec 8, 2019 at 19:47

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .