class Evolvable::Evolution

Attributes

crossover[RW]
mutation[RW]
selection[RW]

Public Class Methods

new(selection: Selection.new, crossover: GeneCrossover.new, mutation: Mutation.new) click to toggle source
# File lib/evolvable/evolution.rb, line 7
def initialize(selection: Selection.new,
               crossover: GeneCrossover.new,
               mutation: Mutation.new)
  @selection = selection
  @crossover = crossover
  @mutation = mutation
end

Public Instance Methods

call(population) click to toggle source
# File lib/evolvable/evolution.rb, line 19
def call(population)
  selection.call(population)
  crossover.call(population)
  mutation.call(population)
  population
end