[−][src]Crate bigs
BIpartite Graph Sampler.
A tool to generate regular bipartite graphs. A bipartite graph is a set of variables and constraints (named like this because of SAT problems) together with a set of edges. Right now, only regular graphs can be sampled. That is, graphs with the same degree for all variables and the same for all constraints.
Quick start
Graphs are sampled using a Sampler
which are instanciated via
the builder
method.
Then, any random number generator can be used to sample a Graph
.
use bigs::Sampler; use rand::thread_rng; let sampler = Sampler::builder() .number_of_variables(10) .number_of_constraints(6) .variable_degree(3) .constraint_degree(5) .build() // Returns an error if the parameters are invalid. .unwrap(); let graph = sampler.sample_with(&mut thread_rng()); let other_graph = sampler.sample_with(&mut thread_rng());
Modules
builder | An helper to build sampler. |
error | |
graph | Everything related to graphs: edges, nodes and, of course, graphs. |
Structs
Sampler | A sampler for regular bipartite graph. |