Vous êtes sur la page 1sur 26

ESSECT – 2 BC

Théorie des graphes et optimisation

CHAPITRE 3

COLORIAGE DE GRAPHES

N. Ben Azzouna Théorie des graphes - ESSECT 1


Définitions

❑ Soit G = (S, A) un graphe. Un sous-ensemble V de S est un


stable s’il ne comprend que des sommets non adjacents deux à
deux.

❑ Dans le graphe ci-dessous, {v1, v2} forment un stable ; {v2, v4}


aussi, ainsi que {v2, v5} et {v3, v5}.

N. Ben Azzouna Théorie des graphes - ESSECT 2


Définitions
❑ Etant donné un graphe non orienté G = (S, A), une clique est un
sous-ensemble de sommets S’ S qui sont tous connectés 2 à 2 par
des arêtes de sorte que

❑ Une clique est un sous-graphe complet.

❑ Trouver une clique d’ordre k dans un graphe est un problème NP-


complet.

❑ Le problème de rechercher un stable d’ordre k dans un graphe G =


(S,A) est équivalent au problème de rechercher une clique d’ordre k
dans le graphe complémentaire G’ = (S,A’) tel que A’ contient une
arête entre 2 sommets i et j ssi A ne contient pas d’arête entre ces 2
sommets.

N. Ben Azzouna Théorie des graphes - ESSECT 3


Définitions

❑ Le problème du coloriage de graphes, pour un graphe non


orienté G, consiste à attribuer une couleur à chaque sommet,
de telle sorte qu’une même couleur ne soit pas attribuée à deux
sommets adjacents (reliés par une arête).

❑ Lorsque le graphe est planaire, ce problème peut s’exprimer


par rapport au graphe dual, en coloriant les faces, et non les
sommets, et en imposant que deux faces voisines soient
coloriées de couleurs différentes (il s’agit du problème de
coloriage d’une carte).

N. Ben Azzouna Théorie des graphes - ESSECT 4


Définitions

❑ Une coloration avec k couleurs est donc une partition de


l’ensemble des sommets en k stables.

❑ Le nombre minimum de couleurs nécessaires pour colorier un


graphe G est appelé le nombre chromatique de G, et noté
X(G).

N. Ben Azzouna Théorie des graphes - ESSECT 5


Remarques

❑ Le problème du coloriage d’un graphe avec un nombre limité


de couleurs est un problème NP-Complet : Cela signifie que
tout algorithme résolvant ce problème de façon exacte pourra
prendre un temps exponentiel par rapport au nombre de
sommets du graphe (de l’ordre de 2n pour n sommets)

❑ Le problème de déterminer le nombre chromatique d’un


graphe est également exponentiel, et est en fait encore plus
difficile.

N. Ben Azzouna Théorie des graphes - ESSECT 6


Exemple

❑ Sur le graphe ci-dessous, on a eu besoin de trois couleurs (notées 1,


2 et 3) pour colorer les sommets de sorte que deux sommets
adjacents aient des couleurs différentes.

❑ On a donc trois stables : {v1, v2}, {v3, v5} et {v4}. On ne peut pas
utiliser moins de couleurs, à cause des cliques {v1, v4, v5} et {v1, v3,
v4}.

❑ Remarquons enfin que le sommet v2 aurait aussi pu être coloré « 3 ».


La coloration minimale n’est donc pas forcément unique.

N. Ben Azzouna Théorie des graphes - ESSECT 7


Encadrement du nombre chromatique

❑ Majoration
X(G) ≤ r+1, où r est le plus grand degré des sommets de G.
Preuve : Soit un graphe G et r le degré maximum de ses
sommets. Donnons-nous une palette de (r+1) couleurs. Pour
chaque sommet du graphe on peut tenir le raisonnement
suivant : ce sommet est adjacent à r sommets au plus, et le
nombre de couleurs déjà utilisées pour colorer ces sommets
est donc inférieur ou égal à r . Il reste donc au moins une
couleur non utilisée dans la palette, avec laquelle nous
pouvons colorer notre sommet.

N. Ben Azzouna Théorie des graphes - ESSECT 8


Encadrement du nombre chromatique

❑ Le cardinal du plus grand stable est le nombre de stabilité de


G ; on le note a(G). Dans le graphe ci-dessous, on a a(G)=2.

❑ X(G) ≤ n+1−a(G)

❑ Preuve : Considérons S un stable de V de cardinalité a(G).


