Abstract
This paper discusses the underlying pressures responsible for code growth in genetic programming, and shows how an understanding of these pressures can be used to use to eliminate code growth while simultaneously improving performance. We begin with a discussion of two distinct components of code growth and the extent to which each component is relevant in practice. We then define the concept of resilience in GP trees, and show that the buildup of resilience is essential for code growth. We present simple modifications to the selection procedures used by GP that eliminate bloat without hurting performance. Finally, we show that eliminating bloat can improve the performance of genetic programming by a factor that increases as the problem is scaled in difficulty.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
T. Blickle and L. Thiele. Genetic programming and redundancy. In J. Hopf (ed.), Genetic Algorithms Within the Framework of Evolutionary Computation, Max-Planck-Institut fur Informatik: Saarbrucken, Germany, 1994, p 33–38.
J. R. Koza. Genetic Programming: On the Programming of Computers by Means of Natural Selection. Cambridge, MA: The MIT Press; 1992.
W. B. Langdon, T. Soule, R. Poli, and J. A. Foster. The evolution of size and shape. In Advances in Genetic Programming III, Cambridge, MA: The MIT Press, 1999, p 163–190.
W. B. Langdon. Size-fair and homologous tree genetic programming crossovers. Genetic Programming and Evolvable Machines, 1(1/2):95–119, 2000.
W. B. Langdon and R. Poli. Foundations of Genetic Programming. Springer-Verlag; 2002.
S. Luke. Issues in Scaling Genetic Programming: Breeding Strategies, Tree Generation, and Code Bloat. PhD thesis, University of Maryland, College Park, 2000.
S. Luke. Code growth is not caused by introns. In Late-Breaking Papers, Proceedings of GECCO 2000, 2000, p 228–235.
N. F. McPhee and J. D. Miller. Accurate replication in genetic programming. In L. J. Eshelman (ed.), Proc. Sixth Int. Conf. Genetic Algorithms, Morgan Kaufmann, 1995, p 303–309.
P. Nordin and W. Banzhaf. Complexity compression and evolution. In L. J. Eshelman (ed.), Prof. Sixth Int. Conf. Genetic Algorithms, Morgan Kaufmann, 1995, p 310–317.
P. Nordin and F. Francone. Explicitly defined introns and destructive crossover in genetic programming. In P. Angeline and K.E. Kinnear Jr (eds.), Advances in Genetic Programming II, Cambridge, MA: The MIT Press, 1996, p 111–134.
T. Soule. Code Growth in Genetic Programming, PhD thesis, University of Idaho, 1998.
T. Soule and J. A. Foster. Removal bias: a new cause of code growth in tree-based evolutionary programming. In ICEC 98: IEEE International Conf. on Evolutionary Computation, IEEE Press, 1998, p 781–786.
T. Soule and R. B. Heckendorn. An analysis of the causes of code growth in genetic programming. Genetic Programming and Evolvable Machines, 3(3):283–309, 2002.
T. Yu and J. Miller. Finding needles in haystacks is not hard with neutrality. In Foster et al. (eds.), Proceedings of EuroGP’2002, Springer-Verlag, 2002, p 13–25.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Streeter, M.J. (2003). The Root Causes of Code Growth in Genetic Programming. In: Ryan, C., Soule, T., Keijzer, M., Tsang, E., Poli, R., Costa, E. (eds) Genetic Programming. EuroGP 2003. Lecture Notes in Computer Science, vol 2610. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-36599-0_42
Download citation
DOI: https://doi.org/10.1007/3-540-36599-0_42
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-00971-9
Online ISBN: 978-3-540-36599-0
eBook Packages: Springer Book Archive