Wolfram’s Rule 34 in XKCD [closed]

Wolfram has organized the 256 possible 1-D cellular automata based on nearest neighbors in this way:

RULES:
0:        0        0        0
1:        0        0        1
2:        0        1        0
3:        0        1        1
4:        1        0        0
5:        1        0        1
6:        1        1        0
7:        1        1        1

If you’re evaluating a stage in a cellular automaton (CA) that follows rule 2, then whenever a three-bit string matches rule 2’s configuration, the center bit becomes (or stays, in this case) true on the next iteration.

A CA’s rules are described as a bitstring. Say it’s rule 110 (my favorite). In binary, 110 is 01101110. The digit of least significance is zero. This means that if the cell and its neighbors match rule 0 above, it turns white/negative/0/false/whatever. The second least significant digit is one, so if the cell and its neighbors match rule 1 above, it turns black/positive/1/true/whatever`, etc. etc. until you see that, for rule 110, if a cell and its neighbors match rules 1,2,3,5,6, then the cell turns black. Otherwise, it turns white. A while back, I wrote some JS code to allow me to play around with these unique CA:

http://lucasoman.com/files/projects/caeditor/caed.php

As you can see by playing with it, you can randomly toggle any block, which alters every
block below it according to the rules. It’s kind of a neat way to see the chain reaction
caused by aberrations in the process.

Leave a Comment

tech