What do 2-dimensional cellular automata rules actually mean?

2.9k Views Asked by At

There is a certain 2d cellular automata I am particularly interested in. It is called "rule 52928". It's used by Wolfram | Alpha on the loading screen.

But what exactly does the rule mean? Is it an analog to the rules for elementary cellular automata? Do the binary digits mean something? Is it similar to Life?

1

There are 1 best solutions below

0
On

I guess these rules are numbered similarly to the 1-dim case. There the elementary CA rules are numbered from 0 to 255, just by the list of 3-neighbor patterns mapping either to 0 or 1. For an example take the following:

000 -> 0

001 -> 0

010 -> 1

011 -> 0

100 -> 0

101 -> 1

110 -> 0

111 -> 1

gives rule 2^2+2^5+2^7=4+32+128=164.

Now for the 2-dimensional case you have to specify which neighborhood your rule is on. Typical choices are the center cell plus its 4 nearest neighbors which gives a 5-cell neighborhood in form of a cross. This is known as the v.Neumann neighborhood. There the possible rules are numbered from 0 to 2^32. The other typical choice is a neighborhood of 9 cells (the center plus its eight surrounding cells forming a square). This is known as Moore neighborhood. For this setting you get 2^(2^9)=2^512 rules. Not sure which case the rule you are quoting is from.

Can you post a reference where you came across the rule number?

(The 2-dim CA known as Life is a rule with a 9 cell Moore neighborhood. If you want to compute its rule number, you can do this easily from the local rules on this neighborhood, i.e. a cell lives, dies or gives birth under certain conditions.)

Here is a web site with an implementation of your rule: http://jsfiddle.net/hungrycamel/9UrzJ/ Probably you can reverse engineer how 9-cell neighborhoods are mapped from this implementation and thus see why this gives 52928.