Symbiotic Programming: Crossbreeding Cellular Automaton Rules on the CAM-6
Rudy Rucker
Department of Mathematics and Computer Science,
San Jose State University, San Jose, CA 95192, USA
Abstract
One way to evolve new artificial lifeforms is to fuse existing forms in various ways. If one wishes for a new lifeform's program to be the same size as each of its parent programs, then one might take half of each parent program and patch the two halves together. This method is typical of sexual reproduction, and of the genetic programming approach.
A different method of crossbreeding two of three lifeforms is to write a double or triple length program which includes the full code of the original programs and which provides an arena in which the programs can interact. This might be called a symbiotic programming approach.
In this paper I will describe some new and lively cellular automaton rules which I have found through symbiotic programming on the CAM-6 cellular automaton machine [1, 4].