meelgroup / barbarik

The first efficient procedure to test whether a sampler is uniform
MIT License
13 stars 1 forks source link
muse satisfiability uniform-distribution unigen

License: MIT

Barbarik, a testing framework for samplers

'Barbarik' is a framework developed to test whether a sampler samples from a target distribution. To read more about Barbarik, have a look at our papers AAAI'19, NeurIPS'20, and NeurIPS'22.

Getting Started

To test QuickSampler:

git clone --depth 1 https://github.com/meelgroup/barbarik.git
cd barbarik
git submodule update --init --recursive
python3 barbarik.py --seed 1 --sampler 2 tests/uniform/blasted_case110.cnf

See python3 barbarik.py --help for the different samplers supported.

Samplers used

You can choose any of the samplers in the "samplers" directory, see --help:

Custom Samplers

To run a custom sampler, make appropriate changes to the code -- look for the following tag in barbarik.py file: # @CHANGE_HERE : please make changes in the below block of code

How to Cite

If you use Barbarik, please cite the following papers : AAAI'19, NeurIPS'20, and NeurIPS'22.

Contributors

  1. Kuldeep S. Meel
  2. Sourav Chakraborty
  3. Shayak Chakraborty
  4. Yash Pote
  5. Mate Soos
  6. Priyanka Golia