ABSTRACT
In autoconstructive evolutionary algorithms, individuals implement not only candidate solutions to specified computational problems, but also their own methods for variation of offspring. This makes it possible for the variation methods to themselves evolve, which could, in principle, produce a system with an enhanced capacity for adaptation and superior problem solving power. Prior work on autoconsruction has explored a range of system designs and their evolutionary dynamics, but it has not solved hard problems. Here we describe a new approach that can indeed solve at least some hard problems. We present the key components of this approach, including the use of linear genomes for hierarchically structured programs, a diversity-maintaining parent selection algorithm, and the enforcement of diversification constraints on offspring. We describe a software synthesis benchmark problem that our new approach can solve, and we present visualizations of data from single successful runs of autoconstructive vs. non-autoconstructive systems on this problem. While anecdotal, the data suggests that variation methods, and therefore significant aspects of the evolutionary process, evolve over the course of the autoconstructive runs.
- C. Adami, C. T. Brown, and W. K. Kellogg. Evolutionary Learning in the 2D Artificial Life System Avida. In Artificial Life IV, pages 377--381, 1994.Google Scholar
- P. J. Angeline. Adaptive and self-adaptive evolutionary computations. In M. Palaniswami and Y. Attikiouzel, editors, Computational Intelligence: A Dynamic Systems Perspective, pages 152--163. IEEE Press, 1995.Google Scholar
- P. J. Angeline. Two self-adaptive crossover operators for genetic programming. In P. J. Angeline and K. E. Kinnear, Jr., editors, Advances in Genetic Programming 2, chapter 5, pages 89--110. MIT Press, Cambridge, MA, USA, 1996. Google ScholarDigital Library
- H.-G. Beyer and S. Meyer-Nieberg. Self-adaptation of evolution strategies under noisy fitness evaluations. Genetic Programming and Evolvable Machines, 7(4):295--328, Dec. 2006. Google ScholarDigital Library
- A. W. Covert, R. E. Lenski, C. O. Wilke, and C. Ofria. Experiments on the role of deleterious mutations as stepping stones in adaptive evolution. Proceedings of the National Academy of Sciences, 110(34):E3171--E3178, 2013.Google ScholarCross Ref
- R. Crawford-Marks and L. Spector. Size control via size fair genetic operators in the PushGP genetic programming system. In GECCO 2002: Proceedings of the Genetic and Evolutionary Computation Conference, pages 733--739. Morgan Kaufmann Publishers, 2002.Google ScholarDigital Library
- L. Diosan and M. Oltean. Evolutionary design of evolutionary algorithms. Genetic Programming and Evolvable Machines, 10(3):263--306, Sept. 2009. Google ScholarDigital Library
- B. Edmonds. Meta-genetic programming: Co-evolving the operators of variation. Elektrik, 9(1):13--29, May 2001. Turkish Journal Electrical Engineering and Computer Sciences.Google Scholar
- A. E. Eiben, R. Hinterding, and Z. Michalewicz. Parameter control in evolutionary algorithms. IEEE Transations on Evolutionary Computation, 3(2):124--141, July 1999. Google ScholarDigital Library
- R. Fry, S. L. Smith, and A. M. Tyrrell. A self-adaptive mate selection model for genetic programming. In Proceedings of the 2005 IEEE Congress on Evolutionary Computation, volume 3, pages 2707--2714. IEEE Press, 2005.Google ScholarCross Ref
- D. E. Goldberg and U.-M. O'Reilly. Where does the good stuff go, and why? how contextual semantics influence program structure in simple genetic programming. In Proceedings of the First European Workshop on Genetic Programming, pages 16--36. Springer-Verlag, 1998. Google ScholarDigital Library
- B. W. Goldman and D. R. Tauritz. Self-configuring crossover. In GECCO 2011 1st workshop on evolutionary computation for designing generic algorithms, pages 575--582. ACM, 2011. Google ScholarDigital Library
- K. Harrington, E. Tosch, L. Spector, and J. Pollack. Compositional autoconstructive dynamics. In Unifying Themes in Complex Systems Volume VIII: Proceedings of the Eighth International Conference on Complex Systems, New England Complex Systems Institute Series on Complexity, pages 856--870. NECSI Knowledge Press, 2011.Google Scholar
- K. I. Harrington, L. Spector, J. B. Pollack, and U.-M. O'Reilly. Autoconstructive evolution for structural problems. In Proceedings of the fourteenth international conference on Genetic and evolutionary computation conference companion, GECCO Companion '12, pages 75--82. ACM, 2012. Google ScholarDigital Library
- T. Helmuth. General Program Synthesis from Examples Using Genetic Programming with Parent Selection Based on Random Lexicographic Orderings of Test Cases. PhD thesis, College of Information and Computer Sciences, University of Massachusetts Amherst, USA, Sept. 2015.Google Scholar
- T. Helmuth, N. F. McPhee, and L. Spector. Lexicase selection for program synthesis: A diversity analysis. In R. Riolo, W. P. Worzel, and K. Groscurth, editors, Genetic Programming Theory and Practice XIII. Springer, 2015. in press.Google Scholar
- T. Helmuth, N. F. McPhee, and L. Spector. Plush: Linear genomes for structured push programs. In Genetic Programming Theory and Practice XIV, Genetic and Evolutionary Computation. Springer, 2016.Google Scholar
- T. Helmuth and L. Spector. Detailed problem descriptions for general program synthesis benchmark suite. Technical Report UM-CS-2015-006, School of Computer Science, University of Massachusetts, Amherst, 2015.Google Scholar
- T. Helmuth and L. Spector. General program synthesis benchmark suite. In GECCO '15: Proceedings of the 2015 Conference on Genetic and Evolutionary Computation, July 2015. Google ScholarDigital Library
- T. Helmuth, L. Spector, and J. Matheson. Solving uncompromising problems with lexicase selection. Evolutionary Computation, IEEE Transactions on, 19(5):630--643, Oct 2015.Google Scholar
- K. Kannappan, L. Spector, M. Sipper, T. Helmuth, W. L. Cava, J. Wisdom, and O. Bernstein. Analyzing a decade of human-competitive ("HUMIE") winners: What can we learn? In R. Riolo, W. P. Worzel, and M. Kotanchek, editors, Genetic Programming Theory and Practice XII, Genetic and Evolutionary Computation, pages 149--166, Ann Arbor, USA, 8-10 May 2014. Springer.Google Scholar
- W. Kantschik, P. Dittrich, M. Brameier, and W. Banzhaf. Meta-evolution in graph GP. In Genetic Programming, Proceedings of EuroGP'99, pages 15--28. Springer-Verlag, 1999. Google ScholarDigital Library
- J. Klein and L. Spector. Genetic programming with historically assessed hardness. In R. L. Riolo, T. Soule, and B. Worzel, editors, Genetic Programming Theory and Practice VI, Genetic and Evolutionary Computation, chapter 5, pages 61--75. Springer, 2008.Google Scholar
- J. R. Koza. Genetic Programming: On the Programming of Computers by Means of Natural Selection. MIT Press, Cambridge, MA, USA, 1992. Google ScholarDigital Library
- R. M. MacCallum. Introducing a perl genetic programming system: and can meta-evolution solve the bloat problem? In Genetic Programming, Proceedings of EuroGP'2003, pages 364--373. Springer-Verlag, 2003. Google ScholarDigital Library
- R. I. McKay. Fitness sharing in genetic programming. In Proceedings of the Genetic and Evolutionary Computation Conference (GECCO-2000), pages 435--442. Morgan Kaufmann, 2000. Google ScholarDigital Library
- R. Moll. iJava--an online interactive textbook for elementary java instruction: Demonstration. J. Comput. Sci. Coll., 26(6):55--57, June 2011. Google ScholarDigital Library
- C. Ofria. private communication, 2016.Google Scholar
- A. Robinson and L. Spector. Using genetic programming with multiple data types and automatic modularization to evolve decentralized and coordinated navigation in multi-agent systems. In Late Breaking Papers at the Genetic and Evolutionary Computation Conference (GECCO-2002), pages 391--396. AAAI, 2002.Google Scholar
- J. Schmidhuber. Evolutionary principles in self-referential learning. on learning now to learn: The meta-meta-meta...-hook. Diploma thesis, Technische Universitat Munchen, Germany, 14 May 1987.Google Scholar
- S. Silva and S. Dignum. Extending operator equalisation: Fitness based self adaptive length distribution for bloat free GP. In Proceedings of the 12th European Conference on Genetic Programming, EuroGP 2009, pages 159--170. Springer, 2009. Google ScholarDigital Library
- R. Smith, S. Forrest, and A. S. Perelson. Population diversity in an immune system model: Implications for genetic search. In Foundations of Genetic Algorithms 2, pages 153--166. Morgan Kaufmann, 1992.Google Scholar
- E. Smorodkina and D. Tauritz. Toward automating ea configuration: the parent selection stage. In Evolutionary Computation, 2007. CEC 2007. IEEE Congress on, pages 63--70, Sept 2007.Google ScholarCross Ref
- W. M. Spears. Adapting crossover in evolutionary algorithms. In Proceedings of the Fourth Annual Conference on Evolutionary Programming, pages 367--384. MIT Press, 1995.Google Scholar
- L. Spector. Autoconstructive evolution: Push, pushGP, and pushpop. In Proceedings of the Genetic and Evolutionary Computation Conference (GECCO-2001), pages 137--146. Morgan Kaufmann, 2001.Google Scholar
- L. Spector. Adaptive populations of endogenously diversifying Pushpop organisms are reliably diverse. In Proceedings of Artificial Life VIII, the 8th International Conference on the Simulation and Synthesis of Living Systems, pages 142--145. The MIT Press, 2002. Google ScholarDigital Library
- L. Spector. Automatic Quantum Computer Programming: A Genetic Programming Approach, volume 7 of Genetic Programming. Kluwer Academic Publishers, Boston/Dordrecht/New York/London, June 2004. Google ScholarDigital Library
- L. Spector. Towards practical autoconstructive evolution: Self-evolution of problem-solving genetic programming systems. In R. Riolo, T. McConaghy, and E. Vladislavleva, editors, Genetic Programming Theory and Practice VIII, volume 8 of Genetic and Evolutionary Computation, pages 17--33. Springer New York, 2011.Google Scholar
- L. Spector. Assessment of problem modality by differential performance of lexicase selection in genetic programming: a preliminary report. In Proceedings of the fourteenth international conference on Genetic and evolutionary computation conference companion, GECCO Companion '12, pages 401--408, New York, NY, USA, 2012. ACM. Google ScholarDigital Library
- L. Spector. Clojush: The Push programming language and the PushGP genetic programming system implemented in Clojure. https://github.com/lspector/Clojush, 2016.Google Scholar
- L. Spector, K. Harrington, B. Martin, and T. Helmuth. What's in an evolved name? the evolution of modularity via tag-based reference. In R. Riolo, E. Vladislavleva, and J. H. Moore, editors, Genetic Programming Theory and Practice IX, Genetic and Evolutionary Computation, chapter 1, pages 1--16. Springer, 2011.Google Scholar
- L. Spector and T. Helmuth. Uniform linear transformation with repair and alternation in genetic programming. In R. Riolo, J. H. Moore, and M. Kotanchek, editors, Genetic Programming Theory and Practice XI, Genetic and Evolutionary Computation, chapter 8, pages 137--153. Springer, 9-11 May 2013.Google Scholar
- L. Spector and T. Helmuth. Effective simplification of evolved push programs using a simple, stochastic hill-climber. In GECCO Comp '14: Proceedings of the 2014 conference companion on Genetic and evolutionary computation companion, pages 147--148. ACM, 2014. Google ScholarDigital Library
- L. Spector and J. Klein. Trivial geography in genetic programming. In T. Yu, R. L. Riolo, and B. Worzel, editors, Genetic Programming Theory and Practice III, volume 9 of Genetic Programming, chapter 8, pages 109--123. Springer, 12-14 May 2005.Google ScholarDigital Library
- L. Spector, J. Klein, and M. Keijzer. The push3 execution stack and the evolution of control. In GECCO 2005: Proceedings of the 2005 conference on Genetic and evolutionary computation, pages 1689--1696. ACM Press, 2005. Google ScholarDigital Library
- L. Spector, J. Klein, and C. Perry. Tags and the evolution of cooperation in complex environments. In Proceedings of the AAAI 2004 Symposium on Artificial Multiagent Learning. AAAI Press, 2004.Google Scholar
- L. Spector, J. Klein, C. Perry, and M. Feinstein. Emergence of collective behavior in evolving populations of flying agents. In Genetic and Evolutionary Computation -- GECCO-2003, volume 2723 of LNCS, pages 61--73, Chicago, 12-16 July 2003. Springer-Verlag. Google ScholarDigital Library
- L. Spector, J. Klein, C. Perry, and M. Feinstein. Emergence of collective behavior in evolving populations of flying agents. Genetic Programming and Evolvable Machines, 6(1):111--125, Mar. 2005. Google ScholarDigital Library
- L. Spector and A. Robinson. Genetic programming and autoconstructive evolution with the push programming language. Genetic Programming and Evolvable Machines, 3(1):7--40, Mar. 2002. Google ScholarDigital Library
- L. Spector and A. Robinson. Multi-type, self-adaptive genetic programming as an agent creation tool. In GECCO 2002: Proceedings of the Bird of a Feather Workshops, Genetic and Evolutionary Computation Conference, pages 73--80. AAAI, 2002.Google Scholar
- J. Tavares, P. Machado, A. Cardoso, F. B. Pereira, and E. Costa. On the evolution of evolutionary algorithms. In Genetic Programming 7th European Conference, EuroGP 2004, Proceedings, pages 389--398. Springer-Verlag, 2004.Google ScholarCross Ref
- F. Vafaee, W. Xiao, P. C. Nelson, and C. Zhou. Adaptively evolving probabilities of genetic operators. In Seventh International Conference on Machine Learning and Applications, ICMLA '08, pages 292--299. IEEE, 2008. Google ScholarDigital Library
- J. R. Woodward and J. Swan. The automatic generation of mutation operators for genetic algorithms. In GECCO 2012 2nd Workshop on Evolutionary Computation for the Automated Design of Algorithms, pages 67--74. ACM, 2012. Google ScholarDigital Library
Index Terms
Evolution Evolves with Autoconstruction
Recommendations
Recent developments in autoconstructive evolution
GECCO '17: Proceedings of the Genetic and Evolutionary Computation Conference CompanionThis is an extended abstract for an invited keynote presentation at the 7th Workshop on Evolutionary Computation for the Automated Design of Algorithms (ECADA). We first outline the motivation, primary mechanisms, and prior results of the evolutionary ...
Expressive Genetic Programming
GECCO Companion '15: Proceedings of the Companion Publication of the 2015 Annual Conference on Genetic and Evolutionary ComputationThe language in which evolving programs are expressed can have significant impacts on the problem-solving capabilities of a genetic programming system. These impacts stem both from the absolute computational power of the languages that are used, as ...
Expressive genetic programming
GECCO '13 Companion: Proceedings of the 15th annual conference companion on Genetic and evolutionary computationThe language in which evolving programs are expressed can have significant impacts on the problem-solving capabilities of a genetic programming system. These impacts stem both from the absolute computational power of the languages that are used, as ...
Comments