Components for State Restoration in Tree Search

  • Chiu Wo Choi
  • Martin Henz
  • Ka Boon Ng
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2239)


Constraint programming systems provide software architectures for the fruitful interaction of algorithms for constraint propagation, branching and exploration of search trees. Search requires the ability to restore the state of a constraint store. Today’s systems use different state restoration policies.Up ward restoration undoes changes using a trail, and downward restoration (recomputation) reinstalls information along a downward path in the search tree.In this paper, we present an architecture that isolates the state restoration policy as an orthogonal software component.Applications of the architecture include two novel state restoration policies, called lazy copying and batch recomputation, and a detailed comparison of these and existing restoration policies with “everything else being equal”.The architecture allows the user to optimize the time and space consumption of applications by choosing existing and designing new state restoration policies in response to application specific characteristics.


Search Tree Child Node Logic Programming Constraint Programming Constraint Propagation 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [AB90]
    Abderrahamane Aggoun and Nicolas Beldiceanu.Time Stamps Techniques for the Trailed Data in Constraint Logic Programming Systems.In Actes du Séminaire 1990-Programmation en Logique, pages 487–509, Tregastel, France, May 1990.CNET.Google Scholar
  2. [CHN00]
    Tee Yong Chew, Martin Henz, and Ka Boon Ng.A toolkit for constraintbased inference engines.In Enrico Pontelli and Vítor Santos Costa, editors, Practical Aspects of Declarative Languages, Second International Workshop, PADL 2000, Lecture Notes in Computer Science 1753, pages 185–199, Boston, MA, 2000.Springer-Verlag, Berlin.Google Scholar
  3. [CJL99]
    Yves Caseau, FranÇois-Xavier Josset, and FranÇois Laburthe.CLAIRE: Combining sets, search and rules to better express algorithms.In Danny De Schreye, editor, Proceedings of the International Conference on Logic Programming, pages 245–259, Las Cruces, New Mexico, USA, 1999.The MIT Press, Cambridge, MA.Google Scholar
  4. [DC00]
    Daniel Diaz and Philippe Codognet.The GNU prolog systems and its implementation.In ACM Symposium on Applied Computing, Como, Italy, 2000.Do cumentation and system available at
  5. [HMN99]
    Martin Henz, Tobias Müller, and Ka Boon Ng.Figaro: Yet another constraint programming library.In Proceedings of the Workshop on Parallelism and Implementation Technology for Constraint Logic Programming, Las Cruces, New Mexico, USA, 1999fiheld in conjunction with ICLP’99.Google Scholar
  6. [ILO00]
    ILOG Inc., Mountain View, CA 94043, USA, ILOG Solver 5.0, Reference Manual, 2000.
  7. [Int00]
    Intelligent Systems Laboratory. SICStus Prolog User’s Manual.SICS Research Report, Swedish Institute of Computer Science,, 2000.
  8. [MBKQ96]
    Marshall Kirk McKusick, Keith Bostic, Michael J. Karels, and John S. Quarterman. The Design and Implementation of the 4.4BSD Operating System.Addison-Wesley, Reading, MA, 1996.Google Scholar
  9. [Ng01]
    Ka Boon Kevin Ng. A Generic Software FrameworkF or Finite Domain Constraint Programming.Master’s thesis, School of Computing, National University of Singapore, 2001.Google Scholar
  10. [NX95]
    R.H.B. Netzer and J. Xu. Necessary and suficient conditions for consistent global snapshots. IEEE Transactions on Parallel and Distributed Systems, (6):165–169, 1995.CrossRefGoogle Scholar
  11. [PGH95]
    Enrico Pontelli, Gopal Gupta, and Manuel Hermenegildo.&ACE: A high performance parallel prolog system.In 9th International Parallel Processing Symposium, pages 564–571.IEEE Press, 1995.Google Scholar
  12. [Sch97a]
    Christian Schulte.Oz Explorer: A visual constraint programming tool. In Lee Naish, editor, Proceedings of the International Conference on Logic Programming, pages 286–300, Leuven, Belgium, July 1997.The MIT Press, Cambridge, MA.Google Scholar
  13. [Sch97b]
    Christian Schulte.Programming constraint inference engines.In Gert Smolka, editor, Principles and Practice of Constraint Programming— CP97, Proceedings of the Third International Conference, Lecture Notes in Computer Science 1330, pages 519–533, Schloss Hagenberg, Linz, Austria, October/November 1997.Springer-Verlag, Berlin.CrossRefGoogle Scholar
  14. [Sch99]
    Christian Schulte.Comparing trailing and copying for constraint programming. In Danny De Schreye, editor, Proceedings of the International Conference on Logic Programming, pages 275–289, Las Cruces, New Mexico, August 1999.The MIT Press, Cambridge, MA.Google Scholar
  15. [Sch00]
    Christian Schulte. Programming Constraint Services.Do ctoral dissertation, Universität des Saarlandes, Naturwissenschaftlich-Technische Fakult ät I, Fachrichtung Informatik, Saarbrücken, Germany, 2000.T o appear in Lecture Notes in Artificial Intelligence, Springer-Verlag.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2001

Authors and Affiliations

  • Chiu Wo Choi
    • 1
  • Martin Henz
    • 1
  • Ka Boon Ng
    • 2
  1. 1.School of ComputingNational University Of SingaporeSingapore
  2. 2.Honeywell Singapore LaboratorySingapore

Personalised recommendations