Version: v1.2.3 | Status: Active | Last Updated: March 2026
To enable the discovery of optimal solutions in complex, non-differentiable search spaces through simulated Darwinian evolution.
- Modular Operators: Easily swap mutation or selection methods.
- Scalability: Designed for massive populations across distributed environments.
- Determinism: Support for seeded random number generation for reproducible runs.
- Abstraction: Decouple the evolutionary core from the specific problem domain.
graph TD
Pop[Population] --> Eval[Fitness Evaluator]
Eval --> Sel[Selection]
Sel --> Cross[Crossover]
Cross --> Mut[Mutation]
Mut --> Next[Next Generation]
Next --> Pop
- Define custom
Genetypes (binary, integer, float, or structured). - Support multiple selection strategies (Tournament, Rank, Stochastic).
- Implement various crossover methods (Single-point, Two-point, Uniform).
- Support adaptive mutation rates.
- Maintain a 'Hall of Fame' for the best-performing individuals.
evolve(fitness_scores: List[float])get_best_genome() -> Genomegenerations: int(property)
mutate(rate: float)copy() -> Genomerandom(length: int) -> Genome(classmethod)
- Computationally intensive for large populations and complex fitness functions.
- Highly dependent on high-quality random number generation.
uv run python -m pytest src/codomyrmex/tests/ -k evolutionary_ai -v