Colorations des sommets

Documents pareils
PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

6. Les différents types de démonstrations

LE PROBLEME DU PLUS COURT CHEMIN

NOTIONS DE PROBABILITÉS

Introduction à la théorie des graphes. Solutions des exercices

Nombre de marches Nombre de facons de les monter

Chaînes de Markov au lycée

Date : Tangram en carré page

Pourquoi l apprentissage?

BACCALAUREAT GENERAL MATHÉMATIQUES

Probabilités Loi binomiale Exercices corrigés

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

Baccalauréat ES/L Métropole La Réunion 13 septembre 2013 Corrigé

Programmation linéaire

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)

Eteindre. les. lumières MATH EN JEAN Mme BACHOC. Elèves de seconde, première et terminale scientifiques :

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/ Présentation. 1.2 Ressources

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

chapitre 4 Nombres de Catalan

Techniques d interaction dans la visualisation de l information Séminaire DIVA

MegaStore Manager ... Simulation de gestion d un hypermarché. Manuel du Participant

Bac Blanc Terminale ES - Février 2011 Épreuve de Mathématiques (durée 3 heures)

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes

Théorie des Graphes Cours 3: Forêts et Arbres II / Modélisation

Chapitre 1 : Évolution COURS

TSTI 2D CH X : Exemples de lois à densité 1

Quelques algorithmes simples dont l analyse n est pas si simple

Programmation linéaire

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Programmation Linéaire - Cours 1

Introduction a l'algorithmique des objets partages. Robert Cori. Antoine Petit. Lifac, ENS Cachan, Cachan Cedex. Resume

Cours de Recherche Opérationnelle IUT d Orsay. Nicolas M. THIÉRY. address: Nicolas.Thiery@u-psud.fr URL:

AC AB. A B C x 1. x + 1. d où. Avec un calcul vu au lycée, on démontre que cette solution admet deux solutions dont une seule nous intéresse : x =

modélisation solide et dessin technique

Raisonnement par récurrence Suites numériques

Rappel sur les bases de données

Recherche dans un tableau

Enseignement secondaire technique

Peut-on imiter le hasard?

III- Raisonnement par récurrence

OPTIMISATION À UNE VARIABLE

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

BACCALAURÉAT GÉNÉRAL SESSION 2012 OBLIGATOIRE MATHÉMATIQUES. Série S. Durée de l épreuve : 4 heures Coefficient : 7 ENSEIGNEMENT OBLIGATOIRE

Probabilités sur un univers fini

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

Resolution limit in community detection

Rapport d'analyse des besoins

PEUT-ON «VOIR» DANS L ESPACE À N DIMENSIONS?

3 Approximation de solutions d équations

Correction du baccalauréat ES/L Métropole 20 juin 2014

Théorèmes de Point Fixe et Applications 1

Modèles à Événements Discrets. Réseaux de Petri Stochastiques

Par combien de zéros se termine N!?

Problèmes de dénombrement.

Tâche complexe produite par l académie de Clermont-Ferrand. Mai 2012 LE TIR A L ARC. (d après une idée du collège des Portes du Midi de Maurs)

Programmation linéaire et Optimisation. Didier Smets

Algorithmes de recherche

Programmation Objet - Cours II

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Chapitre 2 Le problème de l unicité des solutions

Eléments de Théorie des Graphes et Programmation Linéaire

Exercices de dénombrement

LES DÉTERMINANTS DE MATRICES

Francis BISSON ( ) Kenny CÔTÉ ( ) Pierre-Luc ROGER ( ) IFT702 Planification en intelligence artificielle

Big Data et Graphes : Quelques pistes de recherche

Introduction au maillage pour le calcul scientifique

Les suites numériques

L exclusion mutuelle distribuée

Unité 2 Leçon 2 Les permutations et les combinaisons

CARTE DE VOEUX À L ASSOCIAEDRE

La persistance des nombres

NOTE SUR LA MODELISATION DU RISQUE D INFLATION

Exercices du Cours de la programmation linéaire donné par le Dr. Ali DERBALA

Travaux pratiques avec RapidMiner

Indications pour une progression au CM1 et au CM2

Ordonnancement. N: nains de jardin. X: peinture extérieure. E: électricité T: toit. M: murs. F: fondations CHAPTER 1

