Algorithme de Wigderson

L'algorithme de Wigderson est un algorithme de coloration de graphe. C'est un algorithme de complexité en temps polynomiale, qui colore avec O ( n ) {\displaystyle O({\sqrt {n}})} couleurs les graphes 3-coloriables. Il est dû à Avi Wigderson.

Description

Cet algorithme s'effectue sur des graphes qu'on sait 3-coloriables. Soit G = ( S , A ) {\displaystyle G=(S,A)} un tel graphe. On note n {\displaystyle n} le nombre de sommets de G . {\displaystyle G.}

  1. On prend comme couleur initiale c = 0. {\displaystyle c=0.}
  2. Pour tout s S {\displaystyle s\in S} non déjà colorié et avec au moins n {\displaystyle {\sqrt {n}}} voisins non coloriés : on considère le sous graphe induit par l'ensemble des voisins de s {\displaystyle s} pas encore coloriés, et on le 2-colorie avec les couleurs c {\displaystyle c} et c + 1. {\displaystyle c+1.} On ajoute à c {\displaystyle c} le nombre de couleurs utilisées.
  3. Avec l'algorithme glouton, on colorie le reste des sommets avec des couleurs plus grandes que c . {\displaystyle c.}

La complexité de l'algorithme de Wigderson est polynomiale en n {\displaystyle n} et détermine un coloriage de G {\displaystyle G} qui utilise O ( n ) {\displaystyle O({\sqrt {n}})} couleurs.

Correction de l'algorithme de Wigderson

L'algorithme de Wigderson renvoie bien un coloriage, car l'algorithme glouton et l'algorithme de 2-coloriage sont corrects, et que les sous-graphes considérés dans l'algorithme sont coloriés avec des ensembles de couleur disjoints.

Si on note m {\displaystyle m} le nombre de sommets traités durant le point 2, alors l'algorithme colorie au moins m n {\displaystyle m{\sqrt {n}}} sommets. On a donc :

m n n {\displaystyle m{\sqrt {n}}\leq n} , i.e m n {\displaystyle m\leq {\sqrt {n}}} .

Ainsi le nombre de couleurs utilisées dans le point 2 est d'au plus 2 n {\displaystyle 2{\sqrt {n}}} . Ensuite, le degré du sous-graphe induit par les sommets non coloriés à la fin du point 2 est inférieur ou égal à n 1 {\displaystyle {\sqrt {n}}-1} . L'algorithme glouton utilise donc au plus n {\displaystyle {\sqrt {n}}} couleurs pour colorier le reste des sommets. Ainsi, le nombre de couleurs utilisées est d'au plus 3 n {\displaystyle 3{\sqrt {n}}} , il est donc en O ( n ) {\displaystyle O({\sqrt {n}})} .

Exemple

Le graphe suivant est 3-coloriable :

Graphe 3-coloriable

Application de l'étape 2

Le sommet 4 {\displaystyle 4} a 4 voisins non coloriés : on les 2-colorie, puis on fait de même pour les 4 voisins non coloriés du sommet 6 {\displaystyle 6} .

Après ces opérations, il n'y a plus de sommet non colorié avec au moins 12 {\displaystyle {\sqrt {12}}} voisins non coloriés.

Étape 2 de l'algorithme de Wigderson

Application de l'étape 3

On applique l'algorithme glouton aux sommets restants.

Étape 3 de l'algorithme de Wigderson

Histoire

L'algorithme a été publié en 1983 par Avi Wigderson[1].

Notes et références

  • Cet article est partiellement ou en totalité issu de l'article intitulé « Coloration de graphe » (voir la liste des auteurs).
  1. Avi Wigderson, « Improving the Performance Guarantee for Approximate Graph Coloring », Journal of the ACM, vol. 30, no 4,‎ , p. 729-735 (DOI 10.1145/2157.2158)
  • icône décorative Portail de l'informatique théorique