Pseudo-boolean reasoning and compilation
Auteur / Autrice : | Romain Wallon |
Direction : | Daniel Le Berre, Pierre Marquis |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance le 14/12/2020 |
Etablissement(s) : | Artois |
Ecole(s) doctorale(s) : | École doctorale Sciences, technologie et santé (Amiens) |
Partenaire(s) de recherche : | Laboratoire : Centre de recherche en informatique (Lens, Pas-de-Calais ; 2008-....) |
Jury : | Président / Présidente : Nadia Creignou |
Examinateurs / Examinatrices : Daniel Le Berre, Pierre Marquis, Nadia Creignou, Jakob Nordström, Joao Marques-Silva, Stefan Mengel | |
Rapporteurs / Rapporteuses : Jakob Nordström, Joao Marques-Silva |
Mots clés
Résumé
Cette thèse porte sur le langage des conjonctions de contraintes pseudo-booléennes, formées d’équations ou inéquations linéaires en variables booléennes. Ce format généralise le format CNF très répandu. Notre contribution à l’étude des contraintes pseudo-booléennes se compose de deux parties. Dans une première partie, nous étudions les contraintes pseudo-booléennes du point de vue de la représentation des connaissances. Nous comparons leur langage à différents formats propositionnels largement utilisés en évaluant chacun d’eux à l’aune des critères de la carte de compilation proposée par Darwiche et Marquis. Cette comparaison montre, d’un côté, l’un des avantages des contraintes pseudo-booléennes par rapport aux formules CNF : elles peuvent être beaucoup plus concises. Malheureusement, d’un autre côté, les opérations qui sont NP-difficiles pour les contraintes pseudo-booléennes sont plus nombreuses que pour les formules CNF. En conséquence, il est parfois préférable d’utiliser des en-codages CNF (au lieu d’utiliser des représentations) de ces contraintes. De cette manière, l’efficacité en pratique des solveurs SAT modernes peut être mise à profit pour raisonner sur de tels encodages. Nous étudions également les propriétés de ces encodages, et montrons que borner leur largeur peut fortement réduire leur expressivité. L’une des raisons pour lesquelles il est intéressant d’utiliser des contraintes pseudo-booléennes en plus des formules CNF est qu’elles permettent d’utiliser le système de preuve des plans coupes, qui est plus puissant que celui de la résolution implanté dans les solveurs SAT classiques pour raisonner sur des formules CNF. En particulier, des preuves d’incohérence produites par ce système de preuve peuventêtre exponentiellement plus courtes que leur équivalent dans le système de la résolution pour certains ensembles de contraintes. Ainsi, d’un point de vue théorique, les solveurs pseudo-booléens, capables de prendre en compte nativement les contraintes pseudo-booléennes, pourraient être plus efficaces que les solveurs SAT. Cependant, en pratique, les solveurs pseudo-booléens ne tiennent pas cette promesse, et il est important de comprendre pourquoi. Comme une étape dans cette direction, la deuxième partie de cette thèse est consacrée à la résolution pratique de problèmes pseudo-booléens. Nous identifions plusieurs faiblesses des solveurs pseudo-booléens, et proposons des améliorations. En particulier, nous montrons que toutes les règles implantées par les solveurs pseudo-booléens peuvent produire, pendant l’analyse de conflit, des littéraux non pertinents, c’est-à-dire des littéraux dont la valeur de vérité n’influe pas sur celle des contraintes dans lesquelles ils apparaissent. Ce comportement est problématique, puisque ces littéraux conduisent à l’inférence de contraintes plus faibles, et donc à la production de preuves d’incohérence plus longues. Nous proposons plusieurs approches pour corriger ces faiblesses, comme l’utilisation de nouvelles stratégies d’affaiblissement, visant à établir un compromis entre la taille des contraintes produites et leur force. Ces stratégies peuvent permettre d’éliminer efficacement des littéraux non pertinents, même si elles produisent des contraintes plus faibles. Nous montrons par ailleurs qu’un affaiblissement plus parcimonieux (mais inévitable) peut permettre d’améliorer les performances du solveur. De plus, nous adaptons au cadre pseudo-booléen un certain nombre de variantes de stratégies implantées par les solveurs SAT classiques. En particulier, nous présentons des heuristiques et des mesures pour la qualité des contraintes apprises dédiées aux contraintes pseudo-booléennes. Nous montrons qu’un choix avisé parmi ces stratégies peut permettre d’améliorer considérablement les performances du solveur. Toutes les approches pratiques décrites dans cette thèse ont été implantées dans le solveur pseudo-booléen Sat4j et sont publiquement accessibles.