Expand description
A markov chain library for Rust.
§Features
- Training sequences of arbitrary types
- Nodes of N order
- Specialized string generation and training
- Serialization via serde
- Generation utility
§Examples
In your Cargo.toml file, make sure you have the line markov_chain = "0.1"
under the [dependencies]
section.
Markov chains may be created with any type that implements Clone
, Hash
,
and Eq
, and with some order (which is the number of items per node on the
markov chain).
§Creating a basic chain
use markov_chain::Chain;
let mut chain = Chain::new(1); // 1 is the order of the chain
// Train the chain on some vectors
chain.train(vec![1, 2, 3, 2, 1, 2, 3, 4, 3, 2, 1])
.train(vec![5, 4, 3, 2, 1]);
// Generate a sequence and print it out
let sequence = chain.generate();
println!("{:?} ", sequence);
Structs§
- Chain
- A struct representing a markov chain.
Traits§
- Chainable
- A trait that defines a restrictions required for chainable items.