Vous êtes sur la page 1sur 7

Chapitre 3

COLORATION DE GRAPHE

En théorie des graphes, la coloration de graphe consiste à attribuer une couleur à


chacun de ses sommets de manière que deux sommets reliés par une arête soient de
couleur di¤érente. On cherche souvent à utiliser le nombre minimal de couleurs, appelé
nombre chromatique.
Le champ d’applications de la coloration de graphe couvre de nombreux do-
maines, notamment le problème de l’attribution de fréquences dans les télécommunica-
tions, la conception de puces électroniques ou l’allocation de registres en compilation.

3.1 Dé…nitions, Propriétés et Conjectures

La notion de coloration n’est dé…nie que pour les graphes sans boucle, et la multiplicité
des arêtes ne joue aucun rôle. Donc, soit G un graphe simple (sans boucle ni arête
multiple), un stable de G est un sous-ensemble de sommets deux-à-deux non-adjacents,
et une coloration de G est une partition de son ensemble de sommets en stables.

Dé…nition 3.1 Soit n un entier, un graphe G = (V; E) est dit n-colorable si on peut
associer à chaque sommet de G une couleur prise dans f1; 2; ::; ng de sorte que deux
sommets adjacents soient de couleurs di¤érentes.

Dé…nition 3.2 Le nombre chromatique d’un graphe G est dé…ni comme étant le plus
petit entier n pour lequel G admet une n-coloration. Ce nombre est noté (G). Ainsi,
G est n-colorable si (G) n et G est n-chromatique si (G) = n.
Dé…nitions, Propriétés et Conjectures 48

Figure 1 Une coloration du graphe de Petersen avec 3 couleurs.

3.1.1 Majoration du nombre chromatique

Théorème 3.3 (Brooks) Soit G un graphe connexe autre qu’une clique ou un cycle de
longueur impaire et de dgré maximale ; alors (G) :

Le théorème de Brooks établit que l’on peut colorer un graphe connexe en


utilisant au maximum couleurs, où est le degré maximal du graphe, à l’exception
des cas du graphe complet et du graphe cycle de longueur impaire, où il faut + 1
couleurs.
Le fait que le graphe soit colorable avec au plus + 1 couleurs se montre très
facilement. En e¤et, il su¢ t de colorer les sommets un à un dans n’importe quel ordre
: à chaque fois qu’on colore un sommet, il faut choisir une couleur di¤érente de toutes
celles qui ont déjà été utilisées pour les voisins de ce sommet qui ont déjà été colorés ;
comme un sommet possède au plus voisins, + 1 couleurs sont toujours su¢ santes.
Le mérite du théorème de Brooks est donc de réduire ce nombre de couleurs
nécessaires à pour la plupart des graphes.

3.1.2 Minoration du nombre chromatique

Une clique de G est un sous-graphe complet de G.

Proposition 3.4 Soit !(G) le cardinal maximal des cliques de G. On a !(G) X(G).

Cette propriété n’aide pas beaucoup car le calcul de cette borne est un problème
N P -di¢ cile. Le deuxième problème est que cette borne peut être très faible.
En e¤et, il existe en e¤et des graphes k-colorables, k aussi grand que l’on veut
sans triangles (cliques de cardinal 3). Ce sont les graphes de Mycielski.
Algorithmes de coloration 49

Conjecture 3.5 (Vizing, 1963) (G1 G2 ) = M axf (G1 ); (G2 )g:

Conjecture 3.6 (Hedetniemi, 1966) (G1 G2 ) = M inf (G1 ); (G2 )g:

Cette conjecture n’est prouvée dans le cas général que pour n 4:

Théorème 3.7 (Théorème des 4 couleurs, K. Appel, W. Haken, 1976) Tout graphe
planaire est 4 colorable.

3.2 Algorithmes de coloration

On considère les deux problèmes algorithmiques de coloration suivants :


problème de décision : étant donné G, un graphe, et k un entier, existe-
t-il une coloration valide de G utilisant k couleurs ?
problème d’optimisation : étant donné G, quel est son nombre chro-
matique ?

Pour tout k supérieur à 2, le problème de coloriage avec k couleurs est NP-


complet.
Déterminer le nombre chromatique d’un graphe est un problème N P -di¢ cile
dans le cas général. Ainsi, (à moins que P = N P ), il n’existe pas d’algorithme polyno-
mial déterminant le nombre chromatique d’un graphe arbitraire. Ce problème est un
problème d’optimisation posant la question suivante : soit G un graphe donné, quel
est le nombre minimum de couleurs nécessaires pour avoir une coloration valide de G ?

Il existe des algorithmes polynomiaux si on se restreint à des classes de graphes


(exemples: graphes triangulés, graphes d’intervalles, graphes parfaits).
Pour les graphes planaires, le théorème des quatre couleurs permet de décider
l’existence d’une k-coloration dès que k est plus grand que 4 ( car il en existe toujours
une). De plus, on sait trouver une telle 4-coloration. Par contre, le problème reste
N P -complet pour k = 3:
Algorithmes de coloration 50

L’importance du problème a donné lieu à l’élaboration de nombreuses heuris-


tiques spéci…ques au problème, spécialement des algorithmes séquentiels de coloration
sommet par sommet.

3.2.1 Algorithme de Welsh et Powell


Welsh et Powell (en 1967) ont proposé la méthode séquentielle de coloration suivante:
Etape1: Classer les sommets du graphe dans l’ordre décroissant de leur degré,
et attribuer à chacun des sommets son numéro d’ordre dans la liste obtenue.
Etape2 : En parcourant la liste dans l’ordre, attribuer une couleur non encore
utilisée au premier sommet non encore coloré, et attribuer cette même couleur à chaque
sommet non encore coloré et non adjacent à un sommet de cette couleur.
Etape3: S’il reste des sommets non colorés dans le graphe, revenir à l’étape 2.
Sinon, la coloration est terminée.

