What if you could breed better software the same way nature breeds better organisms?
Survival of the fittest - but the 'organisms' are computer programs competing for solutions.
The answer
Genetic algorithms (GAs), pioneered by John Holland at the University of Michigan in his 1975 book 'Adaptation in Natural and Artificial Systems,' apply Darwin's principles of natural selection to optimization problems. A population of candidate solutions is encoded as 'chromosomes,' evaluated for fitness, and subjected to selection, crossover (recombination), and mutation over successive generations. Holland's schema theorem provided the first theoretical framework for why this works, showing that short, low-order, high-fitness patterns (schemata) are exponentially sampled. His student David Goldberg popularized GAs with practical engineering applications in the late 1980s, and the broader field of evolutionary computing expanded to include genetic programming (John Koza, 1992), evolution strategies, and evolutionary programming - all inspired by biological evolution.
Source: MIT Press
- genetic-algorithms
- evolutionary-computing
- optimization
More from AI & Machine Learning
- What radical question did Alan Turing ask in 1950 that launched the entire field of artificial intelligence?
- Can a machine fool you into thinking it's human - and does that mean it's truly intelligent?
- What happened at a small Dartmouth workshop in 1956 that gave artificial intelligence its name?
- How did a 1958 invention called the Perceptron convince people that machines could learn like brains?
- Could a 1966 chatbot really make people believe they were talking to a therapist?
- What was the first robot that could 'reason' about its own actions?