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