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.