| One of the first tests of genetic algorithms on cellular automata
was the density of live cells problem: |
| *   if the initial generation has more live
cells than dead cells, the CA should (eventually) produce all live cells; |
| *   if the initial generation has more
dead cells than live cells, the CA should (eventually) produce all dead cells. |
| This problem was proposed
as a method of evolving Class IV CA. The density of live cells is a global property, but CA rules are local.
To solve this problem, a CA must transmit information across space and time, and remember results of
previous generations. These are the characteristics of Class IV CA. |
| Here are the basic steps of the Genetic Algorithm approach to solving Density of Live Cells Problem. |
| *   The initial population consists of randomly distributed CA rules. |
| *   Each CA is tested against the same set of random initial generations with different densities of
live cells. |
| *   The fitnness of each CA is the average of how close to the target state it comes for each initial
generation. |
| More fit CA survive and reproduce by crossover and occasional mutation; less fit are removed
from the population. |
|
| Here is an example. |