Crates.io | set_genome |
lib.rs | set_genome |
version | 0.6.7 |
source | src |
created_at | 2021-05-01 15:08:55.718113 |
updated_at | 2023-08-11 21:46:38.49449 |
description | A genetic data structure for neuroevolution algorithms. |
homepage | https://github.com/SilvanCodes/set-genome |
repository | https://github.com/SilvanCodes/set-genome |
max_upload_size | |
id | 391921 |
size | 109,412 |
This crate is supposed to act as the representation/reproduction aspect in neuroevolution algorithms and may be combined with arbitrary selection mechanisms.
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.
[dependencies]
set_genome = "0.1"
See the documentation more information.