Cours de graphes

68
21 mars 2007 Cours de graphes 8 - Intranet 1 Cours de graphes Quelques graphes particuliers.

description

Cours de graphes. Quelques graphes particuliers. Les grandes lignes du cours. Définitions de base Connexité Les plus courts chemins Dijkstra et Bellmann-Ford Arbres, graphes particuliers Arbres de recouvrement minimaux Problèmes de flots Coloriage de graphes, graphes planaires - PowerPoint PPT Presentation

Transcript of Cours de graphes

Page 1: Cours de graphes

21 mars 2007

Cours de graphesQuelques graphes particuliers.

Page 2: Cours de graphes

21 mars 2007

Les grandes lignes du cours• Définitions de base• Connexité• Les plus courts chemins• Dijkstra et Bellmann-Ford• Arbres, graphes particuliers • 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 2007

Critères sur les graphes-----------------------------------------------------------------

• Nous allons étudier quelques graphes particuliers qui sont utilisés surtout dans les ordinateurs parallèles.

Page 4: Cours de graphes

21 mars 2007

Critères sur les graphes-----------------------------------------------------------------

• Nous allons étudier quelques graphes particuliers qui sont utilisés surtout dans les ordinateurs parallèles.

• Nous pouvons classer les ordinateurs parallèles deux grandes catégories :– Les ordinateurs à mémoire partagée !

MEMOIRE

PROC

PROC

PROC

RESEAU

Page 5: Cours de graphes

21 mars 2007

Critères sur les graphes-----------------------------------------------------------------

• Nous allons étudier quelques graphes particuliers qui sont utilisés surtout dans les ordinateurs parallèles.

• Nous pouvons classer les ordinateurs parallèles deux grandes catégories :– Les ordinateurs à mémoire partagée !– Les ordinateurs à mémoires distribuées !

PROC

PROC

RESEAU

MEMOIRE

MEMOIRE

Page 6: Cours de graphes

21 mars 2007

Critères sur les graphes-----------------------------------------------------------------

• Il y a plusieurs modes d’acheminement des données !

• Dans le mode « store and forward » le message fait escale dans les nœuds intermédiaires !

PROC

MEMOIRE

PROC

MEMOIRE

PROC

MEMOIRE

Un premier saut . . . suivi d’un second !

Page 7: Cours de graphes

21 mars 2007

Critères sur les graphes-----------------------------------------------------------------

• Il y a plusieurs modes d’acheminement des données !

• Dans le mode « store and forward » le message fait escale dans les nœuds intermédiaires !

• Dans le mode « circuit switched » nous établissons un chemin direct par concaténation de liens individuels !

PROC

MEMOIRE

PROC

MEMOIRE

PROC

MEMOIRE

Page 8: Cours de graphes

21 mars 2007

Critères sur les graphes-----------------------------------------------------------------

• Plusieurs critères sont importants pour le choix du réseau d’interconnexion !

• Des critères au niveau d’un nœud !– Le degré des nœuds – le nombre de voisins !– La régularité du degré – tout le monde a le même

nombre de voisins !• Des critères physiques sur l’ensemble du réseau !• Des critères logiques sur l’ensemble du réseau !

Page 9: Cours de graphes

21 mars 2007

Critères sur les graphes-----------------------------------------------------------------

• Plusieurs critères sont importants pour le choix du réseau d’interconnexion !

• Des critères au niveau d’un nœud !• Des critères physiques sur l’ensemble du réseau !

– Le diamètre du graphe !– La valeur de bissection qui donne le plus petit

nombre de liens qui relie une moitié des nœuds à l’autre !

• Des critères logiques sur l’ensemble du réseau !

La bissectionvaut 3 ici !

Page 10: Cours de graphes

21 mars 2007

Critères sur les graphes-----------------------------------------------------------------

• Plusieurs critères sont importants pour le choix du réseau d’interconnexion !

• Des critères au niveau d’un nœud !• Des critères physiques sur l’ensemble du réseau !• Des critères logiques sur l’ensemble du réseau !

– Est-ce que la structure du graphe est régulière ?• Un anneau (cycle) est régulier !• Un graphe en « ligne » ne l’est pas à cause des

extrémités !

Page 11: Cours de graphes

