Abstract
The forward checking algorithm for solving constraint satisfaction problems is a popular and successful alternative to backtracking. However, its success has largely been determined empirically, and there has been limited work towards a real understanding of why and when forward checking is the superior approach.
This paper advances our understanding by showing that forward checking is closely related to backmarking, which is a widely used improvement of ordinary backtracking. This result is somewhat surprising, because (as their names suggest) forward checking is superficially quite different from backtracking and its variants. The result may also help in predicting when forward checking will be the best method.
Finally, the paper shows how the relationship to backmarking helps in understanding a recently introduced improvement to the forward checking algorithm, known as minimal forward checking. We argue that the new algorithm is best viewed as a hybrid combination of backmarking and forward checking.
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
J. R. Bitner and Reingold E. Backtracking programming techniques. Communications of the ACM, 18(11):651–656, 1975.
Fahiem Bacchus and Paul van Run. Dynamic variable reordering in CSPs. In First International Conference on Principles and Practice of Constraint Programming (CP95), 1995.
Peter Cheeseman, Bob Kanefsky, and Willian M. Taylor. Where the really hard problems are. In Procceedings of the International Joint Conference on Artifical Intelligence (IJCAI), pages 331–337, 1991.
M. J. Dent and R. E. Mercer. Minimal forward checking. In 6th IEEE International Conference on Tools with Artificial Intelligence, pages 432–438, New Orleans, 1994. Available via anonymous ftp from ftp://csd.uwo.ca/pub/csd-technical-reports/374/tai94.ps.z.
Daniel Frost and Rina Dechter. In search of the best constraint satisfaction search. In Proceedings of the AAAI National Conference, pages 301–306, 1994.
J. Gaschnig. A general Backtracking algorithm that eliminates most redundant tests. In Procceedings of the International Joint Conference on Artifical Intelligence (IJCAI), page 457, 1977.
J. Gaschnig. Experimental case studies of backtrack vs. Waltz-type vs. new algorithms for satisficing assignment problems. In Proceedings of the Canadian Artifical Intelligence Conference, pages 268–277, 1978.
R. M. Haralick and G. L. Elliott. Increasing tree search efficiency for constraint satisfaction problems. Artificial Intelligence, 14:263–313, 1980.
Grzegorz Kondrak and Peter van Beek. A theoretical evaluation of selected backtracking algorithms. In Procceedings of the International Joint Conference on Artifical Intelligence (IJCAI), 1995.
A. K. Mackworth. Constraint satisfaction. In S. C. Shapiro, editor, Encyclopedia of Artificial Intelligence. John Wiley and Sons, New York, 1987.
Bernard A. Nadel. Constraint satisfaction algorithms. Computational Intelligence, 5:188–224, 1989.
P. Prosser. Hybrid algorithms for the constraint satisfaction problem. Computational Intelligence, 9(3), 1993.
P. Prosser. Forward checking with backmarking. In M. Meyer, editor, Constraint Processing, LNCS 923, pages 185–204. Springer-Verlag, New York, 1995.
Paul van Run. Domain independant heuristics in hybrid algorithms for CSPs. Master's thesis, Dept. of Computer Science, University of Waterloo, Waterloo, Ontario, Canada, 1994. Available via anonymous ftp at “logos.uwaterloo.ca” in the file “/pub/bacchus/vanrun.ps.z”.
Monte Zweben and Megan Eskey. Constraint satisfaction with delayed evaluation. In Procceedings of the International Joint Conference on Artifical Intelligence (IJCAI), pages 875–880, 1989.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1995 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bacchus, F., Grove, A. (1995). On the forward checking algorithm. In: Montanari, U., Rossi, F. (eds) Principles and Practice of Constraint Programming — CP '95. CP 1995. Lecture Notes in Computer Science, vol 976. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60299-2_18
Download citation
DOI: https://doi.org/10.1007/3-540-60299-2_18
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-60299-6
Online ISBN: 978-3-540-44788-7
eBook Packages: Springer Book Archive