Size Control Via Size Fair Genetic Operators In The PushGP Genetic Programming System

The growth of program size during evolution (code "bloat") is a well-documented and well-studied problem in genetic programming. This paper examines the use of "size fair" genetic operators to combat code bloat in the PushGP genetic programming system. Size fair operators are compared to naive operators and to operators that use "node selection" as described by Koza. The effects of the operator choices are assessed in runs on symbolic regression, parity and multiplexor problems (2,700 runs in total). The results show that the size fair operators control bloat well while producing unusually parsimonious solutions. The computational effort required to find a solution using size fair operators is about equal to, or slightly better than, the effort required using the comparison operators.

[1]  Lee Spector,et al.  Genetic Programming and Autoconstructive Evolution with the Push Programming Language , 2002, Genetic Programming and Evolvable Machines.

[2]  Riccardo Poli,et al.  The evolution of size and shape , 1999 .

[3]  John R. Koza,et al.  Genetic programming - on the programming of computers by means of natural selection , 1993, Complex adaptive systems.

[4]  Riccardo Poli,et al.  Fitness Causes Bloat , 1998 .

[5]  Peter Nordin,et al.  Complexity Compression and Evolution , 1995, ICGA.

[6]  Peter Nordin,et al.  Genetic programming - An Introduction: On the Automatic Evolution of Computer Programs and Its Applications , 1998 .

[7]  Peter Nordin,et al.  Homologous Crossover in Genetic Programming , 1999, GECCO.

[8]  W. Langdon The evolution of size in variable length representations , 1998, 1998 IEEE International Conference on Evolutionary Computation Proceedings. IEEE World Congress on Computational Intelligence (Cat. No.98TH8360).

[9]  Wolfgang Banzhaf,et al.  Genetic Programming: An Introduction , 1997 .

[10]  Peter J. Angeline,et al.  Genetic programming and emergent intelligence , 1994 .

[11]  Sean Luke,et al.  Code Growth Is Not Caused by Introns , 2000 .

[12]  William B. Langdon,et al.  Size fair and homologous tree genetic programming crossovers , 1999 .

[13]  John R. Koza,et al.  Genetic programming 2 - automatic discovery of reusable programs , 1994, Complex Adaptive Systems.

[14]  Lee Spector,et al.  Autoconstructive Evolution: Push, PushGP, and Pushpop , 2001 .

[15]  Terence Soule,et al.  Removal bias: a new cause of code growth in tree based evolutionary programming , 1998, 1998 IEEE International Conference on Evolutionary Computation Proceedings. IEEE World Congress on Computational Intelligence (Cat. No.98TH8360).

[16]  W. Langdon,et al.  Genetic Programming with One-Point Crossover , 1998 .

[17]  Patrik D'haeseleer,et al.  Context preserving crossover in genetic programming , 1994, Proceedings of the First IEEE Conference on Evolutionary Computation. IEEE World Congress on Computational Intelligence.

[18]  Sean Luke,et al.  Is The Perfect The Enemy Of The Good? , 2002, GECCO.