21 mars 2007

Critères sur les graphes-----------------------------------------------------------------

• Plusieurs critères sont importants pour le choix du réseau d’interconnexion !

• Des critères au niveau d’un nœud !• Des critères physiques sur l’ensemble du réseau !• Des critères logiques sur l’ensemble du réseau !

– Est-ce que nous pouvons plonger un anneau dans le graphe (cycle de Hamilton) ?

Ce graphe contient un anneau

Page 12: Cours de graphes

21 mars 2007

Critères sur les graphes-----------------------------------------------------------------

• Plusieurs critères sont importants pour le choix du réseau d’interconnexion !

• Des critères au niveau d’un nœud !• Des critères physiques sur l’ensemble du réseau !• Des critères logiques sur l’ensemble du réseau !

– Combien y a-t-il de plus courts chemins disjoints ?

Ce graphe contient deux pluscourts chemins :

Page 13: Cours de graphes

21 mars 2007

Critères sur les graphes-----------------------------------------------------------------

• Le graphe idéal vérifie, entre autres :– Le degré de chaque sommet est moyen !– Le graphe est de degré régulier !– Le diamètre est petit !– La bissection est grande !– La structure du graphe est régulière !– Il comporte l’anneau et d’autres graphes usuels

comme sous-graphes !– Il offre plusieurs plus courts chemins arêtes-

disjoints !

Page 14: Cours de graphes

21 mars 2007

Numérotation des nœuds-----------------------------------------------------------------

• Comment devons-nous numéroter les sommets pour que le « routage » puisse être déduit à partir des numéros des points de départ et d’arrivée ?

• On appelle « router » le fait de trouver un des plus courts chemins entre l’expéditeur et le destinataire.

• Les numéros de l ’expéditeur et du destinataire doivent permettre de déduire facilement la première arête du plus court chemin !

• Ensuite, nous itérons le même algorithme à partir du second sommet, etc.

Page 15: Cours de graphes

21 mars 2007

Le graphe en ligne-----------------------------------------------------------------

L E

G R A P H E

E N L I G N E

Page 16: Cours de graphes

21 mars 2007

Le graphe en ligne-----------------------------------------------------------------

. . .0 1 n–2 n–1

• Routage : Nous envoyons à gauche ou à droite suivant que le destinataire a un numéro plus petit ou plus grand.

• Caractéristiques du graphe :– Graphe de degré non régulier, de structure

irrégulière !– Diamètre n–1 et bissection 1 pour n nœuds !– Nous ne pouvons pas plonger d’anneau, il n’y a

pas de plus courts chemins alternatifs, . . . !

• C’est très mauvais, mis à part le fait que le degré du graphe soit limité à 2 !

Page 17: Cours de graphes

21 mars 2007

Le graphe en anneau-----------------------------------------------------------------

L E

G R A P H E

E N A N N E A U

Page 18: Cours de graphes

21 mars 2007

Le graphe en anneau-----------------------------------------------------------------

. . .0 1 n–2 n–1

• Routage : Nous envoyons à gauche ou à droite suivant que le plus court des chemins ( différence des modulos ).

• Caractéristiques du graphe :– Graphe de degré régulier, de structure régulière !– Diamètre n/2 et bissection 2 pour n nœuds !– Nous pouvons y plonger un anneau, mais il n’y a

pas de plus courts chemins alternatifs, . . . !

• Cela reste assez mauvais, mis à part la régularité, le degré limité du graphe et l’utilité de la notion d’anneau !

Page 19: Cours de graphes

21 mars 2007

Le produit de graphes-----------------------------------------------------------------

L E

P R O D U I T

D E G R A P H E S

Page 20: Cours de graphes

21 mars 2007

Le produit de graphes-----------------------------------------------------------------

• Soient deux graphes G et G’ !

• Nous appelons produit de ces deux graphes le graphe :

– qui est composé de sommets numérotés ( i , j ) avec i issu de la numérotation de G et j de celle de G’ ,

– qui comporte une arête entre ( i , j ) et ( k , l ) ssi :

• i = k et ( j , l ) est une arête de G’ ,• j = l et ( i , k ) est une arête de G .

Page 21: Cours de graphes

21 mars 2007

Le produit de graphes-----------------------------------------------------------------

