Abstract
In genetic programming, introns—fragments of code which do not contribute to the fitness of individuals—are usually viewed negatively, and much research has been undertaken into ways of minimising their occurrence or effects. However, identification and removal of introns is often computationally expensive and sometimes intractable. We have therefore focused our attention on one particular class of intron, which we refer to as dormant nodes. Mechanisms for locating such nodes are cheap to implement, and reveal that the presence of dormancy can be extensive. Once identified, dormancy can be exploited in at least three ways: improving execution efficiency, improving solution-finding performance, and simplifying program code. Experimentation shows that the gains to be had in all three cases can be significant.
Similar content being viewed by others
References
T. Soule, in Proceedings of EuroGP 2002, LNCS 2278, ed. by J.A. Foster et al. Exons and code growth in genetic programming, (Springer, Berlin, Heidelberg, 2002), pp. 142–151
T. Soule, J.A. Foster, J. Dickinson, in Genetic Programming 1996: Proceedings of the First Annual Conference, ed. by J.R. Koza et al. Code growth in genetic programming, (MIT Press, Cambridge MA, 1996), pp. 215–223
T. Soule, Code Growth in Genetic Programming. PhD Thesis, University of Idaho, 1998
S. Luke, in Late Breaking Papers, Proceedings of Genetic and Evolutionary Computation Conference (GECCO), ed. by D. Whitley. Code growth is not caused by introns, (Las Vegas, USA, 2000), pp. 228–235
J. Miller, in Late Breaking Papers, Proceedings Genetic and Evolutionary Computation Conference (GECCO), ed. by E.D. Goodman. What bloat? Cartesian genetic programming on boolean problems, (San Francisco, CA, USA, 2001), pp. 295–302
P. Smith, K. Harries, Code growth, explicitly defined introns and alternative selection schemes. Evolutionary Computation 6(4), 339–360 (1998)
J. Stevens, R. B. Heckendorn, T. Soule, in Proceedings of Genetic and Evolutionary Computation Conference (GECCO), ed. by H.-G. Beyer, U.-M. O’Reilly. Exploiting disruption aversion to control code bloat, (ACM Press, Washington, DC, New York, 2005), pp. 1605–1612
S. Mahler, D. Robilliard, C. Fonlipt, in Proceedings of EuroGP 2005, LNCS 3447. Tarpeian bloat control and generalization accuracy, (Springer, Berlin, Heidelberg, 2005), pp. 203–214
R. Poli, in Proceedings of EuroGP 2003, LNCS 2610. A simple but theoretically-motivated method to control bloat in genetic programming, (Springer, Berlin, Heidelberg, 2003), pp. 204–217
S. Luke, L. Panait, A comparison of bloat control methods for genetic programming. Evolutionary Computation 14(3), 309–344 (2006)
P. Nordin, F. Francone, W. Banzhaf, Explicitly defined introns and destructive crossover in genetic programming, in Advances in Genetic Programming, vol. 2, ed. by P.J. Angeline, K.E. Kinnear (MIT Press, Cambridge, MA, 1996), pp. 111–134
S. Carbajal, F. Martinez, in Genetic Programming and Evolvable Machines. Evolutive introns: a non-costly method of using introns in GP, vol. 2, no. 2, June 2001, pp. 111–122
H. Iba, M. Terao, in Proceedings of Genetic and Evolutionary Computation Conference (GECCO), ed. by D. Whitley. Controlling effective introns for multi-agent learning by genetic programming, (Las Vegas, USA, 2000), pp. 419–426
W.B. Langdon, T. Soule, R. Poli, J.A. Foster, The evolution of size and shape, in Advances in Genetic Programming, vol. 3, ed. by L. Spector, et al. (MIT Press, Cambridge, MA, 1999), pp. 163–190
T. Soule, J.A. Foster, in Proceedings 1998 IEEE International Conference on Evolutionary Computation. Removal bias: a new cause of code growth in tree based evolutionary programming, (IEEE Press, Anchorage, Alaska, USA, 1998), pp. 781–786
T. Blickle, L. Thiele, in Genetic Algorithms within the Framework of Evolutionary Computation (Workshop at KI-94), ed. by J. Hopf. Genetic programming and redundancy, (Saarbrücken, 1994), pp. 33–38
J.R. Koza, Genetic Programming: On the Programming of Computers by Means of Natural Selection (MIT Press, Cambridge, MA, 1992)
W.B. Langdon, Data structures and genetic programming, in Advances in Genetic Programming, vol. 2, ed. by P.J. Angeline, K.E. Kinnear (MIT Press, Cambridge, MA, 1996), pp. 395–414
D. Jackson, in Proceedings EuroGP 2005, LNCS 3447, ed. by M. Keijzer et al. Evolving defence strategies by genetic programming, (Springer, Berlin, Heidelberg, 2005), pp. 281–290
D. Jackson, in Proceedings Genetic and Evolutionary Computation Conference (GECCO), ed. by H.-G Beyer, U.-M O’Reilly. Parsing and translation of expressions by genetic programming, (ACM Press, Washington, DC, New York, 2005), pp. 1681–1688
J.R. Koza, Genetic Programming II: Automatic Discovery of Reusable Programs (MIT Press, Cambridge, MA, 1994)
L. Igel, K. Chellapilla, in Proceedings of Genetic and Evolutionary Computation Conference (GECCO), ed. by W. Banzhaf et al. Investigating the influence of depth and degree of genotypic change on fitness in genetic programming, (Morgan Kaufmann, Orlando, Fl, 1999), pp. 1061–1068
T. Soule, J.A. Foster, Effects of code growth and parsimony pressure on populations in genetic programming. Evolutionary Computation 6(4), 293–309 (1998)
T. Blickle, in Proceedings of PPSN IV, LNCS 1141. Evolving compact solutions in genetic programming: A case study, (Springer, Berlin, Heidelberg, 1996), pp. 564–573
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Jackson, D. The identification and exploitation of dormancy in genetic programming. Genet Program Evolvable Mach 11, 89–121 (2010). https://doi.org/10.1007/s10710-009-9086-1
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10710-009-9086-1