Distributed Genetic Programming Framework (DGPF)

The Distributed Genetic Programming Framework (DGPF) is a scalable Java
environment for heuristic, simulation-based search algorithms of any
kind and Genetic Algorithms in special. We use the broad foundation of
a search algorithms layer to provide a Genetic Programming system which
is able to create Turing-complete code.

The main focus of our project is put on the automated creation of
programs that should drive sensor networks. Such programs are
instantiated on many automata which are able to communicate with each
other wirelessly in an unreliable manner. Therefore, network simulators
able to simulate whole networks of such automata are used. By doing so,
we hope to be able to create emergent behaviors and self*-properties in
large scale distributed systems.

Our system is not bound to Genetic Programming, nor even bound to
Genetic Algorithms at all. You can easily implement other search
algorithms (like Simulated Annealing or such and such) and use the
distribution utilities to distribute them over a network. In the near
future we will implement many of these algorithms ourselves and provide
them here.

While the system can run on a single computer, one of its main
strengths is its distribution-ability. Different search algorithms using
different distribution mechanisms can easily implemented. You can find
versatile implementations of Genetic Algorithms driven by a Genetic
Engine in the Genetic Algorithms layer.

We support four different types of distribution of computational load for our
genetic algorithms:

  1. local: The whole population runs local, no tasks are distributed.
  2. peer-to-peer / island hopping: Big virtual populations can be created if peer-to-peer nodes cooperate in a network.
  3. client-server/master-slave: A genetic engine (client/master) uses different servers/slaves to perform the work of reproducing and evaluating individuals. This way, even populations of complicated-to-evaluated individuals can be handled in reasonable time.
  4. p2p/cs-hybrid: P2P-networks of genetic engines using the client-server distribution approach can co-operate (event with pure p2p-genetic engines).

This Open-Source research project is licensed under LGPL,
a license even more liberate than the GPL. More information can be found at dgpf.sourceforge.net/