Une coloration possible des sommets consiste à colorer les
sommets de S d’une même couleur et les n−a(G) autres
sommets de couleurs toutes différentes. On en déduit que X(G)
≤ 1+(n−a(G)).

N. Ben Azzouna Théorie des graphes - ESSECT 9


Encadrement du nombre chromatique

Minoration
❑ Le nombre chromatique d’un graphe est supérieur ou égal à celui
de chacun de ses sous-graphes.

❑ Le nombre chromatique du graphe sera supérieur ou égal à


l’ordre de sa plus grande clique, que l’on note w(G). Autrement
dit, X(G) ≥ w(G)
❑ Preuve : Puisque, par définition, dans une clique d’ordre m, tous
les sommets sont adjacents entre eux, il faudra m couleurs. Donc,
il faudra au moins w(G) couleurs pour colorer le graphe G.

N. Ben Azzouna Théorie des graphes - ESSECT 10


Exemple
❑ Majorez et minorez le nombre chromatique de ce graphe.

❑ Correction :
❑ G contient plusieurs cliques d’ordre 3, donc X(G) ≥ 3.
❑ Déterminons une partition des sommets de G en sous-ensembles
stables : S1 ={v1, v4}, S2 = {v2, v6, v7}, S3 = {v3, v5}. Donc X(G)
≤ 3, car à chaque stable correspondra une couleur.
❑ On en déduit que X(G) = 3.

N. Ben Azzouna Théorie des graphes - ESSECT 11


Méthode pour trouver toutes les colorations possibles
❑ Si G = Kn alors il faut n couleurs.

❑ Sinon, il existe au moins deux sommets a et b non reliés.

❑ Les colorations de G pour lesquelles les sommets a et b sont de


même couleur sont exactement les colorations du graphe G1
obtenu à partir de G en identifiant a et b.

❑ Les colorations de G pour lesquelles les sommets a et b ont des


couleurs distinctes sont exactement les colorations du graphe G2
obtenu à partir de G en rajoutant l’arête ab.

❑ On détermine ensuite les colorations de G1 et G2 selon le même


principe.

N. Ben Azzouna Théorie des graphes - ESSECT 12


Exemple

N. Ben Azzouna Théorie des graphes - ESSECT 13


Algorithme glouton

❑ C'est l'algorithme le plus trivial pour colorier un graphe.

❑ Déroulement :
❑ On ordonne (arbitrairement) les sommets de 1 à n.
❑ On affecte une couleur à 1, disons rouge, puis on parcourt les
sommets dans l'ordre.
Si 2 n'est pas adjacent à 1 on le colorie aussi en rouge.
S'il est adjacent, il faut une deuxième couleur, disons bleu.
❑ On passe à 3.
S'il n'est adjacent ni à 1 ni à 2 on le colorie avec l'une des
couleurs précédentes, disons la première,
s'il est adjacent à l'un et pas à l'autre on utilise la couleur non
interdite,
s'il est adjacent aux deux on le colorie, disons, en vert. On
procède ainsi pour tous les sommets.

N. Ben Azzouna Théorie des graphes - ESSECT 14


Algorithme de coloriage de Welsh et Powell

❑ Cet algorithme couramment utilisé permet d’obtenir une assez bonne coloration
d’un graphe, c’est-à-dire une coloration n’utilisant pas un trop grand nombre de
couleurs.
❑ Cependant il n’assure pas que le nombre de couleurs soit minimum (et donc
égal au nombre chromatique du graphe).
❑ Étape 1
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.
❑ Étape 2
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.
❑ Étape 3
S’il reste des sommets non colorés dans le graphe, revenir à l’étape 2. Sinon,
FIN.

N. Ben Azzouna Théorie des graphes - ESSECT 15


Exemple

N. Ben Azzouna Théorie des graphes - ESSECT 16


Exercice

❑ Appliquer l’algorithme de Welsh et Powell au graphe suivant :

❑ Solution :

N. Ben Azzouna Théorie des graphes - ESSECT 17


Coloration des sommets d’un graphe planaire

❑ Théorème des quatre couleurs On peut colorer les sommets


d’un graphe planaire (sans boucles) en utilisant au plus quatre
couleurs de telle sorte que toutes les arêtes aient des
extrémités de couleurs différentes.

N. Ben Azzouna Théorie des graphes - ESSECT 19


Coloriage des arêtes d’un graphe