. . .

. . .

. . .

. . .. . .

. . .

Levoilà !

Page 22: Cours de graphes

21 mars 2007

La grille 2 - D-----------------------------------------------------------------

L A

G R I L L E 2 - D

Page 23: Cours de graphes

21 mars 2007

• C’est le produit de deux graphes en ligne de n et m éléments respectivement !

• Caractéristiques du graphe :– Graphe de degré non régulier, de structure

irrégulière !– Diamètre n+m et bissection min ( n , m ) pour

n*m nœuds !– Nous pouvons parfois y plonger anneau et il y a

deux plus courts chemins alternatifs, . . . !

La grille 2 - D-----------------------------------------------------------------

Page 24: Cours de graphes

21 mars 2007

• C’est le produit de deux graphes en ligne de n et m éléments respectivement !

• Routage :– Les sommets sont indexés par un couple ( i , j ) !– Nous routons d’abord sur l’un des axes, ensuite

l’autre.– Cela s’appelle une « distance de Manhattan » !– Il y deux plus courts chemins arêtes-disjoints !

La grille 2 - D-----------------------------------------------------------------

Page 25: Cours de graphes

21 mars 2007

Le tore 2–D-----------------------------------------------------------------

L E

T O R E 2 - D

Page 26: Cours de graphes

21 mars 2007

• C’est le produit de deux graphes en anneau de n et m éléments respectivement !

• Caractéristiques du graphe :– Graphe de degré régulier, de structure régulière !– Diamètre ( n+m ) / 2 et bissection 2 * min ( n ,

m ) pour n*m nœuds !– Nous pouvons parfois y plonger anneau et il y a

deux plus courts chemins alternatifs, avec un routage comme pour la grille mais incluant les modulos !

Le tore 2–D-----------------------------------------------------------------

. . . . . .C’est une grille avec lesliens de rebouclage ! ! !

Page 27: Cours de graphes

21 mars 2007

• C’est le produit de deux graphes en anneau de n et m éléments respectivement !

• Caractéristiques du graphe :– Graphe de degré régulier, de structure régulière !– Diamètre ( n+m ) / 2 et bissection min ( n , m ) /

2 pour n*m nœuds !– Nous pouvons parfois y plonger anneau et il y a

deux plus courts chemins alternatifs, avec un routage comme pour la grille mais incluant les modulos !

Le tore 2–D-----------------------------------------------------------------

. . . . . .

Page 28: Cours de graphes

21 mars 2007

• C’est le produit de deux graphes en anneau de n et m éléments respectivement !

• Dans l’espace :

Le tore 2–D-----------------------------------------------------------------

. . . . . .

Page 29: Cours de graphes

21 mars 2007

La grille 3 - D-----------------------------------------------------------------

L A

G R I L L E 3 - D

Page 30: Cours de graphes

21 mars 2007

• C’est le produit de trois graphes en ligne de n , m et l éléments respectivement !

• Caractéristiques du graphe :– Graphe de degré non régulier, de structure

irrégulière !– Diamètre n+m+l et bissection n * min ( m , l )

si n = min ( n , m , l ) pour n*m*l nœuds !

La grille 3 - D-----------------------------------------------------------------

. . .

. . .

La bissection est un plan desection qui coupe le moins de liens.

Page 31: Cours de graphes

21 mars 2007

• C’est le produit de trois graphes en ligne de n , m et l éléments respectivement !

• Caractéristiques du graphe :– Graphe de degré non régulier, de structure

irrégulière !– Diamètre n+m+l et bissection n * min ( m , l )

si n = min ( n , m , l ) pour n*m*l nœuds !– Nous pouvons parfois y plonger anneau et il y a

trois plus courts chemins alternatifs, . . . !

La grille 3 - D-----------------------------------------------------------------

. . .

. . .

Page 32: Cours de graphes

21 mars 2007

Le tore 3–D-----------------------------------------------------------------

L E

T O R E 3 - D

Page 33: Cours de graphes

21 mars 2007

• C’est le produit de trois graphes en anneau de n , m et l éléments respectivement !

• Caractéristiques du graphe :– Graphe de degré régulier, de structure régulière !– Diamètre ( n+m+l ) / 2 et bissection 2 * n *

