Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

ca-faq.dvi2tty (ascii)

1 view
Skip to first unread message

Howard GUTOWITZ

unread,
Dec 9, 1993, 1:11:41 PM12/9/93
to c...@think.com

Frequently Asked Questions


About Cellular Automata
Contributions

from the CA community

edited by

Howard Gutowitz

<h...@santafe.edu>

December 8, 1993

Abstract

The FAQ has taken a great leap forward thanks to the contributions of
many individuals. Special thanks due to J"org Heitk"otter
<jo...@ls11.informatik.uni-dortmund.de> for many "infrastructure"
contributions.
Further contributions are needed and warmly welcome. In particular,
please send bibliographic material (see section 2.3). I have a couple hundred
typed pages of references which need to be converted to bibtex format, if
you are able to lend a secretarial hand, please make yourself known to
<h...@santafe.edu>.


1

Contents


1 What are Cellular Automata (CA)? 3


2 General Information 4

2.1 How can I get the latest FAQ? : : : : : : : : : : : : : : : : : : : : :*
* 4

2.2 How do I process the CA FAQ? : : : : : : : : : : : : : : : : : : : : 4

2.3 How do I contribute bibliographic material to the FAQ? : : : : : : : 4

2.4 What is the cellular automata mailing list? : : : : : : : : : : : : : *
*: 5

2.4.1 USENET : : : : : : : : : : : : : : : : : : : : : : : : : : : :*
* 5

2.4.2 BITNET : : : : : : : : : : : : : : : : : : : : : : : : : : : : :*
* 5

2.4.3 INTERNET : : : : : : : : : : : : : : : : : : : : : : : : : : : *
* 6

2.4.4 ARCHIVES : : : : : : : : : : : : : : : : : : : : : : : : : : : *
* 6

2.5 What are some good general references for CA? : : : : : : : : : : : 6

2.6 What is the Complex Systems Journal? : : : : : : : : : : : : : : : : 6


3 Where can I get a CA Simulator? 6

3.1 General-Purpose CA Simulators : : : : : : : : : : : : : : : : : : : : *
* 7

3.1.1 automata : : : : : : : : : : : : : : : : : : : : : : : : : : :*
* : 7

3.1.2 CALAB : : : : : : : : : : : : : : : : : : : : : : : : : : : : :*
* 7

3.1.3 CAMEX : : : : : : : : : : : : : : : : : : : : : : : : : : : : :*
* 7

3.1.4 CAM-PC : : : : : : : : : : : : : : : : : : : : : : : : : : : :*
* 8

3.1.5 CART : : : : : : : : : : : : : : : : : : : : : : : : : : : : : *
*: 8

3.1.6 CELIP : : : : : : : : : : : : : : : : : : : : : : : : : : : : :*
* : 8

3.1.7 Cellsim : : : : : : : : : : : : : : : : : : : : : : : : : : : : *
*: : 8

3.1.8 CELLULAR-3.0 : : : : : : : : : : : : : : : : : : : : : : : : : 9

3.1.9 CEPROL : : : : : : : : : : : : : : : : : : : : : : : : : : : :*
* 9

3.1.10 LCAU : : : : : : : : : : : : : : : : : : : : : : : : : : : : : *
*: 9

3.1.11 Mathematica : : : : : : : : : : : : : : : : : : : : : : : : : *
*: 10

3.1.12 scamper : : : : : : : : : : : : : : : : : : : : : : : : : : : :*
* : 10

3.1.13 Self-Directed Replicator (?) : : : : : : : : : : : : : : : : :*
* : 10

3.1.14 SimLife : : : : : : : : : : : : : : : : : : : : : : : : : : : *
*: : 10

3.1.15 SLANG : : : : : : : : : : : : : : : : : : : : : : : : : : : : :*
* 10

3.1.16 Wautom : : : : : : : : : : : : : : : : : : : : : : : : : : : : *
*: 10

3.2 Simulators for the Game of Life : : : : : : : : : : : : : : : : : : : *
*: 11

3.2.1 bugglings : : : : : : : : : : : : : : : : : : : : : : : : : : *
*: : 11

3.2.2 Life : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :*
* : : 11

3.2.3 lifelab : : : : : : : : : : : : : : : : : : : : : : : : : : : *
*: : : 11

3.2.4 Mac-CA : : : : : : : : : : : : : : : : : : : : : : : : : : : : *
*: 11

3.2.5 Plife : : : : : : : : : : : : : : : : : : : : : : : : : : : : :*
* : : 11

3.2.6 3dlife : : : : : : : : : : : : : : : : : : : : : : : : : : : : :*
* : : 11

3.2.7 xlife-2.0 : : : : : : : : : : : : : : : : : : : : : : : : : : *
*: : : 11

3.3 Does Cellsim for X exist? : : : : : : : : : : : : : : : : : : : : : : :*
* : 12

3.4 What is 3D-Life? : : : : : : : : : : : : : : : : : : : : : : : : : : :*
* : 12
2

3.5 How can I make CA simulations run fast? : : : : : : : : : : : : : : 12

3.6 What hardware implementations exist for CA? : : : : : : : : : : : : 13

3.7 Are there any simulators for CAM? : : : : : : : : : : : : : : : : : : *
*14

3.8 Are there simulators for self-criticality? : : : : : : : : : : : : : :*
* : : 14

3.9 What about running CA's on parallel or distributed machines? : : : 14


4 Applications 15

4.1 What computations can CA do? : : : : : : : : : : : : : : : : : : : : 15

4.2 How do you do computations with the Game of Life? : : : : : : : : 16

4.3 Can CA be used to model ecological systems? : : : : : : : : : : : : 17

4.4 The Universe as a Cellular Automata? : : : : : : : : : : : : : : : : *
*18

4.5 Can CA be used to encrypt messages? : : : : : : : : : : : : : : : : 18


5 Special Types of CA 18

5.1 What are Lattice Gas Automata? : : : : : : : : : : : : : : : : : : : 18

5.1.1 Does the lack of symmetry in the HPP model have any ob-

vious bad effect, other than to remove the inertial term? : : *
*19

5.1.2 Are there unphysical conservation laws with HPP? : : : : : 19

5.1.3 What are the physical manifestations of anisotropy? : : : : : 19

5.2 What are continuous spatial CA? : : : : : : : : : : : : : : : : : : : *
*19

5.3 Where can I read about the Gacs rule? : : : : : : : : : : : : : : : : *
*20

5.4 What's the Hodge Rule? : : : : : : : : : : : : : : : : : : : : : : : :*
* 20

5.5 What are some good references on Eater Rules? : : : : : : : : : : : 20

5.6 What are Vants? : : : : : : : : : : : : : : : : : : : : : : : : : : :*
* : 21

5.6.1 some vant simulators : : : : : : : : : : : : : : : : : : : : : *
*: 21


6 Properties of CA 21

6.1 What is Flocking Behavior in CA? : : : : : : : : : : : : : : : : : : *
*21

6.2 What about basins of attraction for CA? : : : : : : : : : : : : : : : *
*22

6.3 What are "inhomogeneous" CA? : : : : : : : : : : : : : : : : : : : 22

6.4 How important is Synchronicity in CA? : : : : : : : : : : : : : : : : 22

6.5 Which computations can 1D CA perform? : : : : : : : : : : : : : : 24

6.6 Is there is universal 1D CA? : : : : : : : : : : : : : : : : : : : : :*
* : 24

6.7 How to perform computations in the Game of Life? : : : : : : : : : 25

6.7.1 Must one use all of the logical gates to perform computations

in the Game of Life? : : : : : : : : : : : : : : : : : : : : : *
*: 26

6.8 Where can I learn about Spaceships in the Game of Life? : : : : : : 26

6.9 What about running a CA backwards? : : : : : : : : : : : : : : : : 26

6.9.1 The General Case : : : : : : : : : : : : : : : : : : : : : : : *
*: 26

6.10 What are some reversible rules? : : : : : : : : : : : : : : : : : : : *
*: 27

6.11 What is known about periodic orbits in CA? : : : : : : : : : : : : : 27

6.12 What are Subshifts of Finite Type/Sophic Systems? : : : : : : : : : 28

6.13 What is the mean field theory? : : : : : : : : : : : : : : : : : : : *
*: 29

6.14 When is a CA injective, surjective? : : : : : : : : : : : : : : : : : *
*: 30
3

6.15 Can one decide if a 2D rule is reversible/surjective? : : : : : : : : : 30

6.16 Where do I read about reversible cellular automata? : : : : : : : : : 31

4


1 What are Cellular Automata (CA)?


contributions by:

Lyman Hurd <hu...@math.gatech.edu>


Here is one physicist's view of the relevant definitions:


A cellular automaton is a discrete dynamical system. Space, time, and the states

of the system are discrete. Each point in a regular spatial lattice, called a *
*cell,

can have any one of a finite number of states. The states of the cells in the l*
*attice

