Crossover and mutation operators for grammar-guided genetic programming

This paper proposes a new grammar-guided genetic programming (GGGP) system by introducing two original genetic operators: crossover and mutation, which most influence the evolution process. The first, the so-called grammar-based crossover operator, strikes a good balance between search space exploration and exploitation capabilities and, therefore, enhances GGGP system performance. And the second is a grammar-based mutation operator, based on the crossover, which has been designed to generate individuals that match the syntactical constraints of the context-free grammar that defines the programs to be handled. The use of these operators together in the same GGGP system assures a higher convergence speed and less likelihood of getting trapped in local optima than other related approaches. These features are shown throughout the comparison of the results achieved by the proposed system with other important crossover and mutation methods in two experiments: a laboratory problem and the real-world task of breast cancer prognosis.

[1]  Jonas S. Almeida,et al.  Dynamic Maximum Tree Depth , 2003, GECCO.

[2]  Peter A. Whigham,et al.  Grammatical bias for evolutionary learning , 1996 .

[3]  Daniel Manrique,et al.  Optimisation With Real-Coded Genetic Algorithms Based On Mathematical Morphology , 2003, Int. J. Comput. Math..

[4]  Xin Yao,et al.  Evolutionary programming using mutations based on the Levy probability distribution , 2004, IEEE Transactions on Evolutionary Computation.

[5]  Dean F. Hougen,et al.  Memetic Crossover for Genetic Programming: Evolution Through Imitation , 2004, GECCO.

[6]  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.

[7]  Kwong-Sak Leung,et al.  Data Mining Using Grammar Based Genetic Programming and Applications , 2000 .

[8]  Kwong-Sak Leung,et al.  Applying logic grammars to induce sub-functions in genetic programming , 1995, Proceedings of 1995 IEEE International Conference on Evolutionary Computation.

[9]  Malcolm I. Heywood,et al.  Directing crossover for reduction of bloat in GP , 2002, IEEE CCECE2002. Canadian Conference on Electrical and Computer Engineering. Conference Proceedings (Cat. No.02CH37373).

[10]  Alex Alves Freitas,et al.  A constrained-syntax genetic programming system for discovering classification rules: application to medical data sets , 2004, Artif. Intell. Medicine.

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

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

[13]  Daniel R. Lewin,et al.  Adaptive genetic programming for steady-state process modeling , 2004, Comput. Chem. Eng..

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

[15]  Jonas S. Almeida,et al.  Dynamic maximum tree depth: a simple technique for avoiding bloat in tree-based GP , 2003 .

[16]  Sean Luke,et al.  Alternative Bloat Control Methods , 2004, GECCO.

[17]  Aurora Trinidad Ramirez Pozo,et al.  Grammar-Guided Genetic Programming and Automatically Defined Functions , 2002, SBIA.

[18]  Alfonso Rodríguez-Patón,et al.  Evolutionary system for automatically constructing and adapting radial basis function networks , 2006, Neurocomputing.

[19]  Lee Spector,et al.  Size Control Via Size Fair Genetic Operators In The PushGP Genetic Programming System , 2002, GECCO.

[20]  Alfonso Rodríguez-Patón,et al.  Grammar Based Crossover Operator in Genetic Programming , 2005, IWINAC.

[21]  Riccardo Poli,et al.  Foundations of Genetic Programming , 1999, Springer Berlin Heidelberg.

[22]  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).

[23]  Sean Luke,et al.  Two fast tree-creation algorithms for genetic programming , 2000, IEEE Trans. Evol. Comput..