Prevention of early convergence in genetic programming by replacement of similar programs

We have investigated an approach to preventing or minimising the occurrence of premature convergence by measuring the similarity between the programs in the population and replacing the most similar ones with randomly generated programs. On a problem with known premature convergence behaviour, the MAX problem, similarity replacement significantly decreased the rate of premature convergence over the best that could be achieved by manipulation of the mutation rate. The expected CPU time for a successful run was increased due to the additional cost of the similarity matching. On a problem which has a very expensive fitness function, the evolution of a team of soccer playing programs, the degree of premature convergence rate was also significantly reduced. However, in this case the expected time for a successful run was significantly decreased indicating that similarity replacement can be worthwhile for problems with expensive evaluation functions. A significant discovery from our experimental work is that a small change to the way mutation is carried out can result in significant reductions in premature convergence.