A genetic algorithm solves a problem by evolving a population of candidate solutions. In this example, every candidate is a string of letters trying to evolve into the target phrase.
Each generation repeats the same cycle. Good traits become more common, while random mutation keeps the population exploring.
Compare each individual's genes with the target. Here, fitness is simply the percentage of matching characters.
Better individuals get more chances to reproduce. This is selection pressure: useful traits become more likely to survive.
Pick a crossover point and combine two parents. The child inherits some genes from each parent.
Randomly alter genes with a small probability. Mutation prevents the population from becoming too predictable.