Thèse soutenue

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

FR  |  
EN
Auteur / Autrice : Vincent Vallade
Direction : Fabrice KordonSouheib BaarirJulien Sopena
Type : Thèse de doctorat
Discipline(s) : Sciences et technologies de l'information et de la communication
Date : Soutenance le 27/06/2023
Etablissement(s) : Sorbonne université
Ecole(s) doctorale(s) : École doctorale Informatique, télécommunications et électronique de Paris
Partenaire(s) de recherche : Laboratoire : LIP6 (1997-....)
Jury : Président / Présidente : Hanna Klaudel
Examinateurs / Examinatrices : Daniel Le Berre
Rapporteurs / Rapporteuses : Kais Klai, Jean-Michel Couvreur

Résumé

FR  |  
EN

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).