30 mars 2007Cours de graphes 9 - Intranet1 Cours de graphes Quelques applications.
Cours de graphes
description
Transcript of Cours de graphes
21 mars 2006 Cours de graphes 5 - Intranet 1
Cours de graphes
Coloriage de graphes.
Problème des 4 couleurs, graphes planaires.
Théorème de Vizing.
Applications.
21 mars 2006 Cours de graphes 5 - Intranet 2
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
21 mars 2006 Cours de graphes 5 - Intranet 3
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 avec5 couleurs !
21 mars 2006 Cours de graphes 5 - Intranet 4
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 couleurssuffisent !
21 mars 2006 Cours de graphes 5 - Intranet 5
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 ses voisins !
M
21 mars 2006 Cours de graphes 5 - Intranet 6
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 ses voisins !
21 mars 2006 Cours de graphes 5 - Intranet 7
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 avec6 couleurs !
21 mars 2006 Cours de graphes 5 - Intranet 8
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 couleurssuffisent !
21 mars 2006 Cours de graphes 5 - Intranet 9
Coloriage de graphes-----------------------------------------------------------------
• Application : emplois du temps !
Profs ElèvesOraux !
Créneaux horaires sous forme de couleurs !
21 mars 2006 Cours de graphes 5 - Intranet 10
Le problème des 4 couleurs-----------------------------------------------------------------
L EP R O B L E M E
D E SQ U A T R E
C O U L E U R S ! ! !
21 mars 2006 Cours de graphes 5 - Intranet 11
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 !
21 mars 2006 Cours de graphes 5 - Intranet 12
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 ) !
21 mars 2006 Cours de graphes 5 - Intranet 13
Les graphes planaires-----------------------------------------------------------------
L E S
G R A P H E S
P L A N A I R E S ! ! !
21 mars 2006 Cours de graphes 5 - Intranet 14
Les graphes planaires-----------------------------------------------------------------
• Est-ce que ce graphe est planaire ?
• Est-ce que ce graphe est planaire ?
OUI !
NON, il y auratoujours unproblème pourune arête !
C’est le graphe bi-particomplet 3 – 3 : K !
3,3
21 mars 2006 Cours de graphes 5 - Intranet 15
Les graphes planaires-----------------------------------------------------------------
• Le graphe complet à 5 sommets, K , n’est pas planaire ! 5
Le voilà !
21 mars 2006 Cours de graphes 5 - Intranet 16
Les graphes planaires-----------------------------------------------------------------
• Deux graphes sont homéomorphes si l’un peut être obtenu à partir l’autre par insertion de sommets de degré 2 !
21 mars 2006 Cours de graphes 5 - Intranet 17
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 ! 53,3
Planaireou non ?
NON !
K3,3
21 mars 2006 Cours de graphes 5 - Intranet 18
Les graphes planaires-----------------------------------------------------------------
• Un graphe G peut se contracter en un graphe G’ de la façon suivante :
G G’
G G’
21 mars 2006 Cours de graphes 5 - Intranet 19
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 ! 53,3
Planaireou non ?
Sous-graphe !
21 mars 2006 Cours de graphes 5 - Intranet 20
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 ! 53,3
Planaireou non ?
Sous-graphe !
Contraction !
21 mars 2006 Cours de graphes 5 - Intranet 21
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 ! 53,3
Planaireou non ?
Sous-graphe !
NON !
K3,3
21 mars 2006 Cours de graphes 5 - Intranet 22
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 !
21 mars 2006 Cours de graphes 5 - Intranet 23
Coloriage des sommets-----------------------------------------------------------------
C O L O R I A G E
D E S
S O M M E T S ! ! !
21 mars 2006 Cours de graphes 5 - Intranet 24
Coloriage des sommets-----------------------------------------------------------------
taille_clique_max ( G ) <= c ( G ) <= D ( G ) + 1
Une clique est un sous-ensemblede sommets qui sont voisins 2 à 2.
Les sommets d’une clique doiventtous avoir des couleurs différentes !
Le nombre chromatique du grapheest au moins aussi grand que lataille de la plus grande clique !
21 mars 2006 Cours de graphes 5 - Intranet 25
Coloriage des sommets-----------------------------------------------------------------
taille_clique_max ( G ) <= c ( G ) <= D ( G ) + 1
Il est clair que D ( G ) + 1couleurs suffisent !
Nous pouvons trouver une couleur pour tout sommet,
même si tous ses voisins ont déjà des couleurs et quecelles-ci sont toutes différentes !
21 mars 2006 Cours de graphes 5 - Intranet 26
Coloriage des sommets-----------------------------------------------------------------
taille_clique_max ( G ) <= c ( G ) <= D ( G ) + 1
Montrons que cet encadrement ne peut pas être amélioré !
= =
21 mars 2006 Cours de graphes 5 - Intranet 27
Coloriage des sommets-----------------------------------------------------------------
taille_clique_max ( G ) <= c ( G ) <= D ( G ) + 1
Montrons que cet encadrement ne peut pas être amélioré !
= <<
21 mars 2006 Cours de graphes 5 - Intranet 28
Coloriage des sommets-----------------------------------------------------------------
taille_clique_max ( G ) <= c ( G ) <= D ( G ) + 1
Montrons que cet encadrement ne peut pas être amélioré !
< =
En construction !
21 mars 2006 Cours de graphes 5 - Intranet 29
Coloriage des sommets-----------------------------------------------------------------
taille_clique_max ( G ) <= c ( G ) <= D ( G ) + 1
Montrons que cet encadrement ne peut pas être amélioré !
< =
Le voilà !
21 mars 2006 Cours de graphes 5 - Intranet 30
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 ! ! !
21 mars 2006 Cours de graphes 5 - Intranet 31
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 » ! ! !
u5 couleurs !
21 mars 2006 Cours de graphes 5 - Intranet 32
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 » ! ! !
u3 couleurs !
21 mars 2006 Cours de graphes 5 - Intranet 33
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 !
21 mars 2006 Cours de graphes 5 - Intranet 34
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),– . . .
21 mars 2006 Cours de graphes 5 - Intranet 35
Graphes bi-partis-----------------------------------------------------------------
G R A P H E S
B I – P A R T I S ! ! !
21 mars 2006 Cours de graphes 5 - Intranet 36
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é à unautre sommet de même couleur !
21 mars 2006 Cours de graphes 5 - Intranet 37
Coloriage des arêtes-----------------------------------------------------------------
C O L O R I A G E
D E S
A R E T E S ! ! !
21 mars 2006 Cours de graphes 5 - Intranet 38
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 | ) !
21 mars 2006 Cours de graphes 5 - Intranet 39
Coloriage des arêtes-----------------------------------------------------------------
T H E O R E M E
D E
V I Z I N G ! ! !
21 mars 2006 Cours de graphes 5 - Intranet 40
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 ! ! !
m1
1i-1 i-1
ii
21 mars 2006 Cours de graphes 5 - Intranet 41
Coloriage des arêtes-----------------------------------------------------------------
• 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
1
v
w
1
v
1
v
1 1
v
w
1Sans c1
1 /
2 2 1
v2
c 1?
21 mars 2006 Cours de graphes 5 - Intranet 42
Coloriage des arêtes-----------------------------------------------------------------
• 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 ) ! ! !
v
w
1Sans c1 v
2
c 1
2
v1
cXX
1 1
c 1
v
w
1Sans c1 v
2
c 1? devient
v
w
1Sans c1 v
2
c 1
cXX
c 1c
21 mars 2006 Cours de graphes 5 - Intranet 43
Coloriage des arêtes-----------------------------------------------------------------
• 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 !
2
v
2 2
v
w
1Sans c1
2 /
3 3 2
v2
c 1?
Sans c2
v3c 2
Nous cherchons . . .
21 mars 2006 Cours de graphes 5 - Intranet 44
Coloriage des arêtes-----------------------------------------------------------------
• La pire des situations . . .
v
w
1Sans c1 v
2
c 1?
Sans c2
v3c 2
c 1
Sans c3
v4
c 3
c 1
c 2
21 mars 2006 Cours de graphes 5 - Intranet 45
Coloriage des arêtes-----------------------------------------------------------------
• Pour v , . . . , v et c , . . . , c couleurs différentes :
v
w
1
Sans c1v2
c 1?
Sans c2
v3c 2
c 1
Sans c3
v4
c 3
c 1
c 2
1 1h h-1
( C1 ) : 1 <= j <= h-1 :
c e Abs( v ) et ( v , w ) de couleur c
j j
jj+1
( C2 ) : 1 <= j <= h-1 :
Abs( v ) Abs( w ) est vide j
v
( C3 ) : 2 <= j <= h-1 :
{ c , . . . , c } Abs( v ) est vide j1 j-1
v
21 mars 2006 Cours de graphes 5 - Intranet 46
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 )
hh+1
i
0 0 h
v
v
w
1 v2
c 1?
vhc h-1
. . .devient
v
w
1 v2
c 1?
vhc h-1
. . .
c 0c pour ( v , w ) et c pour ( v , w ) , 1 <= i < h.0 h i i
21 mars 2006 Cours de graphes 5 - Intranet 47
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 h
v
w
1 vs+1
c s?
vhc h-1
. . .
s
. . .
Pas d’arêterouge !
Soitc e Abs( w )0
Sans c0
Soit P = { v , u , . . . , u } le chemin le plus long
constitué d’arêtes de couleurs c et c ! s 1 t
0 s
vs c
0
u1 c
s
. . . ut
c s-1
21 mars 2006 Cours de graphes 5 - Intranet 48
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 h
v
w
1 vs+1
c s?
vhc h-1
. . .
s
. . .
Pas d’arêterouge !
Soitc e Abs( w )0
Sans c0
P n’est pas vide, simple et de longueur finie ! ! !
vs c
0
u1 c
s
. . . ut
Ce n’est pas un cycle : v = u ! ! ! ts /
Sans cs
w = u , . . . , w = u , car c e Abs( w ) ! ! ! 1/ t-1/ 0
c s-1
21 mars 2006 Cours de graphes 5 - Intranet 49
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 h
v
w
1 vs+1
c s?
vhc h-1
. . .
s
. . .
Pas d’arêterouge !
Soitc e Abs( w )0
Sans c0
vs c
s
u1 c
0
. . . ut
Sans cs
c s-1
Echangeons les couleurs c et c le long de P !0 s
Utilisons c pour ( v , w ) et décalons les autres !0 s
c0
( Cas a )
Notons que u peutêtre égal à v .
th
21 mars 2006 Cours de graphes 5 - Intranet 50
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 h
v
w
1 vs+1
c s?
vhc h-1
. . .
s
. . .
Pas d’arêterouge !
Soitc e Abs( w )0
Sans c0
vs c
0
u1 c
s
. . . ut
Sans cs
c s-1
( Cas b )
21 mars 2006 Cours de graphes 5 - Intranet 51
v = us+1 t-1
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 h
v
u = w
1
c s?
vhc h-1
. . .
s
. . .Soitc e Abs( w )0
vs c
0
u1
Sans cs
c s-1
( Cas b )
t
. . .
Soit P’ = { v , u’ , . . . , u’ } le chemin le plus
long constitué d’arêtes de couleurs c et c ! h 1 t’
0 s
cs
u’1 c
0
. . . u’t’
Maintenant, w = u’ et nous avons le cas a !t’/
c0
Pas d’arêterouge !
21 mars 2006 Cours de graphes 5 - Intranet 52
Synthèse-----------------------------------------------------------------
• Coloriage de graphes.
• Problème des 4 couleurs, graphes planaires.
• Théorème de Vizing.
• Applications.