Coloration
Ce que ce chapitre apporte 6 points
- Définir une coloration propre et le nombre chromatique.
- Modéliser un conflit d'exclusion par une arête.
- Minorer le nombre chromatique, par une clique ou par un autre argument, et prouver une optimalité.
- Dérouler l'algorithme glouton et montrer sa dépendance à l'ordre.
- Appliquer l'heuristique de Welsh-Powell et connaître la borne Δ + 1.
- Expliquer ce que signifie « NP-complet » ici, et comment on s'en sort quand même.
Le problème
Une coloration propre attribue une couleur à chaque sommet de sorte que deux sommets adjacents n'aient jamais la même.
Le nombre chromatique est le plus petit nombre de couleurs permettant de colorer proprement .
Trois couleurs suffisent ici, et l'on va voir qu'aucune coloration à deux couleurs n'existe. Une arête ne relie jamais deux sommets de même teinte : c'est tout ce qu'exige la définition.
Le nombre chromatique est alors le nombre minimal de ressources. Cette phrase mérite d'être écrite avant tout calcul, parce qu'elle contient toute la modélisation.
| Problème réel | Sommet | Arête | Couleur |
|---|---|---|---|
| Emploi du temps | un cours | deux cours ayant un élève commun | un créneau |
| Antennes | une antenne | deux antennes qui se brouillent | une fréquence |
| Compilation | une variable | deux variables vivantes en même temps | un registre |
| Ordonnancement | une tâche | deux tâches qui se chevauchent | une machine |
Une coloration à 4 couleurs est exhibée. Qu'a-t-on prouvé ?
Quelques valeurs à connaître
| Graphe | Pourquoi | |
|---|---|---|
| Graphe complet | tous adjacents deux à deux | |
| Cycle pair | 2 | on alterne |
| Cycle impair | 3 | l'alternance échoue à la fermeture |
| Arbre (au moins une arête) | 2 | on alterne par profondeur |
| Graphe biparti (au moins une arête) | 2 | c'est la définition même |
Sur ce cycle à cinq sommets, l'alternance tient jusqu'à D, puis E se retrouve coincé entre D et A qui portent déjà les deux couleurs. Il en faut une troisième : .
Que vaut le nombre chromatique d'un cycle à 7 sommets ?
Prouver qu'on ne peut pas faire mieux
Trouver une coloration à couleurs prouve seulement que . Pour établir l'optimalité, il faut aussi une minoration, et la clique en fournit une, la plus courante.
Dans une clique de taille , chaque sommet est adjacent à tous les autres : il leur faut couleurs distinctes. Il en faut donc au moins autant pour le graphe entier.
La structure d'une preuve d'optimalité, en deux temps.
- Exhiber une minoration, le plus souvent une clique de taille : elle prouve .
- Exhiber une coloration à couleurs : elle prouve .
Les deux ensemble donnent , et c'est une preuve complète.
Une coloration seule ne prouve jamais l'optimalité : elle ne fournit qu'une majoration. C'est l'erreur la plus fréquente.
A, B, C est une clique de taille 3, donc .La coloration donnée utilise 3 couleurs, donc .
Conclusion : , et c'est démontré, pas constaté.
L'écart se retrouve un cran plus haut. Ajouter au cycle un sixième sommet, relié aux cinq autres, donne la roue à cinq rayons : sa plus grande clique est un triangle, , et pourtant il faut quatre couleurs. Le bord est un cycle impair, qui en exige trois, et le centre, voisin de tous les sommets du bord, ne peut reprendre aucune d'elles. Chercher une clique de taille 4 y serait peine perdue : la minoration est un raisonnement.
Il existe même des graphes où l'écart est énorme, sans le moindre triangle et pourtant impossibles à colorer avec peu de couleurs. Les graphes où l'égalité vaut pour le graphe et pour chacun de ses sous-graphes induits forment une famille particulière, les graphes parfaits, objet du chapitre suivant.
L'algorithme glouton
Parcourir les sommets dans un ordre donné et attribuer à chacun la plus petite couleur non utilisée par ses voisins déjà colorés.
C'est un algorithme glouton au sens du chapitre sur les arbres : chaque sommet reçoit sa couleur une fois pour toutes, et l'algorithme ne revient jamais sur un choix.
Il tourne en et produit toujours une coloration valide. Optimale, elle peut l'être : il existe toujours un ordre qui y mène, mais rien ne dit lequel, et un mauvais ordre coûte cher.
Voici le glouton sur le graphe du début. La figure s'ouvre sur l'ordre alphabétique : A, B, C, D, E, F. L'ordre est une simple liste, fixée avant de commencer ; le glouton ne suit pas les arêtes, et il aurait pu aussi bien traiter A, D, B, E, C, F.
- A
- B
- C
- D
- E
- F
Passer ensuite à l'ordre « D en dernier », puis composer un ordre à la main en cliquant les sommets l'un après l'autre. La figure ne dit combien de couleurs suffisent, et ce qui le prouve, qu'une fois tous les sommets colorés.
Sur ce petit graphe, 640 des 720 ordres possibles mènent à trois couleurs. Les 80 autres en font employer quatre : dans l'ordre « D en dernier », A, B, C, E, F, D, E et F reçoivent 0 et 1 avant que D arrive, et D, qui voit alors les couleurs 2, 0 et 1, doit en ouvrir une quatrième.
où est le degré maximal. En effet, quand le glouton colore un sommet, celui-ci a au plus voisins, donc au plus couleurs lui sont interdites : parmi les couleurs , l'une au moins reste libre, et le glouton n'emploie jamais de numéro supérieur à .
Le théorème de Brooks précise que, pour un graphe connexe, cette borne n'est atteinte que par les graphes complets et les cycles impairs : pour tous les autres, .
L'ordre décide de tout
Le même graphe, dessiné en deux colonnes, les g à gauche et les d à droite : chaque g est relié à tous les d, sauf à celui qui porte son numéro.
- g1
- d1
- g2
- d2
- g3
- d3
- g4
- d4
Passer à l'ordre « par côté » : deux couleurs. Welsh-Powell en trouve deux aussi, mais par chance, comme le dit l'encadré ci-dessous : tous les degrés valent 3, et c'est le nom qui a rangé les d avant les g.
Welsh-Powell. L'heuristique la plus connue consiste à trier les sommets par degré décroissant avant d'appliquer le glouton.
L'intuition : les sommets très connectés sont les plus contraints, autant les traiter quand toutes les couleurs sont encore disponibles. Rien ne le garantit, et le tri est aveugle quand les degrés sont égaux. Sur le graphe ci-dessus, où tous valent 3, c'est le nom qui a décidé : les d passent avant les g, ce qui revient par chance à l'ordre « par côté ». Renommés de façon que l'ordre alphabétique alterne les deux côtés, les mêmes sommets font employer 4 couleurs à Welsh-Powell.
L'heuristique échoue même sur un simple chemin de six sommets, B, A, F, E, D, C : les quatre sommets intérieurs ont le degré 2, l'ordre obtenu est A, D, E, F, B, C, et le glouton y met trois couleurs (A et D reçoivent 0, E reçoit 1, puis F, entre A et E, reçoit 2) là où deux suffisent.
Une variante plus fine, DSATUR, choisit à chaque pas le sommet dont les voisins déjà colorés portent le plus de couleurs différentes. Elle n'est pas exacte non plus, mais sur un graphe biparti elle trouve toujours les deux couleurs.
- A
- D
- E
- F
- B
- C
Suivre ensuite le chemin d'un bout à l'autre : les couleurs 0 et 1 alternent, et deux suffisent.
Pourquoi c'est difficile
Décider si un graphe quelconque se colore avec couleurs est un problème NP-complet, et calculer est donc NP-difficile. On sait vérifier rapidement qu'une coloration proposée est valide, mais on ne connaît aucun algorithme qui en trouve une optimale en temps polynomial.
Ce que cette classe signifie exactement est traité dans le chapitre NP-complétude et 3-SAT, et la coloration s'y retrouve d'ailleurs sous une autre forme : modéliser un problème en SAT la traduit en clauses, ce qui permet de la confier à un solveur plutôt qu'à un algorithme écrit pour elle.
Même la question restreinte « peut-on colorer ce graphe avec 3 couleurs ? » est NP-complète. Avec 2 couleurs, en revanche, c'est facile : cela revient à tester si le graphe est biparti, ce qu'un BFS fait en une passe.
Trois échappatoires bien réelles, et toutes utilisées :
Accepter une solution sans garantie : le glouton donne immédiatement une coloration valide, souvent proche de l'optimum en pratique, mais sans aucune borne sur l'écart.
Restreindre la famille de graphes : quand les conflits viennent d'intervalles de temps, comme dans le cas complet ci-dessous, le problème redevient exact et rapide ; le chapitre suivant en donne la raison.
Se contenter de petites instances : une recherche exhaustive intelligente traite sans peine quelques dizaines de sommets.
La deuxième voie est de loin la plus rentable, et c'est l'objet du chapitre suivant.
Un cas complet : des tâches qui se chevauchent
Voici la modélisation classique. Chaque tâche devient un sommet, deux tâches sont reliées si leurs intervalles se chevauchent, et une couleur est une machine.
Pour deux intervalles et :
max(début) < min(fin) dit la même chose sans aucun cas particulier, et se lit directement : l'intersection est non vide si elle commence avant de finir.Utiliser l'inégalité stricte : deux tâches dont l'une finit à l'instant où l'autre commence ne se chevauchent pas.
- A0
- B1
- C2
- D0
- E1
- F2
- G0
L'ordre « début croissant » : 3 machines, et c'est le minimum.
Il en faut bien 3 : A, B et C se chevauchent deux à deux, et tournent toutes à l'instant 2. Cette clique de taille ω = 3, reliée par les arêtes épaissies, exige 3 machines à elle seule.
Par début croissant, le glouton n'ouvre jamais plus de ω machines : c'est garanti pour des intervalles, quelles que soient les tâches.
Revenir au début croissant, puis essayer d'autres ordres, à la main : aucun ne descend sous trois machines, puisque A, B et C tournent ensemble à l'instant 2.
Le glouton n'est pas en cause : c'est l'ordre qui décide. Toute la question devient donc : existe-t-il un ordre qui garantisse l'optimalité ? Pour cette famille de graphes, la réponse est oui, et c'est le sujet du chapitre suivant.
L'algorithme glouton sur un graphe biparti…
Mettre en pratique
Quel est le nombre chromatique d'un cycle à 7 sommets ?
3.
Sur un cycle, on tente d'alterner deux couleurs. Cela fonctionne exactement quand la longueur est paire : en revenant au point de départ, on retombe sur la bonne couleur.
Avec 7 sommets, l'alternance échoue à la fermeture : le dernier sommet est voisin du premier et porterait la même couleur. Il en faut une troisième.
Règle générale : si est pair, 3 s'il est impair.
Une coloration à 4 couleurs a été trouvée. Est-elle optimale ?
On ne peut pas le dire. Une coloration ne fournit qu'une majoration : .
Pour conclure à l'optimalité, il faut une minoration du même niveau, . Le moyen le plus courant est d'exhiber une clique de taille 4, mais ce n'est pas le seul : la roue à cinq rayons n'a aucune clique de taille 4 et exige pourtant quatre couleurs, parce que son bord est un cycle impair et que son centre voit tout le bord.
La minoration et la coloration ensemble donnent . Sans minoration, la coloration peut parfaitement être améliorable, comme le montre le glouton dans un mauvais ordre.
Pourquoi , et pourquoi l'égalité n'est-elle pas garantie ?
L'inégalité vient de la définition de la clique : ses sommets sont deux à deux adjacents, donc ils portent tous des couleurs différentes. Une clique de taille force donc couleurs.
L'égalité n'est pas garantie parce que la difficulté d'un graphe ne tient pas seulement à ses cliques. Le cycle en est le contre-exemple minimal : , car il n'a aucun triangle, et pourtant .
Les graphes où l'égalité vaut pour tous les sous-graphes induits s'appellent les graphes parfaits.
Le glouton peut-il utiliser plus de couleurs que nécessaire ? De combien ?
Oui, et l'écart peut être arbitrairement grand.
Sur un graphe biparti, où 2 couleurs suffisent toujours, il existe des ordres qui font utiliser au glouton un nombre de couleurs proportionnel au nombre de sommets.
La borne générale reste couleurs, quel que soit l'ordre. Ce qui varie, c'est la distance entre ce résultat et l'optimum, et cette distance ne dépend que de l'ordre choisi.
À quoi sert l'heuristique de Welsh-Powell ?
À choisir un ordre plus favorable : les sommets sont triés par degré décroissant avant l'application du glouton.
L'intuition est que les sommets les plus contraints, ceux qui ont le plus de voisins, doivent être traités tant que le maximum de couleurs est encore disponible.
En pratique le résultat est souvent bon, mais ce n'est pas un algorithme exact : sur le chemin B, A, F, E, D, C, il emploie trois couleurs pour deux nécessaires. Et quand beaucoup de sommets ont le même degré, le tri ne décide presque rien : c'est la règle de départage des égalités qui fixe l'ordre, et elle peut aussi bien donner le pire. C'est une heuristique, pas une garantie.
Colorer avec 2 couleurs est facile, avec 3 c'est NP-complet. Pourquoi cette rupture ?
Parce que colorer avec 2 couleurs revient exactement à tester si le graphe est biparti, ce qu'un simple BFS bicolore décide en : chaque sommet n'a aucun choix, sa couleur est imposée par son découvreur.
Dès 3 couleurs, un choix apparaît à chaque sommet, et ce choix influence tout le reste du graphe. Il n'existe plus de propagation locale qui décide, et l'on retombe sur une exploration combinatoire.
Cette rupture entre 2 et 3 est un phénomène classique en complexité : elle se retrouve pour la satisfiabilité, facile en 2-SAT et NP-complète en 3-SAT.
Chapitre révisé en octobre 2026 · Une erreur dans ce chapitre ?
Dans la bibliothèque d'exercices
Les nombres chromatiques à connaître, et pourquoi une coloration ne prouve rien toute seule.
- Quatre graphes, quatre nombres chromatiquesNiveau 2
- Une coloration ne prouve pas l'optimalitéNiveau 3
- Quatre canaux pour un réseau en arbreNiveau 3
- Sept produits à ranger, et Welsh-PowellNiveau 3
- Les flèches des grues du chantierNiveau 2
- Les réunions du jeudiNiveau 3