Expand description
Co-evolutionary algorithms.
Two populations evolve simultaneously, and each individual’s fitness depends on the other population. Two regimes ship in v1:
- Competitive (
CompetitiveCoEA) — populations are adversaries (predator vs. prey, Hillis 1990). Each is scored by how well it does against the other; the dynamic is an arms race. - Cooperative (
CooperativeCoEA, CCGA — Potter & De Jong 1994) — a high-dimensional problem is decomposed across populations whose individuals combine (via representatives) into a full candidate.
§Why not Strategy?
Strategy::tell accepts a single
fitness vector, but co-evolutionary fitness is inherently paired — each
population receives a vector computed relative to the other. Rather than
distort that contract, co-evolution gets its own CoEvolutionaryAlgorithm
trait and a dedicated CoEvolutionaryHarness that adapts to the existing
rlevo-core::evaluation::BenchEnv surface, exactly as
EvolutionaryHarness does. Both
co-evolutionary algorithms are built from ordinary inner
Strategy instances, so every phase-1/2/3a/3b
algorithm composes in unchanged.
§Pathology mitigation
Competitive co-evolution is prone to cycling; HallOfFameFitness
wraps any CoupledFitness to anchor scores against an archive of past
champions (Rosin & Belew 1997). It composes at construction — algorithms
are hall-of-fame-agnostic.
§Coupling shape
CoupledFitness takes a slice of populations and is N-population-ready;
v1 algorithms always pass exactly two. The harness exposes
min(best_a, best_b) (canonical maximise) as the benchmark reward (the
weaker population — lower canonical fitness — is the binding constraint).
§References
- Hillis (1990), Co-evolving parasites improve simulated evolution as an optimization procedure.
- Potter & De Jong (1994), A cooperative coevolutionary approach to function optimization (CCGA).
- Rosin & Belew (1997), New methods for competitive coevolution (hall of fame).
- Ficici (2004), Solution concepts in coevolutionary algorithms (cycling / intransitive dominance).
Re-exports§
pub use competitive::CompetitiveCoEA;pub use competitive::CompetitiveCoEAParams;pub use cooperative::CooperativeCoEA;pub use cooperative::CooperativeCoEAParams;pub use cooperative::CooperativeState;pub use cooperative::RepresentativePolicy;pub use fitness::CoupledFitness;pub use harness::CoEAMetrics;pub use harness::CoEvolutionaryHarness;pub use hof::HallOfFame;pub use hof::HallOfFameFitness;
Modules§
- competitive
- Competitive co-evolution — predator vs. prey (Hillis 1990).
- cooperative
- Cooperative co-evolution — CCGA (Potter & De Jong 1994).
- fitness
- Coupled fitness evaluation for co-evolutionary algorithms.
- harness
- Drive loop adapting a
CoEvolutionaryAlgorithmtoBenchEnv. - hof
- Hall-of-fame pathology mitigation for competitive co-evolution.
Structs§
- CoEA
State - Joined state carrying both sub-strategy states plus per-population best/mean trackers.
Traits§
- CoEvolutionary
Algorithm - A co-evolutionary algorithm driving two populations under simultaneous updates.