Bornes inférieures sur un algorithme exact basé sur DSATUR
résolvant la coloration
Ian-Christopher Ternier, Fabio Furini, Virginie Gabrel LAMSADE, CNRS UMR 7243, Université Paris Dauphine Place du Maréchal de Lattre de Tassigny, 75016 Paris, France
{ianchristopher.ternier, fabio.furini, virginie.gabrel}@dauphine.fr Mots-clés : Coloration de Graphe, DSATUR.
1. Introduction
Le problème de coloration de graphes est un problème classique de la théorie des graphes. Dans un graphe G non orienté, étant donné un entier naturel k, une k-coloration du graphe est définie pour une affectation d’un entier de {1, ..., k}, appelé couleur, à chaque sommet du graphe de façon à ce que deux sommets reliés par une arête aient des couleurs différentes. Le problème consiste à déterminer la valeur minimale de k notée χ(G). Ce problème est NP-difficile (Garey et Johnson - 1979).
2. Algorithme exact
On s’intéresse ici à la résolution exacte du problème basée sur DSATUR proposé par Brélaz en 1979 [1], un algorithme de Branch-and-Bound qui cherche à fournir une solution exacte.
DSATUR est un algorithme glouton où on assigne itérativement à chaque sommet i la plus petite couleur disponible parmi {1, ..., n}. A chaque itération, le sommet choisi est celui qui présente le plus grand degré de saturation DSAT (v), qui correspond au nombre de couleurs différentes dans le voisinage N (v) de v. On a C la coloration courante, U B borne supérieure courante et LB borne inférieure, l’algorithme exact basé sur DSATUR (noté DSATUR-B&B) est le suivant :
DSATUR-B&B(C)
k = nombre de couleurs utilisé dans C
Si LB ≥ k → Quitter
Si tous les sommets sont coloriés, alors Si k ≥ U B → Quitter
Sinon U B = k Sinon
v = sommet qui maximise DSAT (v)
Pour chaque couleur c possible dans {1,...,k+1},
C0 = C avec v colorié par c DSATUR(C0)
DSATUR-B&B est un algorithme d’énumération où on choisit le sommet v à colorier selon la règle du DSAT (v). On génère alors au plus k + 1 sous-problèmes en coloriant v potentiel-lement de k couleurs déjà présentes dans le graphe ou dans une nouvelle couleur k + 1. La borne inférieure LB est initialisée au début de l’algorithme dans le sommet racine comme une clique maximale au sens de l’inclusion et n’évolue pas au cours de l’algorithme. DSATUR-B&B initialise cette clique maximale en coloriant itérativement le graphe en suivant la règle du plus grand DSAT (v). Sewell (1996) [2] propose une amélioration de DSATUR basée sur une nou-velle règle pour choisir le sommet à colorier. Il arrive souvent qu’il y ait plusieurs sommets maximisant la valeur de DSAT (v), on choisit alors le sommet de degré le plus élevé. Sewell propose de choisir le sommet maximisant le nombre de couleurs disponibles des sommets non
colorés dans le voisinage du sommet. San Segundo (2011) [4] propose une amélioration de la règle de sélection de Sewell permettant de réduire le nombre de noeuds par rapport à Sewell sans perdre en efficacité.
3. Amélioration de borne inférieure dans DSATUR-B&B
On propose de mettre à jour la borne inférieure de DSATUR-B&B. A partir d’une coloration partielle à un noeud de l’arborescence, on construit un nouveau graphe GC et on cherche une
borne inférieure sur ce graphe. Pour construire GC, on va créer un sommet par groupe de couleurs qui va représenter et remplacer tous les sommets de son groupe en le connectant à tous les voisins des sommets de son groupe. On cherche une borne inférieure sur GC.
FIG. 1 – Une coloration partielle C dans G et le graphe GC associé
3.1 Borne sur le nombre de stabilité fractionnaire (LB-Clique)
Pour trouver une borne inférieure sur la coloration optimale du graphe GC, il suffit, comme
montré par Schrijver [5], de calculer la relaxation continue du problème de stable maximum formulé à l’aide des contraintes de clique dans le graphe complémentaire ¯GC.
3.2 Borne de stable issue d’une coloration (LB-Stable)
Cornaz et Jost (2008) [3] proposent de résoudre le problème de coloration en résolvant un problème de stable dans un graphe particulier ˜GC. En opérant cette transformation on peut obtenir une borne supérieure ¯α( ˜GC) sur la solution optimale du problème α( ˜GC). α( ˜GC) est
liée à χ(GC) par l’inégalité suivante : χ(GC) + α( ˜GC) = n [3], on a donc n − α( ˜GC) = χ(GC)
et n − ¯α( ˜GC) ≥ χ(GC).
4. Conclusions et perspectives
A partir de ces transformations, on peut considérer plusieurs bornes supérieures comme une relaxation semi-définie positive du problème ou une relaxation linéaire sur une formulation compacte du problème de coloration. En utilisant ces bornes inférieures dans DSATUR-B&B (y compris obtenues par relaxation semi-définies positives), on espère améliorer les performances de cet algorithme au niveau du temps CPU et du nombre de noeuds de l’arborescence.
Références
[1] D. Brélaz, New methods to color the vertices of a graph. Communications of the ACM
(CACM) 22(4) : 251-256, 1979.
[2] E. Sewell, An improved algorithm for exact graph coloring. Cliques, coloring, and
satisfia-bility. Proceedings of the second DIMACS implementation challenge26 : 359-373, 1996.
[3] D. Cornaz, V. Jost, A one-to-one correspondence between colorings and stable sets.
Ope-rations Research Letters 36(6) : 673-676, 2008.
[4] P. San Segundo, A new DSATUR-based algorithm for exact vertex coloring. Computers &
Operations Research 39(7) : 1724-1733, 2012.
[5] A. Schrijver, Combinatorial optimization, Springer-Verlag, Berlin Heidelberg : 1095-1096, 2002.