Probe Order Backtracking

  • Authors:
  • Paul Walton Purdom, Jr.;G. Neil Haven

  • Affiliations:
  • -;-

  • Venue:
  • SIAM Journal on Computing
  • Year:
  • 1997

Quantified Score

Hi-index 0.00

Visualization

Abstract

The algorithm for constraint-satisfaction problems, Probe Order Backtracking, has an average running time much faster than any previously analyzed algorithm under conditions where solutions are common. The algorithm uses a probing assignment (a preselected test assignment to unset variables) to help guide the search for a solution. If the problem is not satisfied when the unset variables are temporarily set to the probing assignment, the algorithm selects one of the relations which is not satisfied by the probing assignment and selects an unset variable which affects the value of that relation. It then does a backtracking (splitting) step, where it generates subproblems by setting the selected variable each possible way. Each subproblem is simplified and then solved recursively. For random problems with $v$ variables, $t$ clauses, and probability $p$ that a literal appears in a clause, the average time for Probe Order Backtracking is no more than $v^n$ when $p\geq(\ln t)/v$ plus lower-order terms. The best previous result was $p\geq\sqrt{(\ln t)/v}$. When the algorithm is combined with an algorithm of Franco that makes selective use of resolution, the average time for solving random problems is no more than $v^n$ for all values of $p$ when $t\leq O(n^{1/3}(v/\ln v)^{2/3})$. The best previous result was $t\leq O(n^{1/3}(v/\ln v)^{1/6})$. Probe Order Backtracking also runs in polynomial average time when $p\leq 1/v$, compared with the best previous result of $p\leq 1/(2v)$. With Probe Order Backtracking, the range of $p$ that leads to more than polynomial time is much smaller than that for previously analyzed algorithms.