Skip to main content
Log in

Genetic Programming and Autoconstructive Evolution with the Push Programming Language

  • Published:
Genetic Programming and Evolvable Machines Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. 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.

    Google Scholar 

  2. P. J. Angeline, “Adaptive and self-adaptive evolutionary computations,” in Computational Intelligence: ADynamic Systems Perspective, IEEE Press: New York, 1995, pp. 152–163.

    Google Scholar 

  3. 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.

    Google Scholar 

  4. 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.

    Google Scholar 

  5. P. J. Angeline and J. B. Pollack, “The evolutionary induction of subroutines,” in Proc. Fourteenth Ann. Conf. Cognitive Science Society, Lawrence Erlbaum: London, 1992.

    Google Scholar 

  6. 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.

    Google Scholar 

  7. 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.

    Google Scholar 

  8. 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.

    Google Scholar 

  9. 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.

    Google Scholar 

  10. 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.

    Google Scholar 

  11. P. Dittrich and W. Banzhaf, “Self-evolution in a constructive binary string system,” Artificial Life, vol. 4, pp. 203–220, 1998.

    Google Scholar 

  12. 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.

  13. C. Gathercole, “An investigation of supervised learning in genetic programming,” PhD Thesis, University of Edinburgh, 1998.

  14. P. Graham, On LISP: Advanced Techniques for Common LISP, Prentice-Hall: Englewood Cliffs, NJ, 1993.

    Google Scholar 

  15. P. Graham, ANSI Common Lisp. Prentice-Hall: Englewood Cliffs, NJ, 1996.

    Google Scholar 

  16. W. E. Hart, “Aconvergence analysis of unconstrained and bound constrained evolutionary pattern search,” Evolutionary Computation, vol. 9(1), pp. 1–23, 2000.

    Google Scholar 

  17. 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.

    Google Scholar 

  18. J. R. Koza, Genetic Programming: On the Programming of Computers by Means of Natural Selection, MIT Press: Cambridge, MA, 1992.

    Google Scholar 

  19. J. R. Koza, Genetic Programming II: Automatic Discovery of Reusable Programs, MIT Press: Cambridge, MA, 1994.

    Google Scholar 

  20. 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.

    Google Scholar 

  21. W. B. Langdon, Data Structures and Genetic Programming: Genetic Programming + Data Structures = Automatic Programming!, Kluwer: Dordrecht, 1998.

    Google Scholar 

  22. 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.

    Google Scholar 

  23. L. Margulis, D. Sagan, and N. Eldredge, What is Life?, University of California Press: Berkeley, CA, 2000.

    Google Scholar 

  24. 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.

    Google Scholar 

  25. D. J. Montana, “Strongly typed genetic programming,” Evolutionary Computation, vol. 3, no. 2, pp. 199–230, 1995.

    Google Scholar 

  26. 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.

    Google Scholar 

  27. 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.

    Google Scholar 

  28. A. N. Pargellis, “The spontaneous generation of digital life,” Physica D, vol. 91, pp. 86–96, 1996.

    Google Scholar 

  29. 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.

    Google Scholar 

  30. T. Perkis, “Stack-based genetic programming,” in Proc. 1994 IEEE World Congress on Comput. Intell., IEEE Press: New York, 1994, pp. 148–153.

    Google Scholar 

  31. 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.

    Google Scholar 

  32. 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.

  33. 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.

    Google Scholar 

  34. W. P. Salman, O. Tisserand, and B. Toulot, FORTH, Springer-Verlag: Berlin, 1984.

    Google Scholar 

  35. M. Sipper, “Fifty years of research on self-replication: An overview,” Artificial Life, vol. 4, no. 3, pp. 237–257, 1998.

    Google Scholar 

  36. M. Sipper and J. Reggia, “Go forth and replicate,” Scientific American, August, 2001. 40 spector and robinson

  37. 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.

    Google Scholar 

  38. 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.

    Google Scholar 

  39. 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.

    Google Scholar 

  40. 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.

    Google Scholar 

  41. 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.

    Google Scholar 

  42. 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.

    Google Scholar 

  43. 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.

    Google Scholar 

  44. 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.

    Google Scholar 

  45. 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.

    Google Scholar 

  46. 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.

    Google Scholar 

  47. 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.

    Google Scholar 

  48. P. Walsh, “Evolving pure functional programs,” in Genetic Programming 1998: Proc. Third Ann. Conf., Morgan Kaufmann: Los Altos, CA, 1998, pp. 399–402.

    Google Scholar 

  49. 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.

    Google Scholar 

  50. G. T. Yu, “An analysis of the impact of functional programming techniques on genetic programming,” PhD Thesis, University College, London, 1999.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints 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

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1014538503543

Navigation