Skip to main content

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}