ECP Math´ematiques 2 2e Ann´ee 2004-2005
Optimisation discr`ete, s´eance 3 : exercices TH´ EORIE de la COMPLEXIT ´ E
OO OO OO OO
OO OO OO OO
OO
OO OO OO
OO OO OO
OO OO
OO OO
OO
P
P11 neg P11 PP55 neg P55
L L1111
L
L2211 LL2222
L
L3311 LL1122 LL3322 O
O
L L2233
L L3333 L
L1133
Figure 1: Graphe associ´e `a un probl`eme 3-SATsym
Question 1
On note k-COL le probl`eme consistant `a d´eterminer si les noeuds d’un graphe (G, A) peuvent ˆetre colori´es aveckcouleurs sans que deux noeuds adjacents aient la mˆeme couleur (rappel : on dit que l’indice chromatique estk).
•Comment peut-on repr´esenter un graphe `annoeuds ? Quelle est la taille des donn´ees dans ce codage.
• Montrer que le probl`eme du k coloriage d’un graphe (en abbr´eviation k-COL) est un probl`eme NP.
• Montrer directement, sans faire appel au th´eor`eme de Cook, que le probl`eme k-COL est polynˆomialement repr´esentable dans SAT, i.e. ´etant donn´e un graphe (G, A) on peut d´efinir un ensemble de variables propositionnelles et un ensemble de clauses compos´ees de ces vari- ables tels que (G, A) est kcoloriable si et seulement si les clauses sont satisfiables (et avec un codage des clauses ne prenant pas beaucoup plus de m´emoires que celui du graphe).
2 Math´ematiques 2 Question 2
Complexit´e de p-SAT
Soit un ensemble de n clauses `a p ´el´ements pris dans un ensemble de m variables proposi- tionnelles Pj
L1i ∨L2i ∨...∨Lpi, i= 1, ..., n
o`uLki =Pj ouLki =¬Pj . On note p-SAT le probl`eme consistant `a d´ecider si ces clauses sont satisfiables ou non, i.e. si il existe un ensemble de valeurs de v´erit´ePj =V raiouPj =F aux qui rende toutes les clauses vraies.
•Comment peut-on repr´esenter les donn´ees de ce probl`eme ? Quelle est la taille des donn´ees dans ce codage.
Nous allons montrer que le probl`eme 2-SAT a un algorithme de d´ecision polynˆomial. On construit un algorithme qui modifie `a chaque ´etape la liste E des clauses `a satisfaire. Soit E1 l’ensemble E o`u on a remplac´e les clauses P ∨P parP et dont on a retir´e les clauses de la formeP ∨ ¬P, qui sont toujours vraies.
Pour j=1,m
Si Pj et¬Pj sont toutes deux dans la liste Ej, l’ensemble des clauses ne peut ˆetre satisfait.
Sinon
Si j=m l’ensemble E est satisfiable.
Si j < majouter `a la listeEj les clauses Lk∨Ll chaque fois que
les clausesPj∨Lk, k > j et¬Pj∨Ll, l > j sont dans la liste1. Retirer de Ej les clauses de la formePk∨ ¬Pk et les clauses en double.
Remplacer les clauses de la formeP ∨P parP. On obtient ainsi l’ensemble de clauses ˜Ej.
Ej+1 est le sous ensemble des clauses de ˜Ej qui n’utilisent que les variables Pk, k > j Fin
• D´emonter que cet algorithme fonctionne correctement et qu’il est polynˆomial vis `a vis de la longueur des donn´ees.
• Montrer qu’une clause quelconque L1 ∨L2∨...∨Lp, est satisfiable si et seulement si les p−3 clauses `a 3 ´el´ements
L1∨L2∨Q3
¬Q3∨L3∨Q4
¬Q4∨L4∨Q5
...
¬Qp−1∨Lp−1∨Lp
le sont.
En d´eduire que p-SAT est polynˆomialement ´equivalent `a 3-SAT et que donc 3-SAT est NP- Complet.
S´eance 3 3
Rappel
Soit un ensemble de n clauses `a 3 ´el´ements. On note 3-SATsym le probl`eme consistant `a d´ecider la propri´et´e Π : il existe un ensemble de valeurs de v´erit´ePj =V rai ou Pj =F aux telles que dans toutes les clauses il y ait (au moins) un ´el´ement vrai et (au moins) un ´el´ement faux.
Nous avons vu en cours que 3-SAT est polynˆomialement ´equivalent `a 3-SATsym et donc Th´eor`eme 1 3-SATsym est NP-Complet.
Question 3
Complexit´e du coloriage d’un graphe
• D´ecrire un algorithme polynˆomial pour 2-COL.
Soit un ensemble denclauses `a 3 ´el´ements pris dans un ensemble demvariables proposition- nellesPj. On associe un graphe (1) `a ce probl`eme de la mani`ere suivante (les noeuds portent le mˆeme nom que les objets qu’ils repr´esentent) :
− On d´efinit un noeud pour chaque variable Pi et¬Pi et une arˆete entre les deux.
− On ajoute un noeud O reli´e `a chacun des noeudsPi et¬Pi.
− On d´efinit trois noeudsLki, k= 1,2,3 pour chaque clauseL1i ∨L2i∨L3i et trois arˆetes entre eux.
− On relie par une arˆeteLki `a¬Pj (resp. Pj) siLki est Pj (resp. ¬Pj).
On “colorie” ce graphe avec les “couleurs” bleu, rouge, vert qui correspondront (mais pas n´ecessairement dans cet ordre) `a : vrai, faux, indiff´erent.
• Montrer `a l’aide de cette repr´esentation que 3-SATsym est polynˆomialement ´equivalent `a 3-COL. En d´eduire que 3-COL (ainsi que k-COL) est NP-complet.
S.L