7个版本
0.3.0 | 2022年3月27日 |
---|---|
0.2.4 | 2021年11月3日 |
0.2.3 | 2021年2月18日 |
0.2.2 | 2020年12月15日 |
0.1.0 | 2020年11月24日 |
#1728 in 算法
每月43次下载
用于 2 crates
27KB
349 行
bigs
二分图采样器
生成正规二分图的工具。二分图是一组变量和约束(由于SAT问题而得名)以及一组边。目前,只能采样正规图。也就是说,所有变量和所有约束具有相同度数的图。
示例
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();
let graph = sampler.sample_with(&mut thread_rng());
let other_graph = sampler.sample_with(&mut thread_rng());
lib.rs
:
二分图采样器。
生成正规二分图的工具。二分图是一组变量和约束(由于SAT问题而得名)以及一组边。目前,只能采样正规图。也就是说,所有变量和所有约束具有相同度数的图。
快速开始
使用Sampler
采样图,该采样器通过builder
方法实例化。然后,可以使用任何随机数生成器来采样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());
依赖项
~1.8–2.7MB
~52K SLoC