680 likes | 849 Views
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
E N D
Cours de graphes Quelques graphes particuliers. Cours de graphes 8 - Intranet
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 Cours de graphes 8 - Intranet
Critères sur les graphes----------------------------------------------------------------- • Nous allons étudier quelques graphes particuliers qui sont utilisés surtout dans les ordinateurs parallèles. Nous utiliserons des dénominations de machines parallèles ! Cours de graphes 8 - Intranet
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 ! PROC M E M O I R E R E S E A U PROC PROC Cours de graphes 8 - Intranet
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 ! R E S E A U MEMOIRE PROC Ordinateurs mis en réseau ! MEMOIRE PROC Cours de graphes 8 - Intranet
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 ! Un premier saut . . . suivi d’un second ! PROC PROC PROC MEMOIRE MEMOIRE MEMOIRE Départ ! Arrivée ! Cours de graphes 8 - Intranet
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 PROC PROC MEMOIRE MEMOIRE MEMOIRE Départ ! Arrivée ! Cours de graphes 8 - Intranet
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 ! Un graphe de degré régulier 3 ! Cours de graphes 8 - Intranet
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 bissection vaut 3 ici ! Cours de graphes 8 - Intranet
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 ! Cours de graphes 8 - Intranet
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 Cours de graphes 8 - Intranet
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 plus courts chemins : Cours de graphes 8 - Intranet
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 ! Ce graphe n'existe pas ! ! ! Cours de graphes 8 - Intranet
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. Cours de graphes 8 - Intranet
Le graphe en ligne----------------------------------------------------------------- L E G R A P H E E N L I G N E Cours de graphes 8 - Intranet
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 ! Cours de graphes 8 - Intranet
Le graphe en anneau----------------------------------------------------------------- L E G R A P H E E N A N N E A U Cours de graphes 8 - Intranet
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 ! Cours de graphes 8 - Intranet
Le produit de graphes----------------------------------------------------------------- L E P R O D U I T D E G R A P H E S Cours de graphes 8 - Intranet
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 . Cours de graphes 8 - Intranet
Le produit de graphes----------------------------------------------------------------- Le voilà ! . . . . . . . . . . . . . . . . . . Cours de graphes 8 - Intranet
La grille 2 - D----------------------------------------------------------------- L A G R I L L E 2 - D Cours de graphes 8 - Intranet
La grille 2 - D----------------------------------------------------------------- • 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, . . . ! Cours de graphes 8 - Intranet
La grille 2 - D----------------------------------------------------------------- • 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 ! Ce n'est toujours pas terrible ! ! ! Cours de graphes 8 - Intranet
Le tore 2–D----------------------------------------------------------------- L E T O R E 2 - D Cours de graphes 8 - Intranet
Le tore 2–D----------------------------------------------------------------- • 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 ! C’est une grille avec les liens de rebouclage ! ! ! . . . . . . Cours de graphes 8 - Intranet
Le tore 2–D----------------------------------------------------------------- • 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 ! C'est déjà plus raisonnable ! ! ! . . . . . . Cours de graphes 8 - Intranet
Le tore 2–D----------------------------------------------------------------- • C’est le produit de deux graphes en anneau de n et m éléments respectivement ! • Dans l’espace : C'est déjà plus raisonnable ! ! ! . . . . . . Cours de graphes 8 - Intranet
La grille 3 - D----------------------------------------------------------------- L A G R I L L E 3 - D Cours de graphes 8 - Intranet
La grille 3 - D----------------------------------------------------------------- • 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 ! . . . Routage Manhattan en 3 D ! ! ! . . . La bissection est un plan de section qui coupe le moins de liens. Cours de graphes 8 - Intranet
La grille 3 - D----------------------------------------------------------------- • 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, . . . ! . . . Il manque les liens de rebouclage ! . . . Cours de graphes 8 - Intranet
Le tore 3–D----------------------------------------------------------------- L E T O R E 3 - D Cours de graphes 8 - Intranet
Le tore 3–D----------------------------------------------------------------- • 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 ! . . . C’est une grille avec les liens de rebouclage ! ! ! . . . Cours de graphes 8 - Intranet
Le tore 3–D----------------------------------------------------------------- • C’est le produit de trois graphes en anneau de n , m et l éléments respectivement ! • Dans l’espace : . . . C'est une structure très intéressante ! . . . Cours de graphes 8 - Intranet
L’hypercube-----------------------------------------------------------------L’hypercube----------------------------------------------------------------- L E G R A P H E H Y P E R C U B E Cours de graphes 8 - Intranet
L’hypercube-----------------------------------------------------------------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 Une ligne Un anneau Cours de graphes 8 - Intranet
L’hypercube-----------------------------------------------------------------L’hypercube----------------------------------------------------------------- Nous relions deux hypercubes de dimension 0 ! L’hypercube de dimension 0 ! ! ! L’hypercube de dimension 1 ! ! ! Nous relions deux hypercubes de dimension 1 ! L’hypercube de dimension 2 ! ! ! L’hypercube de dimension 3 ! ! ! Cours de graphes 8 - Intranet
L’hypercube-----------------------------------------------------------------L’hypercube----------------------------------------------------------------- Dimension 4 – le voilà ! Cours de graphes 8 - Intranet
L’hypercube-----------------------------------------------------------------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 Cours de graphes 8 - Intranet
L’hypercube-----------------------------------------------------------------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 Il serait parfait si ce n'est pour le degré des noeuds . . . Cours de graphes 8 - Intranet
L’hypercube-----------------------------------------------------------------L’hypercube----------------------------------------------------------------- Une limitation sévère : Le nombre de noeuds doit être une puissance de 2 ! • 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 ! Cours de graphes 8 - Intranet
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 Cours de graphes 8 - Intranet
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 ) ! Cours de graphes 8 - Intranet
La numérotation dans l’hypercube----------------------------------------------------------------- e 0 1 En décimal ! 2 3 Deux hypercubes et leur numérotation ! Nous préfixons d’un 0 ou d’un 1 ! Nous relions les nœuds qui diffèrent en dimension 1 seulement ! 1 0 1 1 0 0 0 1 0 1 Cours de graphes 8 - Intranet
La numérotation dans l’hypercube----------------------------------------------------------------- 6 7 1 1 0 1 1 1 En décimal ! 4 5 1 0 0 1 0 1 0 1 0 0 1 1 Deux hypercubes et leur numérotation ! Nous préfixons d’un 0 ou d’un 1 ! Nous relions les nœuds qui diffèrent en dimension 1 seulement ! 2 3 0 0 0 0 0 1 0 1 Cours de graphes 8 - Intranet
La numérotation dans l’hypercube----------------------------------------------------------------- Les liens de dimension 1 ! 1 1 0 1 1 1 1 0 0 1 0 1 0 1 0 0 1 1 dim 3 dim 2 0 0 0 0 0 1 dim 1 Leurs écritures décimales diffèrent de 1 . Cours de graphes 8 - Intranet
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 Cours de graphes 8 - Intranet
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 . Cours de graphes 8 - Intranet
L’anneau comme sous-graphe----------------------------------------------------------------- 0 1 0 0 0 1 1 1 1 0 0 0 0 00 1 01 1 01 0 1 1 0 11 1 10 1 10 0 1 1 0 1 1 1 1 0 0 1 0 1 1 0 1 1 0 1 0 0 1 1 0 0 0 0 0 1 0 0 0 1 Cours de graphes 8 - Intranet
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 Cours de graphes 8 - Intranet