Welcome to geppy’s documentation!

geppy is an evolutionary algorithm framework specially designed for gene expression programming (GEP) in Python. geppy is built on top of the more general evolutionary computation framework DEAP , which lacks support for GEP by itself. geppy conforms to DEAP’s design philosophy that it seeks to make algorithms explicit and data structures transparent in GEP. In the following, please first check the Get Started part to learn the core concepts of GEP and the related important data structures, with which you can build your own GEP application easily. Then, you can go through the Tutorials & Examples to get yourself familiar with geppy. All the APIs of geppy are well documented in details and can be found in the Library Reference part. Since geppy depends on DEAP, do remember to check the documentation of DEAP if you get stuck, especially the Overview of how a DEAP program is composed.

Tutorials & Examples

Simple symbolic regression

  1. Boolean model identification (Getting started)
  2. Simple numerical expression inference 1 (Using ephemeral numerical constants (ENC))
  3. Simple numerical expression inference 2 (The GEP-RNC algorithm for random numerical constant evolution)

Advanced symbolic regression

  1. Improving symbolic regression with linear scaling (Paper: Improving Symbolic Regression with Interval Arithmetic and Linear Scaling)
  2. Apply symbolic regression to teh UCI Power Plant dataset

Library Reference