Probabilistic incremental program evolution

Rafal Salustowicz, Jürgen Schmidhuber

Research output: Contribution to journalArticlepeer-review

196 Scopus citations

Abstract

Probabilistic incremental program evolution (PIPE) is a novel technique for automatic program synthesis. We combine probability vector coding of program instructions, population-based incremental learning, and tree-coded programs like those used in some variants of genetic programming (GP). PIPE iteratively generates successive populations of functional programs according to an adaptive probability distribution over all possible programs. Each iteration, it uses the best program to refine the distribution. Thus, it stochastically generates better and better programs. Since distribution refinements depend only on the best program of the current population, PIPE can evaluate program populations efficiently when the goal is to discover a program with minimal runtime. We compare PIPE to GP on a function regression problem and the 6-bit parity problem. We also use PIPE to solve tasks in partially observable mazes, where the best programs have minimal runtime. © 1997 by the Massachusetts Institute of Technology.
Original languageEnglish (US)
Pages (from-to)123-141
Number of pages19
JournalEvolutionary Computation
Volume5
Issue number2
DOIs
StatePublished - Jan 1 1997
Externally publishedYes

ASJC Scopus subject areas

  • Computational Mathematics

Fingerprint

Dive into the research topics of 'Probabilistic incremental program evolution'. Together they form a unique fingerprint.

Cite this