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

par Romain Wallon

Thèse de doctorat en Informatique

Sous la direction de Daniel Le Berre et de Pierre Marquis.

Thèses en préparation à l'Artois , dans le cadre de ED Sciences Pour l'Ingénieur (n°72) depuis le 02-10-2017 .


  • Résumé

    Les contraintes pseudo-booléennes constituent un formalisme attractif pour la représentation d’informations de nature propositionnelle, interprétée classiquement. Aussi le raisonnement déductif à partir de contraintes pseudo-booléennes se réduit-il au test de cohérence d’un ensemble de contraintes. Pour ce faire, plusieurs approches peuvent être utilisées, par exemple des approches qui opèrent directement à partir de l’ensemble de contraintes en appliquant des règles qui visent à mettre en évidence une contradiction quand il en existe une et des approches qui consistent à réduire l’ensemble de contraintes à une formule propositionnelle qui est cohérente précisément quand l’ensemble des contraintes de départ l’est lui aussi. D’un point de vue théorique, plusieurs systèmes de preuve opérant directement sur l’ensemble de contraintes et réfutationnellement complets ont été mis en évidence, étudiés et comparés. Parmi eux figurent des systèmes à base de résolution et d’autres à base de génération de plans coupes. Le concept de p-simulation joue un rôle clé pour comparer l’efficacité de deux systèmes de preuve en comparant la taille des preuves qui peuvent être obtenues dans chacun d’eux. Un système de preuve A p-simule un second B lorsqu’il existe un polynôme p tel que pour toute formule F ayant une réfutation de longueur LA dans A, il existe une réfutation de F de longueur LB dans B telle que LB ≤ p(LA). En théorie, il est connu que les systèmes de preuve à base de génération de plans coupes sont plus puissants que ceux à base de résolution (les premiers p-simulent les seconds, mais la réciproque est fausse). Toutefois, cette supériorité en théorie n’a pas été jusqu’ici clairement mise en évidence en pratique. Par ailleurs, la compilation de contraintes pseudo-booléennes est un sujet qui reste également à défricher. Compiler de l’information consiste à la pré-traiter de façon à rendre son exploitation plus efficace du point de vue calculatoire. Ce type d’approche peut se révéler particulièrement utile lorsque des garanties de temps de réponse sont attendues, ce qui est le cas d’applications en ligne nécessitant une interaction avec un utilisateur. Alors que diverses approches ont été proposées depuis plus de vingt ans pour compiler des formules propositionnelles en vue de faciliter certains traitements, comme l’implication clausale ou le comptage de modèles, définir des pré-traitements de contraintes pseudo-booléennes pour rendre le raisonnement plus efficace reste essentiellement à réaliser. Or, la construction de représentations compilées est typiquement obtenue en suivant la trace d’un algorithme de recherche de preuve. L’utilisation de systèmes de preuve plus puissants devrait donc permettre la construction de représentations compilées plus succinctes, mais le gain en espace obtenu en pratique reste également à évaluer. Le travail à réaliser comporte un volet théorique et un volet pratique. D’un point de vue théorique, il s’agira d’une part de définir formellement les langages cibles correspondant aux deux familles de systèmes de preuve considérées, puis d’étudier ces langages en s’appuyant sur les critères d’efficacité temporelle et spatiale utilisés dans les cartes de compilation propositionnelle. D’un point de vue pratique, l’objectif sera de développer et d’évaluer des compilateurs vers les langages cibles possibles et comparer leur efficacité pratique avec celle d’une approche directe, sans compilation, et une approche passant par une traduction en CNF, suivie d’une compilation en Decision-DNNF.

  • Titre traduit

    Reasoning with Pseudo-Boolean Constraints and Compilation


  • Résumé

    Pseudo-Boolean constraints are an attractive formalism to represent information of propositional kind, classically interpreted. Thus, deductive reasoning from pseudo-Boolean constraints reduces to the consistency check of a set of constraints. To perform it, several approaches can be used, for example by operating directly on the set of constraints by applying rules to find a contradiction when one exists, or by reducing the set of constraints to a propositional formula which is consistent exactly when the original set of constraints is. From a theoretical point of view, several proof systems operating directly on the set of constraints and refutation-complete have been identified, studied and compared. Among them, some are based on resolution, and others are based on the generation of cutting-planes. The p-simulation concept has a key role to compare the efficiency of two proof systems by comparing the length of the proofs that can be obtained from both of us. A proof system A p-simulates an other proof system B when there exists a polynomial p such that, for any formula F having a refutation of length LA in A, there exists a refutation of length LB in B such that LB ≤ p(LA). In theory, it is known that the proof systems using cutting-planes are more powerful than the ones using resolution (the formers p-simulate the latters, but the reciprocal is false). However, this theoritical superiority has not yet been observed in pratice. On the other hand, compiling pseudo-Boolean constraints has not yet been really studied. Compiling information is pre-treating it so as to make its use computationally more efficient. This kind of approach is especially useful when guarantees are expected on the response time, for example in online applications requiring interaction with the user. Whereas, since more than twenty years, various approaches have been proposed to compile propositionnal formulas in order to make easier some treatments, as for example clausal entailment or model counting, defining pre-treatments on pseudo-Boolean constraints to reason more efficiently with them is essentially to be done. Building compiled representations is typically obtained by following the trace of a proof-finding algorithm. Using more powerful proof systems should enable to create more succinct compiled representations, but the practical gain of space is still to be evaluated. The work to be done is both theoretical and practical. From a theoretical point of view, the target languages must be formally and well defined for both families of considered proof systems. The efficiency of these languages in terms of time and space has then to be studied, as in propositional knowledge compilation maps. From a practical point of view, the objective is to develop and evaluate compilers for the possible target languages, and compare their practical efficiency with the one of the direct approach, without compiling, and the one of the translation into CNF, followed by a compilation into a Decision-DNNF.