RÉSOLUTION DE SYSTÈMES À DEUX INCONNUES

Exercice numéro 1 - L'escalier

Les indices à surplus constant

Notice d Utilisation du logiciel Finite Element Method Magnetics version 3.4 auteur: David Meeker

Introduction à la théorie des graphes

Plan. 5 Actualisation. 7 Investissement. 2 Calcul du taux d intérêt 3 Taux équivalent 4 Placement à versements fixes.

Corrigé des TD 1 à 5

MODE D'EMPLOI DE LA CALCULATRICE POUR LES COURTS SÉJOURS DANS L'ESPACE SCHENGEN

V- Manipulations de nombres en binaire

Primaire. analyse a priori. Lucie Passaplan et Sébastien Toninato 1

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Les Conditions aux limites

PRIME D UNE OPTION D ACHAT OU DE VENTE

TP1 Méthodes de Monte Carlo et techniques de réduction de variance, application au pricing d options

Utilisez Toucan portable pour vos sauvegardes

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1

Baccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé

1 Recherche en table par balayage

L E Ç O N. Marches aléatoires. Niveau : Terminale S Prérequis : aucun

Jean-Philippe Préaux

Principe de symétrisation pour la construction d un test adaptatif

Math 5 Dallage Tâche d évaluation

FctsAffines.nb 1. Mathématiques, 1-ère année Edition Fonctions affines

Optimisation Combinatoire (Méthodes approchées) II. Recherche Locale simple (Les bases)

Transcription:

Colorations des sommets Complément au chapitre 7 «L homme à la cagoule» et au chapitre 9 «L apprentie sudokiste» En 1852, le jeune anglais Francis Guthrie s'est demandé s'il est toujours possible de colorer une carte de géographie à l'aide de quatre couleurs, en respectant la condition que deux pays voisins ne soient pas recouverts par la même couleur. Ce n'est qu'en 1976 que deux chercheurs américains, K. Appel et W. Haken, de l'université de l'illinois, ont pu répondre affirmativement à cette conjecture des quatre couleurs. Plus d'un siècle s'est donc écoulé entre l'énoncé et la résolution de ce problème en apparence très simple. Tout au long de ces années, les chercheurs ne sont bien sûr pas restés inactifs et de nombreuses tentatives de démonstration de la conjecture ont donné lieu à de nouveaux développements mathématiques ainsi qu'à une formulation du problème en termes de graphes. La carte à colorer a été remplacée par un graphe, chaque pays étant représenté par un sommet et deux pays voisins étant reliés par une arête. Définition Une «coloration des sommets» d un graphe G est une affectation de couleurs aux sommets telle que chaque arête de G ait ses deux extrémités de couleur différente. On cherche généralement à déterminer une coloration utilisant aussi peu de couleurs que possible. Le plus petit nombre de couleurs nécessaire pour colorer les sommets d'un graphe G est appelé «le nombre chromatique» de G et est noté χ(g). On peut aussi colorer les arêtes en évitant que des arêtes incidentes à un même sommet aient la même couleur. C est ce que nous avons déjà défini dans le chapitre traitant de couplages. Définition Une «coloration des arêtes» d un graphe G est une affectation de couleurs aux arêtes telle que les arêtes ayant une extrémité en commun soient de couleur différente. On cherche généralement à déterminer une coloration utilisant aussi peu de couleurs que possible. Le plus petit nombre de couleurs nécessaires pour colorer les arêtes d un graphe G s appelle «l indice chromatique» de G et est noté q(g). Reprenons l exemple de coloration des arêtes vu dans un chapitre précédent. On doit réaliser 5 tâches T 1, T 2, T 3, T 4 et T 5, chacune de ces tâches ayant une durée d une journée. Les tâches T 1 et T 2 doivent être réalisées par l employé E 1, les tâche T 3 et T 4 par l employé E 2 et la tâche T 5 par l employé E 3. Les tâches T 1 et T 3 requièrent la machine M 1, les tâches T 2 et T 4 la machine M 2 et la tâche T 5 la machine M 3. Sachant que chaque employé ne peut réaliser qu une tâche à la fois et que chaque machine ne peut être utilisée que par un employé à la fois, combien de jours faut-il au minimum pour réaliser ces 5 tâches? Ce problème est équivalent à une coloration des arêtes du graphe ci-dessous à l aide d un nombre minimum de couleurs, de telle sorte que les arêtes qui se touchent aient des

