Barbarik
The first efficient procedure to test whether a sampler is uniform
Install / Use
/learn @meelgroup/BarbarikREADME
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:
- 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
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
- Kuldeep S. Meel
- Sourav Chakraborty
- Shayak Chakraborty
- Yash Pote
- Mate Soos
- Priyanka Golia
Related Skills
node-connect
350.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.9kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
350.1kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
350.1kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
