Cellular Automata rules lexicon |
|
Family: User DLLs |
Type: any, in range 1 neighborhood
"User DLLs" game allows MCell users to program rules otherwise impossible to specify in the program. External DLLs can be programmed using any language and compiler producing 32-bit Windows standard DLL files. For detailed instructions of programming user DLLs refer to the "Programming user rules" page.
Name | Character | Description |
Aurora | Chaotic | A one-dimensional version of the Rug rule: every cell's new state is taken
to be one greater than the neighborhood average of Left, Me, and Right. When a color value
reaches 16, it is rounded back down to 0. The effect produced is like globby paint running
down the screen, though really you are seeing "one-dimensional gliders" moving
back and forth and interacting. "I called the rule Aurora because when I visited Norman Packard's office at the Institute for Advanced Study in 1985, he showed me a smoother (eight visible neighbor bits and 255 colors) version of this rule and remarked that it looked like the northern lights." - RR A rule by Rudy Rucker. |
Digital Inkblots More pictures: 2, 3, 4, 5 |
Exploding | An interesting version of the Rug rule with 9-cells
neighbourhood and increment of 3. Most of the patterns will go through stages of
relatively small changes for a while and then suddenly hit a chaotic stage that usually
spreads out destroying the previous stable state and creating a new stable (but more
complicated) phase. Best palettes seem to be shaded bands of colors, i.e. black=>white=>black=>white or black=>anycolor=>black=>anycolor etc. Shaded palettes without the black fade-out bands do not give as nice effects. A rule by Jason Rampe. |
DLA | Chaotic | DLA (Diffusion Limited Aggregation) in Margolus neighborhood. A rule by Brian Behlendorf, November 1999. |
DNA | Expanding | Many automata can reproduce patterns, but such behavior is a simple
mathematical property of the rules, and is not based on the starting pattern. In this
automata, the correct starting pattern is essential, otherwise nothing interesting
happens. True, the rules are VERY convenient for this pattern, but the rules themselves do
not make the reproduction occur. It is the rules acting on this special pattern which
enables reproduction (just like our own universe!) Like real organisms, this pattern contains "DNA" which directs the reproduction. The "DNA" is processed in two ways, by replicating it and by transcribing it. This is necessary for "true" reproduction. Like bacteria, the reproduction doesn't simply create another copy of the starting pattern. It creates two identical copies of itself, thus both the parent and the child can continue to make new copies of themselves. This automata was designed by Christopher G. Langton at the University of Michigan, and is described in his article "Self-Reproduction in Cellular Automata", published in the book "Cellular Automata" in 1984. |
GreenHast | Gliding | The original GreenHast rule seems to die out very quickly. MCell's
implementation allows patterns going out of the board to bounce back. I noticed that
simple starting patterns reappear after some thousand cycles. Is it a general rule? Will
every pattern reappear giving the rule sufficient running time? It's hard to believe it,
especially if the pattern enters the chaotic phase. Greenberg-Hastings rule, slightly modified by Mirek Wojtowicz. |
Hodge | Exploding | A version of the "Hodgepodge machine", the classic CA rule by
Martin Gerhardt and Heike Schuster of the University of Bielefeld in West Germany. Hodge
is a lovely rule which converges very rapidly. After about 200-500 cycles it starts
producing spirals like the Zhabotinsky reaction. Try also running the rule from
symmetrical patterns. The Hodge rule is formulated in terms of two constants g and n:
A rule by Martin Gerhardt and Heike Schuster. |
ModulusM4 | Exploding | Add up the Moore 9 neighbors and return the sum mod 4. A rule by Dave Hiebeler |
ModulusMS9 | Exploding | This rule sets the new state of each cell to the modulus sum, base 9 of
its immediate 8 neighbors. A rule by Alastair Couper. |
ModulusMT9 | Exploding | This rule sets the new state of each cell to the modulus sum, base 9 of
its immediate 8 neighbors plus itself. A rule by Alastair Couper. |
ModulusN2 | Exploding | Add up the von Neumann 5 neighbors and return the sum mod 2. A rule by Dave Hiebeler. |
RandomWalk | Chaotic | RandomWalk Cellular Automaton in Margolus neighborhood. All
cells move randomly on the grid. A rule by Brian Behlendorf, November 1999. |
Rug | Exploding | Rug rules are averaging rules using the full range of 256 possible states.
To update itself in a Rug rule, every cell takes four steps. 1) Every cell calculates the
sum of its eight nearest neighbours' states. 2) Every cell calculates the average
neighbour state by dividing the sum by eight and throwing out any remainder. 3) Every cell
computes its new state by adding an Increment (usually the increment is 1) to the average
neighbour state. 4) As a final step, new state is taken modulo 256. In general the Rug rules will look better when the wrap is turned off. The existence of a fixed zero boundary gives the rule some information input to react to. A rule by Rudy Rucker. |
Triad | Chaotic | This rule is a competition of two independent Brian's Brain systems, one blue and the other
red. At places where both families of cells clash, yellow sparks come in sight. A rule by Lionel Bonnetier. |
Venus | Stable | "I call it Venus because it produces a pattern that looks like what
you might see peering out through hanging mosses at floating mats of vegetation in a
swampy sea. When I was a child this is what science-fiction writers thought the surface of
the planet Venus would be like." - RR A rule by Rudy Rucker: |
Weighted Generations | Any | WeightedGenerations DLL is a configurable user DLL that
implements a Weighted Generations family. It's a natural extension of the Generations
family. The extension simply permits any state to contribute to the neighbor
count using weights associated with each state. If a weight is n, and the
corresponding state occurs m times in a cells neighborhood then the
neighbor count is incremented by n*m. If a state's weight is 0, then that
state does not contribute to the neighbor count. Position weights identical to
those used in the Weighted Life family are also
supported. |
Webmaster: Mirek Wojtowicz http://www.mirekw.com |
MCell mirrors: |
Last update: 15 Sep 2001