S
Sander Land
Hi all,
I'm pleased to announce another release of charlie, a genetic
algorithms library for Ruby.
This release adds a couple of extra features: better co-evolution
(with prisoner's dilemma example), blending crossovers, genotypes for
matrices and neural networks, and several other features.
It is also still fully compatible with Ruby 1.8, 1.9 and JRuby.
## 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 neural network for the xor function
class XOR < NeuralNetworkGenotype(2,3,1)
def fitness
[[-1,-1],[-1,1],[1,-1],[1,1]].map{|i1,i2| -(output([i1,i2])[0]-i1*i2)**2 }.sum
end
end
Population.new(XOR,50).evolve_on_console
## 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 adds a couple of extra features: better co-evolution
(with prisoner's dilemma example), blending crossovers, genotypes for
matrices and neural networks, and several other features.
It is also still fully compatible with Ruby 1.8, 1.9 and JRuby.
## 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 neural network for the xor function
class XOR < NeuralNetworkGenotype(2,3,1)
def fitness
[[-1,-1],[-1,1],[1,-1],[1,1]].map{|i1,i2| -(output([i1,i2])[0]-i1*i2)**2 }.sum
end
end
Population.new(XOR,50).evolve_on_console
## INSTALLATION:
* sudo gem install charlie
## Links
* http://rubyforge.org/projects/charlie/
* http://charlie.rubyforge.org
## LICENSE:
MIT license.