62 lines
3.1 KiB
Plaintext
62 lines
3.1 KiB
Plaintext
|
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.
|
||
|
|
||
|
|