Skip to main content

Using Graph Databases to Explore the Dynamics of Genetic Programming Runs

  • Chapter
  • First Online:
Genetic Programming Theory and Practice XIII

Abstract

For both practical reasons and those of habit, most evolutionary computation research is presented in highly summary form. These summaries, however, often obscure or completely mask the profusion of specific selections, crossovers, and mutations that are ultimately responsible for the aggregate behaviors we’re interested in. In this chapter we take a different approach and use the Neo4j graph database system to record and analyze the entire genealogical history of a set of genetic programming runs. We then explore a few of these runs in detail, discovering important properties of lexicase selection; these may in turn help us better understand the dynamics of lexicase selection, and the ways in which it differs from tournament selection. More broadly, we illustrate the value of recording and analyzing this level of detail, both as a means of understanding the dynamics of particular runs, and as a way of generating questions and ideas for subsequent, broader study.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    http://neo4j.com/

References

  • Burlacu B, Affenzeller M, Kommenda M, Winkler S, Kronberger G (2013) Visualization of genetic lineages and inheritance information in genetic programming. In: GECCO ’13 Companion: proceeding of the fifteenth annual conference companion on genetic and evolutionary computation conference companion. ACM, Amsterdam, pp 1351–1358

    Chapter  Google Scholar 

  • Burlacu B, Affenzeller M, Winkler S, Kommenda M, Kronberger G (2015) Methods for genealogy and building block analysis in genetic programming. In: Computational intelligence and efficiency in engineering systems, studies in computational intelligence, vol 595. Springer International Publishing, Berlin, pp 61–74

    Google Scholar 

  • Donatucci D, Dramdahl MK, McPhee NF (2014) Analysis of genetic programming ancestry using a graph database. In: Proceedings of the Midwest Instruction and Computing Symposium. http://goo.gl/RZXY2U

    Google Scholar 

  • Helmuth T, Spector L (2015) General program synthesis benchmark suite. In: Silva S, Esparcia-Alcazar AI, Lopez-Ibanez M, Mostaghim S, Timmis J, Zarges C, Correia L, Soule T, Giacobini M, Urbanowicz R, Akimoto Y, Glasmachers T, Fernandez de Vega F, Hoover A, Larranaga P, Soto M, Cotta C, Pereira FB, Handl J, Koutnik J, Gaspar-Cunha A, Trautmann H, Mouret JB, Risi S, Costa E, Schuetze O, Krawiec K, Moraglio A, Miller JF, Widera P, Cagnoni S, Merelo J, Hart E, Trujillo L, Kessentini M, Ochoa G, Chicano F, Doerr C (eds) GECCO ’15: Proceedings of the 2015 on genetic and evolutionary computation conference. ACM, Madrid, pp 1039–1046. doi:10.1145/2739480.2754769, http://doi.acm.org/10.1145/2739480.2754769

  • Helmuth T, McPhee NF, Spector L (2015a) Lexicase selection for program synthesis: a diversity analysis. In: Riolo R, Worzel WP, Groscurth K (eds) Genetic programming theory and practice XIII. Springer, Ann Arbor; Genetic and Evolutionary Computation, forthcoming

    Google Scholar 

  • Helmuth T, Spector L, Matheson J (2015b) Solving uncompromising problems with lexicase selection. IEEE Trans Evol Comput 19(5):630–643. doi:10.1109/TEVC.2014.2362729, http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6920034

    Google Scholar 

  • Kuber K, Card SW, Mehrotra KG, Mohan CK (2014) Ancestral networks in evolutionary algorithms. In: Proceedings of the 2014 conference companion on Genetic and evolutionary computation companion. ACM, pp 115–116

    Google Scholar 

  • McPhee NF, Dramdahl MK, Donatucci D (2015) Impact of crossover bias in genetic programming. In: GECCO ’15: Proceedings of the 2015 conference on genetic and evolutionary computation

    Google Scholar 

  • Pickering A (1993) The mangle of practice: agency and emergence in the sociology of science. Am J Sociol 99(3):559–589. http://www.jstor.org/stable/2781283

    Article  MathSciNet  Google Scholar 

  • Robinson I, Webber J, Eifrem E (2013) Graph Databases. O’Reilly, URL http://info.neotechnology.com/rs/neotechnology/images/GraphDatabases.pdf

    Google Scholar 

  • Smith BH, Weintraub ER, Franklin A, Pickering A, Guzik K (2008) The mangle in practice: science, society, and becoming. Duke University Press, Durham/London

    Google Scholar 

  • Spector L (2012) Assessment of problem modality by differential performance of lexicase selection in genetic programming: a preliminary report. In: McClymont K, Keedwell E (eds) 1st workshop on understanding problems (GECCO-UP), ACM, Philadelphia, pp 401–408. doi:10.1145/2330784.2330846, http://hampshire.edu/lspector/pubs/wk09p4-spector.pdf

  • Spector L, Helmuth T (2013) Uniform linear transformation with repair and alternation in genetic programming. In: Riolo R, Moore JH, Kotanchek M (eds) Genetic programming theory and practice XI. Genetic and Evolutionary Computation, chap 8. Springer, Ann Arbor, pp 137–153

    Google Scholar 

  • Spector L, Robinson A (2002) Genetic programming and autoconstructive evolution with the push programming language. Genet Program Evolvable Mach 3(1):7–40. doi:10.1023/A:1014538503543, http://hampshire.edu/lspector/pubs/push-gpem-final.pdf

    Google Scholar 

  • Spector L, Klein J, Keijzer M (2005) The push3 execution stack and the evolution of control. In: GECCO 2005: Proceedings of the 2005 conference on Genetic and evolutionary computation, vol 2. ACM, Washington D.C., pp 1689–1696

    Google Scholar 

  • Wikipedia (2015a) Graph database — Wikipedia, the free encyclopedia. http://en.wikipedia.org/w/index.php?title=Graph_database\&oldid=653752823. Accessed 28 March 2015, Online

  • Wikipedia (2015b) SPARQL — Wikipedia, the free encyclopedia. http://en.wikipedia.org/w/index.php?title=SPARQL\&oldid=661970711. Accessed 8 June 2015, Online