couleurs différentes. Chaque couleur correspond à un jour. Il faut donc 2 jours. Par exemple, on peut faire les tâches T 1, T 4 et T 5 le 1 er jour, et les tâches T 2 et T 3 le 2 ème jour. Considérons maintenant le même problème avec une contrainte supplémentaire. Les tâches T 2, T 3 et T 5 monopolisent l unique engin filoguidé de l entreprise, et cet engin ne peut pas aider à la réalisation de deux tâches simultanément. Le nombre minimum de jours nécessaires à la réalisation des 5 tâches peut être déterminé en colorant les sommets du graphe ci-dessous en un nombre minimum de couleurs, de telle sorte qu aucune arête n ait ses deux extrémités de même couleur. À nouveau, chaque couleur correspond à un jour. Il faut donc 3 jours. Par exemple, on peut faire les tâches T 1, T 4 et T 5 le premier jour, la tâche T 2 le deuxième jour et la tâche T 3 le troisième jour. En fait, de nombreux problèmes concrets se ramènent à la recherche d'une partition d'un ensemble d'objets en sous-ensembles ne comportant que des éléments compatibles deux à deux. Par exemple, la détermination d'un horaire scolaire est une partition du temps en périodes durant lesquelles seuls des cours pouvant avoir lieu simultanément y sont donnés. On peut modéliser ce genre de problème en termes de coloration des sommets d'un graphe : les sommets sont les objets de la partition et les arêtes représentent les incompatibilités entre les objets. Pour l'exemple de l'horaire scolaire, les sommets sont les cours devant être placés dans la grille horaire, et on relie deux cours par une arête si ces cours ne peuvent pas être donnés simultanément (parce qu'ils concernent un même enseignant, s'adressent aux mêmes étudiants, ou doivent être donnés dans une même salle). Le problème de la coloration des arêtes d un graphe a été traité dans un chapitre précédent. Nous nous intéressons ici à la détermination du nombre chromatique. Remarquons qu en considérant le graphe de ligne L(G) d un graphe G on a bien évidemment que colorer les arêtes de G est équivalent à colorer les sommets de L(G). L indique chromatique de G est donc égal au nombre chromatique de son graphe de ligne, ce qui s écrit : q(g) = χ(l(g))

Définition Une «clique» dans un graphe est un ensemble de sommets tous reliés 2 à 2. La taille de la plus grande clique dans un graphe G se note ω(g). Étant donné que les sommets d une clique doivent tous avoir des couleurs différentes, on déduit que le nombre chromatique χ(g) de G ne peut pas être inférieur à ω(g). Il peut par contre est strictement supérieur, comme c est le cas par exemple pour le pentagone. En effet, il faut χ(g)=3 couleurs pour colorer ses sommets alors que ω(g)=2. Comme autre exemple, nous pouvons donner le graphe défini par Manori pour déterminer le coupable du braquage à l épicerie de Madame Rossier. Manori a démontré que bien que ce graphe ne contienne aucune clique à 4 sommets, son nombre chromatique est supérieur à 3. En fait, on ne peut le colorer en 3 couleurs que si on ôte le sommet I. Pour rappel, Vizing a démontré que l indique chromatique est toujours au plus égal au plus grand degré + 1, c est-à-dire q(g) (G)+1. Nous pouvons faire les observations suivantes : un ensemble d arêtes dans G ayant toutes une extrémité en commun correspond à une clique dans son graphe de ligne L(G), ce qui montre que ω(l(g)) (G); si L(G) n est pas un triangle, une clique dans L(G) correspond à un ensemble d arêtes toutes incidentes à un même sommet dans G, ce qui montre que (G) ω (L(G)).

