Module isotropic_es
Expand description
The regression sentinel for Cmaes: the same
evolution strategy with the covariance update deleted.
CMA-ES’s headline claim is that it learns the shape of the landscape into
its covariance C, which is what lets it solve an ill-conditioned, rotated
problem that an axis-aligned searcher cannot. A claim like that is only worth
asserting if something would notice when it stopped being true — so this
module ships the ablation the oracle measures against:
(μ/μ_w, λ)-ES with cumulative step-size adaptation and C ≡ I.
§It is an ablation, not a second algorithm
Everything except the covariance is the same as the real sampler’s
(crates/atune/src/cmaes/mod.rs), on purpose:
| Piece | Here | Cmaes |
|---|---|---|
population λ, parents μ = ⌊λ/2⌋ | 4 + ⌊3 ln d⌋ | same |
recombination weights, μ_eff | ln((λ+1)/2) − ln i, normalized | same |
| mean update | m ← m + σ·y_w | same |
step-size path p_σ, damping d_σ, χ_d | same formulae | same |
| step size | σ ← σ·exp((c_σ/d_σ)(‖p_σ‖/χ_d − 1)) | same |
| offspring | x = clamp(m + σ·z) | x = clamp(m + σ·B·D·z) |
C, p_c, rank-one, rank-μ, eigendecomposition | absent | present |
| RNG | ChaCha8Rng seeded seed_for_name(sampler_seed, "cmaes") | same |
| normals | box_muller, pairwise | same |
| mixed spaces | continuous floats driven, the rest Random | same |
The RNG tag is deliberately the same string, so for a given
(study seed, trial number) both samplers consume the identical z stream:
the sentinel is a paired comparison in which the covariance is the only
moving part. That is what makes “the isotropic variant loses the
ill-conditioned margin” a statement about covariance adaptation rather than
about two unrelated searchers.
§Why it is here and not in the facade
It is a benchmark fixture. atune ships one CMA-ES; shipping a second,
deliberately weakened one as public API would be a maintenance liability and
an invitation to use it. atune_bench is publish = false, which is exactly
where an ablation belongs (the same reasoning that put
DeKnobs::degenerate’s crippled
DEHB behind a bench-only knob).
§Determinism
Identical to the real sampler’s: every draw comes from a ChaCha8Rng keyed on
the trial’s sampler_seed, never ambient entropy, so a single-worker run with
a fixed study seed is fully reproducible
(docs/design/09-implementation.md §5, promise 3). Like every stateful sampler it is
history-dependent, so it does not get promise 2 under parallelism — and,
being a bench fixture, it never persists state at all
(state returns None).
Structs§
- Isotropic
Es (μ/μ_w, λ)-ES with cumulative step-size adaptation and no covariance adaptation — the CMA-ES ablation the M4.3 oracle’s sentinel runs.