Improving Convergence in Cartesian Genetic Programming Using Adaptive Crossover, Mutation and Selection

Genetic programming (GP) can be described as a paradigm which opens the automatic derivation of programs for problem solving. GP as popularized by Koza uses tree representation. The application of GP takes place on several types of complex problems and became very important for Symbolic Regression. Miller and Thomson introduced a new directed graph representation called Cartesian Genetic Programming (CGP). We use this representation for very complex problems. CGP enables a new application on classification and image processing problems. Previous research showed that CGP has a low convergence rate on complex problems. Like in other approaches of evolutionary computation, premature convergence is also a common issue. Modern GP systems produce population statistics in every iteration. In this paper we introduce a new adaptive strategy which uses population statistics to improve the convergence of CGP. A new metric for CGP is introduced to classify the healthy population diversity. Our strategy maintains population diversity by adapting the probabilities of the genetic operators and selection pressure. We demonstrate our strategy on several regression problems and compare it to the traditional algorithm of CGP. We conclude this paper by giving advices about parameterization of the adaptive strategy.

[1]  H. B. Mann,et al.  On a Test of Whether one of Two Random Variables is Stochastically Larger than the Other , 1947 .

[2]  Lalit M. Patnaik,et al.  Adaptive probabilities of crossover and mutation in genetic algorithms , 1994, IEEE Trans. Syst. Man Cybern..

[3]  Goldberg,et al.  Genetic algorithms , 1993, Robust Control Systems with Genetic Algorithms.

[4]  Julian Francis Miller,et al.  Self-modifying cartesian genetic programming , 2007, GECCO '07.

[5]  J. Miller An empirical study of the efficiency of learning boolean functions using a Cartesian Genetic Programming approach , 1999 .

[6]  Julian Francis Miller,et al.  Cartesian genetic programming , 2000, GECCO '10.

[7]  William B. Langdon,et al.  A Many Threaded CUDA Interpreter for Genetic Programming , 2010, EuroGP.

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

[9]  Lawrence Davis,et al.  Adapting Operator Probabilities in Genetic Algorithms , 1989, ICGA.

[10]  Julian Francis Miller,et al.  A new crossover technique for Cartesian genetic programming , 2007, GECCO '07.

[11]  Dan Boneh,et al.  On genetic algorithms , 1995, COLT '95.

[12]  J. David Schaffer,et al.  An Adaptive Crossover Distribution Mechanism for Genetic Algorithms , 1987, ICGA.

[13]  Rudolf Kruse,et al.  Accelerating convergence in cartesian genetic programming by using a new genetic operator , 2013, GECCO '13.

[14]  John R. Koza,et al.  Genetic programming: a paradigm for genetically breeding populations of computer programs to solve problems , 1990 .

[15]  Riccardo Poli,et al.  Parallel Distributed Genetic Programming , 1996 .

[16]  Fearghal Morgan,et al.  Maintaining Healthy Population Diversity Using Adaptive Crossover, Mutation, and Selection , 2011, IEEE Transactions on Evolutionary Computation.

[17]  Julian Francis Miller,et al.  Redundancy and computational efficiency in Cartesian genetic programming , 2006, IEEE Transactions on Evolutionary Computation.

[18]  Gregory Hornby,et al.  ALPS: the age-layered population structure for reducing the problem of premature convergence , 2006, GECCO.

[19]  Nichael Lynn Cramer,et al.  A Representation for the Adaptive Generation of Simple Sequential Programs , 1985, ICGA.

[20]  Una-May O'Reilly,et al.  Genetic Programming II: Automatic Discovery of Reusable Programs. , 1994, Artificial Life.

[21]  Karel Slaný,et al.  Comparison of CGP and Age-Layered CGP Performance in Image Operator Evolution , 2009, EuroGP.