Abstract
Push is a programming language designed for the expression of evolving programs within an evolutionary computation system. This article describes Push and illustrates some of the opportunities that it presents for evolutionary computation. Two evolutionary computation systems, PushGP and Pushpop, are described in detail. PushGP is a genetic programming system that evolves Push programs to solve computational problems. Pushpop, an “autoconstructive evolution” system, also evolves Push programs but does so while simultaneously evolving its own evolutionary mechanisms.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
C. Adami and C. T. Brown, “Evolutionary learning in the 2D artificial life system ‘Avida’,” in Artificial Life IV, MIT Press: Cambridge, MA, 1995, pp. 377–381.
P. J. Angeline, “Adaptive and self-adaptive evolutionary computations,” in Computational Intelligence: ADynamic Systems Perspective, IEEE Press: New York, 1995, pp. 152–163.
P. J. Angeline, “Morphogenic evolutionary computations: Introduction issues and examples,” in Evolutionary Programming IV: The Fourth Annual Conference on Evolutionary Programming, MIT Press: Cambridge, MA, 1995, pp. 387–401.
P. J. Angeline, “Two self-adaptive crossover operators for genetic programming,” in Advances in Genetic Programming 2, P. J. Angeline and K. E. Kinnear, Jr. (eds.), MIT Press: Cambridge, MA, 1996, pp. 89–110.
P. J. Angeline and J. B. Pollack, “The evolutionary induction of subroutines,” in Proc. Fourteenth Ann. Conf. Cognitive Science Society, Lawrence Erlbaum: London, 1992.
T. Bäck, “Self-adaptation in genetic algorithms,” in Toward a Practice of Autonomous Systems: Proceedings of the First European Conference on Artificial Life, MIT Press: Cambridge, MA, 1992, pp. 263–271.
W. Banzhaf, P. Nordin, R. E. Keller, and F. D. Francone, Genetic Programming: An Introduction, Academic Press/Morgan Kaufmann: New York/Los Altos, CA, 1998.
S. Brave, “Evolving recursive programs for tree search,” in Advances in Genetic Programming 2, P. J. Angeline and K. E. Kinnear, Jr. (eds.), MIT Press: Cambridge, MA, 1996, pp. 203–220.
W. S. Bruce, “Automatic generation of object-oriented programs using genetic programming,” in Genetic Programming 1996: Proc. First Ann. Conf., J. R. Koza, D. E. Goldberg, D. B. Fogel, and R. L. Riolo (eds.), MIT Press: Cambridge, MA, 1996, pp. 267–272.
W. S. Bruce, “The lawnmower problem revisited: Stack-based genetic programming and automatically defined functions,” in Genetic Programming 1997: Proc. Second Ann. Conf., J. R. Koza, K. Deb, M. Dorigo, D. B. Fogel, M. Garzon, H. Iba, and R. L. Riolo (eds.), Morgan Kaufmann: Los Altos, CA, 1997, pp. 52–57.
P. Dittrich and W. Banzhaf, “Self-evolution in a constructive binary string system,” Artificial Life, vol. 4, pp. 203–220, 1998.
B. Edmonds, “Meta-genetic programming: Co-evolving the operators of variation,” CPM Report No.: 98-32. Centre for Policy Modelling, Manchester Metropolitan University. http://www.cpm.mmu.ac.uk/ cpmrep32.html, 1998.
C. Gathercole, “An investigation of supervised learning in genetic programming,” PhD Thesis, University of Edinburgh, 1998.
P. Graham, On LISP: Advanced Techniques for Common LISP, Prentice-Hall: Englewood Cliffs, NJ, 1993.
P. Graham, ANSI Common Lisp. Prentice-Hall: Englewood Cliffs, NJ, 1996.
W. E. Hart, “Aconvergence analysis of unconstrained and bound constrained evolutionary pattern search,” Evolutionary Computation, vol. 9(1), pp. 1–23, 2000.
W. Kantschik, P. Dittrich, M. Brameier, and W. Banzhaf, “MetaEvolution in graph GP,” Proc. EuroGP'99, LNCS, vol. 1598. Springer-Verlag: Berlin, 1999, pp. 15–28.
J. R. Koza, Genetic Programming: On the Programming of Computers by Means of Natural Selection, MIT Press: Cambridge, MA, 1992.
J. R. Koza, Genetic Programming II: Automatic Discovery of Reusable Programs, MIT Press: Cambridge, MA, 1994.
J. R. Koza, D. Andre, F. H. Bennett III, and M. Keane, Genetic Programming 3: Darwinian Invention and Problem Solving, Morgan Kaufmann: Los Altos, CA, 1999.
W. B. Langdon, Data Structures and Genetic Programming: Genetic Programming + Data Structures = Automatic Programming!, Kluwer: Dordrecht, 1998.
R. E. Lenski, C. Ofria, T. C. Collier, and C. Adami, “Genome complexity, robustness and genetic interactions in digital organisms,” Nature, vol. 400, pp. 661–664, 1999.
L. Margulis, D. Sagan, and N. Eldredge, What is Life?, University of California Press: Berkeley, CA, 2000.
S. R. Maxwell III, “Experiments with a coroutine model for genetic programming,” in Proc. 1994 IEEE World Congress on Computational Intelligence, IEEE Press: New York, 1994, pp. 413–417.
D. J. Montana, “Strongly typed genetic programming,” Evolutionary Computation, vol. 3, no. 2, pp. 199–230, 1995.
P. Nordin, W. Banzhaf, and F. D. Francone, “Efficient evolution of machine code for CISC architectures using instruction blocks and homologous crossover,” in Advances in Genetic Programming 3, L. Spector, W. B. Langdon. U.-M. O'Reilly, and P. J. Angeline (eds.), MIT Press: Cambridge, MA, 1999, pp. 275–299.
T. R. Osborn, A. Charif, R. Lamas, and E. Dubossarsky, “Genetic logic programming,” in IEEE Conf. Evolutionary Comput., vol. 2, IEEE Press: New York, 1995, pp. 728–732.
A. N. Pargellis, “The spontaneous generation of digital life,” Physica D, vol. 91, pp. 86–96, 1996.
W. Pedrycz and M. Reformat, “Evolutionary optimization of logic-oriented systems,” in Proc. Genetic and Evolutionary Comput. Conf. (GECCO-2001), L. Spector, E. D. Goodman, A. Wu, W. B. Langdon, H.-M. Voigt, M. Gen, S. Sen, M. Dorigo, S. Pezeshk, M. H. Garzon, and E. Burke (eds.), Morgan Kaufmann: Los Altos, CA, 2001, pp. 1389–1396.
T. Perkis, “Stack-based genetic programming,” in Proc. 1994 IEEE World Congress on Comput. Intell., IEEE Press: New York, 1994, pp. 148–153.
T. S. Ray, “Is it alive or is it GA?,” in Proc. Fourth Inter. Conf. Genetic Algorithms, Morgan Kaufmann: Los Altos, CA, 1991, pp. 527–534.
A. Robinson, “Genetic programming: Theory, implementation, and the evolution of unconstrained solutions,” Hampshire College Division III (senior) thesis. http://hampshire.edu/lspector/robinsondiv3. pdf, 2001.
J. P. Rosca and D. H. Ballard, “Discovery of subroutines in genetic programming,” in Advances in Genetic Programming 2, P. J. Angeline and K. E. Kinnear, Jr. (eds.), MIT Press: Cambridge, MA, 1996, pp. 177–202.
W. P. Salman, O. Tisserand, and B. Toulot, FORTH, Springer-Verlag: Berlin, 1984.
M. Sipper, “Fifty years of research on self-replication: An overview,” Artificial Life, vol. 4, no. 3, pp. 237–257, 1998.
M. Sipper and J. Reggia, “Go forth and replicate,” Scientific American, August, 2001. 40 spector and robinson
L. Spector, “Simultaneous evolution of programs and their control structures,” in Advances in Genetic Programming 2, P. J. Angeline and K. E. Kinnear, Jr. (eds.), MIT Press: Cambridge, MA, 1996, pp. 137–154.
L. Spector, “Autoconstructive evolution: Push, PushGP, and Pushpop,” in Proc. Genetic and Evolutionary Comput. Conf., GECCO-2001, L. Spector, E. Goodman, A. Wu, W. B. Langdon, H.-M. Voigt, M. Gen, S. Sen, M. Dorigo, S. Pezeshk, M. Garzon, and E. Burke (eds.), Morgan Kaufmann: Los Altos, CA, 2001, pp. 137–146.
L. Spector and K. Stoffel, “Ontogenetic programming,” in Genetic Programming 1996: Proc. First Ann. Conf., J. R. Koza, D. E. Goldberg, D. B. Fogel, and R. L. Riolo (eds.), MIT Press: Cambridge, MA, 1996, pp. 394–399.
L. Spector and K. Stoffel, “Automatic generation of adaptive programs,” in From Animals to Animats 4: Proc. Fourth Inter. Conf. Simulation of Adaptive Behavior, MIT Press: Cambridge, MA, 1996, pp. 476–483.
C. R. Stephens, I. G. Olmedo, J. M. Vargas, and H. Waelbroeck, “Self-adaptation in evolving systems,” Artificial Life, vol. 4, pp. 183–201, 1998.
K. Stoffel and L. Spector, “High-performance, parallel, stack-based genetic programming,” in Genetic Programming 1996: Proc. First Annual Conf., J. R. Koza, D. E. Goldberg, D. B. Fogel, and R. L. Riolo (eds.), MIT Press: Cambridge, MA, 1996, pp. 224–229.
H. Suzuki, “Evolution of self-reproducing programs in a core propelled by parallel protein execution,” Artificial Life, vol. 6, no. 2, pp. 103–108, 2000.
E. Tchernev, “Forth crossover is not a macromutation?,” in Genetic Programming 1998: Proc. Third Ann. Conf., J. R. Koza, W. Banzhaf, K. Chellapilla, K. Deb, M. Dorigo, D. B. Fogel, M. H. Garzon, D. E. Goldberg, H. Iba, and R. Riolo (eds.), Morgan Kaufmann: Los Altos, CA, 1998, pp. 381–386.
A. Teller, “Evolving programmers: The co-evolution of intelligent re-combination operators,” in Advances in Genetic Programming 2, P. J. Angeline and K. E. Kinnear, Jr. (eds.), MIT Press: Cambridge, MA, 1996, pp. 45–68.
E. Tunstel and M. Jamshidi, “On genetic programming of fuzzy rule-based systems for intelligent control,” Inter. J. Intelligent Automation and Soft Computing, vol. 2, no. 3, pp. 273–284, 1996.
P. D. Turney, “Asimple model of unbounded evolutionary versatility as a largest-scale trend in organismal evolution,” Artificial Life, vol. 6, no. 2, pp. 109–128, 2000.
P. Walsh, “Evolving pure functional programs,” in Genetic Programming 1998: Proc. Third Ann. Conf., Morgan Kaufmann: Los Altos, CA, 1998, pp. 399–402.
C. O. Wilke, J. L. Wang, C. Ofria, R. E. Lenski, and C. Adami, “Evolution of digital organisms at high mutation rates leads to survival of the flattest,” Nature, vol. 412, pp. 331–333, 2001.
G. T. Yu, “An analysis of the impact of functional programming techniques on genetic programming,” PhD Thesis, University College, London, 1999.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Spector, L., Robinson, A. Genetic Programming and Autoconstructive Evolution with the Push Programming Language. Genetic Programming and Evolvable Machines 3, 7–40 (2002). https://doi.org/10.1023/A:1014538503543
Issue Date:
DOI: https://doi.org/10.1023/A:1014538503543