The Push3 execution stack and the evolution of control

@inproceedings{Spector2005ThePE,
  title={The Push3 execution stack and the evolution of control},
  author={Lee Spector and Jon Klein and Maarten Keijzer},
  booktitle={GECCO '05},
  year={2005}
}
The Push programming language was developed for use in genetic and evolutionary computation systems, as the representation within which evolving programs are expressed. It has been used in the production of several significant results, including results that were awarded a gold medal in the Human Competitive Results competition at GECCO-2004. One of Push's attractive features in this context is its transparent support for the expression and evolution of modular architectures and complex control… Expand
Expressive Genetic Programming: Concepts and Applications
TLDR
This tutorial will present a range of approaches that have been taken for evolving programs in expressive programming languages, and provides a detailed introduction to the Push programming language, which was designed specifically for expressiveness in genetic programming systems. Expand
Expressive genetic programming
TLDR
The Push programming language is described and demonstrated, and ten years of Push-based research, including the production of human-competitive results, will be briefly surveyed. Expand
Expressive genetic programming
TLDR
The Push programming language is described, which was designed specifically for expressiveness and specifically for use in genetic programming systems, and a discussion of recent enhancements to Push are intended to support the evolution of complex and robust software systems. Expand
Evolving high-level imperative program trees with genetic programming
TLDR
A novel set of extensions to Montana’s Strongly Typed Genetic Programming system are presented that provide a mechanism for constraining the structure of program trees and it is demonstrated that these constraints are sufficient to evolve programs with a naturally imperative structure and to support the use of many common high-level imperative language constructs such as loops. Expand
PyshGP: PushGP in Python
The PushGP genetic programming system, which evolves programs expressed in the Push programming language, has been used for a variety of research projects and applications over its sixteen-yearExpand
Performance Optimization of Multi-Core Grammatical Evolution Generated Parallel Recursive Programs
TLDR
The grammars are amended to evolve a mix of serial and parallel code, which spawns only as many threads as is efficient given the underlying OS and hardware; this speeds up execution by a factor of 9.97. Expand
Expressive genetic programming: tutorial: 2012 genetic and evolutionary computation conference (GECCO-2012)
TLDR
The Push programming language is described, which was designed specifically for expressiveness and specifically for use in genetic programming systems, and a discussion of recent enhancements to Push are intended to support the evolution of complex and robust software systems. Expand
Evolving a digital multiplier with the pushgp genetic programming system
TLDR
This work demonstrates the use of output instructions and argues that they provide a natural mechanism for producing multiple outputs in a stack-based genetic programming context and demonstrates the exibility of stack- based genetic programming for solving problems with multiple outputs and for serving as a platform for experimentation with new genetic programming techniques. Expand
Plushi: an embeddable, language agnostic, push interpreter
TLDR
Plushi is presented, a modular, embeddable Push interpreter that is designed to interoperate with program induction systems written in any language. Expand
Recent Developments in Program Synthesis with Evolutionary Algorithms
TLDR
This work identifies the relevant evolutionary program synthesis approaches and provides an in-depth analysis of their performance and finds that the most influential approaches are stack-based, grammar-guided, as well as linear genetic programming. Expand
...
1
2
3
4
5
...

References

SHOWING 1-10 OF 42 REFERENCES
Genetic Programming and Autoconstructive Evolution with the Push Programming Language
TLDR
This article describes Push and illustrates some of the opportunities that it presents for evolutionary computation and two evolutionary computation systems, PushGP and Pushpop, are described in detail. Expand
Autoconstructive Evolution : Push , PushGP , and Pushpop
This paper is a preliminary report on autoconstructive evolution, a framework for evolutionary computation in which the machinery of reproduction and diversification (and thereby the machinery ofExpand
High-performance, parallel, stack-based genetic programming
TLDR
The HiGP virtual machine and genetic programming algorithms are described and it is demonstrated that the system's performance on a symbolic regression problem can be solved with substantially less computational effort than can a traditional genetic programming system. Expand
Recursion , Lambda Abstractions and Genetic Programming
Module creation and reuse are essential for Genetic Programming (GP) to be effective with larger and more complex problems. This paper presents a particular kind of program structure to serve theseExpand
Applying Adaptive Grammar Based Genetic Programming in Evolving Recursive Programs
TLDR
This paper proposes a technique to tackle the difficulties in learning recursive programs and it is incorporated into an adaptive Grammar Based Genetic Programming system (adaptive GBGP). Expand
Parallel Programs Are More Evolvable than Sequential Programs
TLDR
This paper presents three benchmark problems to show that the GPP can accelerate evolution of parallel programs and could increase the normal GP's evolution efficiency by evolving a parallel program by GPP and if there is a need, the evolved parallel program can be translated into a sequential program so that it can run on conventional hardware. Expand
Evolving parallel machine programs for a multi-ALU processor
TLDR
This paper proposes a novel genetic parallel programming (GPP) paradigm for evolving optimal parallel programs running on a multi-ALU processor by linear genetic programming that employs a new genetic operation that swaps sub-instructions of a solution program. Expand
Evolving Turing-Complete Programs for a Register Machine with Self-modifying Code
TLDR
A method to evolve Turing-complete programs for a register machine that enables the use of most program constructs, such as arithmetic operators, large indexed memory, automatic decomposition into subfunctions and subroutines (ADFs), conditional constructs i.e. if-then-else, jumps, loop structures, recursion, protected functions, string and list functions is developed. Expand
Size Control Via Size Fair Genetic Operators In The PushGP Genetic Programming System
TLDR
The results show that the size fair operators use to combat code bloat in the PushGP genetic programming system control bloat well while producing unusually parsimonious solutions. Expand
A Higher-Order Function Approach to Evolve Recursive Programs
  • T. Yu
  • Computer Science
  • 2006
TLDR
A functional style recursion implementation that re-expresses a recursive program using a non-recursive application of a higher-order function that divides a program recursion pattern into two parts: the recursion code and the application of the code. Expand
...
1
2
3
4
5
...