10,693 research outputs found
Quantum walk speedup of backtracking algorithms
We describe a general method to obtain quantum speedups of classical
algorithms which are based on the technique of backtracking, a standard
approach for solving constraint satisfaction problems (CSPs). Backtracking
algorithms explore a tree whose vertices are partial solutions to a CSP in an
attempt to find a complete solution. Assume there is a classical backtracking
algorithm which finds a solution to a CSP on n variables, or outputs that none
exists, and whose corresponding tree contains T vertices, each vertex
corresponding to a test of a partial solution. Then we show that there is a
bounded-error quantum algorithm which completes the same task using O(sqrt(T)
n^(3/2) log n) tests. In particular, this quantum algorithm can be used to
speed up the DPLL algorithm, which is the basis of many of the most efficient
SAT solvers used in practice. The quantum algorithm is based on the use of a
quantum walk algorithm of Belovs to search in the backtracking tree. We also
discuss how, for certain distributions on the inputs, the algorithm can lead to
an exponential reduction in expected runtime.Comment: 23 pages; v2: minor changes to presentatio
Heuristic average-case analysis of the backtrack resolution of random 3-Satisfiability instances
An analysis of the average-case complexity of solving random 3-Satisfiability
(SAT) instances with backtrack algorithms is presented. We first interpret
previous rigorous works in a unifying framework based on the statistical
physics notions of dynamical trajectories, phase diagram and growth process. It
is argued that, under the action of the Davis--Putnam--Loveland--Logemann
(DPLL) algorithm, 3-SAT instances are turned into 2+p-SAT instances whose
characteristic parameters (ratio alpha of clauses per variable, fraction p of
3-clauses) can be followed during the operation, and define resolution
trajectories. Depending on the location of trajectories in the phase diagram of
the 2+p-SAT model, easy (polynomial) or hard (exponential) resolutions are
generated. Three regimes are identified, depending on the ratio alpha of the
3-SAT instance to be solved. Lower sat phase: for small ratios, DPLL almost
surely finds a solution in a time growing linearly with the number N of
variables. Upper sat phase: for intermediate ratios, instances are almost
surely satisfiable but finding a solution requires exponential time (2 ^ (N
omega) with omega>0) with high probability. Unsat phase: for large ratios,
there is almost always no solution and proofs of refutation are exponential. An
analysis of the growth of the search tree in both upper sat and unsat regimes
is presented, and allows us to estimate omega as a function of alpha. This
analysis is based on an exact relationship between the average size of the
search tree and the powers of the evolution operator encoding the elementary
steps of the search heuristic.Comment: to appear in Theoretical Computer Scienc
Analysis of the computational complexity of solving random satisfiability problems using branch and bound search algorithms
The computational complexity of solving random 3-Satisfiability (3-SAT)
problems is investigated. 3-SAT is a representative example of hard
computational tasks; it consists in knowing whether a set of alpha N randomly
drawn logical constraints involving N Boolean variables can be satisfied
altogether or not. Widely used solving procedures, as the
Davis-Putnam-Loveland-Logeman (DPLL) algorithm, perform a systematic search for
a solution, through a sequence of trials and errors represented by a search
tree. In the present study, we identify, using theory and numerical
experiments, easy (size of the search tree scaling polynomially with N) and
hard (exponential scaling) regimes as a function of the ratio alpha of
constraints per variable. The typical complexity is explicitly calculated in
the different regimes, in very good agreement with numerical simulations. Our
theoretical approach is based on the analysis of the growth of the branches in
the search tree under the operation of DPLL. On each branch, the initial 3-SAT
problem is dynamically turned into a more generic 2+p-SAT problem, where p and
1-p are the fractions of constraints involving three and two variables
respectively. The growth of each branch is monitored by the dynamical evolution
of alpha and p and is represented by a trajectory in the static phase diagram
of the random 2+p-SAT problem. Depending on whether or not the trajectories
cross the boundary between phases, single branches or full trees are generated
by DPLL, resulting in easy or hard resolutions.Comment: 37 RevTeX pages, 15 figures; submitted to Phys.Rev.
GRASP: A New Search Algorithm for Satisfiability
This paper introduces GRASP (Generic search Algorithm J3r the Satisfiabilily Problem), an integrated algorithmic J3amework 30r SAT that unifies several previously proposed searchpruning techniques and jcilitates identification of additional ones. GRASP is premised on the inevitability of conflicts during search and its most distinguishingjature is the augmentation of basic backtracking search with a powerful conflict analysis procedure. Analyzing conflicts to determine their causes enables GRASP to backtrack non-chronologically to earlier levels in the search tree, potentially pruning large portions of the search space. In addition, by 'ecording" the causes of conflicts, GRASP can recognize and preempt the occurrence of similar conflicts later on in the search. Einally, straighrward bookkeeping of the causali y chains leading up to conflicts a/lows GRASP to identij) assignments that are necessary jr a solution to be found. Experimental results obtained jom a large number of benchmarks, including many J3om the field of test pattern generation, indicate that application of the proposed conflict analysis techniques to SAT algorithms can be extremely ejctive jr a large number of representative classes of SAT instances
CLPGUI: a generic graphical user interface for constraint logic programming over finite domains
CLPGUI is a graphical user interface for visualizing and interacting with
constraint logic programs over finite domains. In CLPGUI, the user can control
the execution of a CLP program through several views of constraints, of finite
domain variables and of the search tree. CLPGUI is intended to be used both for
teaching purposes, and for debugging and improving complex programs of
realworld scale. It is based on a client-server architecture for connecting the
CLP process to a Java-based GUI process. Communication by message passing
provides an open architecture which facilitates the reuse of graphical
components and the porting to different constraint programming systems.
Arbitrary constraints and goals can be posted incrementally from the GUI. We
propose several dynamic 2D and 3D visualizations of the search tree and of the
evolution of finite domain variables. We argue that the 3D representation of
search trees proposed in this paper provides the most appropriate visualization
of large search trees. We describe the current implementation of the
annotations and of the interactive execution model in GNU-Prolog, and report
some evaluation results.Comment: 16 pages; Alexandre Tessier, editor; WLPE 2002,
http://xxx.lanl.gov/abs/cs.SE/020705
Recommended from our members
Experimental evaluation of preprocessing algorithms for constraint satisfaction problems
This paper presents an experimental evaluation of two orthogonal schemes for preprocessing constraint satisfaction problems (CSPs). The first of these schemes involves a class of local consistency techniques that includes directional arc consistency, directional path consistency, and adaptive consistency. The other scheme concerns the prearrangement of variables in a linear order to facilitate an efficient search. In the first series of experiments, we evaluated the effect of each of the local consistency techniques on backtracking and its common enhancement, backjumping. Surprizingly, although adaptive consistency has the best worst-case complexity bounds, we have found that it exhibits the worst performance, unless the constraint graph was very sparse. Directional arc consistency (followed by either backjumping or backtracking) and backjumping (without any pre-processing) outperformed all other techniques; moreover, the former dominated the latter in computationally intensive situations. The second series of experiments suggests that maximum cardinality and minimum width arc the best pre-ordering (i.e., static ordering) strategies, while dynamic search rearrangement is superior to all the preorderings studied
- âŠ