You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
where <#Samples> is the number of samples to collect (>=1) and <FormulaFile> is a path to Boolean CNF formula in DIMACS file format.
The full set of command line options are:
-cnf [cnf_file] Path to the CNF file
-s [s] Number of models "s" to sample uniformly at random
-tp Forces two-pass sampling. (Only applicable when s=1)
-out [out_file] Path to write the specified samples
-no-sample-write Disable writing the final samples to a file.
-count-only Perform only model counting. Disable sampling.
-q Quiet mode
-v Verbose and trace mode
-d Debug mode
-t [s] Set time bound to s seconds
-cs [n] Set max cache size to n MB
Dependencies
Operating System: This software is only tested on Ubuntu Linux and Mac OS High Sierra. Additional operating systems, but functionality is not guaranteed nor implied.
As explained in our paper, the generated witnesses are represented as tuples. The first item in the tuple is an integer between 1 and the number of samples (inclusive); this number represents the number of witnesses entailed by this tuple.
The second item in the tuple is a variable assignment. Variables are ordered from 1 to N, where N is the total number of variables. Each variable is assigned to either "0", "1", or "*". Observe that the "*" corresponds to an unconstrained variable that can be either "0" or "1".
Example: The tuple "3,10*0*" means that three witnesses are entailed by the assignment where variable one is 0b1, variables two and four are 0b0, while variables three and five can take either value.
Python Libraries Available
Python libraries for running the SPUR binary are available upon request. Email zayd.hammoudeh@gmail.com to request access. Please include in the email request your name, email address, and institution.
Special Thanks
The SPUR sampler is built on top of sharpSAT, which was developed by Marc Thurley.
About
SAT'18 Paper: SPUR - Satisfying Perfectly Uniform Random sampler (Winner Best Student Paper)