Exploring Genetic Programming Systems with MAP-Elites

  • Emily DolsonEmail author
  • Alexander Lalejini
  • Charles Ofria
Part of the Genetic and Evolutionary Computation book series (GEVO)


MAP-Elites is an evolutionary computation technique that has proven valuable for exploring and illuminating the genotype-phenotype space of a computational problem. In MAP-Elites, a population is structured based on phenotypic traits of prospective solutions; each cell represents a distinct combination of traits and maintains only the most fit organism found with those traits. The resulting map of trait combinations allows the user to develop a better understanding of how each trait relates to fitness and how traits interact. While MAP-Elites has not been demonstrated to be competitive for identifying the optimal Pareto front, the insights it provides do allow users to better understand the underlying problem. In particular, MAP-Elites has provided insight into the underlying structure of problem representations, such as the value of connection cost or modularity to evolving neural networks. Here, we extend the use of MAP-Elites to examine genetic programming representations, using aspects of program architecture as traits to explore. We demonstrate that MAP-Elites can generate programs with a much wider range of architectures than other evolutionary algorithms do (even those that are highly successful at maintaining diversity), which is not surprising as this is the purpose of MAP-Elites. Ultimately, we propose that MAP-Elites is a useful tool for understanding why genetic programming representations succeed or fail and we suggest that it should be used to choose selection techniques and tune parameters.



