Reasoning from last conflict(s) in constraint programming

  • Authors:
  • Christophe Lecoutre;Lakhdar Saïs;Sébastien Tabary;Vincent Vidal

  • Affiliations:
  • CRIL-CNRS UMR 8188, Université Lille-Nord de France and Artois, IUT de Lens, rue de l'université, SP 16, F-62307 Lens, France;CRIL-CNRS UMR 8188, Université Lille-Nord de France and Artois, IUT de Lens, rue de l'université, SP 16, F-62307 Lens, France;CRIL-CNRS UMR 8188, Université Lille-Nord de France and Artois, IUT de Lens, rue de l'université, SP 16, F-62307 Lens, France;ONERA-DCSD 2, avenue Édouard Belin, BP 4025, F-31055 Toulouse Cedex 4, France

  • Venue:
  • Artificial Intelligence
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Constraint programming is a popular paradigm to deal with combinatorial problems in artificial intelligence. Backtracking algorithms, applied to constraint networks, are commonly used but suffer from thrashing, i.e. the fact of repeatedly exploring similar subtrees during search. An extensive literature has been devoted to prevent thrashing, often classified into look-ahead (constraint propagation and search heuristics) and look-back (intelligent backtracking and learning) approaches. In this paper, we present an original look-ahead approach that allows to guide backtrack search toward sources of conflicts and, as a side effect, to obtain a behavior similar to a backjumping technique. The principle is the following: after each conflict, the last assigned variable is selected in priority, so long as the constraint network cannot be made consistent. This allows us to find, following the current partial instantiation from the leaf to the root of the search tree, the culprit decision that prevents the last variable from being assigned. This way of reasoning can easily be grafted to many variations of backtracking algorithms and represents an original mechanism to reduce thrashing. Moreover, we show that this approach can be generalized so as to collect a (small) set of incompatible variables that are together responsible for the last conflict. Experiments over a wide range of benchmarks demonstrate the effectiveness of this approach in both constraint satisfaction and automated artificial intelligence planning.