Modern Cellular Automata

Modern CA Words

Modern CA Entrance

Color Cellular Automata Authoring Tools For The Web

Modern Cellular Automata refers to a set of authoring tools used for experimenting with color cellular automata and creating color cellular automata presentations on the web. The principal tool is a small Java applet which is comparable in size to a JPEG or GIF file (about 25KB). This applet allows one to easily embed working color cellular automata examples into web pages.

Other Modern Cellular Automata tools are Javascript based, which allows construction of interactive web based examples. This site is a showcase of Modern Cellular Automata technology. Essentially a single applet powers all that you see for the entire site!

Here are the key features of Modern Cellular Automata:

  • Automatic use of multiple colors, even for two state rules
  • Web (html) based
  • Finely grained symmetry preserving rules
  • Hexagonal cellular automata neighborhoods
  • Rule mutation
  • Rule evolution
  • Experiment support, running multiple cellular automata in lockstep
  • Multiple step rule support (temporal rule variation)
  • Very fast cellular automata simulations

    Author allows simple experiments to be set up. AuthorXY allows table-based comparison experiments to be easily set up. Author, AuthorXY, and the Modern Cellular Automata Java Applet together form the software distribution, which can be downloaded here.

    Canonical Weighted Counting Form Cellular Automata

    A Canonical Weighted Counting Form Symmetric Moore Neighborhood Cellular Automata (CWCFSMNCA) is a semitotalistic cellular automata (see CelLab user guide) which counts neighbors using weighted increments of five for the four immediately adjacent von Neumann neighbors and an increment of one for the four corner cells which are are diagonal to the cell being counted.

    During next generation calculation a cell's neighbors are totalled giving a result which is between zero and twenty four. Each total represents a unique combination of corner and side neighbor cells. This form is canonical because any other weighted counting form rule which distinguishes only between corner and side neighbors can be trivially converted to this form without loss of information.

    Modern Cellular Automata is a CWCFSMNCA which supports multi-step rules. When used with rectangular geometry up to nine states are available, each of which may either participate in counting or not participate in counting. When used as a hexagonal cellular automata up to four states are available. States are numbered from zero.


    Modern Cellular Automata Rule Notation For Rectangular Universes

    The Modern Cellular Automata software accepts multiple forms of rule specification. Broadly speaking, rules may be specified in either basic or canonical format. Basic rule notation is based upon traditional "birth/survive" rule notation. The characters "a" to "e" are used to indicate the number of side neighbors in the rule. "a" corresponds to zero side neighbors, while "e" corresponds to four side neighbors. Here are the meaningful combinations of total and side counts:
         0a
         1ab
         2abc
         3abcd
         4abcde
         5bcde
         6cde
         7de
         8e
    

    Here is the full basic rule specification for Game Of Life:

         3abcd/2abc3abcd
    

    If a total count is specified without side counts it is equivalent to all meaningful side counts having been specified. Each of the following specifies Game Of Life:

         3abcd/2abc3
         3abcd/23abcd
         3abcd/23
         3/2abc3abcd
         3/2abc3
         3/23abcd
         3/23
    

    Basic rules with more than two states specify the number of states by appending the number of states to the rule, seperated by a comma. Up to nine states are supported. The following specifies Brian's Brain:

         2/, 3
    

    In the canonical rule format the number of states is inferred from the largest state number seen in the specification. For each state value in turn, result state values for each of the twenty five combinations of corner and side counts is given. Here's the portion of the canonical specification of Brian's Brain which specifies result state numbers which can arise from various combinations of neighbor count:

         00100.01000.10000.00000.00000
    
    For convenience canonical rules result states are typically grouped into groups of five. The group number indicates the number of directly adjacent neighbors and the position within the group indicates the number of diagonal neighbors. Here the result state is "1" for all combinations of adjacent and diagonal neighbor counts which total two. When less than twenty five result states are specified the last state value is assumed to repeat. The following are equivalent:
         00100.01000.10000.00000.00000
         00100.01000.10
    
    A particular state value may either contribute to its neighbor's counts or not, and this is specified by prepending either a "c" (for counting) or an "n" (for non-counting) to the canonical specification:
         n00100.01000.10
    
    Finally, the rule is specified state by state. Here's canonical Brian's Brain:
         n00100.01000.10.c2n0
    
    Here's Canonical Game Of Life:
         n00010.00100.01000.10.c00110.01100.11000.10
    

    Multiple step rules combine either basic rules or canonical rules. They are specified by seperating individual steps with plus signs. The following specifies a five step version of Game Of Life with identical steps:

         3/23 + 3/23 + 3/23 + 3/23 + 3/23
    

    Repetition is indicated by use of an asterisk preceeded by a count. The following specification is equivalent to the previous specification:

         5 * 3/23
    
    One is a valid count, but zero is not.

    Parentheses may be used to group steps together. The following specification is equivalent to the previous two specifications:

         2 * (3/23 + 3/23) + 3/23
    
    Here's a nice two step Brain specification:
         2/ + 2/3, 3
    
    Here's the canonical equivalent of the two step Brain specification:
         n00100.01000.10.c2n0 +
         n00100.01000.10.c22212.22122.21222.12.n0 
    


    Modern Cellular Automata Rule Notation For Hexagonal Universes

    A twelve neighbor star shaped neighborhood is used for hexagonal cellular automata. Rule notation is pretty much unchanged from rectangular rule notation. Of course there are only four states available instead of the nine in a rectangular universe.

    Since neighbor counts can reach twelve the following count values can be used in birth/survive notation:

  • 9 - nine neighbors
  • A - ten neighbors
  • B - eleven neighbors
  • C - twelve neighbors

    Note that "A", "B", and "C" must be specified in uppercase, to distinguish them from codes used to indicate adjacent neighbor counts: the "a" to "e" codes of rectangular universes, and the following hexagonal extensions:

  • f - five adjacent neighbors
  • g - six adjacent neighbors

    For canonical rule format there are 49 different combinations of live neighbor count instead of 25, and so we collect results into groups of seven:

         n0000000.0011000.0110000.1100000.10.c2222211.2222111.2221111.2211112.2111122.1111222.1112n0 
    


    Pattern Generation Versions of Rules

    Rule Transformation For Pattern Generation shows the technique used to obtain versions of rules which generate patterns and textures in which dead cells have color. It includes a rule tranform calculator.


    Cellular Automata Links

    A collection of cellular automata links is here.


    Other Cellular Automata Sites and Software by George Maydwell

    The Color Game Of Life Visual Exhibition (examples above) is a sister site which explores Conway's Game Of Life in color using Modern Cellular Automata technology.

    Collidoscope is fast (sixty frames per second) hexagonal color cellular automata software for Windows which operates as a screen saver and turns one's computer into a large scale emergence appliance. With a wide variety of rules and a user interface which is trivial, Collidoscope lets anyone surf cellular automata rule space. Collidoscope 1.1 is currently available.

    SARCASim is fast programmable color cellular automata software for Windows, the predecessor to Collidoscope. Its powerful enough that it supports both hexagonal and rectangular geometries as well as arbitrary cell neighborhoods.


    Feedback

    Suggestions for making this a better site are welcomed. I want to make Modern Cellular Automata the best cellular automata site on the web. Please email your input to