Backtracking and random constraint satisfaction

The average running time used by backtracking on random constraint satisfaction problems is studied. This time is polynomial when the ratio of constraints to variables is large, and it is exponential when the ratio is small. When the number of variables goes to infinity, whether the average time is exponential or polynomial depends on the number of variables per constraint, the number of values per variable, and the probability that a random setting of variables satisfies a constraint. A method for computing the curve that separates polynomial from exponential time and several methods for approximating the curve are given. The version of backtracking studied finds all solutions to a problem, so the running time is exponential when the number of solutions per problem is exponential. For small values of the probability, the curve that separates exponential and polynomial average running time coincides with the curve that separates an exponential average number of solutions from a polynomial number. For larger probabilities the two curves diverge. Random problems similar to those that arise in understanding line drawings with shadows require a time that is mildly exponential when they are solved by simple backtracking. Slightly more sophisticated algorithms (such as constraint propagation combined with backtracking) should be able to solve these rapidly.

[1]  Hector J. Levesque,et al.  A New Method for Solving Hard Satisfiability Problems , 1992, AAAI.

[2]  Rangachar Kasturi,et al.  Machine vision , 1995 .

[3]  Paul Walton Purdom,et al.  Polynomial-average-time satisfiability problems , 1987, Inf. Sci..

[4]  Paul W. Purdom,et al.  Solving Satisfiability with Less Searching , 1984, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[5]  Bernard Nudel,et al.  Consistent-Labeling Problems and Their Algorithms , 1982, AAAI.

[6]  Cynthia A. Brown,et al.  On the average case analysis of some satisfiability model problems , 1986, Inf. Sci..

[7]  Paul Walton Purdom,et al.  Probe Order Backtracking , 1997, SIAM J. Comput..

[8]  Paul Walton Purdom,et al.  An Average Time Analysis of Backtracking , 1981, SIAM J. Comput..

[9]  Edward L. Robertson,et al.  Backtracking with multi-level dynamic search rearrangement , 2004, Acta Informatica.

[10]  David L. Waltz,et al.  Understanding Line drawings of Scenes with Shadows , 1975 .

[11]  Oliver Vornberger,et al.  Superlinear Speedup for Parallel Backtracking , 1987, ICS.

[12]  Paul Purdom,et al.  A survey of average time analyses of satisfiability algorithms , 1991 .

[13]  John V. Franco,et al.  Elimination of Infrequent Variables Improves Average Case Performance of Satisfiability Algorithms , 1991, SIAM J. Comput..

[14]  Jun Gu,et al.  Local search for satisfiability (SAT) problem , 1993, IEEE Trans. Syst. Man Cybern..

[15]  Paul Walton Purdom,et al.  Search Rearrangement Backtracking and Polynomial Average Time , 1983, Artif. Intell..

[16]  John V. Franco,et al.  On the Probabilistic Performance of Algorithms for the Satisfiability Problem , 1986, Inf. Process. Lett..

[17]  Robert M. Haralick,et al.  Increasing Tree Search Efficiency for Constraint Satisfaction Problems , 1979, Artif. Intell..

[18]  Edward M. Reingold,et al.  Backtrack programming techniques , 1975, CACM.