link to wolfram mathworld above is the clearest writeup i’ve come across, basically a boiled down chapter from A New Kind of Science.
but for fun i’ll try an elevator pitch version.
as you say, this CA is a lower-dimensional version of the 2d “game of life”. normally one would say that this one is 1-d (it operates on a row of cells) down from 2d (operating on a grid of cells.)
the behavior is defined by two things:
- an initial state, say
and 2) an update rule. the rule says: to get the new value of a state, look at its old value and the value of its previous neighbors. so there are 8 possible configurations to look at, and we specify the desired result for each:
input: 111 110 101 100 011 010 001 000
output: 0 0 0 1 1 1 1 0
so the rule can be encoded as 8 bits in an integer. wolfram established a convention for doing this, by which the rule written above is equal to
0b00011110 = 0x1e = 30. so this is referred to in the literature as rule 30.
when we apply the rule to the initial state, and keep applying it to subsequent states, we get a sequence
and so on. (assuming i didn’t mess that up.)
(by the way, in this implementation i am wrapping the edges; they could also be fixed. different behaviors; both are chaotic.)
these states likewise can be encoded as 8-bit integers. that representation is what the operator produces at its output and accepts as its input. i agree that it doesn’t make the output super intuitive; i think this structure is most useful when you can map the output bits to gates, which makes this an extremely fun sequencer.
if i have time this weekend i’ll dig up some supercollider grid apps that use these sequencers. with the grid you can interact with the rule and state in a direct, tactile way.