Skip to main content
Log in

Neutral genetic drift: an investigation using Cartesian Genetic Programming

  • Published:
Genetic Programming and Evolvable Machines Aims and scope Submit manuscript

Abstract

Neutral genetic drift is an evolutionary mechanism which can strongly aid the escape from local optima. This makes neutral genetic drift an increasingly important property of Evolutionary Computational methods as more challenging applications are approached. Cartesian Genetic Programming (CGP) is a Genetic Programming technique which contains explicit, as well as the more common implicit, genetic redundancy. As explicit genetic redundancy is easily identified and manipulated it represents a useful tool for investigating neutral genetic drift. The contributions of this paper are as follows. Firstly the paper presents a substantial evaluation of the role and benefits of neutral genetic drift in CGP. Here it is shown that the benefits of explicit genetic redundancy are additive to the benefits of implicit genetic redundancy. This is significant as it indicates that that levels of implicit genetic redundancy present in other Evolutionary Computational methods may be insufficient to fully utilise neutral genetic drift. It is also shown than the identification and manipulation of explicit genetic redundancy is far easier than for implicit genetic redundancy. This is significant as it makes the investigations here possible and leads to new possibilities for allowing more effective use of neutral genetic drift. This is the case not only for CGP, but many other Evolutionary Computational methods which contain explicit genetic redundancy. Finally, it is also shown that neutral genetic drift has additional benefits other than aiding the escape from local optima.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9

Similar content being viewed by others

Notes

  1. The terms inactive genes and redundant genes are used interchangeably and refer to genes which do not influence the semantics and/or the phenotype.

  2. Identifying which genes are active is recommended in [26] and normally included in most CGP implementations (e.g. [39]). Doing so considerably saves computation time by avoiding calculating the outputs of unused nodes.

  3. The reduction in generations was to reduce the computational expense of the experiments.

