The RuleLoader algorithm allows rules to be specified in external files. Given the rule string "Foo", RuleLoader will search for a file called Foo.rule. It looks for the file in your rules folder first, then in the supplied Rules folder. The format of a .rule file is described here. A number of examples can be found in the Rules folder:
B3/S23
Conway's Life. This is the default rule for the RuleLoader algorithm and is built in
(there is no corresponding .rule file).
You can also specify Life (Life.rule is in the Rules folder).
Banks-I,
Banks-II,
Banks-III,
Banks-IV
In 1971, Edwin Roger Banks (a student of Ed Fredkin) made simpler versions of Codd's 1968 CA,
using only two states in some cases. These four rules are found in his PhD thesis.
To see the rules in action, open
Banks-I-demo.rle
and the other examples in Patterns/Self-Rep/Banks/.
BBM-Margolus-emulated
Ed Fredkin's Billiard Ball Model, using the Margolus neighborhood to implement a simple reversible
physics of bouncing balls.
In this implementation we are emulating the system using a Moore-neighborhood CA with extra states.
Open BBM.rle to see the rule in action.
BriansBrain
An alternative implementation of the Generations rule /2/3.
Byl-Loop
A six state 5-neighborhood CA that supports small self-replicating loops.
To see the rule in action, open
Byl-Loop.rle.
Caterpillars
An alternative implementation of the Generations rule 124567/378/4.
Chou-Reggia-1 and
Chou-Reggia-2
Two 5-neighborhood CA that supports tiny self-replicating loops.
To see the rules in action, open
Chou-Reggia-Loop-1.rle and
Chou-Reggia-Loop-2.rle.
Codd
In 1968, Edgar F. Codd (who would later invent the relational database) made a simpler version
of von Neumann's 29-state CA, using just 8 states. To see the rule in action, open
repeater-emitter-demo.rle
and the other examples in Patterns/Self-Rep/Codd/.
Codd2
A very minor extension of Codd's transition table, to allow for some sheathing cases that
were found with large patterns.
See sheathing-problems.rle
for a demonstration of the problem cases.
CrittersMargolus_emulated
The Critters rule is reversible and has Life-like gliders.
See CrittersCircle.rle.
Devore
In 1973, John Devore altered Codd's transition table to allow for simple diodes and triodes,
enabling him to make a much smaller replicator than Codd's.
See Devore-rep.rle
and the other examples in Patterns/Self-Rep/Devore/.
DLA-Margolus-emulated
Diffusion-limited aggregation
(DLA) is where moving particles can become stuck, forming a distinctive fractal pattern seen in several
different natural physical systems. See DLA.rle.
Ed-rep
A version of Fredkin's parity rule, for 7 states.
See Ed-rep.rle for an image of Ed Fredkin
that photocopies itself.
Evoloop and
Evoloop-finite
An extension of the SDSR Loop, designed to allow evolution through collisions.
To see the rule in action, open
Evoloop-finite.rle.
HPP
The HPP lattice gas. A simple model of gas particles moving at right angles at a fixed speed turns out to give an
accurate model of fluid dynamics on a larger scale. Though the later FHP gas improved on the HPP gas by using a
hexagonal lattice for more realistic results, the HPP gas is where things began.
Open HPP-demo.rle.
Langtons-Ant
Chris Langton's other famous CA. An ant walks around on a binary landscape, collecting and depositing pheremones.
See Langtons-Ant.rle.
Langtons-Loops
The original loop. Chris Langton adapted Codd's 1968 CA to support a simple form of
self-replication based on a circulating loop of instructions.
To see the rule in action, open
Langtons-Loops.rle.
LifeHistory
A 7-state extension of the HistoricalLife rule from MCell, allowing for on and off marked cells (states 3 and 4) as
well as the history envelope (state 2). State 3 is useful for labels and other identifying marks, since an active
pattern can touch or even cross it without being affected. State 5 is an alternate marked ON state most often
used to mark a 'starting' location; once a cell changes to state 2, it can not return to this start state.
State 6 cells kill any adjacent live cells; they are intended to be used as boundaries between subpatterns, e.g.
in an active stamp collection where flying debris from one subpattern might adversely affect another subpattern.
See h-to-h-collection-26Aug2017.zip
for an example using all of LifeHistory's extra states.
LifeOnTheEdge
A CA proposed by Franklin T. Adams-Watters in which all the action occurs on
the edges of a square grid. Each edge can be on or off and has six neighbors,
three at each end. An edge is on in the next generation iff exactly two of the
edges in its seven edge neighborhood (including the edge itself) are on.
This implementation has 3 live states with suitable icons that allow any pattern
of edges to be created.
Open life-on-the-edge.rle.
LifeOnTheSlope
The same behavior as LifeOnTheEdge but patterns are rotated by 45 degrees.
This implementation has only 2 live states (with icons \ and /), so it's a lot easier
to enter patterns and they run faster.
Open life-on-the-slope.rle.
Perrier
Perrier extended Langton's Loops to allow for universal computation.
See Perrier-Loop.rle.
Sand-Margolus-emulated
MCell's Sand rule is a simple simulation of falling sand particles.
See Sand.rle.
SDSR-Loop
An extension of Langton's Loops, designed to cause dead loops to disappear,
allowing other loops to replicate further.
To see the rule in action, open
SDSR-Loop.rle.
StarWars
An alternative implementation of the Generations rule 345/2/4.
Tempesti
A programmable loop that can construct shapes inside itself after replication.
To see the rule in action, open
Tempesti-Loop.rle.
This loop prints the letters 'LSL' inside each copy — the initials of Tempesti's university group.
TMGasMargolus_emulated
A different version of the HPP gas, implemented in the Margolus neighborhood, see
TMGas.rle.
TripATronMargolus_emulated
The Trip-A-Tron rule in the Margolus neighborhood.
See TripATron.rle.
WireWorld
A 4-state CA created by Brian Silverman.
WireWorld models the flow of currents in wires and makes it relatively
easy to build logic gates and other digital circuits.
Open primes.mc
and the other examples in Patterns/WireWorld/.
Worm-1040512,
Worm-1042015,
Worm-1042020,
Worm-1252121,
Worm-1525115
Examples of Paterson's Worms, a simulation created by Mike Paterson in which a
worm travels around a triangular grid according to certain rules.
There's also a rule called Worm-complement
which can be used to show the uneaten edges within a solid region.
Open worm-1040512.rle
and the other examples in Patterns/Patersons-Worms/.
References:
Banks-I, Banks-II, Banks-III, Banks-IV (1971)
E. R. Banks. "Information Processing and Transmission in Cellular Automata" PhD Thesis, MIT, 1971.
Byl-Loop (1989)
J. Byl. "Self-Reproduction in small cellular automata." Physica D, Vol. 34, pages 295-299, 1989.
Chou-Reggia-1 and Chou-Reggia-2 (1993)
J. A. Reggia, S. L. Armentrout, H.-H. Chou, and Y. Peng.
"Simple systems that exhibit self-directed replication."
Science, Vol. 259, pages 1282-1287, February 1993.
Codd (1968)
E. F. Codd, "Cellular Automata" Academic Press, New York, 1968.
Devore (1973)
Devore, J. and Hightower, R. (1992) "The Devore variation of the Codd self-replicating computer"
Third Workshop on Artificial Life, Santa Fe, New Mexico,
Original work carried out in the 1970s though apparently never published.
Reported by John R. Koza, "Artificial life: spontaneous emergence of
self-replicating and evolutionary self-improving computer programs,"
in Christopher G. Langton, Artificial Life III, Proc. Volume XVII
Santa Fe Institute Studies in the Sciences of Complexity,
Addison-Wesley Publishing Company, New York, 1994, p. 260.
Evoloop (1999)
Hiroki Sayama "Toward the Realization of an Evolving Ecosystem on Cellular Automata",
Proceedings of the Fourth International Symposium on Artificial Life and Robotics (AROB 4th '99),
M. Sugisaka and H. Tanaka, eds., pp.254-257, Beppu, Oita, Japan, 1999.
HPP (1973)
J. Hardy, O. de Pazzis, and Y. Pomeau. J. Math. Phys. 14, 470, 1973.
Langtons-Ant (1986)
C. G. Langton. "Studying artificial life with cellular automata" Physica D 2(1-3):120-149, 1986.
Langtons-Loops (1984)
C. G. Langton. "Self-reproduction in cellular automata." Physica D, Vol. 10, pages 135-144, 1984.
Paterson's Worms (1973)
See these sites for a good description and the latest results:
http://www.maa.org/editorial/mathgames/mathgames_10_24_03.html
http://wso.williams.edu/~Ebchaffin/patersons_worms/
http://tomas.rokicki.com/worms.html
Perrier (1996)
J.-Y. Perrier, M. Sipper, and J. Zahnd.
"Toward a viable, self-reproducing universal computer"
Physica D 97: 335-352. 1996
SDSR-Loop (1998)
Hiroki Sayama. "Introduction of Structural Dissolution into Langton's Self-Reproducing Loop."
Artificial Life VI: Proceedings of the Sixth International Conference on Artificial Life,
C. Adami, R. K. Belew, H. Kitano, and C. E. Taylor, eds., pp.114-122, Los Angeles, California, 1998, MIT Press.
Tempesti (1995)
G. Tempesti. "A New Self-Reproducing Cellular Automaton Capable of Construction and Computation".
Advances in Artificial Life, Proc. 3rd European Conference on Artificial Life, Granada, Spain, June 4-6, 1995,
Lecture Notes in Artificial Intelligence, 929, Springer Verlag, Berlin, 1995, pp. 555-563.
WireWorld (1987)
A. K. Dewdney, Computer Recreations. Scientific American 282:136-139, 1990.