textfiles/programming/cellular.txt

62 lines
3.1 KiB
Plaintext
Raw Normal View History

2021-04-15 11:31:59 -07:00
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.