Examen médian RO03 - Mai 2011 - Jacques Carlier Un problème sur la coloration des graphes. Introduction. Les problèmes de coloration de graphes apparaissent dans de nombreux contextes. Un premier exemple est celui de la planification d'une session d'examens d'une université. Si V est l'ensemble des cours et si une arête lie deux cours ayant au moins un étudiant en commun, le nombre chromatique est le nombre minimum de périodes permettant de planifier des examens, de telle sorte que chaque étudiant puisse passer tous ses examens. Un deuxième exemple bien connu est celui de la coloration des pays d'une carte de géographie, de telle sorte que deux pays voisins, c'est-à-dire ayant une frontière commune, soient de couleurs différentes. La conjecture de Petersen affirme que l'on peut toujours colorier une telle carte avec quatre couleurs. Rappelons qu'elle a été démontrée avec l'aide d'un ordinateur. Formellement, dans la suite G=(V,E) désigne un graphe non orienté sans boucle. Définitions • Une k-coloration d'un graphe G est un étiquetage f des sommets de G avec les couleurs 1,2, 3,...,k (c'est-àdire, f : V→{1,...,k}), de telle sorte que deux sommets adjacents soient de couleurs distinctes. • Le nombre chromatique χ(G) est le nombre minimum k pour lequel G a une k-coloration. Question 1 : exemples élémentaires (4 pts) Dans la suite, on pourra utiliser les couleurs B, R, V, J, ... plus commodes que 1, 2, ..., k. 1 1 2 5 5 4 5-cycle a) b) c) d) e) f) g) 2 3 3 4 K5 Graphe de Petersen Quel est le nombre chromatique du 5-cycle ? Justifier. Quel est le nombre chromatique du 2p+1 - cycle (p∈N) ? Justifier. Quel est le nombre chromatique de la clique K5 ? Justifier. Quel est le nombre chromatique de la clique Kn ? Justifier. Quel est le nombre chromatique du graphe de Petersen ? Justifier. Quel est le nombre chromatique d'un graphe biparti ? Justifier. Donner un majorant du nombre chromatique d'un graphe planaire. Expliquer en utilisant un résultat du cours. h) Quel est le nombre chromatique du graphe ci-dessous ? On essaiera de le colorer avec 3 couleurs en commençant par les sommets d'une 3 clique. Question 2 : Quelques résultats de complexité (4 pts) a) A quelle condition un graphe est-il 1-colorable ? b) Quelle est la complexité en fonction de n pour tester si un graphe est 2-colorable ? Expliquer. c) Pour tester si un graphe est 3-colorable, on énumère toutes les 3-colorations possibles. Evaluer la complexité d'une telle méthode en fonction de n, en justifiant votre réponse. d) Tester si un graphe est 3-colorable est un problème NP-difficile. Expliquer pourquoi ce résultat théorique n'est pas en contradiction avec la réponse de c). Question 3 : Une méthode heuristique (7 pts) Le problème de la détermination d'une coloration minimale est NP-difficile. C'est pourquoi, on va se contenter d'une méthode heuristique : l'algorithme GLOUTON. Algorithme GLOUTON { les couleurs sont ici les nombres 1, 2, 3, ...} • Décider d'un ordre v1, v2, ..., vn sur les sommets de G. • Associer à G la coloration obtenue en colorant les sommets dans cet ordre : on assigne au sommet vi la couleur de plus petit indice k non encore utilisée par ses sommets adjacents déjà colorés. d G1 c b a b e f g e a d G2 f c Appliquer l'algorithme GLOUTON aux graphe G1 et G2 en prenant l'ordre alphabétique. GLOUTON est-il optimal pour G1 ? pour G2 ? GLOUTON est-il optimal pour tout graphe ? Est ce surprenant ? On se place dans le cas général et on suppose que le graphe G est représenté par la matrice associée. Quelle est alors la complexité de l'algorithme GLOUTON en fonction de n ? Justifier. e) Proposer une meilleure structure de données. Quelle est alors la complexité résultante en fonction de m ? Justifier. a) b) c) d) Question 4 : Propriétés théoriques (5 pts) a) Montrer rigoureusement que le nombre de couleurs utilisées par l'algorithme GLOUTON est inférieur ou égal à ∆(G)+1, où ∆(G) est le plus grand degré d'un sommet de G. b) En déduire que χ(G)≤∆(G)+1. c) Montrer qu'il existe une numérotation des sommets pour laquelle l'algorithme GLOUTON détermine une solution optimale.