Pseudo-Boolean Reasoning and Compilation - Archive ouverte HAL Access content directly
Theses Year : 2020

Pseudo-Boolean Reasoning and Compilation

Raisonnement à partir de contraintes pseudo-booléennes et compilation

(1)
1

Abstract

This thesis is about the language of pseudo-Boolean constraints, i.e., of conjunctions of linear equations or inequations over Boolean variables, that generalizes the well-known CNF format. Our contribution to the study of this language is twofold. In the first part of the thesis, the language of pseudo-Boolean constraints is investigated from a knowledge representation perspective. It is compared to a number of well-known propositional formats using the criteria considered in the so-called knowledge compilation map pointed out by Darwiche and Marquis. On the one hand, an advantage of using pseudo-Boolean constraints as a representation language over CNF formulae is that they can be far more succinct. On the other hand, unfortunately, more operations of interest are NP-hard when dealing with pseudo-Boolean constraints compared to CNF formulae. As a consequence, it is sometimes preferable to consider CNF encodings (instead of CNF representations) of such constraints. Doing so, the practical efficiency of modern SAT solvers can be leveraged to reason with these encodings. We also investigate the properties of such encodings, and show that bounding their width may drastically reduce their expressivity. One reason for considering pseudo-Boolean constraints instead of CNF formulae is that they allow the use of the cutting planes proof system, which is stronger than the resolution proof system implemented in classical SAT solvers based on CNF. In particular, unsatisfiability proofs that may be exponentially shorter than their resolution counterpart can be derived for some sets of pseudo-Boolean constraints. Thus, from the theory side, pseudo-Boolean solvers, i.e., solvers that use pseudo-Boolean constraints natively instead of encodings, could be more efficient than SAT solvers. However, practical solver implementations fail to keep this promise, and understanding why this is the case is an important issue. As a step in this direction, the second part of this thesis deals with the practical resolution of pseudo-Boolean problems. Several weaknesses of current implementations of pseudo-Boolean solvers are identified and for some of them improvements are proposed. In particular, we show that all rules implemented in pseudo-Boolean solvers may produce irrelevant literals during conflict analysis, i.e., literals that have no effect on the truth value of the constraints in which they appear. This is problematic as such literals lead to the inference of constraints that can be weaker than expected, and in turn to the production of longer unsatisfiability proofs. We point out several approaches to deal with those weak points, such as the use of new weakening strategies, that are designed in such a way that a tradeoff between the size of the derived constraints and their strength is obtained. Those weakening strategies may allow to efficiently eliminate irrelevant literals, at the price of deriving weaker constraints. In addition, we show that a more parsimonious (but inevitable) application of the weakening rule may allow improving the performance of the solver. We also lift many variants of strategies that are classically implemented in SAT solvers to the pseudo-Boolean setting. In particular, branching heuristics and quality measures for learned constraints that are adapted to pseudo-Boolean constraints are presented. We show that a careful choice among those strategies may drastically improve the performance of the solver. All practical approaches described in this thesis have been implemented in the pseudo-Boolean solver Sat4j and are publicly available.
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 encodages 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.
Fichier principal
Vignette du fichier
phdthesis.pdf (4.38 Mo) Télécharger le fichier
Origin : Files produced by the author(s)

Dates and versions

tel-03716897 , version 1 (07-07-2022)

Identifiers

  • HAL Id : tel-03716897 , version 1

Cite

Romain Wallon. Pseudo-Boolean Reasoning and Compilation. Artificial Intelligence [cs.AI]. Université d'Artois, 2020. English. ⟨NNT : ⟩. ⟨tel-03716897⟩
23 View
9 Download

Share

Gmail Facebook Twitter LinkedIn More