are updated according to a local rule. That is, the state of a cell at a given

time depends only on its own state one time step previously, and the states of *
*its

nearby neighbors at the previous time step. All cells on the lattice are updat*
*ed

synchronously. Thus the state of the entire lattice advances in discrete time s*
*teps.


Here is one mathematician's view of the relevant definitions:


Conventions d=dimension, k=states per site, r=radius (all explained below).

For simplicity, assume d=1 for the moment.

A d-dimensional cellular automaton takes as its underlying space the lattice SZ

(Z=integers, infinite in both positive and negative directions) where S is a fi*
*nite

set of k elements. The dynamics are determined by a global function

F : SZ - ! SZ (1)

whose dynamics are determined "locally" as defined below.

A "local (or neighborhood) function" f is defined on a finite region

f : S2r+1 -! S: (2)

The all-important property of cellular automata, is that this function is deter*
*mined

by a finite lookup table. Both the domain and range of f are finite.

The global function F arises from f by defining:

F (c)i= f(ci-r; : :;:ci+r): (3)

A concrete example with k=2,r=1 would take a doubly infinite string of zeroes

and ones to a new string at which each site is replaced by the logical and of i*
*ts

two neighbors (Wolfram's elementary rule 90).

Some relevant facts from a topological standpoint are:


1. The base space SZ is compact and the global function F is continuous.

To insert an editorial comment, this makes CA an ideal meeting point be-

tween continuous dynamics and complexity theory, since they are discretely

defined but exhibit continuous dynamics.


2. The map F commutes with the shift operator which takes ci to ci+1.

5

In fact cellular automata are characterized completely by properties 1) and 2)

(Hedlund).

The transition to more dimensions is straightforward. The only difference is th*
*at
d
the global function F is defined over SZ (functions from a d-dimensional latti*
*ce to

S) and the local function f is determined by enumerating the image of all patch*
*es
d
of size 2r+1 .
2 General Information

2.1 How can I get the latest FAQ?


contributions by:

Bruce Boghosian <b...@Think.COM>


The FAQ will be available by anonymous FTP at think.com. It will be cross-

posted to comp.answers, and santafe.edu will serve as a mirror site.
2.2 How do I process the CA FAQ?


contributions by:

Joerg Heitkoetter <heit...@lusty.informatik.uni-dortmund.de>

James Kennedy CSMR x6238 <JI...@RCC.RTI.ORG>


The CA FAQ is configurable for US letter size and standard A4 paper sizes; it a*
*lso

comes with a Makefile included. All there is to do, is (1) unpack the ca-faq.ta*
*r :

(a) uudecode <this-file> (b) gunzip ca-faq.tar.gz (c) tar xvf ca-faq.tar then "*
*cd"

to the ca-faq folder; and type "make us-ps" or "make a4-ps" (us-ps is the defau*
*lt);

The makefile will take care of bibtex'ing, and will strip off the latex command*
*s, if

you so desire.
2.3 How do I contribute bibliographic material to the

FAQ?


Send references you do not see in "ca.bib" to h...@santafe.edu. Use bibtex format

whenever possible. If you don't know bibtex, use the very nice utility "bibview"

developed at the Technical Univeristy of Munich, and avail.: ftp.informatik.tu-

muenchen.de: `/pub/comp/typesetting/tex/bibview-2.0.tar.Z'. Use of bib-

view will significantly improve your enjoyment of "ca.bib". If you don't use X-

windows (needed by bibview), then try "basetex" in the ca-faq directory, it will

prompt you for entries and write them in the right format. Use first.author.nam*
*eYEAR

(lower case) for the key, e.g. "wolfram84" for an article published by Wolfram *
*and

Packard in 1984. Ties are resolved by appending "a" "b" "c" etc.

6

2.4 What is the cellular automata mailing list?


contributions by:

Bruce M. Boghosian <b...@think.com>


This mailing-list is for the discussion of topics relating to cellular automata*
*. For

an introduction to CA, some of the more well-known references are:

[?] [?] [?]

Discussions on the list often cover topics such as practical applications of CA*
*, the

theory of CA, implementation/performance issues, and discussions of available

software packages to perform CA experiments.

The cellular automata mailing list is really made up of three parts:


o An Internet mailing-list


o A Bitnet LISTSERV-maintained mailing-list


o The Usenet newsgroup "comp.theory.cell-automata"


The three parts are coupled in all directions, so that a message on any one part

of the list is automatically forwarded to the other two parts.

2.4.1 USENET


If you are able to, I recommend that you read the Usenet newsgroup. That

way, you control your own participation, rather than depending on me as list-

maintainer. This keeps the list smaller and much easier to maintain, and if you

move to a new account, nothing needs to be done.

2.4.2 BITNET


If you are at a Bitnet site, you may prefer to use the Bitnet LISTSERV mechanism

to subscribe to the list. LISTSERV is the standard mechanism for maintaining a

mailing-list on Bitnet. This also makes the list easier for me to maintain, sin*
*ce it

is more automated.

To subscribe in this way, send a message to LISTSERV@MITVMA containing the

following line in the body of the message:

SUBSCRIBE CA-L Your RealName

You may also send a message containing the line:


HELP


to get more information about LISTSERV.

You can also subscribe to the mailing-list through the LISTSERV even if you are

not directly connected to Bitnet, by sending the message to <list...@mitvma.mi*
*t.edu>.

7

2.4.3 INTERNET


If you are not able to use either of the above methods, or if you simply would

prefer to be on the Internet side of the list for some reason, please send mail*
* to

<cellular-aut...@think.com> (or just reply to this message) specif-

ically requesting to be added to the Internet side of the CA mailing-list, usin*
*g the

format described at the beginning of this message. Again, if you don't use that

exact format, I'll assume you haven't seen this message, and send it to you aga*
*in.

2.4.4 ARCHIVES


The CA mailing-list is archived, and available via anonymous FTP to think.com

(131.239.2.1) if you are on the Internet. You can FTP to that site using a login

of "anonymous," and your e-mail address as a password. The archives are under

the "mail" directory, in the files `ca.archive*'. Previous years are kept in co*
*m-

pressed format, e.g. `ca.archive-1987.Z'. Archives for the current year are not

compressed, and kept in the file `ca.archive'.
2.5 What are some good general references for CA?


contributions by:

Mark A Biggar <m...@dst17.wdl.loral.com>

John Baez <ba...@guitar.ucr.edu>


[?] [?] [?] [?]
2.6 What is the Complex Systems Journal?


Complex Systems:

A journal devoted to the rapid publication of research on the science, mathemat*
*ics,

and engineering of systems with simple components but complex overall behavior.

Editor: Stephen Wolfram, Wolfram Research, Inc., and University of Illinois

Published six times a year by: Complex Systems Publications, Inc. P.O. Box 6149

Champaign, IL 61826 USA

Subscriptions: $45 (students), $75 (individuals), $250 (institutions), Outside *
*North

America, add $15 (surface) or $65 (air).
3 Where can I get a CA Simulator?


contributions by:

Russell Inman <in...@ceti.csustan.edu>

H.H. Chou <hhc...@cs.umd.edu>

Dana Eckart <da...@rucs.santafe.edu>

Andy Wakelin <mct...@uk.ac.dct>
8

Harold McIntosh <mcin...@redvax1.dgsca.unam.mx>

Rudy Rucker <ruc...@sjsumcs.SJSU.EDU>

Ken Karakotsios <kara...@apple.com>

Simone Maggi <ma...@c700-2.sm.dsi.unimi.it>

3.1 General-Purpose CA Simulators


General Reference: [?].

3.1.1 automata


author: <cs8...@brunel.ac.uk> (Sunil Gupta)

description: Runs various two-D CA. Written in C, Based on SUIT. SUIT is a

library of interface tools developed at the University of Virginia to help C pr*
*o-

grammers create sophisticated mouse based interfaces.

requirements: Also central to SUIT design is portability. SUIT programs current*
*ly

run without changes to the source code on the following platforms: IBM PC,

Macintosh, Sun3, Sun4 (SparcStation), SGI (Silicon Graphics IRIS workstations),

DECstation, HP. The program will not run very well (if at all) on a monochrome

system. it was designed for color. The program is operated entirely through a

graphics interface.

