520 likes | 698 Views
Cours de graphes. Coloriage de graphes. Problème des 4 couleurs, graphes planaires. Théorème de Vizing. Applications. Les grandes lignes du cours. Définitions de base Connexité Les plus courts chemins Dijkstra et Bellmann-Ford Arbres Arbres de recouvrement minimaux Problèmes de flots
E N D
Cours de graphes • Coloriage de graphes. • Problème des 4 couleurs, graphes planaires. • Théorème de Vizing. • Applications. Cours de graphes 5 - Intranet
Les grandes lignes du cours • Définitions de base • Connexité • Les plus courts chemins • Dijkstra et Bellmann-Ford • Arbres • Arbres de recouvrement minimaux • Problèmes de flots • Coloriage de graphes, graphes planaires • Couplage • Chemins d’Euler et de Hamilton • Problèmes NP-complets Cours de graphes 5 - Intranet
Coloriage de graphes----------------------------------------------------------------- • Coloriage des sommets d’un graphe : • Deux voisins ne doivent pas avoir la même couleur ! • Il faut minimiser le nombre de couleurs ! Solution avec 5 couleurs ! Cours de graphes 5 - Intranet
Coloriage de graphes----------------------------------------------------------------- • Coloriage des sommets d’un graphe : • Deux voisins ne doivent pas avoir la même couleur ! • Il faut minimiser le nombre de couleurs ! • Le minimum de couleurs nécessaires est le nombre chromatique d’un graphe G, noté « c ( G ) »(lettre grecque chi de « crwma », qui signifie couleur). Mais 2 couleurs suffisent ! Cours de graphes 5 - Intranet
Coloriage de graphes----------------------------------------------------------------- • Application : téléphonie mobile ! • Il faut assurer la continuité de services entre émetteurs ! • Les régions de couverture doivent donc se chevaucher, mais ne doivent pas générer d’interférences ! • Chaque émetteur offre plusieurs fréquences (couleurs) qui sont différentes de celles utilisées par sesvoisins ! M Cours de graphes 5 - Intranet
Coloriage de graphes----------------------------------------------------------------- • Application : téléphonie mobile ! • Il faut assurer la continuité de services entre émetteurs ! • Les régions de couverture doivent donc se chevaucher, mais ne doivent pas générer d’interférences ! • Chaque émetteur offre plusieurs fréquences (couleurs) qui sont différentes de celles utilisées par sesvoisins ! Cours de graphes 5 - Intranet
Coloriage de graphes----------------------------------------------------------------- • Coloriage des arêtes d’un graphe : • Deux arrêtes adjacentes ne doivent pas avoir la même couleur ! • Il faut minimiser le nombre de couleurs ! Solution avec 6 couleurs ! Cours de graphes 5 - Intranet
Coloriage de graphes----------------------------------------------------------------- • Coloriage des arêtes d’un graphe : • Deux arrêtes adjacentes ne doivent pas avoir la même couleur ! • Il faut minimiser le nombre de couleurs ! Mais 4 couleurs suffisent ! Cours de graphes 5 - Intranet
Coloriage de graphes----------------------------------------------------------------- • Application : emplois du temps ! Oraux ! Profs Elèves Créneaux horaires sous forme de couleurs ! Cours de graphes 5 - Intranet
Le problème des 4 couleurs----------------------------------------------------------------- L E P R O B L E M E D E S Q U A T R E C O U L E U R S ! ! ! Cours de graphes 5 - Intranet
Le problème des 4 couleurs----------------------------------------------------------------- • En 1852, Francis Guthrie pose la question de savoir si toute mappemonde peut être coloriée avec 4 couleurs au plus ? En termes de graphes ! C’est un problème de coloriage des sommets d’un graphe ! Cours de graphes 5 - Intranet
Le problème des 4 couleurs----------------------------------------------------------------- • Nous devons considérer une partie des graphes planaires ! • Un graphe est planaire s’il peut • être dessiné dans le plan sans • que des arêtes ne se croisent ! • La famille à analyser est difficile à caractériser ! On démontre vite que 5 couleurs suffisent, puis il faut attendre un siècle ! • En 1976, Appel & Haken prouvent que 4 couleurs suffisent, en étudiant 1476 graphes critiques par ordinateur !Depuis, on a pu simplifier le programme et se ramener à633 cas à étudier. • Question chez les matheux : La preuve est-elle acceptable ??? • On peut construire un 4-coloriage en temps O ( | V |^2 ) ! Cours de graphes 5 - Intranet
Les graphes planaires----------------------------------------------------------------- L E S G R A P H E S P L A N A I R E S ! ! ! Cours de graphes 5 - Intranet
Les graphes planaires----------------------------------------------------------------- • Est-ce que ce graphe est planaire ? • Est-ce que ce graphe est planaire ? OUI ! C’est le graphe bi-parti complet 3 – 3 : K ! 3,3 NON, il y aura toujours un problème pour une arête ! Cours de graphes 5 - Intranet
Les graphes planaires----------------------------------------------------------------- • Le graphe complet à 5 sommets, K , n’est pas planaire ! 5 Le voilà ! Cours de graphes 5 - Intranet
Les graphes planaires----------------------------------------------------------------- • Deux graphes sont homéomorphes si l’un peut être obtenu à partir l’autre par insertion de sommets de degré 2 ! Cours de graphes 5 - Intranet
Les graphes planaires----------------------------------------------------------------- • Théorème (Kuratowski, 1930) : • Un graphe est planaire si et seulement s’il ne contient pas de sous-graphe homéomorphe à K ou à K ! 3,3 5 Planaire ou non ? NON ! K 3,3 Cours de graphes 5 - Intranet
Les graphes planaires----------------------------------------------------------------- • Un graphe G peut se contracter en un graphe G’ de la façon suivante : G G’ G G’ Cours de graphes 5 - Intranet
Les graphes planaires----------------------------------------------------------------- • Théorème : • Un graphe est planaire si et seulement s’il ne contient pas de sous-graphe qui se contracte vers K ou vers K ! 3,3 5 Planaire ou non ? Sous-graphe ! Cours de graphes 5 - Intranet
Les graphes planaires----------------------------------------------------------------- • Théorème : • Un graphe est planaire si et seulement s’il ne contient pas de sous-graphe qui se contracte vers K ou vers K ! 3,3 5 Planaire ou non ? Contraction ! Sous-graphe ! Cours de graphes 5 - Intranet
Les graphes planaires----------------------------------------------------------------- • Théorème : • Un graphe est planaire si et seulement s’il ne contient pas de sous-graphe qui se contracte vers K ou vers K ! 3,3 5 Planaire ou non ? NON ! K 3,3 Sous-graphe ! Cours de graphes 5 - Intranet
Les graphes planaires----------------------------------------------------------------- • Attention : • Nous n’avons pas encore dit comment il faut faire concrètement pour trouver une représentation planaire d’un graphe qui l’est ! • Applications : • Organisation de circuits électroniques ! Cours de graphes 5 - Intranet
Coloriage des sommets----------------------------------------------------------------- C O L O R I A G E D E S S O M M E T S ! ! ! Cours de graphes 5 - Intranet
Coloriage des sommets----------------------------------------------------------------- taille_clique_max ( G ) <= c ( G ) <= D ( G ) + 1 Une clique est un sous-ensemble de sommets qui sont voisins 2 à 2. Les sommets d’une clique doivent tous avoir des couleurs différentes ! Le nombre chromatique du graphe est au moins aussi grand que la taille de la plus grande clique ! Cours de graphes 5 - Intranet
Coloriage des sommets----------------------------------------------------------------- taille_clique_max ( G ) <= c ( G ) <= D ( G ) + 1 Il est clair que D ( G ) + 1 couleurs suffisent ! Nous pouvons trouver une couleur pour tout sommet, même si tous ses voisins ont déjà des couleurs et que celles-ci sont toutes différentes ! Cours de graphes 5 - Intranet
Coloriage des sommets----------------------------------------------------------------- Montrons que cet encadrement ne peut pas être amélioré ! = = taille_clique_max ( G ) <= c ( G ) <= D ( G ) + 1 Cours de graphes 5 - Intranet
Coloriage des sommets----------------------------------------------------------------- Montrons que cet encadrement ne peut pas être amélioré ! = << taille_clique_max ( G ) <= c ( G ) <= D ( G ) + 1 Cours de graphes 5 - Intranet
Coloriage des sommets----------------------------------------------------------------- Montrons que cet encadrement ne peut pas être amélioré ! < = taille_clique_max ( G ) <= c ( G ) <= D ( G ) + 1 En construction ! Cours de graphes 5 - Intranet
Coloriage des sommets----------------------------------------------------------------- Montrons que cet encadrement ne peut pas être amélioré ! < = taille_clique_max ( G ) <= c ( G ) <= D ( G ) + 1 Le voilà ! Cours de graphes 5 - Intranet
Coloriage des sommets----------------------------------------------------------------- • La question de savoir si • un graphe « G » peut être colorié à l’aide de « k » couleurs au plus • est NP-complète ! ! ! • Le problème de • minimiser le nombre de couleurs pour colorier un graphe « G » • est NP-difficile ! ! ! Cours de graphes 5 - Intranet
Coloriage des sommets----------------------------------------------------------------- • Une politique locale ne convient pas ! • Soit le cas ci-dessous, avec un choix à faire pour « u » ! • Une minimisation locale veut que « u » soit « rouge » ! ! ! 5 couleurs ! u Cours de graphes 5 - Intranet
Coloriage des sommets----------------------------------------------------------------- • Une politique locale ne convient pas ! • Soit le cas ci-dessous, avec un choix à faire pour « u » ! • Il fallait une nouvelle couleur pour « u » : « bleu » ! ! ! 3 couleurs ! u Une roue avec un nombre impair de sommets et un rayon qui manque ! Cours de graphes 5 - Intranet
Coloriage des sommets----------------------------------------------------------------- • Principe d’une énumération complète ! • Nous avons une solution avec « m » couleurs, D( G ) + 1 au début ! • Certains sommets ont déjà des couleurs ! • « C » est l’ensemble des couleurs déjà utilisées ! • Nous back-trackons pour un sommet « u » en • explorant pour « u » le choix de toutes les couleurs de « C » qui ne sont pas prises par un de ses voisins, • en attribuant une nouvelle couleur à « u », à moins que ceci ne nous amène à utiliser plus que « m » couleurs ! Cours de graphes 5 - Intranet
Coloriage des sommets----------------------------------------------------------------- • Heuristique de coloriage ! • Nous renonçons à la solution optimale et nous nous contentons d’une solution pas trop mauvaise trouvée de manière gloutonne ! • Nous considérons les sommets dans un ordre pré-défini : • aléatoire, • plus grand degré d’abord, • plus au centre d’abord, • . . . • Le sommet va rejoindre un ensemble de sommets de la même couleur que lui, si c’est possible (sinon, nous créons une nouvelle couleur) : • aléatoire, • l’ensemble le plus grand ( largest independent set ), • l’ensemble le plus petit ( utilisation équilibrée des couleurs), • . . . Cours de graphes 5 - Intranet
Graphes bi-partis----------------------------------------------------------------- G R A P H E S B I – P A R T I S ! ! ! Cours de graphes 5 - Intranet
Graphes bi-partis----------------------------------------------------------------- • Un graphe est bi-parti si ses sommets peuvent être coloriés à l’aide de deux couleurs seulement ! • Les arbres sont des graphes bi-partis ! • Théorème ( TD ) : Un graphe est bi-parti si et seulement si tous ses cycles sont de longueurs paires ! Aucun sommet n’est relié à un autre sommet de même couleur ! Cours de graphes 5 - Intranet
Coloriage des arêtes----------------------------------------------------------------- C O L O R I A G E D E S A R E T E S ! ! ! Cours de graphes 5 - Intranet
Coloriage des arêtes----------------------------------------------------------------- • Minimisation des couleurs ! • Il faut au moins D ( G ) couleurs ! • En effet, il existe un sommet dans « G » avec « D( G ) » voisins ! • Maximisation des couleurs ! • D ( G ) + 1 couleurs suffisent ! ! ! • Théorème de Vizing (1964) ! • L’algorithme de coloriage est en Q( | E | ) ! Est-ce D ( G ) ou D ( G ) + 1 ? ? ? C'est N P - c o m p l e t ! ! ! Cours de graphes 5 - Intranet
Coloriage des arêtes----------------------------------------------------------------- T H E O R E M E D E V I Z I N G ! ! ! Cours de graphes 5 - Intranet
Coloriage des arêtes----------------------------------------------------------------- • Coloriage de G = ( V , { e , . . . , e } ) avec D( G ) + 1 couleurs ! • L’hypothèse : • G = ( V , { e , . . . , e } ) est colorié ! • Nous étendons ce coloriage vers G en coloriant e ! • Notation : • Abs( u ) est l’ensemble des couleurs absentes du sommet « u » ! • Abs( u ) n’est jamais vide ! ! ! 1 m i-1 1 i-1 i i Cours de graphes 5 - Intranet
Coloriage des arêtes----------------------------------------------------------------- v 1 • Soit e = ( v , w ) ! • Premier cas, favorable : • Il existe une couleur « c » avec c e Abs( v ) Abs( w ) ! • Utilisons donc cette couleur ! ! ! • Deuxième cas, défavorable : • Abs( v ) Abs( w ) est vide ! • Soit c e Abs( v ) ! • Donc, c e Abs ( w ) ! • Il existe v tel que ( v , w )ait la couleur c ! i 1 w v 1 Sans c v 1 v 1 2 v 1 ? c 1 1 1 w / 1 2 2 1 Cours de graphes 5 - Intranet
Coloriage des arêtes----------------------------------------------------------------- Sans c v 1 v • Que faire ? ? ? • Nous essayons de • trouver une couleur « c » avec c e Abs( v ) Abs( w ) ! • Nous utilisons cette couleur à la place de c ! ! ! • c peut être utilisée pour ( v , w ) ! ! ! 1 2 c c 1 c XX 1 w v 2 1 1 1 Sans c Sans c v v 1 1 v v 1 1 2 2 c devient ? c 1 c c XX 1 1 w w c Cours de graphes 5 - Intranet
Coloriage des arêtes----------------------------------------------------------------- Sommes-nous toujours à même de trouver ? ? ? • Que faire si • Abs( v ) Abs( w ) est vide ? • Soit c e Abs( v ) ! • Donc, c e Abs ( w ) ! • Il existe v tel que ( v , w )ait la couleur c ! v 2 2 2 / 2 3 3 2 Sans c 2 Sans c v 1 v 1 2 Nous cherchons . . . ? c 1 w v 3 c 2 Cours de graphes 5 - Intranet
Coloriage des arêtes----------------------------------------------------------------- • La pire des situations . . . L'arité des sommets est limitée ! ! ! Sans c 2 Sans c v 1 v 1 2 ? c 1 c etc, etc, . . . w 1 v 3 c 2 Sans c 3 Justement pas ! ! ! c 3 c 1 v 4 c 2 Cours de graphes 5 - Intranet
Coloriage des arêtes----------------------------------------------------------------- • Pour v , . . . , v et c , . . . , c couleurs différentes : 1 h 1 h-1 ( C1 ) : 1 <= j <= h-1 : c e Abs( v ) et ( v , w ) de couleur c Sans c 1 Sans c 2 v v j j 1 2 j j+1 ? c 1 c w 1 ( C2 ) : 1 <= j <= h-1 : Abs( v ) Abs( w ) est vide v 3 c 2 Sans c v j 3 c 3 ( C3 ) : 2 <= j <= h-1 : { c , . . . , c } Abs( v ) est vide c 1 v v 1 j-1 j 4 c 2 Et pour v ? ? ? h Cours de graphes 5 - Intranet
Coloriage des arêtes----------------------------------------------------------------- • Si v vérifie ( C2 ) et ( C3 ), nous aurons aussi ( C1 ) et il existera v tel que . . . • Or, l’arité des v est bornée et, tôt ou tard, ( C2 ) ou ( C3 ) ne seront plus vérifiées ! • Cas A, la négation de ( C2 ), facile : • Il existe c telle que c e Abs( v ) Abs( w ) h h+1 i v 0 0 h v v v v 1 1 2 2 . . . . . . ? ? devient c c 1 1 w w v v h h c c h-1 h-1 c pour ( v , w ) et c pour ( v , w ) , 1 <= i < h. 0 h i i c 0 Cours de graphes 5 - Intranet
Coloriage des arêtes----------------------------------------------------------------- • Cas B, la négation de ( C3 ), plus difficile : • Il existe c , 1 <= s < h-1 , telle que c e Abs( v ) s s h . . . v u u s 1 t c c c 0 s s-1 v . . . v Soit c e Abs( w ) 1 s+1 0 . . . ? c s w v Sans c Pas d’arête rouge ! h c 0 h-1 Soit P = { v , u , . . . , u } le chemin le plus long constitué d’arêtes de couleurs c et c ! s 1 t 0 s Cours de graphes 5 - Intranet
Coloriage des arêtes----------------------------------------------------------------- • Cas B, la négation de ( C3 ), plus difficile : • Il existe c , 1 <= s < h-1 , telle que c e Abs( v ) s s h Sans c . . . s v u u s 1 t c c c 0 s s-1 v . . . v Soit c e Abs( w ) 1 s+1 0 . . . ? c s / w w = u w = u v Sans c Pas d’arête rouge ! h c 0 t t h-1 P n’est pas vide, simple et de longueur finie ! ! ! Ce n’est pas un cycle : v = u ! ! ! / s t w = u , . . . , w = u , car c e Abs( w ) ! ! ! / / 1 t-1 0 Cours de graphes 5 - Intranet
Coloriage des arêtes----------------------------------------------------------------- • Cas B, la négation de ( C3 ), plus difficile : • Il existe c , 1 <= s < h-1 , telle que c e Abs( v ) s s h Sans c . . . s v u u s 1 t c c c s 0 s-1 v c . . . v Notons que u peut être égal à v . Soit c e Abs( w ) 1 t s+1 0 h 0 . . . ? c s / w w = u v Sans c Pas d’arête rouge ! h c 0 t h-1 Echangeons les couleurs c et c le long de P ! 0 s ( Cas a ) Utilisons c pour ( v , w ) et décalons les autres ! s 0 Cours de graphes 5 - Intranet
Coloriage des arêtes----------------------------------------------------------------- • Cas B, la négation de ( C3 ), plus difficile : • Il existe c , 1 <= s < h-1 , telle que c e Abs( v ) s s h Sans c . . . s v u u s 1 t c c c 0 s s-1 v . . . v Soit c e Abs( w ) 1 s+1 0 . . . ? c s w w = u v Sans c Pas d’arête rouge ! h c 0 t h-1 ( Cas b ) Cours de graphes 5 - Intranet