Skip to main content

Module neuroevolution

Module neuroevolution 

Source
Expand description

Topology-evolving neuroevolution (NEAT) — the host-side graph data model.

This module holds the building blocks shared by NEAT: the graph genome (topology), the per-run innovation registry (innovation), speciation (species), and the phenotype builders (phenotype). The NeatStrategy custom harness that drives them lives in crate::algorithms::neuroevolution::neat.

These types are graphs, not tensors: unlike the Strategy genomes elsewhere in the crate, TopologyGenome is plain host-side data (and is Clone). A genome is scored either one at a time, through the interpreted InterpretedBuilder reference path, or a whole population at once, through the device-batched DensePaddedEvaluator; the two agree to float epsilon.

§Orientation

NEAT is maximization (higher fitness is better) — matching the crate-wide maximise convention. Species best/stagnation tracking, fitness sharing, and the GraphFitnessFn seam all treat higher as better; a cost objective is reconciled into canonical space by the harness/adapter chokepoint, not by hand here.

Re-exports§

pub use innovation::InnovationRegistry;
pub use innovation::NodeSplit;
pub use phenotype::BatchPhenotypeEvaluator;
pub use phenotype::DensePaddedEvaluator;
pub use phenotype::InterpretedBuilder;
pub use phenotype::InterpretedPhenotype;
pub use phenotype::Phenotype;
pub use phenotype::PhenotypeBuilder;
pub use species::Species;
pub use species::SpeciesId;
pub use species::allocate_offspring;
pub use species::compatibility_distance;
pub use species::remove_stagnant;
pub use species::speciate;
pub use topology::ActivationFn;
pub use topology::ConnectionGene;
pub use topology::InnovationId;
pub use topology::NodeGene;
pub use topology::NodeId;
pub use topology::NodeKind;
pub use topology::TopologyGenome;

Modules§

innovation
Innovation-number bookkeeping — the per-run registry that assigns the historical markers NEAT crossover aligns on.
phenotype
Phenotype construction — turning a TopologyGenome into a callable network.
species
Speciation — compatibility distance, the representative-assignment pass, fitness sharing, stagnation, and offspring apportionment.
topology
NEAT topology genome — a direct graph encoding of node and connection genes.