availability: anonymous ftp ftp.cs.umd.edu: `/pub/dtr.tar.Z'

3.1.2 CALAB


Autodesk has two free CA programs for the PC compatible machine on Com-

puserve. If you can get on Compuserve, enter GO ADESK and go into Li-

brary 4 - CA Lab/CHAOS of the Autodesk Software Forum. The CA files are

CALAB1.COM (7K) and CALAB2.EXE (200K). These files are self-extracting

archives. CALAB1.COM will give you a version of the RC program that comes

with CA LAB and runs a diffusion CA, Life, Brain, Vote, and some Langton

style CAs. CALAB2.EXE will give you a version of the CADEMO program that

comes with CA LAB and runs a variety (I think about 15) different CAs in demo

mode. The CALAB1.COM program RC is interactive and runs in low resolution,

the CALAB2.EXE program CADEMO is not interactive, and runs in a higher

(320x200) resolution.

3.1.3 CAMEX


CAMEX is an exerciser for the CAM/PC, which is a special video controller sold

by Automatrix; it is also applicable to the CAM-6 but we don't know much about

people's experience with that board. The program is written in C, and requires

minimal equipment for a PC or PC/clone which is capable of accepting one of

the boards. The program covers an extensive collection of one, two, and three

dimensional automata, and can be had on request. The CAM/PC is sold with a

9

copy of the Toffoli-Margolus book, the FORTH program described in the book,

and a substantial collection of examples. Those examples are heavily oriented

toward diffusion and reaction-diffusion rules, and rules depending on the Margo*
*lus

neighborhood. The orientation of CAMEX is different, leaning toward very general

classes of (non-Margolus) rules, and includes many of the same rules as LCAU, as

well as such features as the calculation of de Bruijn diagrams, mean field curv*
*es,

and return maps.

availability: Harold V. McIntosh <mcin...@redvax1.dgsca.unam.mx>

3.1.4 CAM-PC


description: A general purpose cellular automata simulation program, called CAM-

PC, based on CAM-6 (Toffoli and Margolus), has been uploaded to the Alife

archives. The simulator extends the possibilities of CAM-6, but (at least this *
*first

version) is not fully downwards compatible with the original.

Authors: Zoltan Belso and Miklos Vargyas ELTE University, Budapest, Hungary

requirements: The program requires an IBM compatible computer, MCGA or

VGA display and about 188 kB-s of free memory to run. It requires 100 kB-s to

install.

availability: ftp.cognet.ucla.edu ` pub/alife/public/cam.zip ' (An alterna-

tive site is cogsci.elte.hu `cogsci/alife/CA')

3.1.5 CART


description: see [?].

requirements: ??

availability: ??

3.1.6 CELIP


description: see [?].

requirements: ??

availability: ??

3.1.7 Cellsim


description: built on top of C, also can use parallel processing power of a CM-?

machine

requirements: UNIX, sunview or X11 (see section 3.3 )

availability: plaza.aarnet.edu.au life.anu.edu.au think.com sun.soe.clarkson.e*
*du

sparc01.cc.ncsu.edu iear.arts.rpi.edu uceng.uc.edu bikini.cis.ufl.edu isy.liu.s*
*e nc-

tuccca.edu.tw


10

3.1.8 CELLULAR-3.0


Description: The system consists of: a programming language, Cellang 3.0, and

associated compiler, cellc; an "abstract" virtual machine, for execution, pe-sc*
*am;

and a viewer, cellview. Compiled Cellang 3.0 programs can be run with input

provided at any specified time during the execution. The results of an execution

can either be viewed directly or output as a stream of cell locations and value*
*s.

This stream of output data can then be fed into cellview for viewing, or it may*
* be

passed through a filter that compiles statistics, massages the data, or merely *
*acts

as a valve to control the flow of data from the cellular automata program to the

viewer. This simple UNIX toolkit view of the simulation process provides greater

control than systems which combine the language and viewer. Cellang 3.0 also

provides greater flexibility, particularly in the formation of neighborhoods, t*
*han

do many other systems.

Requirements: The current system supports both the X11 and Iris Graphics Li-

brary windowing systems and can generate shared memory multi-threaded code

for multi-processor Sun and SGI (Sequent?) machines.

availability: J Dana Eckart <da...@rucs.faculty.cs.runet.edu>

Also:

plaza.aarnet.edu.au (2.0) brolga.cc.uq.oz.au (2.0) gatekeeper.dec.com (2.0) res*
*eq.regent.e-

technik.tu-muenchen.de (2.0) athene.uni-paderborn.de (2.0) inf.informatik.uni-s*
*tuttgart.de

(2.0) usc.edu (2.0) keos.helsinki.fi (2.0) irisa.irisa.fr (2.0) walton.maths.tc*
*d.ie (2.0)

ftp.cfi.waseda.ac.jp (2.0) lth.se (2.0) nctuccca.edu.tw (2.0) unix.hensa.ac.uk *
*(2.0)

3.1.9 CEPROL


description: see [?]

requirements: ?? availability: ??

3.1.10 LCAU


Description: These programs are substantially one-dimensional, one each for sma*
*ll

integer (and half-integer) combinations of Wolfram's k and r. Each program cov-

ers evolution, probability, de Bruijn diagrams, and the calculation of ancestor*
*s.

Copies of the programs and literature will be sent in response to requests bear*
*ing

a complete mailing address, including city, country, and Zip Code. What will

actually be sent depends on what is requested and what literature is 'in print'*
* at

the moment. The usual reply includes .EXE for some of the most popular combi-

nations, a programming manual, and the complete C source for LCAU23, which

can be used to study the Chat'e-Manneville automata.

requirements:

IBM/PC or clone with a minimum of equipment, namely CGA color and a recent

DOS (neither Windows nor VGA is required, but can be used).

availability: Harold V. McIntosh <mcin...@redvax1.dgsca.unam.mx>

11

3.1.11 Mathematica


description: a notebook showing an array of Cellular Automata

requirements: Mathematica

availability: swdsrv.edvz.univie.ac.at ra.nrl.navy.mil

3.1.12 scamper


description: provides its own language and has a nice GUI

requirements: UNIX, X11

availability: plaza.aarnet.edu.au brolga.cc.uq.oz.au liasun3.epfl.ch gatekeeper*
*.dec.com

qiclab.scn.rain.com reseq.regent.e-technik.tu-muenchen.de athene.uni-paderborn.*
*de

inf.informatik.uni-stuttgart.de nuri.inria.fr walton.maths.tcd.ie relay.iunet.i*
*t isfs.kuis.kyoto-

u.ac.jp walhalla.germany.eu.net lth.se nctuccca.edu.tw unix.hensa.ac.uk

3.1.13 Self-Directed Replicator (?)


author: Hui-Hsien Chou <hhc...@eng.umd.edu>.

description:

Simple Systems Exhibiting Self-Directed Replication: Transition Functions, Soft-

ware, and Documentation March, 1993

We have recently developed and studied cellular automata models of self-replica*
*ting

systems [Science, 259, 1993, pp. 1282-1288]. Files containing a version of the *
*vari-

ous transition functions are now available via ftp. The cellular automata softw*
*are

is actually fairly general and could also serve as an application-independent s*
*im-

ulator. For further details please refer to the paper cited above. availabili*
*ty:

ftp.cs.umd.edu `pub/dtr.tar.Z'

3.1.14 SimLife


description: GUI

requirements: UNIX(?) or mac or amiga or PC availability: in local software sto*
*re

3.1.15 SLANG


description: see [?]

requirements: ??

availability: ??

3.1.16 Wautom


description: 1-Dimensional elementary binary cellular automata, with Wolfram's

rules 0 to 255. WAUTOM features: intuitive "Windows"-like user interface, cus-

tom window size for the evolution space, custom number of iteration to compute,*
* a

button to activate/deactivate the cyclic modality, (i.e.: hyperplane space on/o*
*ff),

live-cell diagram.

12

availability: ghost.dsi.unimi.it ` /pub2/papers/magi/wautom.zip'

requirements: 286 machine, VGA, necessarily the MOUSE (or equivalent pointer);

Ms-Dos 3.10 or later. Ms-Windows NOT required!
3.2 Simulators for the Game of Life


3.2.1 bugglings


requirements: mac

availability: ??

3.2.2 Life


requirements: amiga

availability: plaza.aarnet.edu.au amiga.physik.unizh.ch rs3.hrz.th-darmstadt.de*
* reseq.regent.e-

technik.tu-muenchen.de ux1.cso.uiuc.edu ftp.luth.se nctuccca.edu.tw

3.2.3 lifelab


requirements: mac

availability: akiu.gw.tohoku.ac.jp ftp.EU.net mcsun.eu.net fastlife-2.2

requirements: amiga, Kickstart 2.04+,

availability: plaza.aarnet.edu.au reseq.regent.e-technik.tu-muenchen.de minnie.*
*zdv.uni-

mainz.de amiga.physik.unizh.ch ftp.luth.se nctuccca.edu.tw

3.2.4 Mac-CA


description: I've written a CA Simulator for the Mac which, although not public

domain, is fairly inexpensive ($30). availability: Send email to karakots@apple*
*.com.

3.2.5 Plife


requirements: Microsoft Windows on a PC

availability: In the UK at a JANET (Joint Academic NETwork) site. The file you

want is `micros/ibmpc/win/a/a035/a035plife.boo'

3.2.6 3dlife


availability: life.anu.edu.au:

file/pub/complex_systems/alife/3DLIFE.ZIP

3.2.7 xlife-2.0


requirements: UNIX, X11

