12.07.2015 Views

Représentation SAT-graph - Centre de Recherche en Informatique ...

Représentation SAT-graph - Centre de Recherche en Informatique ...

Représentation SAT-graph - Centre de Recherche en Informatique ...

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

– S = {x, ¬x|x ∈ L(φ)}– E = ⋃ c∈φ arcs(c), tel que arcs(c) pour c = (x 1 ∨x 2 ∨..∨x n ) est défini comme :– pour (1 ≤ i < n), a i = (x i , x i+1 , v(a i )) et v(a i ) = {x j |1 ≤ j ≤ n et j ≠ i etj ≠ i + 1}, et– pour (i = n), a n = (x n , x 1 , v(a n )) et v(a n ) = {x 2 , ..., x n−1 }Exemple 3Soit φ = (x 1 ∨ x 2 ∨ x 3 ) ∧ (¬x 1 ∨ x) ∧ (¬x 2 ∨ x) ∧ (¬x 3 ∨ x) une formule CNF. Le<strong>graph</strong>e ordonné G orφ est représ<strong>en</strong>té dans la figure 1. Comme on peut le remarquer, pourles clauses binaires, le <strong>graph</strong>e obt<strong>en</strong>u (<strong>SAT</strong> <strong>graph</strong>e ordonné) est le même avec et sansresctriction. i.e. une clause binaire est repres<strong>en</strong>té par <strong>de</strong>ux arcs dans les <strong>de</strong>ux <strong>graph</strong>es.¬x 1 x 2{¬x 3 }¬x¬x 2 x 3x{¬x 1 }¬x 3 x 1{¬x 2 }FIG. 1 – Graphe G orφordonné associé à la formule φ <strong>de</strong> (exemple 3)Le <strong>graph</strong>e ordonné est un bon compromis <strong>en</strong>tre une représ<strong>en</strong>tation totale et le <strong>graph</strong>eunique. Comme expliqué dans les sections précé<strong>de</strong>ntes, l’utilisation <strong>de</strong> la fermeturetransitive sur un chemin du <strong>graph</strong>e, permet <strong>de</strong> générer facilem<strong>en</strong>t <strong>de</strong>s résolvantes. L’application<strong>de</strong> la résolution classique revi<strong>en</strong>t à appliquer la fermeture transitive du <strong>graph</strong>e.En conséqu<strong>en</strong>ce, un tel processus est clairem<strong>en</strong>t expon<strong>en</strong>tiel dans le pire <strong>de</strong>s cas.Décrivons maint<strong>en</strong>ant l’étape principale <strong>de</strong> notre pré-traitem<strong>en</strong>t utilisant le <strong>graph</strong>ereprés<strong>en</strong>tatif d’une formule CNF φ. Le but <strong>de</strong> cette étape est <strong>de</strong> générer une résolvantefondam<strong>en</strong>tale <strong>de</strong> taille limitée. A chaque étape une nouvelle clause c = (x 1 ∨x 2 ∨ . . . ∨ x n ) <strong>de</strong> φ est sélectionnée et traitée comme décrit dans l’algorithme 2.Pour chaque x i ∈ c (ligne 4), un arc a = (x i , x j , v(a)) ∈ G orφest choisi tel queres(c, (¬x i ∨ ¬v(a) ∨ x j ), x i ) est fondam<strong>en</strong>tale (ligne 4 à 11). Plus précisém<strong>en</strong>t, lanouvelle résolvante est générée suivant les arcs <strong>de</strong> G orφ. Une telle résolvante est composée<strong>de</strong>s <strong>en</strong>sembles <strong>de</strong> litéraux cumulées (noeuds) et contextes (η). Un arc a est choisi telque res(c, cla(a), x i ) est fondam<strong>en</strong>tale (ligne 5). Si un tel arc existe, le contexte η (resp.noeuds) est augm<strong>en</strong>té <strong>de</strong> a(v) (resp. {x j }) (ligne 6) ; sinon x i est simplem<strong>en</strong>t ajoutéà l’<strong>en</strong>semble <strong>de</strong>s noeuds (ligne 8) si la résolvante obt<strong>en</strong>ue est fondam<strong>en</strong>tale. (ligne 7).Dans le <strong>de</strong>rnier cas, si aucune clause fondam<strong>en</strong>tale n’a pu être générée le pré-traitem<strong>en</strong>ts’arrête (ligne 10).Pour une formule cont<strong>en</strong>ant une clause c = (x 1 ∨ x 2 ∨ x 3 ) et un <strong>en</strong>semble <strong>de</strong>clauses binaires C = {(¬x 1 ∨ y), (¬x 2 ∨ y), (¬x 3 ∨ y)}, le litéral y est généré parl’algorithme 2. A partir <strong>de</strong> la clause c et les arcs qui co<strong>de</strong>nt C. Dans ce cas, l’application<strong>de</strong> notre algorithme correspond exactem<strong>en</strong>t à l’application <strong>de</strong> l’hyper binaire

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!