Evolutionary (computation)
Evolutionary computation is a family of algorithms inspired by Biological evolution and Natural selection, used to solve optimization and search problems. Rather than following rigid step-by-step instructions, these methods simulate populations of candidate solutions that compete, breed, and mutate over generations—gradually improving toward better answers.
The core idea: represent potential solutions as digital "organisms," evaluate their fitness (how well they solve the problem), let the best ones reproduce with variation, and repeat. This mirrors how life adapts to challenges without a master plan. Evolutionary computation excels at problems with vast search spaces, multiple objectives, or unclear solution paths—situations where traditional methods struggle.
Common variants include genetic algorithms (which evolve strings of variables), Genetic programming (which evolves computer programs themselves), and evolutionary strategies (emphasizing mutation and self-adaptation). These techniques have tackled real-world challenges: optimizing supply chains, designing antennas, discovering new materials, and training neural networks.
The field blends insights from Evolutionary (biology), Theoretical physics, and algorithm design. It's less about mimicking evolution perfectly and more about borrowing its core principle—that random variation plus selection pressure produces remarkable complexity and capability.
Related
Genetic algorithm, Genetic programming, Optimization, Artificial life, Creatures (artificial), Evolutionary (design)