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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
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
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
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
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
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
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
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
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
Robinson I, Webber J, Eifrem E (2013) Graph Databases. O’Reilly, URL http://info.neotechnology.com/rs/neotechnology/images/GraphDatabases.pdf
Smith BH, Weintraub ER, Franklin A, Pickering A, Guzik K (2008) The mangle in practice: science, society, and becoming. Duke University Press, Durham/London
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
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
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
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
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
Corresponding author
Editor information
Editors and Affiliations
Rights 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)