Charlie 0.8.0 Released - A genetic algorithms library

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.