Module UniformCrossover
In: lib/charlie/list/list_crossover.rb

Uniform crossover, returns two children.

Methods

cross  

Public Instance methods

[Source]

    # File lib/charlie/list/list_crossover.rb, line 37
37:   def cross(parent1,parent2)
38:     c1 = []; c2=[]
39:     g1 = parent1.genes; g2 = parent2.genes
40:     g1.each_with_index{|e,i|
41:       if rand(2).zero?
42:         c1 << e; c2 << g2[i]
43:       else
44:         c2 << e; c1 << g2[i]
45:       end
46:     }
47:     [c1,c2].map{|x| from_genes(x) }
48:   end

[Validate]