def selection
@population.sort! { |a, b| b.fitness <=> a.fitness}
best_fitness = @population[0].fitness
worst_fitness = @population.last.fitness
acum_fitness = 0
if best_fitness-worst_fitness > 0
@population.each do |chromosome|
chromosome.normalized_fitness = (chromosome.fitness - worst_fitness)/(best_fitness-worst_fitness)
acum_fitness += chromosome.normalized_fitness
end
else
@population.each { |chromosome| chromosome.normalized_fitness = 1}
end
selected_to_breed = []
((2*@population_size)/3).times do
selected_to_breed << select_random_individual(acum_fitness)
end
selected_to_breed
end