The following pseudo-code describes a basic Genetic Algorithm
GENETIC-ALGORITHM(population, fitness)
N = population.size()
while(stopping criteria) // max num iterations or target fitness reached
next_generation ← {}
for i = 1...N
x ← random_selection(population, fitness)
y ← random_selection(population, fitness)
child ← crossover(x, y)
if(rand.double() <= mutation_probability )
child ← mutate(child)
end
next_generation.add(child)
end
population ← next_generation
end
return population.most_fit()
end