min( m , l ) si n = min( n , m , l ) pour n*m*l nœuds !

– Nous pouvons parfois y plonger anneau et il y a trois plus courts chemins alternatifs, avec un routage comme pour la grille mais incluant les modulos !

Le tore 3–D-----------------------------------------------------------------

C’est une grille avec lesliens de rebouclage ! ! !

. . .

. . .

Page 34: Cours de graphes

21 mars 2007

• C’est le produit de trois graphes en anneau de n , m et l éléments respectivement !

• Dans l’espace :

Le tore 3–D-----------------------------------------------------------------

. . .

. . .

Page 35: Cours de graphes

21 mars 2007

L’hypercube-----------------------------------------------------------------

L E

G R A P H E

H Y P E R C U B E

Page 36: Cours de graphes

21 mars 2007

L’hypercube-----------------------------------------------------------------

• Nous pouvons construire des tores de toutes dimensions :

( k , k , . . . , k )

• Nous obtenons un « hypercube » lorsque tous les anneaux comportent deux nœuds :

( 2 , 2 , . . . , 2 )

• Deux nœuds « en ligne » et deux nœuds « en anneau » ont le même voisinage :

1 2 n

Page 37: Cours de graphes

21 mars 2007

L’hypercube-----------------------------------------------------------------

L’hypercube dedimension 0 ! ! !

L’hypercube dedimension 1 ! ! !

Nous relionsdeux hypercubesde dimension 0 !

L’hypercube dedimension 2 ! ! !

L’hypercube dedimension 3 ! ! !

Nous relionsdeux hypercubesde dimension 1 !

Page 38: Cours de graphes

21 mars 2007

L’hypercube-----------------------------------------------------------------

Dimension 4 – le voilà !

Page 39: Cours de graphes

21 mars 2007

L’hypercube-----------------------------------------------------------------

L E S P R O P R I E T E S

D E

L ’ H Y P E R C U B E

Page 40: Cours de graphes

21 mars 2007

L’hypercube-----------------------------------------------------------------

• Un hypercube de dimension n :– comporte 2 nœuds,– est régulier en structure et en degré qui vaut n ,– a un diamètre n et une bissection de 2 ,– permet d’y plonger un anneau,– possède un routage simple et intuitif,– possède n plus courts chemins arêtes-disjoints.

n

n–1

Page 41: Cours de graphes

21 mars 2007

L’hypercube-----------------------------------------------------------------

• A ce moment, nous avons pour n nœuds :– une dimension en log ( n ) ,– un degré en log ( n ) ,– un diamètre en log ( n ) ,– log ( n ) plus courts chemins arêtes-disjoints,– une bissection de n / 2 !

Page 42: Cours de graphes

21 mars 2007

La numérotation dans l’hypercube-----------------------------------------------------------------

L A N U M E R O T A T I O N

D A N S

L ’ H Y P E R C U B E

Page 43: Cours de graphes

21 mars 2007

La numérotation dans l’hypercube-----------------------------------------------------------------

• La numérotation adéquate de l’hypercube est essentielle à son fonctionnement.

• Elle est basée sur une écriture des nombres en base 2 .

• Pour construire un hypercube numéroté de dimension n :

– nous partons de deux hypercubes numérotés de dimension n–1 ,

– pour l’un des cubes nous préfixons les nœuds d’un 0 ,

– pour l’autre cube, nous préfixons les nœuds d’un 1 ,

– nous relions les nœuds qui ne diffèrent que dans leur chiffre de poids fort ( dimension n ) !

Page 44: Cours de graphes

21 mars 2007

La numérotation dans l’hypercube-----------------------------------------------------------------

0 0 0 1

1 0 1 1 Deux hypercubeset leur numérotation !

Nous préfixonsd’un 0 ou d’un 1 !

Nous relions les nœudsqui diffèrent en

dimension 1 seulement !0 1

2 3

e 0 1

En décimal !

Page 45: Cours de graphes

21 mars 2007

La numérotation dans l’hypercube-----------------------------------------------------------------

0 0 0 0 0 1

0 1 0 0 1 11 0 0 1 0 1

1 1 0 1 1 1

Deux hypercubeset leur numérotation !

Nous préfixonsd’un 0 ou d’un 1 !