Exemple 3.8 Appliquer l’algorithme pour le graphe suivant:

A H B

E F
I

D G C

Remarque 3.9 Cette méthode peut aboutir à la pire des colorations possibles. Si le
graphe G a par-exemple la structure de couronne à n sommets, son nombre chromatique
est 2 (si n est pair) tandis que Welsh-Powell donne dans certains cas (selon l’ordre
dans lequel sont rangés les sommets) une coloration utilisant n=2 couleurs.
Algorithmes de coloration 51

L’heuristique DSATUR permet d’éviter ce problème et donne une coloration


moins mauvaise dans le pire cas.

3.2.2 Algorithme DSATUR


Brelaz a proposé en 1979 une méthode gloutonne nommée algorithme Dsatur:
Soit le degré de saturation: DS(x) qui correspond au nombre de couleurs déjà
utilisées par les voisins de x.
Etape1 : colorer le sommet de degré maximal avec la couleur 1.
Etapes suivantes : pour chaque étape suivante prendre le sommet libre de
DS maximal (prendre celui de degré maximal en cas d’ex aequo) et lui donner la plus
petite couleur possible.

Exemple 3.10 Appliquer l’algorithme au graphe suivant:

D C B

E F G

H I
Problèmes en lien avec la coloration 52

3.2.3 Algorithme First-Fit


Les couleurs sont numérotées 1; 2; 3::: (Les couleurs sont les naturels non nuls).
Etape 1: Dresser une liste des sommets (généralement dans un ordre décroissant
des degrés).
Etape 2 :Tant que tous les sommets ne sont pas coloriés, choisir le premier
sommet non encore colorié de la liste et lui a¤ecter la plus petite
couleur possible, (non déjà a¤ectée à un sommet adjacent).

Remarque 3.11 En modi…ant l’ordre des sommets de la liste, on peut parfois obtenir
un nombre moindre de couleurs et parfois X (G) donc la coloration optimale.

Exemple 3.12 Reprendre l’exemple de l’algorthme de Welsh et Powell avec l’algorithme


First-Fit.

3.3 Problèmes en lien avec la coloration

3.3.1 A¤ectation simple


Certains problèmes d’a¤ectations simples peuvent être reliés à la coloration.

Exemple 3.13 Considérons un lycée avec des cours de durée identique, par exemple
d’une heure.Certains cours ne peuvent avoir lieu en même temps à cause d’incompatibilités
diverses : le même enseignant les dispense, un même élève y assiste, ou encore il s’agit
de travaux pratiques nécessitant une salle spécialisée unique.On suppose que la semaine
est divisée en créneaux horaires couvrant les heures d’ouvertures du lycée .On souhaite
trouver un emploi du temps minimisant le nombre de créneaux horaires.
Ce problème se modélise par un graphe d’incompatibilités G=(X, E).X désigne l’ensemble
des cours à assurer, et une arête[x, y] relie les cours x et y s’ils sont incompatibles c’est
à dire ne peuvent avoir lieu en même temps.
Considérons une kcoloration de G : les sommets d’une même couleur sont des cours
compatibles qui peuvent être a¤ectés au même créneau horaire.
Par conséquent, un emploi du temps de durée minimale est donné par le nombre min-
imal de couleurs nécessaires, c’est à dire par le nombre chromatique de G.
Problèmes en lien avec la coloration 53

3.3.2 Graphes d’intervalles


Dé…nition 3.14 Soit une famille d’intervalles I1 ; I2 ; ::; In , avec Ij = [aj ; bj ] , aj bj :
On construit un graphe G = (X; E) avec X = fI1 ; I2 ; ::; In g où

Ij Ik 2 E () Ij \ Ik 6= :

Proposition 3.15 Si G est un graphe d’intervalles, alors le nombre chromatique de


G = X(G) est égal à la taille maximale d’une clique dans G = !(G).

Preuve. Appliquons l’algorithme de First-Fit en prenant les sommets dans


l’ordre croissant par rapport à leur début d’intervalles en allant de la gauche vers la
droite. On obtient alors une k-coloration du graphe G avec un ensemble de couleurs
C = f1; 2; :::; kg. Les k couleurs ne sont pas toujours utilisées pour colorier le graphe
donc k > X(G):Supposons que le sommet x reçoit la couleur k qui est la maximum
donc x ne peut pas être a¤ecté par une plus petite couleur (d’après l’algorithme First-
Fit). Cela implique donc que le début de l’intervalle correspondant à x appartient aussi
aux intervalles ayant déjà une couleur de 1 à (k 1). Ces k sommets sont tous voisins
entre eux ; ils forment donc une k-clique. On a donc !(G) X(G).
Comme vu précédemment dans les bornes inférieures du nombre chromatique, on sait
que X(G) w(G). Donc X(G) = w(G):

Exemple 3.16 Une école organise une rencontre entre professionnels et élèves un
samedi matin entre 8h et midi. Un professionnel pourra être présent toute la matinée
et les autres qu’une partie seulement. Ceci est représenté par les intervalles ci-dessous.

Le responsable désire connaître le nombre de salles minimum que va occuper cette réu-
nion sachant qu’il faut une salle par professionnel et qu’il est possible que g ne vienne
pas.
Cela revient donc à modéliser le graphe d’intervalle et à chercher son nombre chroma-
tique.

Vous aimerez peut-être aussi