Evolutionary Computation - Ex 5

Eran Ziserman034301143
Yonatan Shichel034472837
The code

CA.java: An implementation of the cellular automaton
CP.java: An implementation of the cellular program
Basic Algorithm Description
We have used the standard CP algorithm, as described in the assignment page, with the following modifications:
Improvements and Tricks
After several experiments with the basic algorithm, we have observed the following convergence problems:
Results
We have activated the Cellular Programming algorithm on Cellular automata of sizes N=100, 200, 300:


Sample solutions to the synchronization problem
Each image contains a space-time diagram for the CA given by the CP. At the bottom of each picture we have added the rule map of the automaton.
N=100:

N=200:

N=300:

Some Conclusions
We observed two stages in the evolvement of the CA.

Evolvement of CA's rulemaps (N=100), without optimization:

Evolvement of CA's rulemaps (N=100), with optimization: