Barbarik is a framework developed to test whether a sampler is almost uniform or not. It uses SPUR as the underlying uniform sampler. This work is by Sourav Chakraborty and Kuldeep S. Meel, as published in AAAI'19.
To test QuckSampler:
git clone --depth 1 https://github.com/meelgroup/barbarik.git
cd barbarik
./barbarik.py --seed 1 --sampler 2 blasted_case110.cnf
See ./barbarik.py --help
for the different samplers supported.
You can choose any of the samplers in the "samplers" directory, see --help
:
- UniGen2 - an almost-uniform sampler, version 2
- ApproxMC3-with-sampling - an almost-uniform sampler (This is a beta version of UniGen3 -- which will be released soon. If you use ApproxMC3 binary, please cite UniGen paper to avoid any confusion.)
- SPUR - Perfectly Uniform Satisfying Assignments
- Quick Sampler
- STS
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
If you use Barbarik, please cite the following paper : AAAI'19. Here is BIB file
- Kuldeep S. Meel
- Sourav Chakraborty
- Shayak Chakraborty
- Yash Pote
- Mate Soos
- Priyanka Golia