Cellular programming is a coevolutionary algorithm by which parallel cellular systems evolve to solve computational tasks. The evolving system is a massively parallel, locally interconnected grid of cells, where each cell operates according to a local interaction rule. If this rule is identical for all cells, the system is referred to as uniform, otherwise, it is non-uniform. This paper describes an experiment that addresses the following question: Employing a local coevolutionary process to solve a hard problem, known as density classification, can an optimal uniform solution be found? Since our approach involves the evolution of non-uniform CAs, where cellular rules are initially assigned at random, such convergence to uniformity cannot be a priori expected to easily emerge. The question is of both theoretical and practical interest. As for the latter, one major advantage of local evolutionary processes is their amenability to parallel implementation, using commercially available parallel machines or specialized hardware. Our experiment shows that when such local evolution is applied to the density problem, the optimal solution can be found.
- Cellular Programming
- Evolutionary Computation
- Non-uniform Cellular Automata