1) Initialize a population of candidates. 2) Evaluate each individual's fitness against the objective. 3) Select the best. 4) Produce offspring via mutation and crossover. 5) Repeat the loop over generations until convergence or budget exhaustion. Variants differ in representation (bits, real-valued vectors, program trees, graphs) and in selection and diversity-preservation strategy (e.g. lineage archives).
It enables optimization where no useful gradient exists — the objective is a black box, non-differentiable or noisy — and exploration of large, discrete solution spaces without getting stuck on a single trajectory.
First evolution strategies for engineering optimization.
Formalization of genetic algorithms.
Evolving programs represented as trees.
ES as a scalable alternative to gradients in reinforcement learning.
Applying population selection to improve LLM agents with frozen weights.