availability: iacrs1.unibe.ch alice.fmi.uni-passau.de uxc.cso.uiuc.edu life.c

requirements: UNIX(?), curses
13

availability: rs3.hrz.th-darmstadt.de agate.berkeley.edu ocf.berkeley.edu ux1.c*
*so.uiuc.edu

f.ms.uky.edu bongo.cc.utexas.edu watserv1.waterloo.edu relay.iunet.it isfs.kuis*
*.kyoto-

u.ac.jp toklab.ics.es.osaka-u.ac.jp ftp.cfi.waseda.ac.jp ugle.unit.no kth.se su*
*ne.stacken.kth.se

colonsay.dcs.ed.ac.uk
3.3 Does Cellsim for X exist?


contributions by:

Dave Hiebeler <hieb...@think.com>

Felicity George <fa...@uk.ac.ed.epcc>


Hiebeler: Quite some time ago, I started trying to do an X11 version in my rare

spare time. I got as far as having the very simple basics working, so I could d*
*isplay

a 2-D image in black&white, load a rule and image, and run. But very little else

was in there, and I never get time to work on it any more. Also, I don't know

anything about doing colors in X11. So I can't really say whether an X11 version

will ever be released.

George: In case anyone is interested, I have written an X11 version of Cellsim,

which runs in black and white. It has not been extensively tested, as I have not

had time to work on it, but if anyone wants a copy, I'll fix bugs as they come *
*up.
3.4 What is 3D-Life?


contributions by:

Anthony Wesley <awe...@canb.auug.org.au>

Harold V. McIntosh <MCIN...@unamvm1.dgsca.unam.mx>

John Pedersen <j...@GOEDEL.MATH.USF.EDU.>


Carter Bays gives a new rule for 3D Life in [?].

The 3dlife program is available for ftp from life.anu.edu.au: `/pub/complex_sys*
*tems/alife/3DLIFE.ZIP'

References

[?] [?]
3.5 How can I make CA simulations run fast?


contributions by:

Rudy Rucker <ruc...@sjsumcs.SJSU.EDU>

Richard Ottolini <stg...@st.unocal.COM>


I can think of four main tricks for making a CA program run fast.


1. Lookup table. Generally a cell takes on a NewC value which is computed

on the basis of info in the cell's neighborhood. Try to find a way to pack

the neighborhood info bitwise into a nabecode number. Then use nabecode

as an index into a lookup table. Thus NewC = lookup[nabecode]. You

14

precompute the lookup values for all possible nabecodes before running the

CA. Lookups can be saved, as Walker and I did in CA LAB.


2. Pointer swap. To run a CA, you need two buffers, one for the current world

of cells, and one for the updated world of cells. After the update, *don'*
*t*

copy the updated world onto the current world. Just swap the pointers to

world and new world.


3. The flywheel. In stepping through the cells of the CA, you repeatedly com-

pute a cell's nabecode, then compute the nabecode of the next cell over, a*
*nd

so on. Because the neighborhoods overlap, a lot of the info in the next ce*
*ll's

nabecode is the same as in the old cell's nabecode. Try to arrange nabecode

so that you can left shift out the old info and OR in the new info.


4. Assembly language. A 2D VGA CA is going to have about 300K cells.

That means you are going to assemble nabecodes and lookup the NewC

values about 300K times per screen. This means that your inner loop for

flywheeling the nabecode must be as efficient as possible. If you can writ*
*e this

in assembly language, and keep an eye on the listed "clocks" per instructi*
*on,

you can shave off a few clocks here and there, which really adds up when

done 300K times.

If the rule set is known to lead to sparse configurations, e.g. Life Game with *
*a small

initial pattern, then one can use sparse matrix tricks. That is, to just comput*
*e in

the vicinity of occupied cells. Generally these do not compile as efficiently a*
*s a full

matrix method, because there is more indirect address and branches. However,

one could include both a sparse and full matrix method in the same program, then

convert when the cross-over density is reached.
3.6 What hardware implementations exist for CA?


contributions by:

Dr R W Taylor <r...@ohm.york.ac.uk>


See [?]

The "trick" of the CAM-6 was to encode the rules as a lookup table accessed

by an "address" formed of the states of the neighborhood. For example, one bit

states of cell plus eight neighboors is a 512 possible results. There was also *
*a "rule

compiler" that built the transition table and other computations from a special

programming language.

You might also want to look at [?] which describes a 3D automata engine, com-

putation is performed through the reconfiguration (at a very low level) of the

hardware.
15

3.7 Are there any simulators for CAM?


contributions by:

Don Hopkins <hop...@turing.ac.uk>


Hopkins: I've written a recreational CAM-6 simulator (Toffoli & Margolus's Cel-

lular Automata Machine) and ported it to HyperLook (the user interface develop-

ment system I'm working on at Turing). It displays animated cellular automata

that you can edit in real time with the mouse! And it comes with a free Lava

Lamp!

The Cellular Automata Machine simulator (a SPARC binary with a bunch of

PostScript and data files) and the HyperLook runtime system are now avail-

able for anonymous ftp! HyperLook and the CAM simulator run under Open-

Windows Version 3 on color SPARC workstations. They're available for anony-

mous ftp from turing.com, in the file `pub/CAM.tar.Z', or ftp.uu.net, in the fi*
*le

`packages/NeWS/CAM.tar.Z'. You will also need to retrieve the HyperLook run-

time environment, from the same directory, with the name `HyperLook1.5-runtime.*
*tar.Z'.

There are several text and PostScript files explaining HyperLook, and other Hy-

perLook demos and applications (including SimCity, which I've also ported to

HyperLook). Install and run HyperLook (set your $HLHOME environment vari-

able), uncompress and un-tar `CAM.tar.Z' into a directory, go there, and type

"cam". Press the "Help" key at the buttons and graphics to learn how to work

the user interface.

See also CAM-PC and CAMEX in section 3.
3.8 Are there simulators for self-criticality?


contributions by:

Richard J. Gaylord <gay...@ux1.cso.uiuc.edu>


I have written a program, in Mathematica, for a cellular automaton simulation of

earthquakes, mudslides, avalanches and other `'self-critical" phenomena.

The full article (with words) will be published in my column "Simulating Experi-

ences: Excursions in Programming" in "Mathematica in Education," an outstand-

ing (and inexpensive) newsletter [contact Paul Wellin at <wel...@Sonoma.edu>

for details].
3.9 What about running CA's on parallel or distributed

machines?


contributions by:

Dave Hiebeler <hieb...@Think.COM>


Yes, CA are pretty trivial on massively parallel computers. Especially if you h*
*ave

data parallel software (e.g. CM-Fortran or C* on the Connection Machine), then

16

you just create a virtual processor for each cell, and then have each cell fetc*
*h its

neighbors and do a table-lookup or computation.

If you are not using data parallel software, but instead are using message-pass*
*ing, it

is still pretty simple. I typically partition the 2-D array into a set of "stri*
*pes". E.g.

on a 128-node machine, if I want to run a 1024x1024 array, I give each processor

a 128x8 patch of cells (plus one extra row of boundary condition at the top and

bottom, so actually 128x10 with some redundancy). Each processor updates its

local array, and then exchanges its top and bottom row with its neighbors. So y*
*ou

alternate between a step of computation where you loop over your patch of cells

(lots of work if you have a big patch), and doing 2 sends and 2 receives (hopef*
*ully

pretty quick). Imagine the processors are connected as a ring; you don't need a*
*ny

more connectivity than that (although it's good to have some nice way to dump

data out to disk or a machine for analysis).

Partitioning the array into stripes minimizes the "surface area" of the cell pa*
*tches,

and so minimizes the communication you have to do (if you partitioned it as a

"checkerboard," you'd have more data to exchange with more neighbors). It also

makes your inner loops more efficient, because you have really wide rows to loop

over, instead of a bunch of short rows. It also makes each boundary a contiguous

block of memory, so it's easy to send to its neighbor.

If you have a high overhead for sending, you may want to consider having 2

boundary-rows, and doing a little bit of redundant computation, so that you only

do communication every other step.

In fact, I implemented a CA simulation using a network of Sun workstations using

the above layout, and BSD sockets. Using 16 Suns, I think I had CA code running

about 10-12 times faster than a single Sun. This was a few years ago on Sun

3/50's at RPI. I had grand visions of turning the whole campus into a monster

CA simulation environment, but shortly after that, I got access to a CM-2 and

forgot about the Suns. :-) Actually, there's no need to stay on Suns only - you

could have some other machines in there as well, as long as they can do socket

communication to exchange data with the neighbors.
4 Applications

4.1 What computations can CA do?


contributions by:

Benedict....@cm.cf.ac.uk


If you just want a CA that does !gates then 'Wireworld', a CA that simulates

'electron streams' is probably an easier starting point than Conway's Life that

exhibits the same level of computational complexity, just on a more manageable

scale. It's in the CA Lab (Rudy Rucker's PC-based CA package), but the rules

are fairly simple and it may well be elsewhere too.
17

4.2 How do you do computations with the Game of Life?


contributions by:

Chris Langton <c...@t13.lanl.gov>


The constructive proof that the game of life is capable of supporting universal

computation is built around colliding glider streams into one another. collidi*
*ng

glider streams form the basic AND, OR, and NOT gates, out of which one then

goes on to engineer a general purpose computer. However, one need not construct

a general purpose computer, one could arrange the same computational primitives

into a device that computes only a specific function.

One example, computing the logical NOT of a byte, is straightforward. Arrange

for a stream of gliders (the input stream) to collide with the output of a glid*
*er

gun at right-angles in such a way that the gliders in the input stream occur wi*
*th

the same spacing as the gliders coming from the glider gun. Furthermore, time

the arrival of gliders in the input stream so that they collide with gliders in*
* the

output of the glider gun and annihilate each other. Then, encode the byte you

want to compute the logical NOT of in the following way: For every 0 in the inp*
*ut

byte, remove a glider from the input stream, for every 1, leave a glider. Thus,*
* the

input byte 10110010 will be represented by the glider stream:

glider noglider glider glider noglider noglider glider noglider

where the "nogliders" are spots where gliders in a regular periodic stream of g*
*liders

have been removed.

When this stream is collided into the regular stream of gliders coming out of a

glider gun, observe what happens. For every 0 in the input byte, the missing gl*
*ider

in the input stream allows a glider from the glider gun to pass, whereas for ev*
*ery

1 in the input byte, a glider in the input stream annihilates the corresponding

glider coming from the glider gun. Thus, looking at the output stream from the

glider-gun DOWNSTREAM of the collision site, there is a glider (a 1) for every

"hole" in the input stream (a 0) and there is a hole (a 0) for every glider (1)*
* in

the input stream. Thus, the filtered output of the glider-gun is the logical NOT

of the encoded input stream.

And not a universal computer in sight!

By colliding this output stream (call it NOT A if the input steam is A) with

another input stream, B, one gets A AND B in the continuation of the input

stream B after the collision site. If one collides the downstream portion of t*
*he

NOT A stream from this latter gate with the output of another glider gun, one

obtains A OR B as the continuation of the second glider gun output downstream

of the collision.

By hooking up a sequence of AND, OR, and NOT gates built in this way, one can

compute any function that can be expressed by these logical operations (a great

many functions indeed....;-)

For complex functions, involving many gates, one needs to cross glider streams,

redirect glider streams, and so forth. This leads to more complication. However,
18

the basic idea is as sketched out above.

For details, see the classic [?] which contains the proof that the game of Lif*
*e is

computation universal.
4.3 Can CA be used to model ecological systems?


contributions by:

Matthew Burke <bu...@delta.math.wsu.edu>


Recently there has been a significant increase in the number of articles that d*
*eal

with cellular automata (CA) and ecological modeling. There are also several

questions on how various aspects of CA affect their usefulness in ecological mo*
*dels.

What follows are some quick thoughts on where the major difficulties with CA

and ecological models lie. It is not intended to be thorough, and it is not as *
*well

argued as I'd like. At the end is a list of interesting references in the area.

The major question that needs to be addressed is that of CA's synchronicity. [?*
*],

and others, have claimed that the simultaneous updating of all cells is at odds*
* with

the localness of interaction that is one of the strengths of CA. It has been sh*
*own

that changing the definition of a CA to allow for asynchronous updating of cells

can dramatically alter the behavior of the CA [?] [?]. In particular, frequen*
*tly

the interesting structure seen in the evolution of a CA is, in fact, an artifac*
*t of

the synchronous updating.

What needs to be addressed is whether or not there are ecological systems for w*
*hich

universal updating is not an unwarranted assumption. For example, [?] develop

a CA model of competition between grass species. I have not yet researched the

characteristics of the species involved in their model, but it is not inconceiv*
*able to

think that the dynamics of a set of annual plants may be modeled synchronously

(perhaps the species all germinate at close enough times that on the scale of a

year, we can think of it as synchronous).

On the other hand, [?] develops a CA model of the effects of fire and dispersal

on spatial patterns in forests. I see no a priori reason, however, to assume t*
*hat

synchronous updating is reasonable in this situation.

Another issue that needs to be investigated is the problems associated with mul-

tiple scales, both spatial and temporal. Typically CA models are developed with

the assumption that a cell is a physical region of the right size for one (or, *
*per-

haps, a few) individuals. Consider a model of plankton in the Celtic Sea (I hav*
*e,

which is why I bring it up). If we assume that over a certain horizontal distan*
*ce,

conditions are homogeneous, it suffices to limit ourselves to a water column, i*
*.e.

we only need one spatial dimension. At typical concentrations (private commu-

nication with R.A. Parker) we have enough plankton that it is impractical to

assume one plankton (or a few) per cell. Now the relevant scales for the diffus*
*ion

of plankton nutrients (such as nitrate) is even smaller. Also, consider three t*
*yp-

ical organisms: cyanobacteria, flagellates, diatoms, and copepods. The ratio *
*of

the fastest sinking rate to the slowest is 200:1. Thus, if we use this informa*
*tion

19

to scale spatially or temporally, we also run into difficulties (again, the tem*
*poral

scale of diffusion for nutrients is smaller still).

Are these problems insurmountable? Is this even the best way to begin thinking

about such a model? I don't have the answers. Finally, are there systems with

inherent action-at-a-distance? Returning to the plankton model mentioned above,

we note that during chlorophyll maxima (blooms of plankton) it is not uncommon

for the plankton near the surface to dramatically decrease the amount of light *
*to

plankton at depth due to shading. Thus, we have an effect that (rapidly) is felt

at great distance. Is this incompatible with the CA methodology?

Below is a list of ecologically-related papers that use CA models.

References


[?] [?] [?] [?] [?] [?] [?] [?] [?] [?]

4.4 The Universe as a Cellular Automata?


contributions by:

Chris Langton c...@t13.Lanl.GOV


There is a great collection of papers [?]. These are the proceedings of a confe*
*rence

on the Physics of Computation and Computational models of Physics.

They contain some classic papers, including many that view the universe as a CA.

Authors include Toffoli, Fredkin, Bennett, Landauer, Hillis, Feynman, Wheeler,

and so forth.

There is a fascinating paper by Marvin Minsky entitled "Cellular Vacuum" in

which he shows that a version of relativity holds in CA's as clocks (oscillator*
*s)

approach the speed of light - they slow down, but not in the same way that they

do in continuous space.

All in all, this collection is a must for those interested in computational asp*
*ects

of the physical universe or in the physics of computation.

4.5 Can CA be used to encrypt messages?


Yes. For a review see: [?].

References


[?] [?] [?] [?] [?] [?] [?] [?]
5 Special Types of CA

5.1 What are Lattice Gas Automata?


contributions by:

20

Paul Larson <pala...@dal.mobil.com>

Bruce Boghosian <b...@Think.COM>


References: [?] [?] [?] [?] [?] [?]

5.1.1 Does the lack of symmetry in the HPP model have any obvious

bad effect, other than to remove the inertial term?


contributions by:

Bruce Boghosian <b...@Think.COM>


I don't think it removes the inertial term. There is still a form of the inerti*
*al term

with HPP, though it is not isotropic. And, yes, it does have another effect on *
*the

equation: The viscous term, like the inertial term, is present but anisotropic.

5.1.2 Are there unphysical conservation laws with HPP?


contributions by:

Bruce Boghosian <b...@Think.COM>


Yes, HPP has several unphysical conservation laws. First, if you color the sit*
*es

white and black, like a checkerboard, you can convince yourself that the dynami*
*cs

on the white squares are completely independent of the dynamics on the black

squares. Thus, all conserved quantities (mass and momentum) are conserved

*separately* on the two checkerboard sublattices. More seriously, y-momentum

is conserved separately within each column, and x-momentum is conserved sepa-

