CubeProbe estimates the dtv distance of a sampler from uniform distribution and tests if the sampler is almost uniform or far from uniform. CubeProbe achieves the goal by implementing a SubCube Conditioning access to the sampler.
CubeProbe can work in two modes:
- Estimator mode : In this mode
CubeProbereturns the estimated total variation distance of the sampler from uniform distribution. - Tester mode : In this mode
CubeProbereturns 'ACCEPT' if total variation distance is less than tolerance parameter and returns 'REJECT' if total variation distance is more than intolerance parameter.
Usage:
python CubeProbe.py --zeta ZETA --eta ETA --epsilon EPSILON --delta DELTA --sampler SAMPLERTYPE --seed SEED --thread THREAD --mode MODE input output
Here ZETA is the approximation parameter for the Estimator mode. ETA, EPSILON are the farness and closeness paramter in the Tester mode. DELTA is confidence parameter.
SAMPLERTYPE accepts 3 values:
- QuickSampler = 1
- STS = 2
- CMSGen = 3
SEEDhas been set to 420 in all the experiments.THREADthe is the number of threads used byCubeProbe. The arguementMODEtakes two values:
estfor Estimator mode.testfor Tester mode.
Corresponding paper available at here.