S
Sander Land
Hi all,
I'm pleased to announce another release of charlie, a genetic
algorithms library for Ruby.
This release extends the options for TreeGenotype, making the library
more useful for genetic programming.
It also includes full Ruby 1.9 compatibility, as well of a variety of
smaller changes.
There has been no feedback at all on the previous releases. If you
find anything is not working, important features are missing, or have
any other comments, please let me know.
## FEATURES:
- Quickly develop GAs by combining several parts (genotype, selection,
crossover, mutation) provided by the library.
- Sensible defaults are provided with any genotype, so often you only
need to define a fitness function.
- Easily replace any of the parts by your own code.
- Test different strategies in GA, and generate reports comparing them.
## EXAMPLE
This example finds a polynomial which approximates cos(x)
class Cos < TreeGenotype([proc{rand},:x], [:-@], [:+,:*,:-])
def fitness
-[0,0.33,0.66,1].map{|x| (eval_genesx=>x) - Math.cos(x)).abs }.max
end
use TournamentSelection(4)
end
Population.new(Cos).evolve_on_console(500)
Several other examples are included in the gem/tarball.
## INSTALLATION:
* sudo gem install charlie
## Links
* http://rubyforge.org/projects/charlie/
* http://charlie.rubyforge.org
## LICENSE:
MIT license.
I'm pleased to announce another release of charlie, a genetic
algorithms library for Ruby.
This release extends the options for TreeGenotype, making the library
more useful for genetic programming.
It also includes full Ruby 1.9 compatibility, as well of a variety of
smaller changes.
There has been no feedback at all on the previous releases. If you
find anything is not working, important features are missing, or have
any other comments, please let me know.
## FEATURES:
- Quickly develop GAs by combining several parts (genotype, selection,
crossover, mutation) provided by the library.
- Sensible defaults are provided with any genotype, so often you only
need to define a fitness function.
- Easily replace any of the parts by your own code.
- Test different strategies in GA, and generate reports comparing them.
## EXAMPLE
This example finds a polynomial which approximates cos(x)
class Cos < TreeGenotype([proc{rand},:x], [:-@], [:+,:*,:-])
def fitness
-[0,0.33,0.66,1].map{|x| (eval_genesx=>x) - Math.cos(x)).abs }.max
end
use TournamentSelection(4)
end
Population.new(Cos).evolve_on_console(500)
Several other examples are included in the gem/tarball.
## INSTALLATION:
* sudo gem install charlie
## Links
* http://rubyforge.org/projects/charlie/
* http://charlie.rubyforge.org
## LICENSE:
MIT license.