Abstract
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.
Article PDF
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.Avoid common mistakes on your manuscript.
References
Barrios D, Carrascal A, Manrique D, Ríos J (2003) Optimization with real-coded genetic algorithms based on mathematical morphology. Int J Comput Math 80(3):275–293
Bojarczuk CC, Lopes HS, Freitas AA, Michalkiewicz EL (2004) A constrained-syntax genetic programming system for discovering classification rules: application to medical data sets. Artif Intell Med 30(1):27–48
Crawford-Marks R, Spector L (2002) Size control via size fair genetic operators in the pushGP genetic programming system. In: Proceedings of the genetic and evolutionary computation Conference, New York, pp 733–739
D’haesler P (1994) Context preserving crossover in genetic programming. In: IEEE Proceedings of the 1994 World Congress on computational intelligence, Orlando, 1:379–407
Escridge BE, Hougen DF (2004) Memetic crossover for genetic programming: evolution through imitation. Lect Notes Comput Sci 3103:459–470
Grosman B, Lewin DR (2004) Adaptive genetic programming for steady-state process modelling. Comput Chem Eng 28: 2779–2790
Hoai NX, McKay RI (2002) Is ambiguity useful or problematic for grammar guided genetic programming? A case of study. In: Proceedings of the 4th Asia-Pacific conference on simulated evolution and learning, Singapore, pp 449–453
Hussain TS (2003) Attribute grammar encoding of the structure and behavior of artificial neural networks. PhD Thesis, Queen’s University, Kingston, Ontario
Koza JR (1992) Genetic programming: on the programming of computers by means of natural selection. MIT, Cambridge
Langdon WB (1999) Size fair and homologous tree genetic programming crossovers. In: Proceedings genetic and evolutionary computation conference, GECCO-99, Washington DC, pp 1092–1097
Langdon WB, Poli R (1997) Fitness causes bloat. In: Proceedings of the 2nd online world conference on soft computing in engineering design and manufacturing, on-line, pp 13–22
Langdon W B, Poli R (2001) Foundations of genetic programming. Springer, London
Lee CY, Yao X (2004) Evolutionary programming using mutations based on the Lévy probability distribution. IEEE Trans Evol Comput 8(1):1–13
Luke S (2000a) Two fast tree-creation algorithms for genetic programming. IEEE Trans Evol Comput 4(3):274–283
Luke S (2000b) Code growth is not caused by introns. In: Proceedings genetic and evolutionary computation conference, GECCO 2000, Las Vegas, pp 228–235
Manrique D, Márquez F, Ríos J, Rodríguez-Patón A (2005) Grammar based crossover operator in genetic programming. Lect Notes Comput Sci 3562:252–261
Manrique D, Ríos J, Rodríguez-Patón A (2006) Evolutionary system for automatically constructing and adapting radial basis function networks. Int J Neurocomput, DOI 10.1016/j.neucom. 2005.06.018 (in press)
O’Neil M, Ryan C (2003) Grammatical evolution: evolutionary automatic programming on arbitrary language (genetic programming). Chap. 2. Kluwer, Norwell
Panait L, Luke S (2004) Alternative bloat control methods. Lect Notes Comput Sci 3103:630–641
Rodrigues E, Pozo A (2002) Grammar-guided genetic programming and automatically defined functions. In Proceedings of the 16th Brazilian symposium on artificial intelligence, Brazil, pp 324–333
Silva S, Almeida J (2003) Dynamic maximum tree depth. A simple technique for avoiding bloat in tree-based GP. Lect Notes Comput Sci 2724:1776–1787
Soule T, Foster JA (1998) Removal bias: a new cause of code growth in tree based evolutionary programming. In: IEEE Proceedings of the International conference on evolutionary computation, Indianapolis, pp 181–186
Terrio MD, Heywood MI (2002) Directing crossover for reduction of bloat in GP. In: IEEE Proceedings of Canadian conference on electrical and computer engineering. 2:1111–1115
Whigham PA (1995) Grammatically-based genetic programming. In: Proceedings of the workshop on genetic programming: from theory to real-world applications, California, pp 33–41
Whigham PA (1996) Grammatical bias for evolutionary learning. PhD Thesis, School of Computer Science, Australian Defence Force (ADFA), University College, University of New South Wales
Wong ML, Leung KS (1995) Applying logic grammars to induce sub-functions in genetic programming. Evol Comput 2:737–740
Wong ML, Leung KS (2000) Data mining using grammar based genetic programming and applications. Kluwer, Norwell
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Couchet, J., Manrique, D., Ríos, J. et al. Crossover and mutation operators for grammar-guided genetic programming. Soft Comput 11, 943–955 (2007). https://doi.org/10.1007/s00500-006-0144-9
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00500-006-0144-9