GDR07structurelles qui sont mieux exprimées dans d’autres formalismes et qui peuv<strong>en</strong>t permettreune résolution plus efficace [16, 14, 26]. Pour exploiter ces connaissances structurelles,<strong>de</strong>s travaux réc<strong>en</strong>ts ont été proposés. Quelques uns utilis<strong>en</strong>t la forme ét<strong>en</strong>due<strong>de</strong>s formules boolé<strong>en</strong>nes (nonCNF [26], contraintes pseudo boolé<strong>en</strong>nes [9]) pour le codage<strong>de</strong>s formules. Tandis que d’autres essay<strong>en</strong>t <strong>de</strong> récupérer et/ou déduire <strong>de</strong>s propriétésstructurelles à partir <strong>de</strong>s formules CNF (symétries [1], dép<strong>en</strong>dances fonctionnelles[14], équival<strong>en</strong>ces [17]). Finalem<strong>en</strong>t, différ<strong>en</strong>ts <strong>graph</strong>es ont été élaborés pour prés<strong>en</strong>terou modéliser ou bi<strong>en</strong> même résoudre <strong>de</strong>s instances <strong>SAT</strong>. Ce <strong>de</strong>rnier type d’approche estmotivé par la visualisation <strong>de</strong> structures [25], la décomposition [6], la propagation [18],l’appr<strong>en</strong>tissage (à partir du <strong>graph</strong>e d’implication) [21, 22].Dans cet article, un nouvelle représ<strong>en</strong>tation <strong>en</strong> <strong>graph</strong>e est proposée. Elle ét<strong>en</strong>d <strong>de</strong>manière originale le <strong>graph</strong>e d’implication pour les formules binaires (2-<strong>SAT</strong>) au cas général.Chaque clause est représ<strong>en</strong>tée par un <strong>en</strong>semble d’implications (conditionnelles)et codée avec différ<strong>en</strong>ts arcs étiquetés avec un <strong>en</strong>semble <strong>de</strong> litéraux, appelé contexte (oucondition). Cette nouvelle représ<strong>en</strong>tation permet d’ét<strong>en</strong>dre quelques caractéristiques intéressantes<strong>de</strong> l’algorithmique 2-<strong>SAT</strong>. Parmi elles, la résolution classique est reformulée<strong>en</strong> utilisant la fermeture transitive du <strong>graph</strong>e. Les chemins <strong>en</strong>tre les noeuds opposéspermett<strong>en</strong>t d’avoir <strong>de</strong>s conditions pour la définition du backbone i.e. les conditions minimalessous lesquelles un litéral est impliqué. Cep<strong>en</strong>dant, dans le cas général, trouverl’<strong>en</strong>semble minimal sous lequel un litéral est impliqué est intraitable. Clairem<strong>en</strong>t, cett<strong>en</strong>ouvelle représ<strong>en</strong>tation admet plusieurs utilisations intéressantes.Dans cet article, <strong>de</strong>ux manières d’exploiter cette représ<strong>en</strong>tation sont décrites. La premièreconcerne le calcul <strong>de</strong>s <strong>en</strong>sembles strong backdoor et la secon<strong>de</strong> est une technique<strong>de</strong> pré-traitem<strong>en</strong>t <strong>de</strong>s formules CNF. Le reste <strong>de</strong> l’article est organisé comme suit. Aprèsquelques définitions préliminaires, le <strong>graph</strong>e associé à une formule CNF est décrit. Une<strong>de</strong>scription formelle <strong>de</strong> ces caractéristiques est détaillée. Plus particulièrem<strong>en</strong>t la résolutionest reformulée <strong>en</strong> utilisant la fermeture transitive du <strong>graph</strong>e. Deux utilisationspratiques <strong>de</strong> cette représ<strong>en</strong>tation sont <strong>en</strong>suite proposées. Nous terminons par une étu<strong>de</strong>expérim<strong>en</strong>tale m<strong>en</strong>ée sur <strong>de</strong>s instances issues <strong>de</strong>s <strong>de</strong>rnières compétitions <strong>SAT</strong>.2 PréliminairesSoit B un langage boolé<strong>en</strong> (i.e. propositionnel) <strong>de</strong> formules construites classiquem<strong>en</strong>t,<strong>en</strong> utilisant les connecteurs usuels (∨, ∧, ¬, →, ↔) et un <strong>en</strong>semble <strong>de</strong> variablespropositionnelles. Une formule CNF Σ est un <strong>en</strong>semble (interprété comme une conjonction)<strong>de</strong> clauses, et une clause est un <strong>en</strong>semble (interprété sous forme disjonctive) <strong>de</strong>litéraux. Un litéral est une variable ou sa négation. Pour un litéral x (resp. une clausec), V(x) (resp. V(c)) correspond à la variable propositionnelle associé au litéral x (resp.l’<strong>en</strong>semble <strong>de</strong> variables associées à c). On note V(Σ) (resp. L(Σ)) l’<strong>en</strong>semble <strong>de</strong>s variables(resp. litéraux) apparaissant dans Σ. La taille d’une clause c, noté |c|, est égale aunombre <strong>de</strong> ces litéraux . Une clause unitaire est une clause <strong>de</strong> taille un. Un litéral unitaireest l’unique litéral d’une clause unitaire. Une clause est dite clause binaire si elleconti<strong>en</strong>t exactem<strong>en</strong>t <strong>de</strong>ux litéraux. Une clause est Horn si elle conti<strong>en</strong>t au plus un litéralpositif. On appelle clause positive (resp. négative) toute clause cont<strong>en</strong>ant uniquem<strong>en</strong>t<strong>de</strong>s litéraux positifs (resp. négatifs). Une formule est Horn-<strong>SAT</strong> (rep. 2-<strong>SAT</strong>) si elle est
composée uniquem<strong>en</strong>t <strong>de</strong> clauses <strong>de</strong> Horn (clauses binaires). Ces <strong>de</strong>ux fragm<strong>en</strong>ts <strong>SAT</strong>sont connus pour être traitables <strong>en</strong> temps linéaire [2, 10].En plus <strong>de</strong> ces notations usuelles, on définit la négation d’un <strong>en</strong>semble <strong>de</strong> litéraux Scomme l’<strong>en</strong>semble <strong>de</strong>s opposés <strong>de</strong> chaque litéral <strong>de</strong> S, e.g. ¬S = {¬l|l ∈ S}.Une interprétation I d’une formule boolé<strong>en</strong>ne est une affectation <strong>de</strong>s valeurs <strong>de</strong>vérité <strong>de</strong> ces variables. I peut être représ<strong>en</strong>tée sous forme d’une conjonction (un <strong>en</strong>semble)<strong>de</strong> litéraux. Soit l ∈ L(φ), la formule obt<strong>en</strong>ue <strong>en</strong> affectant l à vrai, c’est à direφ(l) = {c − {¬l}|c ∈ φ, ¬l ∈ c} ∪ {c|c ∈ φ, l /∈ c, ¬l /∈ c}. Pour une interprétationI = {l 1 , l 2 , . . . , l n }, φ(I) = φ(l 1 )(l 2 )...(l n ). Un modèle d’une formule est uneinterprétation I qui satisfait cette formule i.e. φ(I) = ∅. En conséqu<strong>en</strong>ce, résoudre leproblème <strong>SAT</strong> consiste à trouver un modèle d’une formule CNF si ce modèle existe ouprouver l’inexist<strong>en</strong>ce d’aucun modèle pour cette formule.Soit c 1 une clause cont<strong>en</strong>ant un litéral a et c 2 une clause cont<strong>en</strong>ant le litéral opposé¬a, la résolvante <strong>en</strong>tre c 1 et c 2 est la disjonction <strong>de</strong> tous les litéraux <strong>de</strong> c 1 et c 2 exceptéa et ¬a, notée res(a, c 1 , c 2 ). Une résolvante est dite tautologique si elle conti<strong>en</strong>t unlitéral et son opposé, sinon elle est dite fondam<strong>en</strong>tale.3 Graphe associé à une formule CNFComme m<strong>en</strong>tionné dans l’introduction, différ<strong>en</strong>tes représ<strong>en</strong>tations sous forme <strong>de</strong><strong>graph</strong>e d’une formule CNF ont été proposées. Elles ont induites différ<strong>en</strong>tes utilisations,comme le <strong>graph</strong>e d’appr<strong>en</strong>tissage [22], le pré-traitem<strong>en</strong>t [4], la survey propagation pourrésoudre les instances aléatoires 3-<strong>SAT</strong> [5], la visualisation [25]. Notre représ<strong>en</strong>tationpeut être vue comme une ext<strong>en</strong>sion du <strong>graph</strong>e d’implication 2-<strong>SAT</strong> [2] au cas général.3.1 Vers un <strong>graph</strong>e étiquetéAvant d’introduire notre approche, rappelons le <strong>graph</strong>e d’implication <strong>de</strong>s formules2-<strong>SAT</strong>.Soit φ une formule 2-<strong>SAT</strong>. Le <strong>graph</strong>e associé à φ, est définit comme G φ = (S, E),où S = {x, ¬x|x ∈ L(φ)} et E = {(¬x, y), (¬y, x)|(x ∨ y) ∈ φ}. L’algorithmepolynômial utilisé pour résoudreφ est basé sur l’application <strong>de</strong> la fermeture transitive <strong>de</strong>G φ , G c φ = (S, E′ ) et sur la vérification qu’il existe un litéral x ∈ S tel que (x, ¬x) ∈ E ′et (¬x, x) ∈ E ′ .Évi<strong>de</strong>mm<strong>en</strong>t, le calcul <strong>de</strong> la fermeture transitive du <strong>graph</strong>e G φ est équival<strong>en</strong>t à lasaturation <strong>de</strong> φ par résolution. En effet, pour (x, y) et (y, z) <strong>de</strong> E un nouveau arc (x, z)est généré et ajouté au <strong>graph</strong>e. Une telle application correspond à res(y, (¬x∨y), (¬y∨z))) = (¬x ∨ z).Pour une formule CNF quelconque, une représ<strong>en</strong>tation naturelle peut être obt<strong>en</strong>ue <strong>en</strong>utilisant un hyper<strong>graph</strong>e où les noeuds sont représ<strong>en</strong>tés par les litéraux, et les hyperarrêtes correspon<strong>de</strong>nt aux clauses.Dans ce qui suit, le <strong>graph</strong>e représ<strong>en</strong>tatif d’une formule CNF générale est décrit.Définition 1Soit c une clause telle que |c| ≥ 2. Un contexte η c associée à c est une conjonction <strong>de</strong>