References

  1. W. Banzhaf, Genotype–phenotype-mapping and neutral variation—a case study in genetic programming, in Proceedings of the International Conference on Evolutionary Computation. The Third Conference on Parallel Problem Solving from Nature: Parallel Problem Solving from Nature (Springer, Berlin, 1994), pp. 322–332

  2. L. Barnett, Ruggedness and neutrality: the nkp family of fitness landscapes, in Artificial Life VI: Proceedings of the Sixth International Conference on Artificial Life (1998), pp. 18–27

  3. T. Blickle, L. Thiele, Genetic programming and redundancy. Choice 1000, 2 (1994)

    Google Scholar 

  4. M. Brameier, W. Banzhaf, Linear Genetic Programming (Springer, Berlin, 2007)

    MATH  Google Scholar 

  5. J. Clegg, J.A. Walker, J.F. Miller, A new crossover technique for Cartesian Genetic Programming, in Proceedings of the 9th Annual Conference on Genetic and Evolutionary Computation (ACM 2007), pp. 1580–1587

  6. M. Collins, Finding needles in haystacks is harder with neutrality. Genet. Program. Evol. Mach. 7(2), 131–144 (2006)

    Article  Google Scholar 

  7. M. Ebner, On the search space of genetic programming and its relation to nature’s search space, in Proceedings of the 1999 Congress on Evolutionary Computation, 1999 (CEC 99), vol. 2 (IEEE, 1999)

  8. M. Ebner, P. Langguth, J. Albert, M. Shackleton, R. Shipman, On neutral networks and evolvability, in Proceedings of the 2001 Congress on Evolutionary Computation, 2001, vol. 1 (IEEE, 2001), pp. 1–8

  9. M. Ebner, M. Shackleton, R. Shipman, How neutral networks influence evolvability. Complexity 7(2), 19–33 (2001)

    Article  MathSciNet  Google Scholar 

  10. C.M. Fonseca, M.B. Correia, Developing redundant binary representations for genetic search, in The 2005 IEEE Congress on Evolutionary Computation, 2005, vol. 2 (IEEE, 2005), pp. 1675–1682

  11. S. Forrest, M. Mitchell, Relative Building-block Fitness and the Building-block Hypothesis (1993)

  12. E. Galván-López, S. Dignum, R. Poli, The effects of constant neutrality on performance and problem hardness in gp, in EuroGP 2008 (Springer, Berlin, 2008), pp. 312–324

  13. E. Galván-López, R. Poli, A. Kattan, M. ONeill, A. Brabazon, Neutrality in evolutionary algorithms what do we know? Evol. Syst. 2(3), 145–163 (2011). doi:10.1007/s12530-011-9030-5

    Article  Google Scholar 

  14. B. Goldman, W. Punch, Analysis of Cartesian Genetic Programmings evolutionary mechanisms. IEEE Trans. Evol. Comput. PP(99), 1–1 (2014). doi:10.1109/TEVC.2014.2324539. In press

    Google Scholar 

  15. B.W. Goldman, W.F. Punch, Length bias and search limitations in Cartesian Genetic Programming, in Proceeding of the Fifteenth Annual Conference on Genetic and Evolutionary Computation Conference (ACM 2013), pp. 933–940

  16. F. Gomez, J. Schmidhuber, R. Miikkulainen, Accelerated neural evolution through cooperatively coevolved synapses. J. Mach. Learn. Res. 9, 937–965 (2008)

    MATH  MathSciNet  Google Scholar 

  17. M.A. Huynen, Exploring phenotype space through neutral evolution. J. Mol. Evol. 43(3), 165–169 (1996)

    Article  Google Scholar 

  18. M.A. Huynen, P.F. Stadler, W. Fontana, Smoothness within ruggedness: the role of neutrality in adaptation. Proc. Natl. Acad. Sci. 93(1), 397–401 (1996)

    Article  Google Scholar 

  19. M. Kimura et al., Evolutionary rate at the molecular level. Nature 217(5129), 624–626 (1968)

    Article  Google Scholar 

  20. J.D. Knowles, R.A. Watson, On the utility of redundant encodings in mutation-based evolutionary search, in Parallel Problem Solving from Nature PPSN VII (Springer, Berlin, 2002), pp. 88–98

  21. A. Kordon, Tower Problem (2015). http://www.symbolicregression.com/

  22. J.R. Koza, Genetic Programming: On the Programming of Computers by Means of Natural Selection (MIT Press, Cambridge, 1992)

    MATH  Google Scholar 

  23. W.B. Langdon, R. Poli, Foundations of Genetic Programming (Springer, Berlin, 2002)

    Book  MATH  Google Scholar 

  24. J. McDermott, D.R. White, S. Luke, L. Manzoni, M. Castelli, L. Vanneschi, W. Jaskowski, K. Krawiec, R. Harper, K. DeJong, et al., Genetic Programming needs better benchmarks, in Proceedings of the Fourteenth International Conference on Genetic and Evolutionary Computation Conference (ACM 2012), pp. 791–798

  25. J.F. Miller, What bloat? Cartesian Genetic Programming on Boolean problems, in 2001 Genetic and Evolutionary Computation Conference Late Breaking Papers (2001), pp. 295–302

  26. J.F. Miller (ed.), Cartesian Genetic Programming (Springer, Berlin, 2011)

    MATH  Google Scholar 

  27. J.F. Miller, S. Smith, Redundancy and computational efficiency in Cartesian Genetic Programming. IEEE Trans. Evol. Comput. 10(2), 167–174 (2006)

    Article  Google Scholar 

  28. J.F. Miller, P. Thomson, Cartesian Genetic Programming, in Proceedings of the Third European Conference on Genetic Programming (EuroGP), vol. 1820 (Springer, Berlin, 2000), pp. 121–132

  29. P. Nordin, F. Francone, W. Banzhaf, Explicitly defined introns and destructive crossover in genetic programming, in Advances in Genetic Programming, ed. by P.J. Angeline, K.E. Kinnear Jr (MIT Press, Cambridge, 1996), pp. 111–134. http://dl.acm.org/citation.cfm?id=270195.270205

  30. M. O’Neill, C. Ryan, Grammatical evolution. IEEE Trans. Evol. Comput. 5(4), 349–358 (2001)

    Article  Google Scholar 

  31. M. O’Neill, C. Ryan, Grammatical Evolution: Evolutionary Automatic Programming in an Arbitrary Language (Springer, Berlin, 2003)

    Book  Google Scholar 

  32. L. Pagie, P. Hogeweg, Evolutionary consequences of coevolving targets. Evol. Comput. 5(4), 401–418 (1997)

    Article  Google Scholar 

  33. R. Poli, W.W.B. Langdon, N.F. McPhee, J.R. Koza, A Field Guide to Genetic Programming. Published via http://lulu.com and freely available at http://www.gp-field-guide.org.uk (2008)

  34. F. Rothlauf, D.E. Goldberg, Redundant representations in evolutionary computation. Evol. Comput. 11(4), 381–415 (2003)

    Article  Google Scholar 

  35. C. Ryan, J. Collins, M. Neill, Grammatical evolution: Evolving programs for an arbitrary language, in Genetic Programming, Lecture Notes in Computer Science, vol. 1391, ed. by W. Banzhaf, R. Poli, M. Schoenauer, T. Fogarty (Springer, Berlin, 1998), pp. 83–96

  36. S. Silva, E. Costa, Dynamic limits for bloat control in Genetic Programming and a review of past and current bloat theories. Genet. Program. Evol. Mach. 10(2), 141–179 (2009)

    Article  MathSciNet  Google Scholar 

  37. L. Spector, A. Robinson, Genetic Programming and autoconstructive evolution with the push programming language. Genet. Program. Evol. Mach. 3(1), 7–40 (2002)

    Article  MATH  Google Scholar 

  38. A.J. Turner, J.F. Miller, Cartesian Genetic Programming: Why no bloat?, in Genetic Programming: 17th European Conference (EuroGP-2014), LNCS, vol. 8599 (Springer, Berlin, 2014), pp. 193–204

  39. A.J. Turner, J.F. Miller, Introducing a cross platform open source Cartesian Genetic Programming library. Genet. Program. Evol. Mach. 16(1), 83–91 (2014). doi:10.1007/s10710-014-9233-1

    Article  Google Scholar 

  40. A.J. Turner, J.F. Miller, Recurrent Cartesian Genetic Programming, in 13th International Conference on Parallel Problem Solving from Nature (PPSN 2014), LNCS, vol. 8672 (2014), pp. 476–486

  41. A.J. Turner, J.F. Miller, Recurrent Cartesian Genetic Programming applied to famous mathematical sequences, in Proceedings of the Seventh York Doctoral Symposium on Computer Science & Electronics (2014), pp. 37–46

  42. A.J. Turner, J.F. Miller, Recurrent Cartesian Genetic Programming applied to series forecasting, in Proceedings of the Conference on Genetic and Evolutionary Computation (GECCO-15) (2015), to appear

  43. N.Q. Uy, N.X. Hoai, M. ONeill, R.I. McKay, E. Galván-López, Semantically-based crossover in genetic programming: application to real-valued symbolic regression. Genet. Program. Evol. Mach. 12(2), 91–119 (2011)

    Article  Google Scholar 

  44. E. Van Nimwegen, J.P. Crutchfield, M. Huynen, Neutral evolution of mutational robustness. Proc. Natl. Acad. Sci. 96(17), 9716–9720 (1999)

    Article  Google Scholar 

  45. A. Vargha, H.D. Delaney, A critique and improvement of the CL common language effect size statistics of McGraw and Wong. J. Educ. Behav. Stat. 25(2), 101–132 (2000)

    Google Scholar 

  46. Z. Vasicek, Cartesian gp in optimization of combinational circuits with hundreds of inputs and thousands of gates, in Genetic Programming (Springer, Berlin, 2015), pp. 139–150

  47. V.K. Vassilev, J.F. Miller, The advantages of landscape neutrality in digital circuit evolution, in Proceedings of the International Conference on Evolvable Systems, LNCS, vol. 1801 (Springer, Berlin, 2000), pp. 252–263

  48. A. Wagner, Robustness, evolvability, and neutrality. FEBS Lett. 579(8), 1772–1778 (2005)

    Article  Google Scholar 

  49. A. Wieland, Evolving neural network controllers for unstable systems, in International Joint Conference on Neural Networks, 1991 (IJCNN-91)-Seattle, vol. 2 (IEEE, 1991), pp. 667–673

  50. D. Wilson, D. Kaur, Search, neutral evolution, and mapping in evolutionary computing: a case study of grammatical evolution. IEEE Trans. Evol. Comput. 13(3), 566–590 (2009)

    Article  Google Scholar 

  51. S. Wright, The roles of mutation, inbreeding, crossbreeding, and selection in evolution, in Sixth International Congress of Genetics (Brooklyn Botanic Garden, 1932), pp. 356–366

  52. T. Yu, J. Miller, Neutrality and the evolvability of boolean function landscape, in Genetic Programming, Lecture Notes in Computer Science, vol. 2038, ed. by J. Miller, M. Tomassini, P. Lanzi, C. Ryan, A. Tettamanzi, W. Langdon (Springer, Berlin, 2001), pp. 204–217

  53. T. Yu, J. Miller, Finding needles in haystacks is not hard with neutrality, in Genetic Programming, Lecture Notes in Computer Science, vol. 2278, ed. by J. Foster, E. Lutton, J. Miller, C. Ryan, A. Tettamanzi (Springer, Berlin, 2002), pp. 13–25. doi:10.1007/3-540-45984-7_2

  54. T. Yu, J.F. Miller, Through the interaction of neutral and adaptive mutations, evolutionary search finds a way. Artif. Life 12(4), 525–551 (2006)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Andrew James Turner.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Turner, A.J., Miller, J.F. Neutral genetic drift: an investigation using Cartesian Genetic Programming. Genet Program Evolvable Mach 16, 531–558 (2015). https://doi.org/10.1007/s10710-015-9244-6

Download citation

  • Received:

  • Revised:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10710-015-9244-6

Keywords

Navigation