We thank members of the MSU Digital Evolution Lab for helpful comments and suggestions on this manuscript. This research was supported by the National Science Foundation (NSF) through the BEACON Center (Cooperative Agreement DBI-0939454), Graduate Research Fellowships to ED and AL (Grant No. DGE-1424871), and NSF Grant No. DEB-1655715 to CO. Michigan State University provided computational resources through the Institute for Cyber-Enabled Research and the Digital Scholarship Lab. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the NSF or MSU.


  1. 1.
    Angeline, P.J., Pollack, J.B.: The evolutionary induction of subroutines. Proceedings of the Fourteenth Annual Conference of the Cognitive Science Society pp. 236–241 (1992)Google Scholar
  2. 2.
    Arnold, T.A., Emerson, J.W.: Nonparametric Goodness-of-Fit Tests for Discrete Null Distributions. The R Journal 3, 34–39 (2011)Google Scholar
  3. 3.
    Brameier, M., Banzhaf, W.: Linear Genetic Programming. Springer US, Boston, MA (2007)zbMATHGoogle Scholar
  4. 4.
    Chikumbo, O., Goodman, E., Deb, K.: Approximating a multi-dimensional Pareto front for a land use management problem: A modified MOEA with an epigenetic silencing metaphor. In: 2012 IEEE Congress on Evolutionary Computation, pp. 1–9 (2012)Google Scholar
  5. 5.
    Cully, A., Clune, J., Tarapore, D., Mouret, J.B.: Robots that can adapt like animals. Nature 521, 503 (2015)CrossRefGoogle Scholar
  6. 6.
    Cully, A., Demiris, Y.: Quality and Diversity Optimization: A Unifying Modular Framework. IEEE Transactions on Evolutionary Computation 22, 245–259 (2018)CrossRefGoogle Scholar
  7. 7.
    Helmuth, T., Spector, L.: General Program Synthesis Benchmark Suite. In: Proceedings of the 2015 Annual Conference on Genetic and Evolutionary Computation, GECCO ‘15, pp. 1039–1046. ACM, New York, NY, USA (2015)Google Scholar
  8. 8.
    Keijzer, M., Ryan, C., Murphy, G., Cattolico, M.: Genetic Programming, Lecture Notes in Computer Science, vol. 3447. Springer, Berlin, Heidelberg (2005)Google Scholar
  9. 9.
    Kirschner, M., Gerhart, J.: Evolvability. Proceedings of the National Academy of Sciences 95, 8420–8427 (1998)CrossRefGoogle Scholar
  10. 10.
    Koza, J.R.: Genetic Programming: On the Programming of Computers by Means of Natural Selection. MIT Press, Cambridge, MA, USA (1992)zbMATHGoogle Scholar
  11. 11.
    Koza, J.R.: Genetic Programming II: Automatic Discovery of Reusable Programs. MIT Press, Cambridge, MA, USA (1994)zbMATHGoogle Scholar
  12. 12.
    Lalejini, A., Dolson, E.: amlalejini/GPTP-2018-Exploring-Genetic- Programming-Systems-with-MAP-Elites: Initial Release (2018). URL
  13. 13.
    Lalejini, A., Ofria, C.: What else is in an evolved name? Exploring evolvable specificity with SignalGP. PeerJ Preprints 6:e27122v1 pp. 1–21 (2018)Google Scholar
  14. 14.
    Misevic, D., Ofria, C., Lenski, R.E.: Sexual reproduction reshapes the genetic architecture of digital organisms. Proceedings of the Royal Society B: Biological Sciences 273, 457–464 (2006)CrossRefGoogle Scholar
  15. 15.
    Mouret, J.B., Clune, J.: Illuminating search spaces by mapping elites. arXiv:1504.04909 [cs, q-bio] (2015). ArXiv: 1504.04909Google Scholar
  16. 16.
    Ofria, C., Dolson, E., Lalejini, A., Fenton, J., Jorgensen, S., Miller, R., Moreno, M., Stredwick, J., Zaman, L., Schossau, J., leg2015, cgnitash, V, A.: amlalejini/Empirical: GPTP 2018 - Exploring Genetic Programming Systems with MAP-Elites (2018). URL
  17. 17.
    O’Neill, M., Vanneschi, L., Gustafson, S., Banzhaf, W.: Open issues in genetic programming. Genetic Programming and Evolvable Machines 11, 339–363 (2010)CrossRefGoogle Scholar
  18. 18.
    Pugh, J.K., Soros, L.B., Szerlip, P.A., Stanley, K.O.: Confronting the Challenge of Quality Diversity. In: Proceedings of the 2015 Annual Conference on Genetic and Evolutionary Computation, GECCO ‘15, pp. 967–974. ACM, New York, NY, USA (2015)Google Scholar
  19. 19.
    R Core Team: R: A Language and Environment for Statistical Computing. R Foundation for Statistical Computing, Vienna, Austria (2017). URL
  20. 20.
    Roberts, S.C., Howard, D., Koza, J.R.: Evolving modules in Genetic Programming by subtree encapsulation. Genetic Programming, Proceedings of EuroGP’2001 LNCS 2038, 160–175 (2001)Google Scholar
  21. 21.
    Spector, L.: Simultaneous Evolution of Programs and their Control Structures. Advances in Genetic Programming 2 pp. 137–154 (1996)Google Scholar
  22. 22.
    Spector, L.: Autoconstructive Evolution: Push, PushGP, and Pushpop. GECCO-2001, pp. 137–146 (2001)Google Scholar
  23. 23.
    Spector, L.: Assessment of problem modality by differential performance of lexicase selection in genetic programming: a preliminary report. In: Proceedings of the 14th annual conference companion on Genetic and evolutionary computation, pp. 401–408. ACM (2012)Google Scholar
  24. 24.
    Spector, L., Martin, B., Harrington, K., Helmuth, T.: Tag-based modules in genetic programming. GECCO ‘11: Proceedings of the 13th annual conference on Genetic and evolutionary computation pp. 1419–1426 (2011)Google Scholar
  25. 25.
    Spector, L., McPhee, N.F.: Expressive genetic programming: concepts and applications. In: Proceedings of the Genetic and Evolutionary Computation Conference Companion on - GECCO ‘18, pp. 977–997. ACM Press, Kyoto, Japan (2018)Google Scholar
  26. 26.
    Walker, J.A., Miller, J.F.: The automatic acquisition, evolution and reuse of modules in Cartesian genetic programming. IEEE Transactions on Evolutionary Computation 12, 397–417 (2008).CrossRefGoogle Scholar
  27. 27.
    Wickham, H.: ggplot2: elegant graphics for data analysis. Springer, New York (2009)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  • Emily Dolson
    • 1
    Email author
  • Alexander Lalejini
    • 1
  • Charles Ofria
    • 1
  1. 1.BEACON Center for the Study of Evolution in Action and Department of Computer Science and Ecology, Evolutionary Biology, and Behavior ProgramMichigan State UniversityEast LansingUSA

Personalised recommendations