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