ARTIFICIAL INTELLIGENCE 263 Increasing Tree Search Efficiency for Constraint Satisfaction Problems Robert M. Haralick and Gordon L. Elliott Department of Electrical Engineering and Department of Computer Science, Virginia Polytechnic Institute and State University, Blacksburg, VI24061, U.S.A. Recommended by Nils Nilsson ABSTRACT In this paper we explore the number of tree search operations required to solve binary constraint satisfaction problems. We show analytically and experimentally that the two principles of first trying the places most likely to fail and remembering what has been done to avoid repeating the same mistake twice improve the standard backtracking search. We experimentally show that a lookahead procedure called forward checking (to anticipate the future) which employs the most likely to fail principle performs better than standard backtracking, Ullman's, Waltz's, Mackworth's, and Haralick's discrete relaxation in all cases tested, and better than Gaschnig's backmarking in the larger problems. 1. Introduction Associated with search procedures are heuristics. In this paper we provide a theory which explains why two heuristics used in constraint satisfaction sear- ches work. The heuristics we discuss can be given a variety of one line descriptions such as: --Lookahead and anticipate the future in order to succeed in the present. --To succeed, try first where you are most likely to fail. --Remember what you have done to avoid repeating the same mistake. --Lookahead to the future in order not to worry about the past. We will attempt to show that for a suitably defined random constraint satisfaction problem, the average number of tree search operations which employs these principles will be smaller than that required by the standard backtracking tree search. To begin our discussion, we need a precise description of the constraint satisfaction problem we are attempting to solve by a search procedure. We Artificial Intelligence 14 (1980) 263-313 Copyright © by North-HollandPublishingCompany