John Holland introduced genetic algorithms in 1960 based on Darwin's theory of evolution. Genetic algorithms use operations inspired by biological evolution like mutation, crossover and selection to find high-quality solutions to optimization and search problems. The genetic algorithm applies natural selection to populations of candidate solutions to problems in order to evolve better solutions over generations.