Cours de graphes

52
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.

description

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 - PowerPoint PPT Presentation

Transcript of Cours de graphes

Page 1: 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.

Page 2: Cours de graphes

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

Page 3: Cours de graphes

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 !

Page 4: Cours de graphes

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 !

Page 5: Cours de graphes

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

Page 6: Cours de graphes

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 !

Page 7: Cours de graphes

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 !

Page 8: Cours de graphes

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 !

Page 9: Cours de graphes

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 !

Page 10: Cours de graphes

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 ! ! !

Page 11: Cours de graphes

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 !

Page 12: Cours de graphes

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 ) !

Page 13: Cours de graphes

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 ! ! !

Page 14: Cours de graphes

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

Page 15: Cours de graphes

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à !

Page 16: Cours de graphes

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 !

Page 17: Cours de graphes

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

Page 18: Cours de graphes

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’

Page 19: Cours de graphes

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 !

Page 20: Cours de graphes

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 !

Page 21: Cours de graphes

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

Page 22: Cours de graphes

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 !

Page 23: Cours de graphes

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 ! ! !

Page 24: Cours de graphes

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 !

Page 25: Cours de graphes

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 !

Page 26: Cours de graphes

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é !

= =

Page 27: Cours de graphes

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é !

= <<

Page 28: Cours de graphes

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 !

Page 29: Cours de graphes

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à !

Page 30: Cours de graphes

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 ! ! !

Page 31: Cours de graphes

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 !

Page 32: Cours de graphes

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 !

Page 33: Cours de graphes

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 !

Page 34: Cours de graphes

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),– . . .

Page 35: Cours de graphes

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 ! ! !

Page 36: Cours de graphes

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 !

Page 37: Cours de graphes

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 ! ! !

Page 38: Cours de graphes

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 | ) !

Page 39: Cours de graphes

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 ! ! !

Page 40: Cours de graphes

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

Page 41: Cours de graphes

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?

Page 42: Cours de graphes

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

Page 43: Cours de graphes

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 . . .

Page 44: Cours de graphes

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

Page 45: Cours de graphes

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

Page 46: Cours de graphes

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

Page 47: Cours de graphes

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

Page 48: Cours de graphes

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

Page 49: Cours de graphes

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

Page 50: Cours de graphes

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 )

Page 51: Cours de graphes

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 !

Page 52: Cours de graphes

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.