# algen Algen is a platform, written in rust, for running genetic algorithms. ## Installation Add the dependency to your crates ```toml [package] name = "my-app" version = "0.1.0" edition = "2021" [dependencies] algen = "0.1.2" ``` And then you can run cargo to fetch it. ```bash 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](https://docs.rs/algen/latest/algen/models/test_parameters/index.html) and some kind of **Input Data** which is fed to your algorithm. See the example in the examples folder for more details. ```rust run_algorithm( ¶meters, 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](https://crates.io/crates/tracing) crate. ```toml [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](https://choosealicense.com/licenses/mit/)