Expand description
Covariance Matrix Adaptation Evolution Strategy (CMA-ES).
CMA-ES (Hansen & Ostermeier, 2001; Hansen, 2016) samples each generation
from a multivariate normal N(m, σ²C) and adapts the mean m, the global
step size σ, and the covariance matrix C from the ranked offspring. Two
evolution paths drive the adaptation:
- the conjugate path
p_σfeeds Cumulative Step-size Adaptation (CSA), which lengthens or shrinksσdepending on whether consecutive steps are correlated or anti-correlated; - the anisotropic path
p_cfeeds the rank-1 update ofC.
A rank-μ update mixes in the empirical covariance of the selected steps. The
conjugate path requires C^{-1/2}, obtained from a symmetric
eigendecomposition of C (see crate::ops::linalg::jacobi_eigen).
§Relationship to the EDA / ProbabilityModel family
A full-covariance multivariate-Gaussian EDA (EMNA) is CMA-ES minus the
evolution paths and step-size decoupling: it re-estimates m/C by maximum
likelihood each generation. CMA-ES keeps the path-based momentum and CSA, so
it does not fit the ProbabilityModel
fit → sample seam — the CSA and path updates live in
Strategy::tell, not in a model fit. Per ADR 0021 this strategy is a
self-contained Strategy; ProbabilityModel<B> is available but
deliberately unused (research note eda-vs-cma-es-boundary). For the
path-free sibling that self-adapts σ per individual, see
crate::algorithms::cmsa_es.
§References
- Hansen, N. (2016), The CMA Evolution Strategy: A Tutorial, arXiv:1604.00772 (default parameters: Table 1).
- Hansen, N. & Ostermeier, A. (2001), Completely Derandomized Self-Adaptation in Evolution Strategies, Evolutionary Computation 9(2).
Structs§
- CmaEs
- Covariance Matrix Adaptation Evolution Strategy.
- CmaEs
Config - Static configuration for a CMA-ES run.
- CmaEs
State - Generation state for
CmaEs.