Nous relions les nœudsqui diffèrent en

dimension 1 seulement !

0

En décimal !

1

2 3

4 5

6 7

Page 46: Cours de graphes

21 mars 2007

La numérotation dans l’hypercube-----------------------------------------------------------------

0 0 0 0 0 1

0 1 0 0 1 11 0 0 1 0 1

1 1 0 1 1 1Les liens dedimension 1 !

dim 2

dim 3

Leurs écritures décimales diffèrent de 1 . dim 1

Page 47: Cours de graphes

21 mars 2007

L’anneau comme sous-graphe-----------------------------------------------------------------

L ’ A N N E A U

C O M M E

S O U S – G R A P H E

Page 48: Cours de graphes

21 mars 2007

L’anneau comme sous-graphe-----------------------------------------------------------------

• Nous pouvons plonger un anneau dans un hypercube.• Les nœuds voisins dans l’hypercube ne diffèrent que

dans une position binaire.• Nous devons donc énumérer les nombres 0 à n–1

en changeant un seul bit à la fois.• C’est le code de Gray :

– Le code de Gray de base est constitué de 0 suivi de 1 .

– Pour obtenir le code de Gray de longueur 2*n , il faut :

– le code de Gray de longueur n préfixé de 0 ,– le code de Gray de longueur n pris dans l’ordre

inverse et préfixé de 1 .

Page 49: Cours de graphes

21 mars 2007

L’anneau comme sous-graphe-----------------------------------------------------------------

01

0 00 11 11 0

0 0 00 0 10 1 10 1 01 1 01 1 11 0 11 0 0

0 0 0 1

1 0 1 1

0 0 0 0 0 1

0 1 0 0 1 11 0 0 1 0 1

1 1 0 1 1 1

Page 50: Cours de graphes

21 mars 2007

Les chemins arêtes-disjoints-----------------------------------------------------------------

L E S

C H E M I N S

A R E T E S - D I S J O I N T S

Page 51: Cours de graphes

21 mars 2007

Les chemins arêtes-disjoints-----------------------------------------------------------------

Il y a n plus courtschemins arêtes-joints

pour aller vers un autrenœud à distance n !

Distance 3

Page 52: Cours de graphes

21 mars 2007

La diffusion dans l’hypercube-----------------------------------------------------------------

C O M M E N T

D I F F U S E R

E F F I C A C E M E N T ? ?

Page 53: Cours de graphes

21 mars 2007

La diffusion dans l’hypercube-----------------------------------------------------------------

• La diffusion d’information est une opération fréquente lors de calculs parallèles.

• L’hypercube permet de faire des diffusions très efficaces.

• Nous diffusons le long des différentes dimensions et doublons à chaque étape le nombre de nœuds informés !

Au début unseul nœudconnaît lavaleur v !

v

Page 54: Cours de graphes

21 mars 2007

La diffusion dans l’hypercube-----------------------------------------------------------------

• La diffusion d’information est une opération fréquente lors de calculs parallèles.

• L’hypercube permet de faire des diffusions très efficaces.

• Nous diffusons le long des différentes dimensions et doublons à chaque étape le nombre de nœuds informés !

Après diffusionen dimension 1

ils sont 2 àconnaître v !

v v

Page 55: Cours de graphes

21 mars 2007

La diffusion dans l’hypercube-----------------------------------------------------------------

• La diffusion d’information est une opération fréquente lors de calculs parallèles.

• L’hypercube permet de faire des diffusions très efficaces.

• Nous diffusons le long des différentes dimensions et doublons à chaque étape le nombre de nœuds informés !

Après diffusionen dimension 2

ils sont 4 àconnaître v !

v v

v v

Page 56: Cours de graphes

21 mars 2007

La diffusion dans l’hypercube-----------------------------------------------------------------

• La diffusion d’information est une opération fréquente lors de calculs parallèles.

• L’hypercube permet de faire des diffusions très efficaces.

• Nous diffusons le long des différentes dimensions et doublons à chaque étape le nombre de nœuds informés !

Après diffusionen dimension 3

tous connaissentla valeur v !

v

Pour nnœuds letemps esten log ( n ) .

v

v v

v v

v v

Page 57: Cours de graphes