En résumé, si L(G) n est pas un triangle, on a (G)=ω(L(G)). Si L(G) est un triangle, tel que déjà constaté dans un autre chapitre, et tel qu illustré à nouveau ci-dessous, il se peut que G soit également un triangle, dans quel cas, 2= (G) < ω(l(g))=3. Étant donné que q(g)=χ(l(g)), le résultat démontré par Vizing peut donc se réécrire comme suit : χ(l(g)) ω(l(g))+1. Par le raisonnement ci-dessus, ce résultat est vrai si L(G) n est pas un triangle. Il est également vrai si L(G) est un triangle puisque dans ce cas, 3=χ (L(G)) < ω (L(G))+1=4. En d autres termes, nous venons de voir que le nombre chromatique d un graphe de ligne n est jamais beaucoup plus grand que la taille de sa plus grande clique. Ce résultat n est cependant plus valable pour les graphes quelconques. En effet, il a été démontré que l écart entre χ(g) et ω(g) peut être aussi grand qu on peut l imaginer. Voici un exemple où χ(g) = ω(g)+2. Ce graphe a été construit comme suit. On a tout d abord considéré deux pentagones, l un constitué des sommets a,b,c,d,e et l autre des sommets A,B,C,D,E. On a ensuite rajouté une arête entre tous les sommets du premier pentagone et ceux du deuxième pentagone. Étant donné qu il faut 3 couleurs pour colorer un pentagone, il faut 6 couleurs pour colorer ce graphe. Aussi, la plus grande clique dans un pentagone contient 2 sommets, ce qui signifie que la plus grande clique dans le graphe en entier est de taille 4. En résumé, on a χ(g)=6=4+2=ω(g)+2. Le problème de la détermination du nombre chromatique d'un graphe G est difficile à résoudre. Les meilleurs algorithmes exacts connus à ce jour ne permettent pas de

déterminer le nombre chromatique de graphes ayant plus de 100 sommets. Ces problèmes peuvent par contre être plus faciles pour certaines familles de graphes. Par exemple, pour un graphe biparti comportant au moins une arête, on sait que χ(g)=2 puisqu on peut attribuer une couleur à l une des parties de la partition de V, et une autre couleur à la deuxième partie. Nous avons également vu qu il est facile de colorer un graphe d intervalles. Pour un gros graphe quelconque, on n a pas d autre choix que de recourir aux heuristiques qui donnent des solutions de qualité raisonnable en des temps raisonnables. Nous présentons ici quelques unes de ces heuristiques. Les méthodes constructives de coloration des sommets d un graphe parcourent séquentiellement les sommets, en attribuant à chaque sommet la plus petite couleur possible (les couleurs sont numérotées). La qualité de la solution ainsi obtenue dépend fortement de l'ordre dans lequel les sommets sont considérés. Celui-ci peut être choisi a priori ou alors construit de manière dynamique. Il est important de remarquer que tout graphe possède un ordre des sommets à partir duquel la méthode constructive produit une coloration en un nombre minimum de couleurs. Pour s'en convaincre, il suffit de considérer une coloration du graphe G en χ(g) couleurs et d'ordonner les sommets de G en prenant d'abord les sommets de couleur 1, puis ceux de couleur 2, et ainsi de suite. Propriété Une méthode constructive n utilisera jamais plus de (G)+1 couleurs. Preuve Quand on colore un sommet, un maximum de (G) couleurs peuvent déjà apparaître dans son voisinage. Il est intéressant de noter qu un algorithme de coloration séquentielle peut se tromper sur le graphe suivant qui ne contient que 4 sommets. En effet, si on colore ce graphe avec l odre a,d,b,c, on donnera la couleur 1 à a et d, la couleur 2 à b et la couleur 3 à c. Ce graphe peut pourtant facilement être coloré à l aide uniquement de 2 couleurs (couleur 1 pour a et c et couleur 2 pour b et d). Ce graphe est noté P 4 de l anglais (Path on 4 vertices) car c est une chaîne sur 4 sommets. Il a été démontré (par Chvátal) que si un graphe ne contient aucun quadruplet de sommets a,b,c,d ayant la structure d un P 4 (c est-à-dire que a est relié à b mais pas à c et d, b est relié aussi à c mais pas à d. et c est également relié à d), alors l algorithme séquentiel produira une coloration optimale en χ(g) couleurs, quel que soit l ordre utilisé. Les méthodes de coloration constructives les plus répandues peuvent être décrites comme suit. Tout d abord, parmi les méthodes constructives basées sur des ordres statiques, les plus connues sont les suivantes : RANDOM Les sommets sont triés de manière aléatoire. LF (Largest First) Les sommets sont triés par ordre de degré non croissant.

