A New Algorithm for Sampling CSP Solutions Uniformly at Random
Vibhav Gogate and Rina Dechter
The paper presents a method for generating solutions of a constraint satisfaction problem (CSP) uniformly at random. The main idea is to express the CSP as a factored probability distribution over its solutions and then generate samples from this distribution using probabilistic sampling schemes. We suggest parameterized sampling schemes that sample solutions from the output of a generalized belief propagation algorithm. To speed up the rate at which random solutions are generated, we augment our sampling algorithms with techniques used successfully in the CSP literature to improve search such as conflict-directed back-jumping and no-good learning. The motivation for this tasks comes from hardware verification. Random test program generation for hardware verification can be modeled and performed through CSP techniques, and is an application in which uniform random solution sampling is required.