21 mars 2007

La diffusion dans l’hypercube-----------------------------------------------------------------

• De la même manière, nous pouvons calculer la somme de valeurs détenues par le différents nœuds de façon à ce que chaque nœud connaisse la somme.

• Nous échangeons et sommons en parallèle le long des différentes dimensions !

5 7

3 6

8 2

1 4

Au début chaquenœud possède

une valeur !

Page 58: Cours de graphes

21 mars 2007

La diffusion dans l’hypercube-----------------------------------------------------------------

• De la même manière, nous pouvons calculer la somme de valeurs détenues par le différents nœuds de façon à ce que chaque nœud connaisse la somme.

• Nous échangeons et sommons en parallèle le long des différentes dimensions !

12 12

9 9

10 10

5 5

Après échangeet sommation

en dimension 1 !

Page 59: Cours de graphes

21 mars 2007

La diffusion dans l’hypercube-----------------------------------------------------------------

• De la même manière, nous pouvons calculer la somme de valeurs détenues par le différents nœuds de façon à ce que chaque nœud connaisse la somme.

• Nous échangeons et sommons en parallèle le long des différentes dimensions !

21 21

21 21

15 15

15 15

Après échangeet sommation

en dimension 2 !

Page 60: Cours de graphes

21 mars 2007

La diffusion dans l’hypercube-----------------------------------------------------------------

• De la même manière, nous pouvons calculer la somme de valeurs détenues par le différents nœuds de façon à ce que chaque nœud connaisse la somme.

• Nous échangeons et sommons en parallèle le long des différentes dimensions !

36 36

36 36

36 36

36 36

Après échangeet sommation

en dimension 3 !

Page 61: Cours de graphes

21 mars 2007

La diffusion dans l’hypercube-----------------------------------------------------------------

Page 62: Cours de graphes

21 mars 2007

Le graphe de De Bruijn-----------------------------------------------------------------

L E

G R A P H E D E

D E B R U I J N

Page 63: Cours de graphes

21 mars 2007

Le graphe de De Bruijn-----------------------------------------------------------------

• Il a été proposé par De Bruijn et Good en 1946.• Les numéros des sommets sont des d-uplets écrits

en base b .

( x , . . . , x ) avec x e { 0 , . . . , b–1 }

• Le graphe DB ( b , d ) a les caractéristiques suivantes :

– Il possède b nœuds.– Son diamètre vaut d .– Chaque sommet est de degré 2 * b avec b arcs

entrants et b arcs sortants.

1 d i

d

Page 64: Cours de graphes

21 mars 2007

Le graphe de De Bruijn-----------------------------------------------------------------

• Il peut comporter un grand nombre de nœuds tout en conservant des degrés et diamètres raisonnables.

• Soit l’hypercube de dimension 12 qui possède 4096 nœuds de degré 12 !

• Le graphe de De Bruijn ayant le même degré et le même diamètre est : DB ( 6 , 12 )

DB ( 4 , 10 ) est ungraphe de degré 8et de diamètre 10 !

Le nombre de nœudsest 4^10 = 2^20 =1 048 576

Page 65: Cours de graphes

21 mars 2007

Le graphe de De Bruijn-----------------------------------------------------------------

• Les b arcs sortants du nœud ( x , x , . . . , x )

vont vers les nœuds ( x , . . . , x , y ) avec y e

{ 0 , . . . , b–1 }

• Et donc, les b arcs entrants du nœud ( x , . . . , x , x )

proviennent des nœuds ( y , x , . . . , x ) avec y e

{ 0 , . . . , b–1 }

1

2

d2

d

1 dd–1

1 d–1

Page 66: Cours de graphes

21 mars 2007

Le graphe de De Bruijn-----------------------------------------------------------------

Q U E L Q U E S

E X E M P L E S

Page 67: Cours de graphes

21 mars 2007

Le graphe de De Bruijn-----------------------------------------------------------------

0 1

DB ( 2 , 1 )

00 11

01

10

DB ( 2 , 2 )

DB ( 2 , 3 )

000

001

100

111

011

110

010 101

Page 68: Cours de graphes

21 mars 2007

Le graphe de De Bruijn-----------------------------------------------------------------

0 2

DB ( 3 , 1 )

1