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

MIT/Apache

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