Skip to content

Commit

Permalink
small stuff - lets get the 0.2 ready for release some day
Browse files Browse the repository at this point in the history
  • Loading branch information
yadler committed Nov 18, 2010
1 parent 7c53c4e commit a4c9950
Show file tree
Hide file tree
Showing 6 changed files with 42 additions and 14 deletions.
2 changes: 2 additions & 0 deletions CHANGELOG
@@ -1,5 +1,7 @@
=== 0.2.0

* various bugfixes ;-)

* added SP_k problem to binary benchmark functions

* added EvoBench (benchmarking for evolutionary algorithms) module:
Expand Down
11 changes: 7 additions & 4 deletions README
Expand Up @@ -4,7 +4,7 @@ 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://yadler.wordpress.com/, mailto:yves.adler@googlemail.com)
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)

Expand All @@ -22,13 +22,17 @@ EvoSynth (Evolutionary Computation Synthesizer) is a framework for rapid develop
* 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, gruff and csv
* logging support with exporter to gnuplot, html and csv
* many predefined fitness functions

* benchmarking features:
* 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)
Expand Down Expand Up @@ -59,4 +63,3 @@ EvoSynth (Evolutionary Computation Synthesizer) is a framework for rapid develop
* arithmetic crossover
* ordered recombination, partially mapped crossover, edge recombination
* global uniform crossover, global arithmetic crossover

10 changes: 5 additions & 5 deletions TODO
@@ -1,12 +1,9 @@
============================== EvoSynth 0.2 ====================================

Features:

- README:
=> features aktualisieren (siehe CHANGELOG)
=> CHANGELOG, README, TODO aufräumen, schick machen und mit commits vergleichen
=> Quellen irgendwo in der Readme oder in eigener Datei erwähnen (für Algorithmen)
=> Auf Diplomarbeitshintergrund verweisen?

Features:

- gnuplot export:
=> bessere bzw. mehr optionen, templates
Expand All @@ -30,6 +27,9 @@ Features:

Features:

- Ruby 1.9.2:
=> Randomizer krempel checken - da gibts Neuerungen in Ruby!

- Verbesserungen:
=> Evolver, Evaluator in ein Module transformieren:
-> statt Konstruktor #included verwenden!
Expand Down
27 changes: 25 additions & 2 deletions docs/FEATURES
Expand Up @@ -3,6 +3,7 @@
* EvoSynth::Evaluator
* EvoSynth::Configuration
* EvoSynth::Population
* EvoSynth::Logger

* EvoSynth::Individual
* EvoSynth::MaximizingIndividual
Expand All @@ -13,10 +14,11 @@
* EvoSynth.nrand
* EvoSynth.rand_bool

* Include "Genotypes":
* Genotypes:
* EvoSynth::ArrayGenome (can contain any datatype as items)
* EvoSynth::BinaryGenome (not optimized yet)

* EvoSynth::Decoder

== Evolution algorithms

Expand Down Expand Up @@ -58,7 +60,6 @@
* EvoSynth::Selections::RouletteWheelSelection
* EvoSynth::Selections::RandomSelection


== Meta operators

* EvoSynth::MetaOperators::ProportionalCombinedOperator
Expand Down Expand Up @@ -109,3 +110,25 @@

* EvoSynth::Adjustments::PredifinedAdjustment
* EvoSynth::Adjustments::AdaptiveAdjustment

== EvoBench: benchmarking of evolutionary algorithms

* EvoSynth::EvoBench::Experiment
* EvoSynth::EvoBench::RunResult
* EvoSynth::EvoBench::FullFactorialPlan
* EvoSynth::EvoBench::Comparator
* EvoSynth::EvoBench also includes a couple of util functions (t-test, diversity, ...)

== Export

* EvoSynth::Export::ConsoleWriter
* EvoSynth::Export::GnuPlot
* EvoSynth::Export::CSV
* EvoSynth::Export::HTML

== Predefined benchmak (fitness-) functions

* EvoSynth::Problems::BinaryBenchmarkFuntions
* EvoSynth::Problems::FloatBenchmarkFuntions
* EvoSynth::Problems::GraphColouring
* EvoSynth::Problems::TSP
2 changes: 1 addition & 1 deletion examples/tutorial/lesson01_first_steps.rb
Expand Up @@ -63,4 +63,4 @@ def calculate_fitness(individual)

puts "\nRunning hillclimber...\n"
result = evolver.run_while { |hc| hc.evaluator.called < 5001 }
puts "\nIndividual after evolution: #{result}"
puts "\nIndividual after evolution: #{result}"
4 changes: 2 additions & 2 deletions examples/tutorial/lesson03_custom_operators.rb
Expand Up @@ -42,7 +42,7 @@ def mutate(individual)
end
end

# Next we create a stupid recombination. This time we've to overwrite the recombine methdo,
# Next we create a stupid recombination. This time we've to overwrite the recombine method,
# which takes two individuals as arguments and returns a array of two individuals.

class MyRecombination
Expand Down Expand Up @@ -99,4 +99,4 @@ def calculate_fitness(individual)

puts "\nRunning genetic algrithm...\n"
result = evolver.run_while { |ga| ga.evaluator.called < 5001 }
puts "\nPopulation after evolution: #{result}"
puts "\nPopulation after evolution: #{result}"

0 comments on commit a4c9950

Please sign in to comment.