A Noah's Ark Program - by Rudy Rucker.
From "The Journal of Chaos and Graphics", #3, p.18.

Dr. Rudy Rucker is author of Infinity and the Mind (Bantam:New 
York, 1982). He is also the author of the 57th Franz Kafka, 
Software, White Light, and Spacetime Donuts (published by Ace 
Books). He can also be reached at the Dept. of Mathematics and 
Computer Science, San Jose State University 95192.

        Today, there are several scientific fields devoted to 
the study of how complicated behavior can arise in systems 
from simple rules and how minute changes in the input of a 
nonlinear system can lead to a large difference in the output; 
such fields include chaos and cellular automata theory. 
"Cellular automata" are a class of simple mathematical systems 
which are becoming important as models for physical processes. 
Usually cellular automata consists of a grid of cells -- and 
the cell's life or death is determined by a mathematical 
analysis of the occupancy of neighbour cells. One popular set 
of rules set forth in what has become known as the game of 
"LIFE". Though the rules governing the creation of cellular 
automata are simple, the patterns they produce are very 
complicated and sometimes seem almost random, like a turbulent 
fluid flow or the output of a cryptographic system.
        The figure on the next page (of the original article) 
was a screen dump of some output from a simple assembly 
language program which runs one-dimentional cellular automata.
        The rule depicted is what is called rule 46 according 
to the notation in the appendices of Steven Wolfram (Theory 
and Applications of Cellular Automata). Instead of using 
graphics capability, my program produces images 
"typographically", using blanks for zeros and solid squares 
(ASCII code DBh) for ones. The pattern starts with a line of 
zeros with a single one.
        In general, a r-2, n-2,1-D CA pattern like this is 
updated according to a rule where a cell C looks at it's left 
neighbor L and right neighbout C to get a three -digit binary 
number LCR. LCR can range through the eight values v from 000 
to 111. The rule depicted is based on the lookup table 
00101110, where the update for value v is the vth lookup value 
from the right. In decimal, the lookup table is number 46.
        What makes this picture interesting is the handling of 
the boundry condition. As it is costumary, we use "cyclic 
boundry conditions", meaning that the rightmost cell is 
regarded as the cell left of the leftmost cell, But in this 
run, I set the leftmost cell always to 0. In effect, the space 
is like a tin can that has a seam running down it.
        The seam acts as a generator that pulses out 
alternating leopard and elephants. The neat thing is that 
these animals then shuffle and mutate to produce giraffes, 
dinosaurs, etc.

For Further Reading
1. Peterson, I. (1987) Forest fires, barnacles, and trickling 
oil. Science News. 132:220-221.
2. Poundstone, W. (1985) The Recursive Universe. William 
Morrow and Company, New York.
3. Wolfram, S. (1983) Statistical mechanics of cellular 
automata. Rev. Modern Physics. 55,601-644.


