Frank's Zoo







  Python Book




Elegance is a software environment I developed to study genetic algorithm configurations which are used to evolve neurocontrollers. I did this as my graduation project (see my publications). The latest version of Elegance is 2.1.3, released August 7, 2006. It can be downloaded here:

A brief summary of Elegance's main features:

  • Elegance contains about twenty different plants, among which there are several inverted pendulums, several ball-and-beam systems, a bioreactor, a box-pushing robot, a food-gathering rabbit and a duel between two spaceships. It's fairly easy to add new plants.
  • Elegance contains four different types of neural controllers, namely a feedforward controller, a layered feedforward controller, a recurrent controller and a layered recurrent controller. Besides these, there are two different PID controllers that can be used for comparison.
  • Elegance encompasses a highly configurable evolutionary algorithm, with support for real and binary valued chromosomes, several different selection, ranking, penalty and replacement mechanisms, three different fitness calculation mechanisms (one of which is plant-determined, so this can, in fact, be anything at all), support for islands and preloading of chromosomes, and about twenty different genetic operators. It's easy to add new genetic operators.