genetic algorithm
In plain wordsA problem-solving method that copies natural evolution: many candidate solutions compete, the best are 'bred' by mixing and randomly tweaking them, and over many generations the solutions improve.
A population-based search and optimization method modeled on natural selection. Candidate solutions are encoded as strings ('chromosomes'), classically of bits; each is scored by a fitness functionfitness function, n.: In evolution-inspired computing, the scoring rule that says how good each candidate solution is, which decides which candidates survive and get to 'reproduce'.; and each new generation is formed by selecting parents with probability increasing in fitness (for example by roulette-wheel or tournament selection), recombining pairs by crossover, which splices segments of the two parents, and applying random mutation. Elitism may carry the best individuals over unchanged. Because it needs only fitness evaluations, not gradients, it can tackle discontinuous, noisy or combinatorial problems such as scheduling, layout and antenna design, though it usually needs many evaluations and offers no optimality guarantee. John Holland's schema theorem offered an early, now debated, explanation of why it works: short, fit building blocks multiply across generations. Genetic algorithms are the best-known branch of evolutionary computationevolutionary computation, n.: Problem-solving by simulated evolution, much as breeders improve crops: keep many candidate answers, let the better ones produce slightly altered offspring, drop the worse, and repeat for many rounds..
The genetic algorithm evolved a clash-free timetable after 400 generations of 200 candidates.
Origin
John Holland and his students at the University of Michigan developed the approach in the 1960s; the name first appeared in J. D. Bagley's 1967 dissertation, and Holland's Adaptation in Natural and Artificial Systems (1975) gave it a theoretical basis. David Goldberg's 1989 textbook popularized it in engineering.
Usage note
Often used loosely for any evolutionary algorithm. An often-cited success is the evolved antenna that flew on NASA's Space Technology 5 satellites in 2006.
Related
- evolutionary computationevolutionary computation, n.: Problem-solving by simulated evolution, much as breeders improve crops: keep many candidate answers, let the better ones produce slightly altered offspring, drop the worse, and repeat for many rounds.
- genetic programminggenetic programming, n.: Using simulated evolution to write computer programs: random programs compete at a task, and the best are combined and mutated over many generations until one does the task well.
- evolution strategiesevolution strategies, n.: A family of evolution-inspired methods for tuning a list of numbers: try many random variations of the current best settings, keep those that work better, and adjust how big the variations are as you go.
- fitness functionfitness function, n.: In evolution-inspired computing, the scoring rule that says how good each candidate solution is, which decides which candidates survive and get to 'reproduce'.
- simulated annealingsimulated annealing, n.: An optimization method inspired by slowly cooling metal: early on it sometimes accepts worse solutions, to escape dead ends, and becomes pickier as a 'temperature' setting gradually drops.
- metaheuristicmetaheuristic, n.: A general-purpose strategy for finding good answers to hard problems, such as imitating evolution or cooling metal, that can be adapted to many different problems instead of being designed for just one.
- neuroevolutionneuroevolution, n.: Training or designing neural networks by simulated evolution — breeding and mutating whole networks and keeping the best performers — instead of, or alongside, the usual gradient-based training.
- gradient descentgradient descent, n.: A method for training models by repeatedly nudging every setting a small step in whichever direction most reduces the error, like a hiker who cannot see the valley but keeps stepping wherever the ground tilts down.
Sources
- Holland, J. H. (1975). Adaptation in Natural and Artificial Systems. University of Michigan Press.
- Goldberg, D. E. (1989). Genetic Algorithms in Search, Optimization, and Machine Learning. Addison-Wesley.
Mentioned in
evolutionary computationevolutionary computation, n.: Problem-solving by simulated evolution, much as breeders improve crops: keep many candidate answers, let the better ones produce slightly altered offspring, drop the worse, and repeat for many rounds., generative artgenerative art, n.: Art in which the artist invents a process — dice rolls, software, written instructions — and lets that process make the work; the phrase now also loosely covers pictures from AI image generators., heuristicheuristic, n.: A rule of thumb: a quick, usually good-enough way to make a decision or to estimate how close you are to a goal, without any guarantee of finding the best answer., simulated annealingsimulated annealing, n.: An optimization method inspired by slowly cooling metal: early on it sometimes accepts worse solutions, to escape dead ends, and becomes pickier as a 'temperature' setting gradually drops., traveling salesman problemtraveling salesman problem, n.: The puzzle of planning a round trip through a list of cities that stops at each one once and covers the least distance. It is easy to state, but the number of possible routes explodes as cities are added., artificial lifeartificial life, n.: The study of life by building lifelike systems — in computer simulations, robots or chemistry — to learn how living things organize themselves, reproduce and evolve, and what other kinds of life could exist., computational intelligencecomputational intelligence, n.: A family of AI methods inspired by nature, such as neural networks, fuzzy logic and evolutionary algorithms, that learn or adapt from numbers rather than following explicit logical rules., evolution strategiesevolution strategies, n.: A family of evolution-inspired methods for tuning a list of numbers: try many random variations of the current best settings, keep those that work better, and adjust how big the variations are as you go., fitness functionfitness function, n.: In evolution-inspired computing, the scoring rule that says how good each candidate solution is, which decides which candidates survive and get to 'reproduce'., genetic programminggenetic programming, n.: Using simulated evolution to write computer programs: random programs compete at a task, and the best are combined and mutated over many generations until one does the task well., John HollandJohn Holland, prop. n.: An American scientist who invented genetic algorithms, which solve problems by breeding and mutating populations of candidate answers, and helped found the science of complex systems., Lotfi ZadehLotfi Zadeh, prop. n.: An Azerbaijani-born American engineer who invented fuzzy logic, which lets computers reason with vague categories such as 'warm' or 'tall' that are true only to a degree., metaheuristicmetaheuristic, n.: A general-purpose strategy for finding good answers to hard problems, such as imitating evolution or cooling metal, that can be adapted to many different problems instead of being designed for just one., neuroevolutionneuroevolution, n.: Training or designing neural networks by simulated evolution — breeding and mutating whole networks and keeping the best performers — instead of, or alongside, the usual gradient-based training., open-endednessopen-endedness, n.: The ability of a system to keep producing new and interesting things without end — as evolution and human culture do — instead of stopping once it solves one fixed task., particle swarm optimizationparticle swarm optimization, n.: An optimization method inspired by flocking birds: candidate solutions 'fly' through the space of possibilities, each pulled toward the best spot it has found and the best spot its neighbors have found., quality diversityquality diversity, n.: A family of evolution-inspired search methods that aim to collect many different good solutions — for example, many distinct ways for a robot to walk — rather than a single best one., soft computingsoft computing, n.: A group of computing methods, including fuzzy logic, neural networks and evolutionary algorithms, that accept imprecise, approximate answers in exchange for being practical on messy real-world problems.