algen

Crates.ioalgen
lib.rsalgen
version0.2.0
sourcesrc
created_at2022-11-17 16:13:38.276454
updated_at2022-11-26 15:39:12.571924
descriptionA parallelized genetic algorithm runner
homepage
repositoryhttps://github.com/SharpCoder/algen
max_upload_size
id717348
size28,541
Joshua Cole (SharpCoder)

documentation

https://docs.rs/algen/latest/algen/

README

algen

Algen is a platform, written in rust, for running genetic algorithms.

Installation

Add the dependency to your crates

[package]
name = "my-app"
version = "0.1.0"
edition = "2021"

[dependencies]
algen = "0.1.2"

And then you can run cargo to fetch it.

cargo build

Usage

Algen provides an abstraction on top of genetic algorithms. On its own, it does not provide a working implementation. That's up to you! So here are the traits you need to implement in order to use Algen:

  • Algorithm to define how input data is manipulated to solve a particular problem.
  • Analyzer to score the result of the algorithm and produce a numeric value representing how well it did.

In addition to these traits, you need to provide TestParameters and some kind of Input Data which is fed to your algorithm.

See the example in the examples folder for more details.

    run_algorithm(
        &parameters,
        test_data,
        algo,
        analyzer,
        Some(after_generation),
    );

Features

Optionally, you can include the tracing feature if you would like the library to emit traces using the tracing crate.

[dependencies]
algen = { version = "0.1.2", features = ["tracing"] }

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

License

MIT

Commit count: 17

cargo fmt