Forward checking with backmarking

  • Patrick Prosser
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 923)


The forward checking routine (FC) of Haralick and Elliott attempts to encourage early failures within the search tree of constraint satisfaction problems, leading to a reduction in nodes visited, which tends to result in reduced search effort. In contrast, Gaschnig's backmarking routine (BM) attempts to avoid performing redundant consistency checks. These two algorithms are combined to give FC-BM, an algorithm that attempts to minimise the number of nodes visited, while avoiding redundant consistency checks. This algorithm is further enhanced such that it incorporates conflict-directed backjumping (CBJ) to give FC-BM-CBJ. A series of experiments are then carried out on really hard problems in an attempt to position these new algorithms with respect to the known algorithms.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    J.R. Bitner and E. Reingold, Backtrack programming techniques, Commun. ACM 18 (1975) 651–656Google Scholar
  2. [2]
    P. Cheeseman, B. Kanefsky, W.M. Taylor, Where the really hard problems are. Proc UCAI-91 (1991) 331–337Google Scholar
  3. [3]
    R. Dechter and J. Pearl, Network-based heuristics for constraint-satisfaction problems, Artif. Intell. 34(1) (1988) 1–38Google Scholar
  4. [4]
    R. Dechter, Enhancement schemes for constraint processing: backjumping, learning, and cutset decomposition, Artif. Intell. 41 (3) (1990) 273–312Google Scholar
  5. [5]
    R. Dechter, Constraint Networks, in Encyclopedia of Artificial Intelligence (Wiley, New York, 2nd ed., 1992) 276–286Google Scholar
  6. [6]
    E.C. Freuder and R.J. Wallace, Partial constraint satisfaction, Artif. Intell. 58(1–3) (1992) 21–70Google Scholar
  7. [7]
    J. Gaschnig, A General Backtracking Algorithm that Eliminates Most Redundant Tests, Proc IJCAI-77 (1977) 457Google Scholar
  8. [8]
    J. Gaschnig, Performance measurement and analysis of certain search algorithms, Tech. Rept. CMU-CS-79-124, Carnegie-Mellon University, Pittsburgh, PA (1979)Google Scholar
  9. [9]
    M.L. Ginsberg, Dynamic backtracking, JAIR 1 (1993) 25–46Google Scholar
  10. [10]
    R.M. Haralick and G.L. Elliott, Increasing Tree Search Efficiency for Constraint Satisfaction Problems, Artif. Intell. 14 (1980) 263–313Google Scholar
  11. [11]
    V. Kumar, Algorithms for constraint satisfaction problems: a survey, AI magazine 13 (1) (1992) 32–44Google Scholar
  12. [12]
    A.K. Mackworth, Constraint Satisfaction, In: Encyclopedia of Artificial Intelligence, Second Edition, Volume 1, 285–293Google Scholar
  13. [13]
    P. Meseguer, Constraint satisfaction problems: an overview, AICOM 23 (1) (1989) 3–17Google Scholar
  14. [14]
    B.A. Nadel, Constraint Satisfaction Algorithms, Computational Intelligence 5(4): 188–224, 1989Google Scholar
  15. [15]
    P. Prosser, Distributed asynchronous scheduling, PhD Thesis, Department of Computer Science, Univesrity of Strathclyde, Glasgow, 1990Google Scholar
  16. [16]
    P. Prosser, BM+BJ=BMJ, Proc CAIA-93 (1993) 257–262Google Scholar
  17. [17]
    P. Prosser, Domain filtering can degrade intelligent backtracking search, Proc IJCAI-93 (1993) 262–267Google Scholar
  18. [18]
    P. Prosser, Hybrid algorithms for the constraint satisfaction problem, Computational Intelligence 9(3) 268–299Google Scholar
  19. [19]
    P. Prosser, Binary constraint satisfaction problems: some are harder than others, Proc ECAI-94 (1994) 95–99Google Scholar
  20. [20]
    B.M. Smith, Forward Checking, the ATMS and search reduction, in Reason maintenance systems and their applications, Editors B.M. Smith and G. Kelleher, Ellis Horwood Series in Artificial Intelligence, pages 155–168Google Scholar
  21. [21]
    B.M. Smith, Phase transition and the mushy region in constraint satisfaction problems, Proc ECAI-94 (1994) 100–104Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1995

Authors and Affiliations

  • Patrick Prosser
    • 1
  1. 1.Department of Computer ScienceUniversity of StrathclydeGlasgowScotland

Personalised recommendations