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
LICENSE:
MIT license.