red_queen_core/lib.rs
1//! # Red Queen Core
2//!
3//! Core evolutionary computation engine for adversarial testing.
4//!
5//! This crate provides the foundational building blocks for evolutionary algorithms:
6//! - Population management
7//! - Genome and Fitness traits
8//! - Selection operators (Tournament, Lexicase, Novelty)
9//! - Variation operators (Mutation, Crossover)
10//! - Quality-Diversity archives (MAP-Elites)
11//!
12//! ## Example
13//!
14//! ```rust,ignore
15//! use red_queen_core::prelude::*;
16//!
17//! let evolution = Evolution::builder()
18//! .with_population_size(100)
19//! .with_selection(Tournament::new(3))
20//! .build();
21//!
22//! let results = evolution.run(500);
23//! ```
24
25pub mod genome;
26pub mod fitness;
27pub mod population;
28pub mod selection;
29pub mod variation;
30pub mod archive;
31pub mod evolution;
32pub mod error;
33
34pub mod prelude {
35 //! Convenient re-exports for common usage.
36 pub use crate::genome::Genome;
37 pub use crate::fitness::{Fitness, FitnessValue};
38 pub use crate::population::{Population, Individual};
39 pub use crate::selection::{Selection, Tournament, NoveltyArchive, NoveltySelection, NoveltyFitnessSelection};
40 pub use crate::evolution::{Evolution, MapElitesEvolution, MapElitesConfig, MapElitesResult};
41 pub use crate::archive::{Archive, MapElitesArchive, BehaviorDimension, ArchiveCoverage};
42 pub use crate::error::{Error, Result};
43}