Abstract
We investigate the dynamic variable ordering (DVO) technique commonly used in conjunction with tree-search algorithms for solving constraint satisfaction problems. We first provide an implementation methodology for adding DVO to an arbitrary tree-search algorithm. Our methodology is applicable to a wide range of algorithms including those that maintain complicated information about the search history, like backmarking. We then investigate the popular reordering heuristic of next instantiating the variable with the minimum remaining values (MRV). We prove some interesting theorems about the MRV heuristic which demonstrate that if one wants to use the MRV heuristic one should use it with forward checking. Finally, we investigate the empirical performance of 12 different algorithms with and without DVO. Our experiments and theoretical results demonstrate that forward checking equipped with dynamic variable ordering is a very good algorithm for solving CSPs.
This research was supported by the Canadian Government through their IRIS project and NSERC programs.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
J. R. Bitner and Reingold E. Backtracking programming techniques. Communications of the ACM, 18(11):651–656, 1975.
Fahiem Bacchus and Adam Grove. On the Forward Checking algorithm. In First International Conference on Principles and Practice of Constraint Programming (CP95), 1995.
R. Dechter. Enhancement schemes for constraint processing: Backjumping, learning and cutset decomposition. Artificial Intelligence, 41:273–312, 1990.
R. Dechter and Itay Meiri. Experimental evaluation of preprocessing algorithms for constraint satisfaction problems. Artificial Intelligence, 68:211–241, 1994.
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/csdtechnical-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 Proceedings 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.
D. Manchak and P. van Beek. A ‘C’ library of constraint satisfaction techniques, 1994. Available by anonymous ftp from: ftp.cs.ualberta.ca:pub/ai/csp.
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. W. Jr. Purdom. Jr. Search rearrangement backtracking and polynomial average time. Artificial Intelligence, 21:117–133, 1983.
B. Selman, H. J. Levesque, and D. G. Mitchell. A new method for solving hard satisfiability problems. In Proceedings of the AAAI National Conference, pages 440–446, 1992.
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., van Run, P. (1995). Dynamic variable ordering in CSPs. 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_16
Download citation
DOI: https://doi.org/10.1007/3-540-60299-2_16
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