ANN: cage 1.0 -- Cellular automata engine in Python

Erik Max Francis max at alcyone.com
Fri Mar 29 20:47:58 EST 2002


Here's the latest PyOS installment:

	http://www.alcyone.com/pyos/cage/

Summary

    CAGE is a fairy generic and complete cellular automaton simulation
    engine in Python.  It supports both 1D and 2D automata, a variety
    of prepackaged rules, and the concept of "agents" which can move
    about independently on the map for implementing agent behavior.

    CAGE comes with numerous examples of fully-functional CA systems,
    including Conway's Game of Life, Langton's self-reproducing
    automaton, Langton's "vants," and 1D automata rule explorers.  It
    also comes with simple displayers (including a curses interface
    for 2D automata).  Also included is a unique implementation of a
    finite state machine (ant.py).

    Note that CAGE is implemented entirely in Python, and due to its
    very generalized nature, is not designed for speed.  It is
    sufficient to update a 80x24 Conway's Game of Life grid at a few
    times per second on a modern machine.  CAGE is intended primarily
    as an education toolkit, rather than an industrial-strength CA
    simulator.


Getting the software

    The software is available in a tarball here:
    http://www.alcyone.com/pyos/cage/cage-1.0.tar.gz.

    The official URL for this Web site is
    http://www.alcyone.com/pyos/cage/.



Introduction

    In very general terms, a cellular automaton has the following key
    features:

    - time is measured in discrete steps, called time units;

    - a network of cells, each of which with a well-defined state at
      each time unit;

    - at each time unit, each cell has a series of other cells which
      constitutes its neighorhood;

    - the state each of cell changes according to a state transition
      function which depends on the state of that cell and the states
      of the cells of its neighbors;

    - in synchronous automata (the typical usage), all cell
      transitions take place simultaneously.

    In most cellular automata (and most textbook definitions), the
    cellular network is arranged into a rigid lattice (*i.e.*, a line
    or a grid), and for any given cell its neighborhood is constant
    (that is, the same for all time steps).  These assumptions,
    however, are not present in CAGE.

    ...

-- 
 Erik Max Francis / max at alcyone.com / http://www.alcyone.com/max/
 __ San Jose, CA, US / 37 20 N 121 53 W / ICQ16063900 / &tSftDotIotE
/  \ Nationalism is an infantile sickness.
\__/ Albert Einstein
    Alcyone Systems' Daily Planet / http://www.alcyone.com/planet.html
 A new, virtual planet, every day.



More information about the Python-list mailing list