Contributions à la résolution parallèle du problème SAT - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 2023

Contribution to parallel SAT solving

Contributions à la résolution parallèle du problème SAT

Vincent Vallade

Résumé

This thesis presents multiple and orthogonal contributions to the improvement of the parallel resolution of the Boolean satisfiability problem (or SAT problem). An instance of the SAT problem is a propositional formula of a particular form (the conjunctive normal form is the most common) representing, in general, the variables and constraints of a real-world problem, such as multi-constraint planning, hardware and software verification or cryptography. Solving the SAT problem involves determining whether there is an assignment of variables that satisfies the formula. An algorithm capable of providing an answer to this problem is called a SAT solver. A simplified view of a SAT solver is an algorithm that will traverse the set of possible combinations of values for each variable until it finds a combination that makes the formula true (the formula is SAT). If the solver has gone through all the possible combinations without finding a solution, the formula is UNSAT. Obviously, this algorithm has an exponential complexity, indeed the SAT problem is the first problem to have been determined NP-complete. Many algorithms and heuristics have been developed to accelerate the solving capacity of this problem, mainly in a sequential context. The ubiquity of multi-core machines has encouraged considerable efforts in the parallel resolution of the SAT problem. This thesis is a continuation of these efforts. The contributions made by this thesis focus on the quality of information sharing between the different workers of a parallel SAT solver. A first contribution presents an efficient method to implement an asynchronous algorithm for reducing the size of the shared information. A second contribution combines the information extracted from the particular structure of the propositional formula with the information extracted dynamically during the resolution of the problem by the solver in order to create a filter that maximizes the quality of the shared information. Finally, a last contribution deals with the integration of a component allowing to determine in a probabilistic way the truth value of the variables allowing to make a formula satisfiable. The call of this component during the solving process allows to guide the solver more quickly towards a solution (if a solution exists).
Cette thèse présente des contributions multiples et orthogonales à l'amélioration de la résolution parallèle du problème de satisfiabilité booléenne (ou problème SAT). Une instance du problème SAT est une formule propositionnelle de forme particulière (la forme normale conjonctive est la plus courante) représentant, en général, les variables et les contraintes d'un problème du monde réel, tel que la planification multi-contraintes, la vérification matérielle et logicielle ou la cryptographie. La résolution du problème SAT consiste à déterminer s'il existe une affectation des variables qui permet de satisfaire la formule. Un algorithme capable de fournir une réponse à ce problème est appelé un solveur SAT. Une vision simplifiée d'un solveur SAT est un algorithme qui va parcourir l'ensemble des combinaisons de valeurs possibles pour chaque variables jusqu'à trouver une combinaison rendant la formule vrai (la formule est SAT). Si le solveur a parcouru l'ensemble des combinaisons possibles sans trouver de solution la formule est donc UNSAT. Évidemment, cet algorithme a une complexité exponentielle, en effet le problème SAT est le premier problème à avoir été déterminé NP-complet. De nombreux algorithmes et heuristiques ont été développés pour accélérer la capacité de résolution de ce problème, principalement dans un contexte séquentiel. L’omniprésence de machines multi-cœurs a encouragé des efforts considérables dans la résolution parallèle du problème SAT. Cette thèse s’inscrit dans le prolongement de ces efforts. Les contributions apportées par cette thèse se concentrent sur la qualité du partage de l'information entre les différents travailleurs d'un solveur SAT parallèle. Une première contribution présente une méthode efficace pour mettre en œuvre un algorithme asynchrone de réduction de la taille de l'information partagées. Une deuxième contribution combine les informations extraites de la structure particulière de la formule propositionnelle avec les informations extraites dynamiquement pendant la résolution du problème par le solveur afin de créer un filtre qui maximise la qualité de l'information partagée. Enfin, une dernière contribution porte sur l'intégration d'un composant permettant de déterminer de manière probabiliste la valeur de vérité des variables permettant de rendre une formule satisfaisable. L'appel de ce composant lors du processus de résolution permet de guider plus rapidement le solveur vers une solution (si une solution existe).
Fichier principal
Vignette du fichier
VALLADE_Vincent_these_2023.pdf (2.14 Mo) Télécharger le fichier
Origine : Version validée par le jury (STAR)

Dates et versions

tel-04257341 , version 1 (25-10-2023)

Identifiants

  • HAL Id : tel-04257341 , version 1

Citer

Vincent Vallade. Contributions à la résolution parallèle du problème SAT. Calcul parallèle, distribué et partagé [cs.DC]. Sorbonne Université, 2023. Français. ⟨NNT : 2023SORUS260⟩. ⟨tel-04257341⟩
65 Consultations
27 Téléchargements

Partager

Gmail Facebook X LinkedIn More