evosynth


26
Jul 10

EvoSynth website released

While EvoSynth 0.2 is still in development, I finally managed to publish the new EvoSynth homepage. The design (and the content) is far from perfect but it’s a start ;-)

EvoSynth website

EvoSynth website


12
Mar 10

EvoSynth 0.1 released

I just made the first release (0.1) of my thesis project called “EvoSynth“, which stands for Evolutionary Computation Synthesizer. EvoSynth is licensed under the MIT License.

EvoSynth is a framework (written in ruby) for rapid development and prototyping of evolutionary algorithms. It is designed with simplicity and productivity as main goals, so don’t expect it to compete with the performance of the established frameworks.

EvoSynth Logo

core features:

  • classes for individuals, populations, algorithm profiles, genomes
  • support for custom randomizer
  • meta operators: proportional, sequential and conditional combined operators
  • logging support with exporter to gnuplot, gruff and csv
  • many predefined fitness functions

most common evolutionary algorithms:

  • hillclimber (single individual and population based)
  • standard genetic algorithm, steady state GA
  • memetic algorithm
  • evolution strategies (adaptive, selfadaptive and derandomized)
  • local search (hillclimber, threshold acceptance, simulated annealing, great deluge, record-to-record travel)
  • coevolutionary algorithms (round robin and balanced)

selection strategies:

  • identity and random selection
  • best selection
  • n-stage tournament selection and tournament selection
  • fitness proportional selection
  • roulette wheel selection

mutations:

  • identity
  • one gene flipping, binary mutation, efficient binary mutation
  • exchange mutation, inversion mutation, mixing mutation, shifting mutation
  • uniform real mutation, gauss mutation, self-adaptive gauss mutation

recombinations:

  • identity
  • one-point-crossover, k-point-crossover, uniform crossover
  • ordered recombination, partially mapped crossover, edge recombination
  • arithmetic crossover
  • global uniform crossover, global arithmetic crossover

installation and usage:

If you want to try EvoSynth, check the installation guide for instructions how to install it. Take a look at the examples and read the not yet complete rdoc documentation.