Wikipedia

Autoconstructive evolution

(redirected from Autoconstructive)

Autoconstructive evolution is a process in which the entities undergoing evolutionary change are themselves responsible for the construction of their own offspring and thus for aspects of the evolutionary process itself. Because biological evolution is always autoconstructive, this term mainly occurs in evolutionary computation, to distinguish artificial life type systems from conventional genetic algorithms where the GA performs replication artificially.[1][2][3][4][5] The term was coined by Lee Spector.[6][7][8][9][10]

Importance of autoconstructive evolution

Autoconstructive evolution is a good platform for answering theoretical questions about the evolution of evolvability. Preliminary evidence suggests that the way in which offspring are generated changes substantially over the course of evolution.[11] By studying these patterns, we can begin to understand how evolving systems organize themselves to evolve faster. Ultimately, such an understanding could allow us to improve our ability to solve problems with evolutionary computation.

This increased ability for the process of self-replication to evolve is also thought to be important for recreating the open-ended evolutionary process observed on earth[12]

Examples of autoconstructive evolution

Tierra and Avida

A relatively simple form of autoconstruction occurs in systems such as Tierra and Avida. In these systems, programs replicate themselves by allocating space in memory for their offspring and then looping over all of the instructions in their genome and copying each into the newly allocated space.[13] This is autoconstruction in that the programs are responsible for determining what code ends up in the offspring. Programs most commonly make exact copies of themselves, with changes being introduced exclusively through mutation events. In principle, however, programs can compose a wide range of possible offspring by only copying a subset of their genomes.

PushGP

PushGP is a genetic programming system which evolves code written in the Push language.[8] Push is a stack-based language designed for easy use in genetic programming, in which every variable type (e.g. strings, integers, etc.) has its own stack. All variables are stored on the stack associated with their type. One of the variable types is executable Push code. As a result, this language design allows for rich autoconstructive evolution by treating all code left on the code stack at the end of program execution as the program's offspring.[14] Using this approach, programs have complete control over the offspring programs that they create.

References

  1. ^ Ekárt, Anikó (2014-03-01). "Emergence in genetic programming" (PDF). Genetic Programming and Evolvable Machines. 15 (1): 83–85. doi:10.1007/s10710-013-9199-4. ISSN 1389-2576. S2CID 20992086.
  2. ^ Miller, Julian F. (2011). Cartesian Genetic Programming. Springer Science & Business Media. p. 10. ISBN 978-3642173103.
  3. ^ Rahim, Adzni Abdul (2008). A parametric study on reproductive competence in auto-constructive artificial life (Masters thesis). Universiti Malaysia Sabah.
  4. ^ Ryser-welch, Patricia; Miller, Julian F. (2014). "A review of hyper-heuristic frameworks". Proceedings of the Evo20 Workshop, AISB. CiteSeerX 10.1.1.563.9564.
  5. ^ Rahim, A. B. Abdul; Teo, J.; Saudi, A. (June 2006). An Empirical Comparison of Code Size Limit in Auto-Constructive Artificial Life. 2006 IEEE Conference on Cybernetics and Intelligent Systems. pp. 1–6. doi:10.1109/ICCIS.2006.252308. ISBN 978-1-4244-0022-5. S2CID 17596010.
  6. ^ Spector, Lee (2010-10-20). "Towards Practical Autoconstructive Evolution: Self-Evolution of Problem-Solving Genetic Programming Systems". Genetic Programming Theory and Practice VIII. Springer Science & Business Media. pp. 14–30. ISBN 978-1441977472.
  7. ^ Spector, Lee (2000). Automatic Quantum Computer Programming: A Genetic Programming Approach. Springer Science & Business Media. pp. 7–72. ISBN 978-1402078958.
  8. ^ a b Spector, Lee (2001). "Autoconstructive evolution: Push, pushGP, and pushpop" (PDF). Proceedings of the Genetic and Evolutionary Computation Conference. GECCO. San Francisco, CA, USA: ACM. pp. 137–146.
  9. ^ Spector, Lee; Moscovici, Eva (2017). Recent Developments in Autoconstructive Evolution. Proceedings of the Genetic and Evolutionary Computation Conference Companion. GECCO '17. New York, NY, USA: ACM. pp. 1154–1156. doi:10.1145/3067695.3082058. ISBN 9781450349390. S2CID 1968045.
  10. ^ Harrington, Kyle; Tosch, Emma; Spector, Lee; Pollack, Jordan (2011). "Compositional Autoconstructive Dynamics" (PDF). Unifying Themes in Complex Systems Volume VIII: Proceedings of the Eighth International Conference on Complex Systems. New England Complex Systems Institute. pp. 856–870. ISBN 978-0-9656328-4-3.
  11. ^ Spector, Lee; Moscovici, Eva (2017). Recent Developments in Autoconstructive Evolution. Proceedings of the Genetic and Evolutionary Computation Conference Companion. GECCO '17. New York, NY, USA: ACM. pp. 1154–1156. doi:10.1145/3067695.3082058. ISBN 9781450349390. S2CID 1968045.
  12. ^ Taylor, Tim; Bedau, Mark; Channon, Alastair; Ackley, David; Banzhaf, Wolfgang; Beslon, Guillaume; Dolson, Emily; Froese, Tom; Hickinbotham, Simon (2016-07-29). "Open-Ended Evolution: Perspectives from the OEE Workshop in York" (PDF). Artificial Life. 22 (3): 408–423. doi:10.1162/ARTL_a_00210. ISSN 1064-5462. PMID 27472417. S2CID 215715948.
  13. ^ Ofria, Charles; Wilke, Claus O. (2004). "Avida: A Software Platform for Research in Computational Evolutionary Biology". Artificial Life. 10 (2): 191–229. CiteSeerX 10.1.1.211.8981. doi:10.1162/106454604773563612. ISSN 1064-5462. PMID 15107231. S2CID 15128560.
  14. ^ Robinson, Alan; Spector, Lee (2002-03-01). "Genetic Programming and Autoconstructive Evolution with the Push Programming Language". Genetic Programming and Evolvable Machines. 3 (1): 7–40. doi:10.1023/A:1014538503543. ISSN 1573-7632. S2CID 5584377.

External links


This article is copied from an article on Wikipedia® - the free encyclopedia created and edited by its online user community. The text was not checked or edited by anyone on our staff. Although the vast majority of Wikipedia® encyclopedia articles provide accurate and timely information, please do not assume the accuracy of any particular article. This article is distributed under the terms of GNU Free Documentation License.

Copyright © 2003-2025 Farlex, Inc Disclaimer
All content on this website, including dictionary, thesaurus, literature, geography, and other reference data is for informational purposes only. This information should not be considered complete, up to date, and is not intended to be used in place of a visit, consultation, or advice of a legal, medical, or any other professional.