❑ Le coloriage des arêtes d’un graphe consiste à affecter à toutes


les arêtes de ce graphe une couleur de telle sorte que deux arêtes
adjacentes ne portent pas la même couleur.

❑ L’indice chromatique du graphe G est le plus petit entier k pour


lequel il existe un coloriage des arêtes ; on le note c(G).

N. Ben Azzouna Théorie des graphes - ESSECT 20


Coloriage des arêtes d’un graphe

❑ Pour colorer les arêtes d’un graphe, on peut se ramener au problème de la


coloration des sommets. Il suffit pour cela de travailler non pas sur le
graphe lui-même, mais sur le graphe adjoint, noté G’ , et que l’on définit
ainsi :
1. à chaque arête de G = (V,E) correspond un sommet de G’ = (E,F)
2. deux sommets de G’ sont reliés par une arête si les deux arêtes
correspondantes de G sont adjacentes.

❑ On peut ensuite appliquer l’algorithme de Welsh et Powell sur le graphe G’


pour colorer ses sommets.

❑ Une fois cela fait, on colorera les arêtes de G de la même couleur que les
sommets correspondants de G’.

N. Ben Azzouna Théorie des graphes - ESSECT 21


Exemple

N. Ben Azzouna Théorie des graphes - ESSECT 22


Graphes triangulés
❑ Un graphe est triangulé si tous ses cycles de plus de 3 sommets
contiennent au moins une corde (arête reliant deux sommets non
adjacents d’un cycle).

❑ Rappel : Un séparateur est un sous-ensemble W de sommets


dans un graphe connexe G = (V,E) tel que le graphe G[V −W] est
non connexe. Dans le graphe ci-dessous, W = {v1, v4} est un
séparateur, W = {v3} est un séparateur minimal.

❑ Théorème
Un graphe connexe est triangulé si et seulement si tout
séparateur minimal est une clique.

N. Ben Azzouna Théorie des graphes - ESSECT 23


Graphes triangulés
❑ Un sommet v est dit simplicial si son voisinage N(v) est une
clique.

❑ Dans le graphe ci-dessous, les sommets simpliciaux sont v2 et v5


.

❑ Théorème
Tout graphe triangulé autre qu’une clique contient au moins
deux sommets simpliciaux non adjacents.

N. Ben Azzouna Théorie des graphes - ESSECT 24


Graphes triangulés
❑ Algorithme de reconnaissance (Fulkerson et Gross, 1969)
1. Poser G’ = G ;
2. Si G’ est vide alors G est triangulé : STOP
3. Si G’ ne contient pas de sommet simplicial alors G n’est pas
triangulé.
4. Ôter un sommet simplicial de G’ et retourner à 2.

❑ Appliquez l’algorithme de Fulkerson et Gross pour vérifier que le


graphe ci-dessous est triangulé.
❑ On peut faire "disparaître" entièrement
le graphe en éliminant successivement les
sommets simpliciaux v1 , v7 , v8 , v6 , v2 , v3 , v4 , v5 .
Le graphe est donc triangulé.
N. Ben Azzouna Théorie des graphes - ESSECT 25
Graphes triangulés

❑ Un « schéma d’élimination parfait » dans un graphe à n


sommets est un ordre v1,…,vn des sommets tel que vi est
simplicial dans le graphe qui ne contient que les sommets vi
,…,vn.
❑ Théorème : Un graphe est triangulé si et seulement s’il possède
un schéma d’élimination parfait.

❑ Algorithme de coloriage d’un graphe triangulé G= (S,A)


1. Déterminer un schéma d’élimination parfait v1 < . . . < vn
2. Colorer G séquentiellement selon l’ordre inverse vn < . . . < v1 ,
en utilisant pour chaque sommet le plus petit numéro de couleur
possible.

N. Ben Azzouna Théorie des graphes - ESSECT 26


Exemple

❑ Donnez un schéma d’élimination parfait du graphe ci-dessous et


colorez ce graphe.

❑ Correction : En reprenant le schéma d’élimination parfait de


l’exemple précédent, on colorie les sommets en lisant la liste de
droite à gauche et on met à chaque fois la couleur la plus petite
possible, ce qui donne : v5 →1, v4 →2, v3 →3, v2 →4, v6 →2,
v8 →1, v7 →3, v1→1.

N. Ben Azzouna Théorie des graphes - ESSECT 27

Vous aimerez peut-être aussi