Genetic algorithm
A genetic algorithm is a population-based search heuristic that mimics natural selection to solve optimization and search problems across engineering, science and computing.
A genetic algorithm is a computational method that models key aspects of biological evolution to find approximate solutions to difficult optimization and search problems. Inspired by natural selection, these techniques maintain a population of candidate solutions and apply iterative variation and selection to improve them over time. They belong to a broader family called evolutionary algorithms and are commonly used in computer science and applied fields where exhaustive search is infeasible.
Image gallery
2 ImagesCore concepts and operators
At the center of a genetic algorithm are representations called chromosomes or genotypes (often bit strings, real-valued vectors, or structured encodings). A fitness function evaluates how well each individual solves the problem. The main operators that produce new candidates are:
- Selection — choosing individuals to reproduce based on fitness (tournament, roulette-wheel).
- Crossover — combining parts of two parents to create offspring, e.g. single-point or uniform crossover.
- Mutation — randomly altering genes to introduce novel variation; related to biological mutation.
- Replacement — deciding which individuals survive to the next generation.
Genetic algorithms also encode concepts analogous to inheritance, where offspring inherit traits from parents, and depend on careful parameter choices (population size, mutation rate, selection pressure) to perform well.
How they work (process)
- Initialize a diverse population of candidate solutions.
- Evaluate fitness of each candidate.
- Select parents according to fitness-based rules.
- Apply crossover and mutation to produce offspring.
- Form a new population and repeat until a termination criterion is met (time, generations, or target fitness).
History and development
The formal study of genetic algorithms began in the 1960s and 1970s, most notably advanced by researchers such as John Holland. Over time the field broadened into many related methods (genetic programming, evolutionary strategies, differential evolution) that share the same evolutionary metaphor. Researchers have proposed many selection schemes and genetic operators to suit different problem domains.
Applications and examples
Genetic algorithms are applied to a wide variety of tasks: engineering design optimization, scheduling, routing, parameter tuning for machine learning models, symbolic regression and creative generation in art and music. They are particularly useful when the landscape is multimodal or discontinuous and classical gradient-based methods fail. Practical deployments often combine GAs with domain-specific knowledge and local search.
Strengths, limitations and variants
Strengths include global search capability, flexibility of representation, and robustness against noisy objective evaluations. Limitations are computational cost, stochastic results that require multiple runs, and sensitivity to parameter settings. Variants and hybrids—such as memetic algorithms or genetic programming—adapt the basic idea to different problem structures.
For further introductions and technical details see general references on optimization and evolutionary computation; background material and implementations are widely available for practitioners and researchers. Optimization texts and surveys provide practical guidance, while tutorial resources explain how to choose representations and operators.
Related concepts and resources: genetic algorithms, natural selection, evolutionary algorithms, inheritance, mutation, crossover, computer science, optimization.
Questions and answers
Q: What is a genetic algorithm?
A: A genetic algorithm is an algorithm that imitates the process of natural selection.
Q: What problems can genetic algorithms help solve?
A: Genetic algorithms can help solve optimization and search problems.
Q: What class of algorithms do genetic algorithms belong to?
A: Genetic algorithms belong to the bigger class of evolutionary algorithms.
Q: What processes do genetic algorithms imitate?
A: Genetic algorithms imitate natural biological processes, such as inheritance, mutation, selection and crossover.
Q: In what field of study are genetic algorithms often used?
A: Genetic algorithms are often used in computer science to find complex, non-obvious solutions to algorithmic optimisation and search problems.
Q: What type of search technique are genetic algorithms?
A: Genetic algorithms are global search heuristics.
Q: What is the purpose of genetic algorithms?
A: The purpose of genetic algorithms is to find solutions to optimization and search problems by imitating natural biological processes.
Related articles
Author
AlegsaOnline.com Genetic algorithm Leandro Alegsa
URL: https://en.alegsaonline.com/art/37989
Sources
- mdpi.com : Pareto Optimal Reconfiguration of Power Distribution Systems Using a Genetic Algorithm Based on NSGA-II.
- ted.com : "A solar energy system that tracks the sun"
- ti.arc.nasa.gov : Automated Antenna Design with Evolutionary Algorithms
- goatstream.com : "Flexible Muscle-Based Locomotion for Bipedal Creatures"
- cronfa.swan.ac.uk : "Aerodynamic optimisation of a hypersonic reentry vehicle based on solution of the Boltzmann–BGK equation and evolutionary optimisation"
- doi.org : 10.1016/j.apm.2017.07.024
- worldcat.org : 0307-904X
- doi.org : 10.2478/s13531-012-0047-8
- mind.oxfordjournals.org : "Computing machinery and intelligence"
- doi.org : 10.1093/mind/LIX.236.433
- doi.org : 10.1071/BI9570484
- berkeley.edu : 02.27.96 - UC Berkeley's Hans Bremermann, professor emeritus and pioneer in mathematical biology, has died at 69
- doi.org : 10.1007/BF01556602