Crate neat

source ·
Expand description

A simple crate that implements the Neuroevolution Augmenting Topologies algorithm using genetic-rs

§Feature Roadmap:

  • base (single-core) crate
  • rayon
  • serde
  • crossover

You can get started by looking at genetic-rs docs and checking the examples for this crate.

Re-exports§

Modules§

  • Built-in nextgen functions and traits to go with them.
  • Used to quickly import everything this crate has to offer. Simply add use genetic_rs::prelude::* to begin using this crate.
  • A module containing the main NeuralNetwork struct. This has state/cache and will run the predictions. Make sure to run NeuralNetwork::flush_state between uses of NeuralNetwork::predict.
  • A module containing the NeuralNetworkTopology struct. This is what you want to use in the DNA of your agent, as it is the thing that goes through nextgens and suppors mutation.

Macros§

Structs§

Traits§

Functions§

  • When making a new generation, it despawns half of the genomes and then spawns children from the remaining to reproduce. WIP: const generic for mutation rate, will allow for DivisionReproduction::divide to accept a custom mutation rate. Delayed due to current Rust limitations
  • When making a new generation, it mutates each genome a certain amount depending on their reward. This nextgen is very situational and should not be your first choice.

Derive Macros§