This crate is supposed to act as the representation/reproduction aspect in neuroevolution algorithms and may be combined with arbitrary selection mechanisms.
Head over to
GenomeContext to understand how to use this crate.
SET stands for Set Encoded Topology and this crate implements a genetic data structure, the
Genome, using this set encoding to describe artificial neural networks (ANNs).
Further this crate defines operations on this genome, namely
Mutations and crossover. Mutations alter a genome by adding or removing genes, crossover recombines two genomes.
To have an intuitive definition of crossover for network structures the NEAT algorithm defined a procedure and has to be understood as a mental predecessor to this SET encoding,
which very much is a formalization and progression of the ideas NEAT introduced regarding the genome.
The thesis describing this genome and other ideas can be found here, a paper focusing just on the SET encoding will follow soon.
Lists constant functions matching the
This is the core data structure this crate revoles around.
This struct simplifies operations on the
This struct serves as the randomness source for all operations.
Identity of ANN structure elements.
Acts as a generator and cache for ANN node identities.
This struct captures configuration about the basic ANN structure and available mutations.
This struct describes the invariants of the ANN structure.
Lists all possible mutations with their corresponding parameters.