Probabilistic incremental program evolution

Rafal Salustowicz, Jürgen Schmidhuber

Research output: Contribution to journalArticlepeer-review

192 Scopus citations


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
Issue number2
StatePublished - Jan 1 1997
Externally publishedYes

Bibliographical note

Generated from Scopus record by KAUST IRTS on 2022-09-14

ASJC Scopus subject areas

  • Computational Mathematics


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

Cite this