In this paper, we study the complexity of finding an efficient search for combinatorial problems which are commonly solved by backtracking. First, a formalism is introduced. Backtrack searches are ordinarily thought of as following a tree pattern. Our model is considerably more general, and there are problems where this allows much shorter searches.
Next, we look at the complexity of search strategies (probabilistic decision trees) that can solve any problem in a collection of problems. Let C be the collection of problems that can be solved by a (possibly lucky) search involving K or fewer queries. We prove a nonpolynomial lower bound (in terms of K) on any search strategy for C. We conjecture that a matching upper bound exists.
Finally, a few heuristics are presented that give the flavor of an interesting line of research: to test the effectiveness of a heuristic that should work on any problem, try it out on a few specific problems of known complexity. On some simple problems, our heuristics allow polynomial-time searches.
[1]
Edward M. Reingold,et al.
Backtrack programming techniques
,
1975,
CACM.
[2]
Rufus Walker,et al.
An enumerative technique for a class of combinatorial problems
,
1960
.
[3]
J. G. Fletcher,et al.
A program to solve the Pentomino problem by the recursive use of macros
,
1965,
CACM.
[4]
Solomon W. Golomb,et al.
Backtrack Programming
,
1965,
JACM.
[5]
D. Knuth.
Estimating the efficiency of backtrack programs.
,
1974
.
[6]
Bernard Nudel,et al.
Consistent-Labeling Problems and Their Algorithms: Expected-Complexities and Theory-Based Heuristics
,
1983,
Artif. Intell..
[7]
N. J. A. Sloane,et al.
On the Existence of a Projective Plane of Order 10
,
1973,
J. Comb. Theory, Ser. A.
[8]
Zvi Galil.
On Enumeration Procedures for Theorem Proving and for Integer Programming
,
1976,
ICALP.