SL (Smallest Last) L'ordre v 1,v 2,,v V des sommets est tel que v i a le plus petit degré dans le graphe ne contenant plus que les sommets v 1,v 2,,v i. Illustration Coloration avec l algorithme LF Coloration avec l algorithme SL Étant donnée une coloration partielle de G, définissons le degré de saturation DSAT(v) d'un sommet v dans G comme le nombre de couleurs différentes déjà affectées aux sommets voisins de v. Étant donné un sous-ensemble W de sommets dans G, DEG W (v) mesure le nombre de sommets w dans W qui sont voisins de v. Dans ce qui suit, le sousensemble A de sommets correspond à l'ensemble des sommets qui ne sont pas encore colorés. Parmi les méthodes constructives basées sur des ordres dynamiques, la plus utilisée est la suivante : DSATUR L'ordre des sommets est construit en choisissant à chaque étape le sommet v de A qui maximise DSAT(v). Si deux sommets v et w ont le même degré de saturation, v précède w pour autant que DEG A (v) DEG A (w). Illustration Coloration avec l algorithme DSATUR Le tableau ci-dessous donne quelques indications sur les performances de ces quatre heuristiques lorsqu'on les applique à des graphes générés aléatoirement. Nous notons G n,d un graphe aléatoire formé de n sommets et dans lequel chaque arête a une probabilité d d'exister, indépendamment des autres arêtes. La probabilité d est appelée la densité du graphe. Tous les résultats du tableau ci-dessous sont des moyennes calculées sur dix

graphes aléatoires. Nous donnons pour chaque heuristique le nombre moyen de couleurs utilisées pour colorer le graphe G n,d considéré. n d RANDOM LF SL DSATUR 100 300 500 1000 17.60 21.35 26.20 39.00 48.20 61.00 57.20 72.40 91.40 99.50 126.50 160 16.10 20.15 24.50 37.10 46.00 58.20 56.00 69.20 87.60 96.50 122.00 155.00 16.65 20 24.85 38.10 46.80 58.90 56.80 71.80 89.60 97.00 124.50 157.00 14.70 18.45 22.60 34.30 43.30 53.70 51.00 65.00 82.80 92.00 116.00 146.50 Pour des graphes aléatoires d'au plus 1000 sommets, toutes ces méthodes ont des temps de calcul de l'ordre de la seconde. Notons qu il existe des algorithmes beaucoup plus efficaces, mais plus lourds à implanter. Par exemple, pour le graphe à 1000 sommets et densité, les résultats du tableau ci-dessus se situent entre 116 et 127 couleurs alors que les meilleurs algorithmes connus à ce jour parviennent à déterminer des colorations de ces mêmes graphes en 82 couleurs (mais avec quelques heures de calcul). Nous terminons ce chapitre en reparlant de Manori qui a utilisé la coloration des sommets d un graphe pour trouver la solution au premier sudoku qui lui a été soumis par la jeune Lei. En fait, tout problème de sudoku revient à colorer un graphe à 81 sommets en 9 couleurs avec quelques sommets ayant déjà une couleur imposée. Ce graphe contient un sommet par case et deux sommets sont reliés par une arête s ils correspondent à des cases se trouvant sur la même ligne, la même colonne ou le même carré 3x3 de la grille. Pour la grille proposée par Lei, Manori ne considère que 6 cases particulières représentées ci-dessous. 5 7 6 3 1 A B 9 F 5 C 1 9 5 E 4 D 3 7 6 7 1 3 Manori remarque que ces 6 cases ne peuvent recevoir que les chiffres 2, 4 et 8. Il doit donc colorer ce graphe en 3 couleurs, l une représentant le 2, une autre pour le 4 et une dernière pour le 8. Il fait ensuite remarquer que la seule solution possible attribue une même couleur à A et C, une 2 ème couleur à B et D, et finalement une 3 ème à E et F. Il suffit alors d observer que les cases D et E ne peuvent pas recevoir le chiffre 4 pour conclure que la couleur représentant le chiffre 4 ne peut être attribuée qu aux cases A et C.