| Nelson Castillo - Automatic discovery of Interesting Cellular Automata with Genetic Algorithms |
"Cellular automata are interesting when their global behavior is more
than the sum of the behaviors of their individual parts: the cells.
Thus, the individual cells in interesting CA must interact
cooperatively in some fashion in support of the global dynamics. In
order to do so, cells must communicate information between themselves
in a meaningful manner." Gutowitz H., Langton C. [1].
Introduction Here I would like to describe some work I've been doing evolving CA. I've been able to get Interesting CA, although analyzing them is not a trivial task. I wonder whether judging whether a CA is interesting (or beautiful) is a non-computable task. I'll talk about this later. To be honest this project started as an accident and because by the ending of the year 2000 I didn't know that non-uniform cellular automata were better than the uniform ones for random number generation. I had read it, but I wanted to convince myself. I was interested in evolving one-dimensional, k=2, r=2 uniform CA for Random Number Generation. I noticed that sometimes CA with a complex structure (far from random) were obtained. So I started a new project aside from R.N.G. drawing the evolved rules from a few different initial configurations. Abstract Genetic Algorithms have been used to evolve Cellular Automata with a desired behavior. An appropriate fitness function is required. Entropy has been used as a fitness function for the evolution of Cellular Automata in order to use them as pseudo random number generators [2]. Here I will describe how a few interesting uniform (k=2,r=2) CA could be evolved using Entropy as a fitness function. Fitness Entropy was measured on the Central Cell [2]. The CA was initialized with a constant configuration distributing the bit sequences (1, 11, 101, 111, 1111, 11011, 11111) through the N=50 CA cells. The CA is iterated N/2 time-steps before computing the entropy through 1024*h time-steps. Genome A 32-bit string represented each rule. All the possible 2^32 values mapped to a valid rule, therefore some CA rules did not have a quiescent state and the Lambda parameter could not be computed. Results Well, here are some of the more interesting CA evolved with this method. |
These self-similar fractal-like structures were not uncommon and the GA
found many different ways of drawing Sierpinsky-like triangles.
Note that 2792888933, 3099420589 and 3148502933 (CA rules) are prime numbers. I
still don't know if this is just a coincidence.
Click on the image to enlarge. Rule 2868868760. There are two progressions in this rule, one (2,3,6,12...) is shown in red and the other is shown in green (2,4,8...). I wonder whether one can demonstrate if that these progressions continue ad infinitum or not. There's something remarkable about this rule: it's one-dimensional but when its two-dimensional space-time diagram is drawn, an illusion of a third dimension appears (as vertical pipes).
Click on the image to enlarge. Rule 3133097257. This is the most complex rule that the program has been able to evolve. I like to call it "fractal breeder". This rule generates lines of fractals (Sierpinsky triangles) in rows of increasing height. The hypotenuse of the fractals grows according to the progression 1,2,4,8... I wonder if it ever loses this structure. I've drawn big images with this rule and this behavior continues. To Do : Maybe...
|
|
Last modified: 22/10/2001, 18:00
PM. Using HB and vim on GNU/ Linux. |
|