Previous work has demonstrated the utility of graph databases as a tool for collecting, analyzing, and visualizing ancestry in evolutionary computation runs. That work focused on sections of individual runs, whereas this paper illustrates the application of these ideas on the entirety of large runs (up to three hundred thousand individuals) and combinations of multiple runs. Here we use these tools to generate graphs showing all the ancestors of successful individuals from a variety of stack-based genetic programming runs on software synthesis problems. These graphs highlight important moments in the evolutionary process. They also allow us to compare the dynamics for successful and unsuccessful runs. As well as displaying these full ancestry graphs, we use a variety of standard techniques such as size, color, pattern, labeling, and opacity to visualize other important information such as fitness, which genetic operators were used, and the distance between parent and child genomes. While this generates an extremely rich visualization, the amount of data can also be somewhat overwhelming, so we also explore techniques for filtering these graphs that allow us to better understand the key dynamics.
|Original language||English (US)|
|Title of host publication||GECCO 2016 Companion - Proceedings of the 2016 Genetic and Evolutionary Computation Conference|
|Publisher||Association for Computing Machinery, Inc|
|Number of pages||8|
|State||Published - Jul 20 2016|
|Event||2016 Genetic and Evolutionary Computation Conference, GECCO 2016 Companion - Denver, United States|
Duration: Jul 20 2016 → Jul 24 2016
|Name||GECCO 2016 Companion - Proceedings of the 2016 Genetic and Evolutionary Computation Conference|
|Other||2016 Genetic and Evolutionary Computation Conference, GECCO 2016 Companion|
|Period||7/20/16 → 7/24/16|
Bibliographical noteFunding Information:
This material is based upon work supported by the National Science Foundation under Grants No. 1129139 and 1331283.
- Evolutionary computation
- Genetic programming