John von Neumann created the very first cellular automata in the 1940's, together with fellow mathematician Stanislaw Ulam.
The JvN algorithm supports 3 rules:
JvN29
The original 29-state CA as created by von Neumann. To see how his rules work,
load the simpler examples first:
counter-demo.rle and
cell-coders-demo.rle and
read their pattern info (hit the 'i' button). For a more complex example, see
read-arm-demo.rle
which shows one component of von Neumann's original design, the tape reader.
For a complete self-replicating machine within von Neumann's CA, open
sphinx.mc.gz.
Nobili32
An extension of JvN29 created by Renato Nobili in 1994. This rule adds three new states
to allow signal crossing, allowing self-replicating machines to be greatly reduced in size.
The example pattern construction-arm-demo.rle
shows some of the crossing cells in action under this rule.
The pattern NP-replicator.rle.gz
shows the 1994 design that was the first implementation of von Neumann's vision of a self-reproducing universal
constructor in a CA.
Hutton32
Created by Tim Hutton in 2008, this rule uses the same states as Nobili32 but has a slightly modified rule table.
Examples golly-constructor.rle and
Hutton-replicator.rle show what it can do.
References:
http://en.wikipedia.org/wiki/Von_Neumann_universal_constructor
http://en.wikipedia.org/wiki/Von_Neumann_cellular_automata
http://www.pd.infn.it/~rnobili/wjvn/index.htm
http://www.pd.infn.it/~rnobili/au_cell/
http://www.sq3.org.uk/Evolution/JvN/