GPFramework (0.1)

An extensible Java framework for tree-based Genetic Programming

Introduction

GPFramework is a flexible Java framework for quick prototyping of Genetic Programming
systems. Its main purpose has been, so far, to study Genetic Programming computational
complexity from an experimental point of view (results of this research have been accepted
for publishing in "Urli T., Wagner M. and Neumann F. (2012). Experimental Supplements to
the Computational Complexity Analysis of Genetic Programming for Problems Modelling Isolated
Program Semantics. In Proceedings of PPSN 2012 - 12th International Conference on Parallel
Problem Solving From Nature). Because of this specific purpose, the framework lacks a
number of features, e.g. support for cross-over operators, but it is (quite funnily) a
project under evolution and we invite everyone to contribute.

How to use it

As a result of our work in the analysis of Genetic Programming's complexity, GPFramework
includes a number of fitness functions for sorting, order and majority. It currently
implements two underlying mechanisms to evolve programs:

* SMO-GP, an algorithm inspired by the SEMO evolutionary multi-objective algorithm,
* (m+m)-GP, a generic population-based evolutionary algorithm where the size of the
population can be set as a parameter