Crate set_genome[−][src]
This crate is supposed to act as the representation/reproduction aspect in neuroevolution algorithms and may be combined with arbitrary selection mechanisms.
Getting started
Head over to GenomeContext
to understand how to use this crate.
SET genome
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.
Modules
activations | Lists constant functions matching the |
Structs
Genome | This is the core data structure this crate revoles around. |
GenomeContext | This struct simplifies operations on the |
GenomeRng | This struct serves as the randomness source for all operations. |
Id | Identity of ANN structure elements. |
IdGenerator | Acts as a generator and cache for ANN node identities. |
Parameters | This struct captures configuration about the basic ANN structure and available mutations. |
Structure | This struct describes the invariants of the ANN structure. |
Enums
Mutations | Lists all possible mutations with their corresponding parameters. |