The Computational Beauty of Nature
Computer Explorations of Fractals, Chaos,
Complex Systems, and Adaptation

About the Book
  · title page
  · home*
  · cover artwork
  · jacket text
  · table of contents
  · the author*
  · ordering information
Book Contents
  · three themes
  · part synopses
  · selected excerpts
  · all figures from book
  · quotes from book
  · glossary from book
  · bibliography
  · slide show
Source Code
  · overview &
  · FAQ list*
  · download source code
  · java applets
  · news*
  · reviews & awards
  · errata
  · for educators
  · bibliography (BibTeX format)
  · other links
CA Documentation



       ca - simulate arbitrary one-dimensional cellular automata


       ca -help
       ca     [-width  integer]  [-height integer] [-states inte-
              ger]  [-radius  integer]  [-seed  integer]  [-wrap]
              [-rules  string]  [-init  string]  [-lambda double]
              [-sq] [-bin] [-inv] [-mag integer] [-term string]


       Computes a one-dimensional cellular automata.  The  evolu-
       tion  of the CA is determined by the number of states, the
       radius size, the initial state, and the supplied rule.   A
       rule  is  specified  by  a (states - 1) * (radius * 2 + 1)
       length string.  At each time step a sum of each cell  plus
       all  of its neighbors within the radius is computed.  That
       sum is used as an index into the rules string which deter-
       mines  the  next  step  For  example,  with radius = 1 and
       states = 2 the rule that sums of 0 and  3  map  to  the  0
       state, and sums of 1 and 2 map to the 1 state.  A negative
       init string randomly initializes the starting  states.  If
       the init string is of being non-zero.


       -width integer
              Width of the plot in pixels.

       -height integer
              Height of the plot in pixels.

       -states integer
              Number of CA states.

       -radius integer
              Radius of CA neighborhood.

       -seed integer
              Random seed.

       -wrap  Use a wrap-around space?

       -rules string
              CA rules to use.

       -init string
              Starting state (< 0 is random).

       -lambda double
              Lambda value for random rules.

       -sq    Enforce strong quiescence?

       -bin   Binary colors?

       -inv   Invert all colors?

       -mag integer
              Magnification factor.

       -term string
              How to plot points.


       When  supplying  a  lambda value for a random rule, it may
       not be possible to find a string with  that  lambda  value
       because one may not exist.  In this case, the program will
       do its best to find one as  close  as  possible.   In  any
       event,  the algorithm for finding random rules strings for
       a specified lambda value is non-deterministic and may  not
       always  find a perfect match even if one exists.  However,
       it will work well with high probability, and even when  it
       doesn't  find a perfect match it almost always gets close.


       No sanity checks are performed to make sure  that  any  of
       the options make sense.


       Copyright (c) 1997, Gary William Flake.

       Permission  granted  for any use according to the standard
       GNU ``copyleft'' agreement provided that the author's com-
       ments  are  neither  modified nor removed.  No warranty is
       given or implied.

Copyright © Gary William Flake, 1998-2002. All Rights Reserved. Last modified: 30 Nov 2002