Download references

Acknowledgements

Thanks to the members of the Hampshire College Computational Intelligence Lab and M. Kirbie Dramdahl at the University of Minnesota, Morris, for discussions that helped to improve the work described in this chapter. Thanks also to Josiah Erikson for systems support, and to Hampshire College for support for the Hampshire College Institute for Computational Intelligence. This material is based upon work supported by the National Science Foundation under Grants No. 1017817, 1129139, and 1331283. Any opinions, findings, and conclusions or recommendations expressed in this publication are those of the authors and do not necessarily reflect the views of the National Science Foundation.

We are very grateful to all the participants in the 2015 Genetic Programming Theory and Practice (GPTP) workshop for their enthusiasm, ideas, and support. In particular we’d like to thank William Tozier for all manner of suggestions and feedback, and in particular for helping us understand the connection between our work and the Pickering’s idea of the “mangle of practice”. Krzysztof Krawiec provided a number of valuable suggestions based on an early draft. Steven Gustafson suggested that we look into SPARQL and triplestore databases as an alternative to Neo4j, an interesting idea we haven’t had time to explore in detail. Stuart Card connected us to the interesting related work by Karthik Kuber. Finally, thanks to the GPTP organizers; without their hard work none of those other valuable conversations would have occurred.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Nicholas Freitag McPhee .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing Switzerland

About this chapter

Cite this chapter

McPhee, N.F., Donatucci, D., Helmuth, T. (2016). Using Graph Databases to Explore the Dynamics of Genetic Programming Runs. In: Riolo, R., Worzel, W., Kotanchek, M., Kordon, A. (eds) Genetic Programming Theory and Practice XIII. Genetic and Evolutionary Computation. Springer, Cham. https://doi.org/10.1007/978-3-319-34223-8_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-34223-8_11

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-34221-4

  • Online ISBN: 978-3-319-34223-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics