Cours de graphes
description
Transcript of Cours de graphes
21 mars 2007
Cours de graphesQuelques graphes particuliers.
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
21 mars 2007
Critères sur les graphes-----------------------------------------------------------------
• Nous allons étudier quelques graphes particuliers qui sont utilisés surtout dans les ordinateurs parallèles.
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
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
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 !
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
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 !
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 !
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 !
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
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 :
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 !
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.
21 mars 2007
Le graphe en ligne-----------------------------------------------------------------
L E
G R A P H E
E N L I G N E
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 !
21 mars 2007
Le graphe en anneau-----------------------------------------------------------------
L E
G R A P H E
E N A N N E A U
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 !
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
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 .
21 mars 2007
Le produit de graphes-----------------------------------------------------------------
. . .
. . .
. . .
. . .. . .
. . .
Levoilà !
21 mars 2007
La grille 2 - D-----------------------------------------------------------------
L A
G R I L L E 2 - D
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-----------------------------------------------------------------
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-----------------------------------------------------------------
21 mars 2007
Le tore 2–D-----------------------------------------------------------------
L E
T O R E 2 - D
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 ! ! !
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-----------------------------------------------------------------
. . . . . .
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-----------------------------------------------------------------
. . . . . .
21 mars 2007
La grille 3 - D-----------------------------------------------------------------
L A
G R I L L E 3 - D
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.
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-----------------------------------------------------------------
. . .
. . .
21 mars 2007
Le tore 3–D-----------------------------------------------------------------
L E
T O R E 3 - D
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 ! ! !
. . .
. . .
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-----------------------------------------------------------------
. . .
. . .
21 mars 2007
L’hypercube-----------------------------------------------------------------
L E
G R A P H E
H Y P E R C U B E
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
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 !
21 mars 2007
L’hypercube-----------------------------------------------------------------
Dimension 4 – le voilà !
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
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
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 !
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
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 ) !
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 !
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
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
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
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 .
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
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
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
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 ? ?
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
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
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
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
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 !
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 !
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 !
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 !
21 mars 2007
La diffusion dans l’hypercube-----------------------------------------------------------------
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
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
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
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
21 mars 2007
Le graphe de De Bruijn-----------------------------------------------------------------
Q U E L Q U E S
E X E M P L E S
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
21 mars 2007
Le graphe de De Bruijn-----------------------------------------------------------------
0 2
DB ( 3 , 1 )
1