rately within each row (assuming periodic b.c.'s).

5.1.3 What are the physical manifestations of anisotropy?


contributions by:

Bruce Boghosian <b...@Think.COM>


Here is a physical manifestation of the problem of anisotropy: If you tried to *
*do a

Poiseuille flow simulation with HPP, you would find that the drag on the plates

depended on the angle of orientation of the plates with respect to the underlyi*
*ng

lattice. This problem would be present even at low Reynolds number. With FHP,

on the other hand, the drag would be independent of this orientation.
5.2 What are continuous spatial CA?


contributions by:

Bruce MacLennan <macl...@cs.utk.edu>


A continuous spatial automaton is analogous to a cellular automaton, except that

the cells form a continuum, as do the possible states of the cells. After an in*
*formal

21

mathematical description of spatial automata, we describe in detail a continuous

analog of Conway's "Life," and show how the automaton can be implemented

using the basic operations of field computation.

Availability: /pub/complex_systems/ca: MacLennan-CSA.ps.Z
5.3 Where can I read about the Gacs rule?


contributions by:

Lenore Levine <lev...@symcom.math.uiuc.edu>

The first paper on the Gacs rule was published in Problems of Transmission of

Information, in 1978. The Russian journal has been translated into English. The*
*re

are two co-authors, Kurdyumov and Levin.

Here are a few later papers that are probably related: [?] [?] [?] [?] [?]

One piece of further work is this: [?]

Some related papers:

[?]; this is Gray's proof of ergodicity for continuous-time monotonic nearest-

neighbor rules.

[?]; this is Gray's proof for discrete time.

[?] This is a relatively simple proof of Toom's rule.

[?] This is my Gacs' 1 dimensional construction.

[?] This is a 2-dimensional construction which may help understanding the diffi*
*cult

1-dimensional paper and has a little more general discussion.
5.4 What's the Hodge Rule?


contributions by:

J"org Heitk"otter <jo...@ls11.informatik.uni-dortmund.de>


HODGE-C is a (`mostly ANSI') C language implementation of Gerhard & Schus-

ter's hodge-podge machine. It implements a class of cellular automata, that res*
*em-

ble very closely autocatalytic chemical reactions, like for example, the Belous*
*ov-

Zhabotinskii (BZ) reaction. It's available via anonymous ftp from lumpi.informa*
*tik.uni-

dortmunde.de:`/pub/CA/src/hodge-c-0.98j.tar.Z'

References


BZ specific publications:

[?] [?] [?]

General CA: [?] [?]

Introductory books: [?] [?]
5.5 What are some good references on Eater Rules?


contributions by:
22

Harold McIntosh <mcin...@redvax1.dgsca.unam.mx>


[?] [?] [?] [?] [?] [?] [?] [?] [?]
5.6 What are Vants?


contributions by:

John N. Rachlin <rac...@cs.jhu.edu>

Charles F. Wells <cf...@po.CWRU.Edu>

A Fraser <A.Fr...@eee.salford.ac.uk>


The Vant rule, by Chris Langton, describes the path of an ant who starts pointi*
*ng

in a certain direction. If the ant is on a non-white square it turns the square*
* red,

rotates 90 degrees clockwise and moves one pixel in the direction it is pointin*
*g. If

it is on a red square it turns the square white, rotates 90 degrees countercloc*
*kwise

and moves one pixel in the direction it is pointing.

See: [?]

5.6.1 some vant simulators


Langtons_Ants by John N. Rachlin <rac...@cs.jhu.edu>

description: This program is based on "Langton's Automaton" and demonstrates

the complex patterns of one or more "ants" moving according to simple user-

defined rules.

requirements: This Program was written in Turbo Pascal, ver. 6.0 It requires

EGA or VGA graphics.

Quick Basic Vants Description: This program implements Chris Langton's

cellular automaton [?]

requirements: This is a QBasic program that can be run on any DOS machine with

VGA graphics. It was written by Charles Wells, Department of Mathematics, Case

Western Reserve University, Cleveland, OH 44106-7058, USA. <cf...@po.cwru.edu.>

Virtual Ants in C Borland C port of above by <A.Fr...@eee.salford.ac.uk>.
6 Properties of CA

6.1 What is Flocking Behavior in CA?


contributions by:

Rudy Rucker ruc...@sjsumcs.SJSU.EDU


The canonical flocking paper is [?]

23

6.2 What about basins of attraction for CA?


contributions by:

Harold McIntosh <mcin...@redvax1.dgsca.unam.mx>


References


[?]

[?] [?] [?] [?] [?] [?] [?] [?] [?] [?] [?]
6.3 What are "inhomogeneous" CA?


contributions by:

Ron Bartlett bart...@memstvx1.memst.edu

Paulo Sergio Panse Silveira <silv...@fox.cce.usp.br>

Andrew Wuensche <10002...@compuserve.com>


When each cell has a different rule, the resulting CA is called "inhomogeneous".

Kauffman's "random Boolean network" model allows different rules AND connec-

tions, with applications in theoretical biology.

[?] discusses intermediate architectures between CA and random Boolean net-

works. Homogeneous rules - varying degrees of random wiring, homogeneous

wiring template - various degrees of rule mix.

[?]: structurally dynamic CA.

References


[?] [?] [?] [?]. [?] [?] [?]
6.4 How important is Synchronicity in CA?


contributions by:

Bill Tozier <wto...@mail.sas.upenn.edu>

Shan Duncan <dun...@loris.cisab.indiana.edu>

Joel Rahn <RA...@vm1.ulaval.ca>

Erik Winfree <win...@druggist.gg.caltech.edu>

Jordan B Pollack <pol...@dendrite.cis.ohio-state.edu>


Cellular automata are discrete, regular, and synchronous. Those interested in

cellular automata as such begin with the CA definition and work to discover the

implications of these properties. Those interested in using CA as models in the

natural sciences, on the other hand, begin with a natural system in mind and

work to discover how well the behavior of their system can be approximated by

a CA model. Both those interested in abstract properties of CA and those inter-

ested in applications find discreteness and regularity uncontroversial compared*
* to

synchronicity. Many of the unique features of cellular automaton dynamics can

24

be traced to the synchronous update of cell-states. An abstract of some of the

discussion on this matters follows.

An example of the importance of synchronicity in CA dynamics is the work of

Chate and Manneville [?] on collective behavior in CA and coupled-map lattices.

This behavior is of major importance in the field of dynamical systems. Indeed,

before this work appeared, some had "proved" (in the physicists sense of proof)

that such behavior was impossible. Collective behavior seems to be stable to all

sorts of perturbations of the model except giving up on synchronous updates.

The paper by Huberman and Glance [?] supports the opinion that the organization

of the subunits in a model must approximate the organization of the subunits

in the system to be modeled, and the dynamics of the model must be a good

approximation of the dynamics in the real world. [not always the case for CA]

For some examples of CA models in the natural sciences which "work" see Ermen-

trout and Leah Edelstein-Keshet [?] and the section on lattice-gas automata.

An early reference: [?] They investigate Wolfram's CA rules using a probabilist*
*ic

method for updating cells. Some of the rules give patterns, some don't. From the

Abstract: "...some of the apparent self-organization of (CA) is an artifact of *
*the

synchronization of the clocks."

Greenberg-Hastings type models of reaction-diffusion systems do a decent job of

arriving at the same qualitative spatial structure as the real phenomenon (e.g.

Zhabotinsky reaction), in this case stable rotating spirals of activity. Howev*
*er,

if the Greenberg-Hastings model is executed with asynchronous update, mayhem

breaks loose; rather than, say, one stable spiral, the spiral fractures into a *
*thousand

jumbly pieces.

Thus, synchronous and asynchronous update schemes may lead to vastly different

results, and a modeler must be careful in using either one. But the real issue*
* is

is not at all new - modelers must be explicit about what assumptions they make

when designing a model. In CA, conserved quantities and conserved properties

of the system have vast consequences on its subsequent evolution, and must be

carefully analyzed.

For example, in the Greenberg-Hastings model, a conserved quantity is that the

winding number of every closed path remains unchanged over the course of the

evolution. This property is also true for simple PDE models of excitable media.

(In more complicated versions of both models, unfortunately, this breaks down in

some cases.) But the point is that the CA model is decent because the conserved

properties of its evolution are right. For G-H, single local applications of th*
*e CA

rule may not preserve the conservation law, and thus a radically different stea*
*dy-

state is seen in asynchronous simulations.

In the neural network community there is the same sort of concerns with regard *
*to

synchronicity of updates. People implementing parallel machines are interested *
*in

synchronized systems, while others whose models depend on a sequential update

rule will argue from the biological plausibility of asynchronousness.

A typical "biological plausibility" statement is found in Daniel Amit's book mo*
*d-

25

eling brain function (p. 80):

to reiterate, the asymptotic behavior of the network, on which we focus

our interest, may depend on the dynamical procedure, but such de-

pendence is unwarranted because no particular procedure is a faithful

representation of the activity in the biological network. We therefore

look for asymptotic properties which are insensitive to the updating

procedures
6.5 Which computations can 1D CA perform?


contributions by:

Peter Ruff <rzu...@rz.uni-wuerzburg.de>


Ruff: I have set up a 1d2n22s CA which performs binary multiplication by 79

transition rules. Result of n * m digits is available after maximal n + m + 2 s*
*teps.
6.6 Is there is universal 1D CA?


contributions by:

Mark A Biggar <m...@wdl39.wdl.loral.com>

Rudy Rucker <ru...@autodesk.com>


Biggar: Sure if you allow for more then 2 states and/or neighborhoods greater

then 3 wide.

First I work with more then 2 states and then with wide neighbor hoods.

Suppose that you have a N state M symbol Turning machine, this maps to a

1D (N+1)*M state 3 wide neighbor hood as follows: M of the states correspond

to tape squares were thr turning machine read/write head is not located and are

direct mapping of the turning machine's tape. The other N*M states represent the

tape square where where the read/write head is located. A state at that position

represents the tape has one of the allowed symbols and the machine is in a given

state giving N*M possibilities. Using a width 3 neighborhood then most cells are

quiescent and don't change only the three cells with on of the M*N states in th*
*eir

neighborhood can change in a given time. Defining the rules based on the origin*
*al

turning machine is obvious.

Now if you start with a Universial Turning machine you end with a Universal

Automata.

w to go back to a Binary Automata. If I have N states in the above Automata

it can be easily mapped to a binary automata with a neighbor hood of width

4*N+11 as follows: For now assume that there are only 4 state (to make the cases

to be examined small) the each cell in the 4 state 1D automata will map to a row

of 9 cells like so:


26

state 10 cell pattern

0 110000011

1 110100011

2 110010011

3 110001011
These patterns will overlap 1 cel on each end so the turning tape : :1:02 : :w:*
*ould

be represented as:

: :1:11010001110000011100100111 : : :

Using a 27 cell neighborhood it is easy to define rules that correspond to the

original 4 state automata. the 111's in the pattern act as registration marks

the other cells can determine which position they are in. The original set up *
*of

the 1D automata does not need the registration marks already in place out to

infinity they can propogte themselves out automatically and keep ahead of the

non-empty part of the tape with ease. More compact coding are possible, but this

one is wasly to explain and gives a automata that runs at the same speed as the

original.

There is a 4 symbol 7 state Univ Turing machine described in "Computation:

Finite and Infinite Machines" by Minsky.

Rucker: It is pretty simple to model a standard turing machine as a 1d CA. If

the TM uses k symbols and n states, then you can make a 1d CA with k * (n + 1)

states per cell. Most cells are in the state i,0 for some i < k. The cell where*
* the

"head" resides is in the state i,j for some i < k and 1 < j <= n. The update ru*
*le

is for each cell to stay the same unless the cell is where the "head" is or is *
*a cell

that the "head" is about to move into.

References


[?] [?]
6.7 How to perform computations in the Game of Life?


contributions by:

Wentian Li <w...@cshl.org>

McIntosh Harold V.-UAP <mcin...@redvax1.dgsca.unam.mx>


Using the interaction of glider streams, the Game of Life can be programmed to

perform computations. Indeed, it is a universal computer.

References


[?] [?]

27

6.7.1 Must one use all of the logical gates to perform computations in

the Game of Life?


See: [?]

the three logical gates AND, OR, NOT are sufficient for all logical functions,

but not necessary. not only two basic gates are enough, one basic gate is also

enough! for example, gate NAND, which is "negation of AND," can lead to all

three previously considered "basic" gates:

NOT(a) = (a NAND a)

AND(a,b) = (a NAND b) NAND (a NAND b)

OR(a,b) = (a NAND a) NAND (b NAND b)


another example is the NOR (negation of OR):


NOT(a) = (a NOR a)

OR(a,b) = (a NOR b) NOR (a NOR b)

AND(a,b) = (a NOR a) NOR (b NOR b)


the relevance to CA/Game of Life is that the requirement for having three logic*
*al

gates in a CA rule so that it can do all computations can be (two) too much. at

least in principle, having one NAND should be enough for constructing all logic*
*al

functions.

6.8 Where can I learn about Spaceships in the Game of

Life?


contributions by:

Bruce Stangeland <tb...@rrc.chevron.com>


See "Spaceships in Conway's Life" by David I. Bell <db...@pdact.pd.necisa.oz.au*
*>.

Texinfo version of above by J"org Heitk"otter <jo...@ls11.informatik.uni-dortmun*
*d.de>

in the CA archives at think.com.

There have also been a series of articles on CA that have appeared in Scientific

American, in the Computer Recreations section. See, for example: 10/70, 8/88,

8/89, 9/89, and 1/90.

6.9 What about running a CA backwards?


contributions by:

Lyman Hurd <hu...@math.gatech.edu>


6.9.1 The General Case


I will assume that a "configuration" comprises a N x N square of symbols 0,1 wi*
*th

the sites outside of this square assumed 0 (this is what I would term a "finite"

configuration.

One can ask:

28

1. Is there a configuration which maps onto this configuration?


2. Is there a finite configuration which maps onto this configuration?


In one-dimension there are much-explored algorithms which answer to both ques-

tions. Fundamental to the algorithm is the existence of bounds based on the

parameters of the CA rule (specifically the states per site and number of sites

distant the rule takes into account, Wolfram's k and r). Based on these one fin*
*ds

a bound phi(N) (recaall N is the initial size of our finite neighborhood) for w*
*hich

if there is any finite predecessor, there must be one of length at most phi(N).*
* The

first question is slightly more complicated, but the procedure is similar.

In two dimensions both questions are undecidable. This means that the function

phi while it still exists abstractly (there are still a finite number of rules *
*with a

given k and r), grows faster than any recursive function.

The proofs of the above statements are not difficult, and relate to the undecid-

ability of the tiling problem for Wang tiles.

Note that none of the above discussion means that the problem cannot be solved

in the specific case of the game of Life. It would be impressive to demonstrate*
* such

a technique, as Life is sufficiently complicated to be computationally universa*
*l.
6.10 What are some reversible rules?


contributions by:

Bruno Durand <bdu...@ens-lyon.fr>


The following reversible cellular automaton has been presented by Jarkko Kari.

It has 2 neighbors (the cell itself and its right neighbor). The set of states*
* is

1,2,: :,:n. The local transition rule f:


f(a; b)= a ifb <= a

1 ifb = a + 1

a + 1 ifb > a + 1

6.11 What is known about periodic orbits in CA?


contributions by:

Lyman Hurd <hu...@math.gatech.edu>

John Pedersen <j...@goedel.math.usf.edu>


Hurd: In a recent paper I used the terms temporally and spatially periodic, but

informally I sometimes just say horizontally or vertically periodic. Here is a*
*n (I

think) interesting result:

Assume that a 1-d CA has a quiescent state. I will (informally) call a configur*
*ation

"trivial" if it evolves to the all-quiescent state which I will assume is a fix*
*ed point.

A CA for which ALL configurations are trivial, will be called nilpotent.
29

1) A CA has a non-trivial temporally periodic orbit if and only if it has a non-

trivial spatially periodic orbit (one half of this proof is easy).

2) There exists a cellular automaton for which EVERY periodic (spatially or tem-

porally, equivalent by (1)) orbit is trivial BUT for which not every configurat*
*ion

is trivial.

This example (OK I did not give an example I just stated it exists_in fact Kari,

Culik and I have a specific example with 17 states) means that there can be

dynamics missed entirely by the restriction to spatially periodic configuration*
*s no

matter what the finite lattice size.

PART II:

The following proof is due to K. Culik. To show that a finite configuration must

have an (eventually) periodic predecessor, if it has a predecessor at all, cons*
*ider

the following state:

Assume that the rule has radius one (the proof goes through in general with

obvious modifications). Denote by k the number of states per site.

c = : :0:00c0c1: :c:N0000 : : :

has a predecessor:

d = : :d:-2d-1d0d1d2: : :

Lining them up:

d = : :d:-2d-1d0d1d2: :d:NdN + 1 : : :

c = : :0:0c0c1c2: :c:N0000 : : :

Consider a window which is two high and three wide (if R is the radius, 2R+1),

sliding over the pair of configurations. Start with:

dN+1 dN+2 dN+3

0 0 0

and continue to the right. There are only k3 possible values so at SOME point

the list must have a duplicate, i.e.,

dN+idN+i+1dN+i+2 = dN+j dN+j+1 dN+j+2

0 0 0 0 0 0

Now we can replace d with a configuration periodic on the right by defining:

d0n= dn if n < dN+j ;

and otherwise

d0n= d0n-(j-i)

A similar trick works on the left and QED. The same technique shows the stronger

result (of Golze) that periodic configurations must have periodic predecessors.

See also: [?] which derives algebraic conditions for all orbits a CA being peri*
*odic.
6.12 What are Subshifts of Finite Type/Sophic Systems?


contributions by:

Mike Boyle <bo...@msri.org>


Historically the study of SFT's got a lot of impetus from hyperbolic dynamics,

where SFT's are the natural symbolic dynamics for making use of Markov parti-

30

tions. You can do a lot of your analysis of equilibrium states and periodic poi*
*nts

on the SFT. (The analysis of equilibrium states on sofic shifts is much harder.)

This is an historical reason for the focus on SFT's but it is also a mathematic*
*al

one. It is completely reasonable on mathematical grounds that SFT's should be

distinguished as the most important subclass of sofic systems. It is for SFT's *
*that

finiteness conditions, coding constructions and algebraic invariants are most t*
*rans-

parent; and one key to studying a sofic system is to understand how its propert*
*ies

relate to those of the SFT underlying the minimal deterministic finite automaton

for the regular language of the sofic system.

But: I think Prof. McIntosh's consideration of sofic systems as a fundamental c*
*lass

is absolutely correct. It is in various ways a more natural class than the clas*
*s of

SFT's. For example, it is closed under quotients and unions. More fundamentally,

it is much more naturally "the" class of subshifts with a finite presentation t*
*han are

SFT's. I think this represents the consensus among workers in symbolic dynamics.

Prof. McIntosh's interest in sofic systems is especially gratifying to me, as I*
* work

in symbolic dynamics myself and have formed the impression that most workers

in cellular automata regard even SFT's which are not full shifts as esoterica. *
* It

seems to me that symbolic dynamics provides at the least tools and a perspective

useful for some problems about automata, but these have not been much used in

c.a.

Just one example: from the symbolic viewpoint the c.a. insistence that its au-

tomata be block codes on full shifts (versus block codes on SFT's or other sub-

shifts) seems unnatural. The latter viewpoint finds some justification in the r*
*ecent

work of Alejandro Maass <a...@lumimath.univ-mrs.fr>. He uses techniques of

symbolic dynamics to show that any endomorphism f of a mixing SFT S is the

restriction of some c.a. map which has image S, under the necessary assumption

that S has a fixed point. (He also has more sophisticated and less easily stat*
*ed

results about c.a. limit sets and dynamics.) In other words, to understand the

limit dynamics of c.a., you must understand the limit dynamics of endomorphisms

of SFT's.

This is not just a problem, it is also an opportunity, because tools for studyi*
*ng

SFT's can contribute some understanding.
6.13 What is the mean field theory?


The mean field theory is a way of approximating the action of a CA by a map

with continuous parameters. The approximation is derived by assuming that the

states of cells at different locations in space are not correlated. A simple ve*
*rsion

of the mean field theory is the ~ parameter of Langton, more general versions,

which take into acount spatial correlations, have also been developed.

references


[?] [?] [?] [?] [?]
31

6.14 When is a CA injective, surjective?


contributions by:

Lyman Hurd <hu...@math.gatech.edu>


A CA is injective if its global function F satisfies F (x) = F (y) implies x = *
*y. This,

of course, is the general definition for functions. In the case of CA a stronge*
*r result

holds (reference?).

Theorem A CA is injective if and only if it is reversible (i.e., bijective).

Surjectivity for cellular automata (although not in general) is a strictly weak*
*er

condition that for all y there exists x such that F (x) = y.

For 1-dimensional CA there exist well-known algorithms to determine surjectiv-

ity and injectivity (by an algorithm is meant, you hand it a rule table and in

guaranteed finite time the answer comes back for all possible 1D CA).

In 2 and more dimensions a highly non-trivial result of Jarkko Kari shows that

the question is undecidable. The question is linked in a deep way with Berger's

Theorem about the undecidability of tiling by Wang tiles.

It is trivially verifiable when two rules invert each other. Kari's Theorem th*
*en

implies that there must exist 2D rules for which the complexity of describing i*
*ts

inverse vastly exceeds the complexity of the rule itself. If we take r (the rad*
*ius)

and a rough determinant of complexity, for any recursive function phi, there mu*
*st

exist a rule with radius r whose inverse rule has radius greater than phi(r).
6.15 Can one decide if a 2D rule is reversible/surjective?


contributions by:

Lyman Hurd <hu...@math.gatech.edu>


Jarkko Kari has proven that the reversibility question for 2D or higher CA is

undecidable. It is true in all dimesions that a rule is reversible if and only*
* if it

is injective. Kari also has proven that the surjectivity problem is undecidable*
* (a

necessary but not sufficient condition for reversibility).

As he points out, the two questions are somewhat different. In the case of surj*
*ec-

tivity one can demonstrate its lack by giving a finite configuration which one *
*can

test exhaustively cannot be reached. This provides a semi-procedure even though

no corresponding semi-procedure can be found in the other case. On the other

hand, it can be finitely demonstrated that two rules indeed invert one another,*
* so

there is a semi-procedure to show that a CA IS reversible.

One way to show decidability in the 1D case for both questions consists of prov*
*ing

recursive bounds on how big a string one would need to find to show a counterex-

ample to surjectivity or how large a radius rule one needs to examine to prove

reversibility. In both cases such a bound (as a function of the number of stat*
*es

per site and radius) exist, although I do not recall their exact form (I used to

know, step in anyone who remembers). Kari's proffs suffice to say that there is*
* no

such recursive bound for 2 or more dimensions.

32

6.16 Where do I read about reversible cellular automata?


contributions by:

Harold V. McIntosh <mcin...@uapnx1.dgsca.unam.mx>


The name most prominently associated with reversible cellular automata seems to

be Tommaso Toffoli; his most accessible work is probably [?]. Whereas the book

describes a number of reversible rules for the CAM-6, Edward Fredkin's analogy

with second order differential equations is the only background theory mentione*
*d,

in section 14.2. The Margolus neighborhood, strongly featured in the book, was

evidently created to facilitate reversibility.

In turn, Fredkin has acquired widespread fame for the replication properties of

the <exclusive or> when taken as a rule of evolution. However, it is difficult*
* to

encounter a single reference which can be cited, for either Toffoli or Fredkin,*
* that

can be fairly said to present their own views. Martin Gardner reported Fredkin's

replication in his second article on Life in 1971, reprinted in [?] thereby giv*
*ing the

idea worldwide publicity.

Perhaps the computer science community's outstanding early contact with re-

versible automata was [?]. Non-reversibility, in the form of the Garden of Eden,

seems to go back to [?]. What seems to be quite remarkable is the degree to whi*
*ch

such issues were worked out by mathematicians, within the context of symbolic

dynamics, during the 1950's and 1960's. The fundamental paper in this respect is

[?].

It is in fact a summary of quite a bit of work, carried out by Hedlund himself

and others. One of their important concepts is a "subshift of finite type" which

is a biinfinite string of symbols from which a certain finite set of words has *
*been

excluded. Sort of like excluding all the 1's from trinary (i.e., 0, 1, 2) decim*
*als to

get the Cantor set. Shifting the decimal point in one such number gives another.

Topology figures very strongly in symbolic dynamics, which may have restricted

its appreciation; on the other hand it facilitates talking about limits and lea*
*ds to

a useful measure theory and probabilities. The topology is such that two strings

are closer, the longer their central segments which match up; it turns out that

those continuous functions which commute with the shift are each generated by

the transition rule for some linear cellular automaton. Thus symbolic dynamics

is an application of automata theory, or vice versa. The two theories overlap, *
*but

have tended to emphasize different features. Would a symbolic dynamicist have

discovered Wolfram's class iv on his/her own?

Subshifts of finite type arise from graphs whose nodes are symbols and whose

arrows show admissible sequences; missing arrows result from the operative excl*
*u-

sions. Someone realized that a much more interesting model resulted from using

the symbols as links among arbitrary nodes; the publication generally credited *
*for

this is [?]. It should be noted that the language of his presentation is semigr*
*oup

theory, not graph theory.

Three papers by Ethan M. Coven and Michael E. Paul come from the same time
33

period: [?] [?] [?].

Several articles by Masakazu Nasu, written in the spirit of Hedlund's symbolic

dynamics, appeared in the late 70's and early 80's; perhaps the most relevant i*
*s:

[[?]. Somewhat later the ideas were generalized to apply to flows through graph*
*s:

[?].

An early attempt to relate reversibility and Gardens of Eden and to use the int*
*er-

play between global and local mappings was [?].

A somewhat later paper [?] works out in considerable detail the relationships

between injectivity, surjectivity, and several other properties of cellular aut*
*omata.

Slightly earlier, [?] appeared.

The reasons for interest in reversible automata seem to have been varied. A for*
*mal

theory such as Hedlund's would naturally have been concerned with the kind of

details represented by surjectivity, injectivity, continuity, the existence of *
*limits,

and so on; all of his results may well have been worked out simply for the sake

of presenting a thorough and complete theory. One would have to ask him, or

someone who was very familiar with his work.

Garden of Eden theorems seem to have resulted more as a counterbalance to

von Neumann's universal constructor; the reversible machines which they imply

seem to have been less of an issue than the fact that some specific automata we*
*re

<<not>> reversible, and the momentary confusion between the implications of the

two concepts. Consequently Toffoli seems to be a plausible candidate to have be*
*en

the first proponent of reversible automata as such.

His publications are not all that easy to track down, consisting of his thesis,*
* lab-

oratory reports, contributions to conference proceedings, and so on. However, [*
*?]

states that "an arbitrary d-dimensional cellular automaton can be constructively

embedded in a reversible one having d + 1 dimensions," and precedes to show how

to do so. This approach is different from Fredkin's, which merely uses an arbit*
*rary

cellular automaton to construct another which is reversible, without pretending

to embed the original; indeed it usually does not. There is also a joint paper,*
* [?]

which goes into some of their mutual ideas.
34

0 new messages