Constraint System Decomposition - Inria - Institut national de recherche en sciences et technologies du numérique Accéder directement au contenu
Rapport Année : 2022

Constraint System Decomposition

Approche Décompositionnelle pour la compilation de Systèmes de Contraintes

Résumé

Various classical problems in computer science can be formulated as Constraint Solving Problems (CSP), consisting in a query on a conjunction of constraints. Typical instances of such queries are satisfiability (with or without witness), optimization under constraints, model enumeration, model counting and canonicalization. Constraint systems can be Conjunctive Normal Form (CNF) formulas, as well as (Integer) Linear Programs ((I)LP) and, in its most generic form, Constraint Programs (CP). In both industrial and academic contexts, instances are generally structured and, in most cases, sparse: each constraint involves only a small set of variables, and variables are only involved in a small set of constraints. Moreover, large practical instances tend to have a tree-like structure, which can efficiently be captured by the notion of treewidth, as commonly considered in the fixed- parameter tractability community. Using dynamic programming to solve problems for which a "good" tree decomposition is available is rather old, and has been rediscovered many times in the history of computer science, under various names: message passing in factor graphs, belief propagation in belief networks, arc consistency in constraint networks, etc. This work introduces the CoSTreD (Constraint System Tree Decomposition) method, based on symbolic representations and operators on them to improve the scalability of CSP solving. CoSTreD is based upon two operators: a projection operator which allows to deal with satisfiability and canonicalization locally on the tree decomposition, and a coprojection operator, extending the method to optimization queries. We establish sufficient conditions under which these operators preserve the semantics of the CSP. Finally, CoSTreD is extended to deal with parameter (or mode) variables, mostly by (i) adapting the notion of tree decomposition to deal with parameter variables, (ii) using symbolic representations to avoid the combinatorial explosion of mode enumeration, and (iii) mitigating the contamination of constraints by parameter variables during message passing.
Plusieurs problèmes classiques en informatique peuvent être formulés comme des problèmes de résolution de contraintes (CSP), consistant en une requête sur une conjonction de contraintes. Les exemples typiques de telles requêtes sont la satisfiabilité (avec ou sans témoin), l’optimisation sous contraintes, l’énumération de modèles, le comptage de modèles et la canonisation. Les systèmes de contraintes peuvent être des formules CNF (Conjunctive Normal Form), ainsi que des programmes linéaires (entiers) ((I)LP) et, dans sa forme la plus générique, des systèmes de contraintes (CP). Dans les contextes industriels et académiques, les instances sont généralement structurées et, dans la plupart des cas, creuses : chaque contrainte n’implique qu’un petit ensemble de variables, et les variables ne sont impliquées que dans un petit ensemble de contraintes. De plus, en pratique, les grandes instances ont tendance à avoir une structure arborescente, qui peut être facilement appréhendée par la notion de largeur arborescente, telle que communément admise dans la communauté de tractabilité à paramètre fixé (FPT). L’utilisation de la programmation dynamique pour résoudre les problèmes pour lesquels une "bonne" décomposition arborescente est disponible est assez ancienne, et a été redécouverte de nombreuses fois dans l’histoire de l’informatique, sous différents noms : message passing dans les factor graphs, belief propagation dans les belief networks, arc consistency dans les constraint networks, etc. Ce travail introduit la méthode CoSTreD (Constraint System Tree Decomposition), basée sur des représentations symboliques et des opérateurs sur celles-ci pour améliorer la scalabilité de la résolution de CSP. CoSTreD est basée sur deux opérateurs : un opérateur de projection qui permet de traiter la satisfiabilité et la canonisation localement sur la décomposition de l’arbre, et un opérateur de co- projection, étendant cette méthode aux requêtes d’optimisation. Nous établissons des conditions suffisantes sous lesquelles ces opérateurs préservent la sémantique du CSP. Enfin, CoSTreD est étendu pour traiter les variables paramètres (ou mode), principalement en (i) adaptant la notion de décomposition d’arbre pour traiter les variables paramètres, (ii) utilisant des représentations symboliques pour éviter l’explosion combinatoire de l’énumération des modes, et (iii) atténuant la contamination des contraintes par les variables paramètres pendant le passage des messages.
Fichier principal
Vignette du fichier
inria-template.pdf (890.3 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-03740562 , version 1 (30-07-2022)
hal-03740562 , version 2 (01-09-2022)

Identifiants

Citer

Joan Thibault. Constraint System Decomposition. [Research Report] RR-9478, Inria Rennes. 2022, pp.1-68. ⟨hal-03740562v2⟩
148 Consultations
250 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More