EvoSynth (Evolutionary Computation Synthesizer) is a framework for rapid development and prototyping of evolutionary algorithms.
Ruby
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
benchmarks
docs
examples
lib
test
testdata
.gitignore
CHANGELOG
INSTALL
LICENSE
README
Rakefile
TODO

README

== EvoSynth

Website:: http://evosynth.rubyforge.org/
Project:: http://rubyforge.org/projects/evosynth/
Gem:: http://rubygems.org/gems/evosynth
Sourcecode:: http://gitorious.org/evosynth and http://github.com/yadler/EvoSynth
Author::    Yves Adler (http://confusedbits.net/, mailto:yves.adler@googlemail.com)
Copyright:: Copyright (c) 2009, 2010 Yves Adler <yves.adler@googlemail.com>
License::   MIT (see LICENSE)

== Description

EvoSynth (Evolutionary Computation Synthesizer) is a framework for rapid development and prototyping of evolutionary algorithms.

== Installation

* gem install evosynth (as root)
* for detailed instructions (build from source, etc.) see INSTALL

== Features (for details see docs/FEATURES)

* classes for individuals, populations, algorithm configurations, genomes
* support for custom randomizer
* meta operators: proportional, sequentional and conditional combined operators
* logging support with exporter to gnuplot, html and csv
* many predefined fitness functions

* benchmarking features (evobench module):
  * diversity calculations (distance, entropy and subsequence)
  * mean, median, variance calculations for array/population
  * t-test to determine statistical significance
  * Comparator, to compare the performance of two or more Evolvers
  * TestRun: runs a evolver with a given configuration (n times) and collects the produced data
  * Experiment class: run a experiment with a experimental plan and compare different parameters
  * FullFactorialPlan : full factorial experimental plan

* 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
  * random selection
  * best selection
  * n-stage tournament selection
  * 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 gaus mutation

* recombinations:
  * identity
  * one-point-crossover, k-point-crossover, uniform crossover
  * arithmetic crossover
  * ordered recombination, partially mapped crossover, edge recombination
  * global uniform crossover, global arithmetic crossover