Skip to content

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

License

Notifications You must be signed in to change notification settings

yadler/EvoSynth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

== 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

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages