Résolution de 2-SAT et Tomographie
Transcription
Résolution de 2-SAT et Tomographie
Résolution de 2-SAT et Tomographie Sujet proposé par Frédéric Magniez mailto:[email protected] Difficulté : moyen (**). 1 Préambule : le contexte Le problème de satisfaction consiste à savoir si il existe une affectation des variables booléennes rendant vraie une formule logique donnée. Ce problème général est difficile (NP-complet), néanmoins il existe des sous-classes de formules pour lesquelles ce problème peut être résolu rapidement (formules de Horn, 2-SAT). Durant ce projet, on s’intéressera dans un premier temps au problème de satisfaction des formules 2-SAT, i.e. conjonction de disjonctions à 2 litéraux. Exemple : (x1 ∨ ¬x2 ) ∧ (x2 ∨ x3 ) ∧ . . .. Il s’agira de programmer l’algorithme de complexité linéaire trouvé par Aspvall, Plass et Tarjan [APT79] et utilisant les graphes. Dans un deuxième temps, une application à la tomographie sera étudiée. La tomographie est le domaine de la reconstruction d’objet selon ses projections (l’IRM est une application typique). Les objets considérés ici seront des ensembles de cases, ou cellules, d’une grille en 2D m × n. A chaque colonne et chaque ligne correspond une projection qui compte le nombre de cellules présentent dans la colonne ou la ligne donnée (cf Figure 1). Le cas qui nous intéresse est celui des polyominos convexes, i.e. les cellules sont connectées entre elles, et dans chaque ligne et chaque colonne les cellules sont consécutives les unes des autres. Pour la reconstruction de ces objets, l’algorithme de Dürr et Chrobak [DC99] sera utilisé. Cet algorithme utilise en sous-routine celui de Aspvall, Plass et Tarjan. Fig. 1 – Exemple de reconstruction tomographique 1 2 Détail du sujet Le rendu final du projet doit ressembler à celui proposé sur la page de Christoph Dürr : http://www. lix.polytechnique.fr/~durr/Xray/Polyomino/polyomino.php 2.1 Interface Concernant l’algorithme de 2-SAT l’interface doit simplement consister à saisir au clavier une formule de type 2-SAT dont les connecteurs logiques seront représentés à l’aide des symboles &, | et !. Ecrire la grammaire régulière correspondant à une formule 2-SAT pourra être utile. Pour la partie tomographie, une interface correspondant approximativement à celle figurant en Figure 1 est demandée. 2.2 Algorithmes 2.3 Structure de données La représentation des données est fondamentale dans ce projet, en particulier pour bien obtenir une complexité linéaire dans le codage de l’Algorithme de Aspvall, Plass et Tarjan. Le choix, laissé libre, devra être motivé et sera pris en compte dans l’évaluation du projet. L’analyse de la complexité devra à chaque fois être très précise. Note : Si obtenir une complexité linéaire pour l’algorithme de Aspvall, Plass et Tarjan semble trop difficile, on pourra dans un premier temps se contenter d’un algorithme quadratique. Pour l’algorithme de reconstruction tomographique, un polyomino sera représenté par une matrice booléenne m × n (m pour la hauteur et n pour la largeur), et ses projections par des vecteurs ou tableaux d’entiers, un pour la verticale de taille m et un pour l’horizontale de taille n. 2.3.1 2-SAT Une 2-clause est la disjonction de 2 littéraux, par exemple C = ¬x1 ∨ x2 . Logiquement une 2-clause peut s’interpréter comme deux implications, dans l’exemple précédent x1 =⇒ x2 , ou encore sa contraposée ¬x2 =⇒ x1 . L’algorithme de Aspvall, Plass et Tarjan [APT79] consiste à construire à partir d’une formule ϕ 2-SAT donnée, un graphe G dont les sommets sont les littéraux des clauses apparaissant dans ϕ, et dont les arcs (orientés) sont les implications correspondantes. Aspvall, Plass et Tarjan ont démontré que la formule pouvait être satisfaite si et seulement si aucune variable xi n’est reliée à ¬xi par un chemin de G. La preuve s’effectue par propagation d’affectation des variables selon G suivant l’exemple de la Figure 2. Fig. 2 – Algorithme d’affectation de Aspvall, Plass et Tarjan sur l’exemple ϕ = (x1 ∨ x2 ) ∧ (x3 ∨ ¬x4 ) ∧ (x1 ∨ x4 ) ∧ (x1 ∨ x3 ) ∧ (¬x2 ∨ x4 ) 2 2.3.2 Tomographie Notons T le polyomino recherché et r, c ses projections respectivements horizontales et verticales. Tout d’abord on se ramène au cas où aucune des projections n’est nulle (pourquoi et comment ?), et aussi que m ≤ n. L’idée de Dürr et Chrobak est de travailler sur le complément du polyomino T convexe supposé exister. Il est alors la réunion de 4 régions distinctes A, B, C et D contenant chacune un des coins de la grille. En particulier T = A ∪ B ∪ C ∪ D. Les variables booléennes Ai,j , Bi,j , Ci,j , Di,j codent l’appartenance de la cellule (i, j) à la région correspondante. La formule Fk,l (r, c) suivante, paramétrée par un une paire d’entiers (k, l), exprime l’existence d’une solution ancrée en (k, l), i.e. contenant les cellules (k, 1) et (l, n). Cette formule est sous forme 2-SAT et s’écrit Fk,l (r, c) = Cor ∧ Dis ∧ Con ∧ Anc ∧ LBC ∧ UBR où : ^ A ⇒ Ai−1,j Bi,j ⇒ Bi−1,j Ci,j ⇒ Ci+1,j Di,j ⇒ Di+1,j i,j Cor = A ⇒A B ⇒B C ⇒C D ⇒D i,j Dis = ^ i,j i,j−1 {Xi,j ⇒ ¬Yi,j i,j i,j+1 i,j i,j−1 i,j i,j+1 : pour les symboles X, Y ∈ {A, B, C, D}, X 6= Y } i,j Con = ^ {Ai,j ⇒ ¬Di+1,j+1 Bi,j ⇒ ¬Ci+1,j−1 } i,j Anc = ¬Ak,1 ∧ ¬Bk,1 ∧ ¬Ck,1 ∧ ¬Dk,1 ∧ ¬Al,n ∧ ¬Bl,n ∧ ¬Cl,n ∧ ¬Dl,n ^ A ^ ⇒ ¬Ci+cj ,j Ai,j ⇒ ¬Di+cj ,j i,j LBC = ∧ ¬C ¬D c ,j c ,j j j Bi,j ⇒ ¬Ci+cj ,j Bi,j ⇒ ¬Di+cj ,j i,j j V V ^ ¬Ai,j ⇒ Bi,j+ri V ¬Ci,j ⇒ Bi,j+ri i≤min{k,l} k≤i≤l V UBR = ¬A ⇒ D ¬C ⇒ D j 3 l≤i≤k i,j i,j+ri max{k,l}≤i i,j i,j+ri Pour aller plus loin Lorsque les polyominos convexes sont de plus centrés, il est possible de les reconstruire en temps linéaire [DC99]. Un polyominos est centré si au moins une ligne est complètement remplie. Cette extension pourra être envisagée dans le projet si le temps le permet. L’adresse http://www.enseignement.polytechnique.fr/profs/informatique/Frederic.Magniez/ 07/INF_431/projet.html contient la dernière version de ce projet, les articles référencés, et si nécessaire, des indications complémentaires qui seront ajoutées au fur et à mesure. Références [APT79] B. Aspvall, M. Plass, and R. Tarjan. A linear-time algorithm for testing the truth of certain quantified boolean formulas. Information Processing Letters, 8(3) :121–123, 1979. Available from : http://www.enseignement.polytechnique.fr/local/profs/informatique/Frederic. Magniez/papers/apt79.pdf. [DC99] C. Dürr and M. Chrobak. Reconstructing hv-convex polyominoes from orthogonal projections. Information Processing Letters, 69 :283–289, 1999. Available from : http://fr.arxiv.org/abs/ cs/9906021. 3