Lélia Blin

publicité
Constructions distribuées
d’arbres couvrants
"1
Algorithmique répartie!
M1 Université d’Evry!
Lélia Blin
Lélia Blin
Arbre propriétés (rappel)
❖
Soit T=(V,E) un graphe à n sommets
ces propriétés sont équivalentes!
❖
T est un arbre!
❖
T est connexe et sans cycle!
❖
T est connexe et admet n-1 arêtes!
❖
T est sans cycle et admet n-1
arêtes!
❖
T est connexe et si on supprime
une arête quelconque, il ne l’est
plus !
❖
T est sans cycle et en ajoutant une
arête on crée un cycle et 1 seul
"2
Lélia Blin
Arbre remarques
❖
Un arbre n’a pas toujours de racine!
❖
Feuille: !
❖
❖
noeud qui a un seul voisin!
Noeud interne:!
❖
noeud qui a plusieurs voisins
"3
Lélia Blin
Arbre enraciné
❖
Un arbre enraciné est un arbre qui
a une racine!
❖
La notion de feuille et de noeud
interne reste la même!
❖
Parent:!
❖
❖
r
voisin sur l’unique chemin
entre le noeud est la racine!
Enfant(s):!
❖
voisin(s) qui n’est pas parent si
il existe
"4
Lélia Blin
Graphe partiel
❖
Soit G=(V,E) un graphe!
❖
V l’ensemble des sommets!
❖
E l’ensemble des arrêtes!
❖
Un graphe partiel G’ de G est
un graphe qui a les mêmes
sommets que G et dont
l’ensemble des arêtes est inclus
dans G!
❖
G’=(V,E’) avec E’⊂E
"5
Lélia Blin
Arbre couvrant
❖
Soit G=(V,E) un graphe!
❖
Un arbre couvrant de G est!
❖
Un graphe partiel acyclique
"6
Lélia Blin
Algorithme distribué uniformité
❖
❖
Soit un réseau G(V,E)!
❖
V est l’ensemble des processeurs de G!
❖
E est l’ensemble des liens bidirectionnels de communication!
Si l’ensemble des processeurs ont le même algorithme!
❖
❖
l’algorithme distribué est dit uniforme!
Si un ou plusieurs processeurs ont des algorithmes dédiés!
❖
L’algorithme distribué est dit semi-uniforme
"7
Lélia Blin
Algorithmes distribués semi-uniforme
de construction d’arbre couvrant
"8
Lélia Blin
Arbre couvrant enraciné
❖
❖
❖
Soit un graphe G(V,E) quelconque!
❖
V est l’ensemble des noeud de G!
❖
E est l’ensemble des liens bidirectionnels de communication!
Le réseau est asynchrone!
On distingue un noeud r de V!
❖
r sera considéré comme la racine de l’arbre couvrant!
❖
Chaque noeud i connait l’ensemble de ces voisins Ni!
❖
On veut construire un arbre couvrant enraciné en r!
❖
Algorithme semi-uniforme
"9
Lélia Blin
Principe
❖
Chaque noeud est endormi!
❖
La racine r déclenche l’algorithme!
❖
Chaque fois qu’un noeud reçoit un message pour la première fois!
❖
Il se réveille!
❖
Il considère comme parent le voisin qui la réveillé
"10
Lélia Blin
Pseudo code
❖
❖
Initialisation de i
• parenti := nil;
Réveil de la racine r
• enfantsr := ∅;
•
•
msgAttendur := |Nr|;
Envoyé <Go> à Nr
"11
Lélia Blin
Pseudo code
❖
Lors de la reception de <Go> envoyé par j:
• si parenti = nil alors
• parenti := j ; enfantsi := ∅ ; msgAttendui := |Ni|-1 ;
Envoyé <Go> à Ni -j
• sinon
• msgAttendui :=
msgAttendui -1
• si msgAttendui = 0
• envoyé <Back> à parenti
Lors de la reception de <Back> envoyé par j
• msgAttendui :=
msgAttendui -1
• enfantsi := enfantsi ⋃ {j}
•
❖
•
si msgAttendui = 0
• envoyé <Back> à parenti
"12
Lélia Blin
Exemple
"13
Lélia Blin
Complexité
❖
Nombre de messages!
❖
2 messages par lien !
❖
Graphe contenant le plus de liens: !
❖
❖
graphe complet: ⋍n2 liens!
❖
Total ⋍2n2!
❖
Ordre de grandeur: O(n2) messages!
Taille des messages!
❖
messages: Go et Back!
❖
Chaines de caractère!
❖
Ordre de grandeur: O(1)
"14
Lélia Blin
Terminaison
❖
Terminaison locale:!
❖
❖
Quand un noeud u envoie le message <Back>!
Terminaison globale:!
❖
Quand la racine reçois le dernier message!
❖
❖
msgAttendui = 0!
rm: la racine n’a pas de parent, elle n’enverra pas
de message <Back>
"15
Lélia Blin
Question
❖
La relation parent-enfants est elle toujours la même?!
❖
Cette relation dépend de l’asynchronisme du réseaux!
❖
Réseaux synchrone!
❖
❖
Toujours le même arbre couvrant!
Réseaux asynchrone!
❖
Arbres couvrants différents
"16
Lélia Blin
Exemple synchrone
"17
Lélia Blin
Arbre couvrant en largeur
❖
❖
❖
Soit un graphe G(V,E) quelconque!
❖
V est l’ensemble des noeud de G!
❖
E est l’ensemble des liens bidirectionnels de communication!
Le réseau est asynchrone!
On distingue un noeud r de V!
❖
r sera considéré comme la racine de l’arbre couvrant!
❖
Chaque noeud i connait l’ensemble de ces voisins Ni!
❖
On veut construire un arbre en profondeur couvrant ayant comme racine r!
❖
Algorithme semi-uniforme
"18
Lélia Blin
Principe
❖
Chaque noeud est endormi!
❖
La racine r déclenche l’algorithme par l’envoie d’une distance!
❖
Un noeud choisit comme parent!
❖
celui qui a la plus petite distance à la racine
"19
Lélia Blin
Pseudo code
❖
Initialisation de i
• parenti := nil;
•
❖
❖
distancer :=
∞
Réveil de la racine r
• distancer := 0
• Envoyé <Go,0> à Nr
Lors de la reception de <Go,d> envoyé par j:
• si d+1< distancei alors
• parenti := j ; distancei := d+1
• envoyé <Go,d+1> à Ni-{j}
"20
Lélia Blin
Exemple
"21
Lélia Blin
Complexité
❖
Nombre de messages!
❖
O(n) messages par lien !
❖
Graphe contenant le plus de liens: !
❖
❖
❖
graphe complet: ⋍n2 liens!
Ordre de grandeur: O(n3) messages!
Taille des messages!
❖
messages: <Go,distance> !
❖
Distance la plus longue: chaîne -> n-1!
❖
Ordre de grandeur: O(log n)
"22
Lélia Blin
Construction d’un pire des cas pour le nombre de messages
"23
Lélia Blin
Terminaison
❖
Terminaison locale:!
❖
❖
non connue!
Terminaison globale:!
❖
non connue
"24
Lélia Blin
Question
❖
La relation parent-enfants est elle toujours la même?!
❖
Cette relation dépend de l’asynchronisme du réseaux!
❖
Réseaux synchrone!
❖
❖
Toujours le même arbre couvrant!
Réseaux asynchrone!
❖
Arbres couvrants différents mes distance égales
"25
Lélia Blin
Exemples
0
1
0
1
1
1
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
4
3
4
"26
Lélia Blin
Question
❖
Comment construire un BFS ayant toujours la même
relation parent enfants?!
!
❖
Réponse: Rajouter l’identifiant
"27
Lélia Blin
Pseudo code
❖
Initialisation de i
• parenti := nil;
•
❖
❖
distancer :=
∞
Réveil de la racine r
• distancer := 0
• Envoyé <Go,0> à Nr
Lors de la reception de <Go,d> envoyé par j:
• si (d+1<distancei)ou (d+1=distancei et parenti> j)
alors
• parenti := j ; distancei := d+1
• envoyé <Go,d+1> à Ni-{j}
"28
Lélia Blin
Exemple
A
C
B
F
D
G
I
E
H
K
J
"29
Lélia Blin
Complexité
❖
La complexité en nombre de message reste inchangée
"30
Téléchargement