Améliorer la propagation : l'Importance d'être Inconsistant - Archive ouverte HAL
Communication Dans Un Congrès Année : 2017

Améliorer la propagation : l'Importance d'être Inconsistant

Résumé

Abstract Classical CSP solving methods often alternate two steps : propagation and exploration. Propagation reduces the domains of the variables according to the constraints. It can be seen as a discrimination of the search space in two sub-spaces : the inconsistent one that can be deleted from the solving process, and the undetermined one which may contain the solutions. The exploration step divides the undetermined sub-space into several sub-spaces in which the search continues. This step is usually implemented in solvers by split heuristics relying onto the domains of the variables and/or the constraints of the problem. This article introduces a new step into the solving process called elimination. It divides the search space into two sub-spaces : the undetermined one and the consistent one. It allows the solver to benefit more from the constraints, thus obtaining more significative frontiers for the exploration. It is based on a key observation : the consistent part of a problem is equivalent to the inconsistent part of the complementary problem. This new step is implemented in the AbSolute continuous solver. This solver combines methods from Abstract Interpretation and Constraint Programming. Our elimination technique can be easily added in it. Preliminary results show significative improvements of the solving process.
Les méthodes classiques de résolution de problèmes de satisfaction de contraintes alternent généralement deux étapes : la propagation et l'exploration. La propagation réduit les domaines en fonction des contraintes. Elle peut être vue comme une étape de division de l'espace de recherche en deux parties : le sous-espace inconsistant, qui est éliminé du processus de résolution et le sous-espace indéterminé qui contient les solutions du problème. L'étape d'exploration consiste alors à diviser le sous-espace indéterminé en plusieurs sous-espaces où continuer la résolution. Cette étape est implantée dans la plupart des solveurs de contraintes à l'aide d'heuristiques de coupe qui reposent sur les domaines des variables et/ou les contraintes du problème. Cet article introduit une nouvelle étape dans la résolution appelée élimination. Elle divise l'espace de recherche en deux sous-espaces : l'espace indéterminé et l'espace consistant. Elle permet de mieux tirer profit des contraintes et ainsi d'obtenir des frontières plus pertinentes pour la résolution. Cette nouvelle étape est basée sur une observation clé : la partie consistante d'un problème est équivalente à la partie inconsistante du problème complémentaire. Nous avons implanté cette méthode au sein du solveur continu AbSolute. Ce solveur mixe des méthodes d'Interpretation Abstraite et de Programmation Par Contraintes, et la technique d'élimination s'y intègre bien. Les premiers résultats expérimentaux montrent des améliorations significatives des performances du processus de résolution.
Fichier principal
Vignette du fichier
limportance-detre-inconsistant.pdf (377.11 Ko) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

hal-01735167 , version 1 (15-03-2018)

Identifiants

  • HAL Id : hal-01735167 , version 1

Citer

Ghiles Ziat, Marie Pelleau, Charlotte Truchet, Antoine Miné. Améliorer la propagation : l'Importance d'être Inconsistant. Treizièmes journées Francophones de Programmation par Contraintes, Jun 2017, Montreuil sur Mer, France. ⟨hal-01735167⟩
205 Consultations
92 Téléchargements

Partager

More