31
Problèmes du chapitre 8 « Exploration de réseaux »
Problème 29 : On considère un système réparti composé de Nsites S1. . . SN, et reliés par des
liens de communication
full-duplex
formant un réseau quelconque. Chaque site connaît le nombre de
ses voisins dans le réseau. L’ensemble est modélisé par un graphe orienté symétrique.
Question 29.1 :
Rappeler les définitions de distance entre deux sites, d’arbre couvrant, et de hauteur d’un
site dans un arbre enraciné.
Question 29.2 :
Écrire un algorithme qui construit une arborescence de diffusion enracinée sur le site
S1en maintenant, sur chaque site, une variable parent qui indique le voisin parent dans
l’arborescence.
Question 29.3 :
Modifier l’algorithme précédent pour que chaque site connaisse sa hauteur dans l’arbo-
rescence.
Question 29.4 :
Modifier l’algorithme précédent afin que l’initiateur soit averti une fois que chaque site
connait sa hauteur (i.e., détection de terminaison).
Question 29.5 :
À quelle condition sur les communications dans le réseau la hauteur d’un site Sidans
l’arbre est égale à la distance de S1àSidans le réseau ?
Par la suite, on suppose que les conditions de la question précédente ne sont pas remplies.
Question 29.6 :
Modifier l’algorithme de la question 29.4 pour que la demi-vague arrête son exploration
et remonte vers l’initiateur si l’arbre atteint une hauteur de k, qui est une constante fixée
par l’initiateur.
Question 29.7 :
Modifier l’algorithme précédent pour que chaque site connaisse le maximum des hau-
teurs de ses fils (lui compris) dans l’arborescence.
Question 29.8 :
Utiliser l’algorithme précédent pour construire un algorithme silencieux qui calcule la
distance de chaque site à l’initiateur dans le réseau, et qui prévient l’initiateur quand il
est terminé (terminaison explicite).
Question 29.9 :
Les vagues successives permettent de synchroniser la propagation du calcul de la distance
dans le réseau, étage après étage dans l’arbre. Ces vagues peuvent-elle être pipelinées ?
Problème 30 : On considère un réseau en forme d’arbre. Chaque site Sidu réseau connait l’iden-
tité de ses voisins, et sait déterminer l’émetteur des messages qu’il reçoit. On désire déterminer un
coordinateur en utilisant une onde, qui progresse depuis les feuilles de l’arbre et s’arrête sur le coor-
dinateur.
Bertrand.Ducourthi[email protected] 2007 v0.9-TD. Merci de signaler les erreurs.
32
Question 30.1 :
Qu’est-ce qu’une onde ?
Question 30.2 :
Comment distinguer les feuilles de l’arbre afin de débuter l’exécution répartie ?
Question 30.3 :
A quel moment un site doit émettre un message vers son parent ? Comment pourra-t-il
déterminer ce parent ?
Question 30.4 :
Quelle est l’information minimale que les messages transportent ? Doivent-il inclure des
données ?
Question 30.5 :
Un site est coordinateur lorsqu’il ne sait où faire progresser l’onde. Combien peut-il y
avoir de coordinateur ? Pourquoi ?
Question 30.6 :
Écrire l’algorithme en n’utilisant que les actions gardées suivantes : Initialisation, Début
de l’onde (garde évaluée une seule fois sur chaque site), Réception d’un message.
Question 30.7 :
Modifier l’algorithme précédent de sorte qu’il y ait toujours un seul coordinateur, sans
ajouter de messages ni de gardes supplémentaires.
Problème 31 : On considère un réseau synchrone et anonyme en forme d’arbre.
Question 31.1 :
Écrire un algorithme d’onde partant des feuilles permettant de déterminer au moins un
site décideur. On fera en sorte que les instructions gardées par la condition «arrivée d’un
message» ne comportent pas de test.
Question 31.2 :
Dessiner trois arbres de hauteur différentes, avec des nombres de sommets différents sur
lesquels il n’y aura toujours qu’un seul coordinateur de désigné.
Question 31.3 :
Dans le cas d’un réseau synchrone et anonyme, quelle condition nécessaire et suffisante
sur l’arbre assure qu’il n’y aura qu’une seule racine ?
Problème 32 : On considère un réseau bi-directionnel quelconque, dans lequel les sites savent
distinguer les émetteurs des messages qu’ils reçoivent.
Question 32.1 :
Écrire un algorithme qui permet au site S1de calculer le nombre Nde sites du réseau.
Question 32.2 :
Compléter l’algorithme précédent pour que chaque site connaisse le nombre de sites.
Question 32.3 :
On suppose que chaque site Sjpossède une variable locale vj. Proposer un algorithme
permettant à chaque site de connaître la moyenne des vj:v=PN
k=1 vk/N .
Bertrand.Ducourthi[email protected]c.fr 2007 v0.9-TD. Merci de signaler les erreurs.
33
Problème 33 : On considère un réseau modélisé par un graphe orienté symétrique (i.e., si l’arc
orienté (u, v)existe entre les sommets uet v, alors l’arc orienté (v, u)existe aussi dans le graphe).
On suppose que les sites connaissent l’identité de leurs voisins, et savent déterminer les émetteurs des
messages qu’ils reçoivent. On veillera à limiter le nombre de messages nécessaires au fonctionnement
des algorithmes.
Question 33.1 :
Écrire un algorithme permettant au site S1de connaître le nombre Nde sites dans le
réseau.
Question 33.2 :
Modifier l’algorithme pour que le site S1connaisse également le nombre d’arcs du ré-
seau.
Question 33.3 :
Modifier l’algorithme pour que le site S1connaisse également le degré entrant maximal
du réseau.
Question 33.4 :
Expliquer comment le site S1peut en déduire le degré moyen entrant.
Question 33.5 :
Expliquer comment S1peut en déduire que le graphe modélisant le réseau est régulier ou
non.
Problème 34 : On considère un réseau modélisé par un graphe non orienté G(V, E). Le nombre
de sites est donné par |V|=Net le nombre de liens de communications est donné par |E|.
Question 34.1 :
Quelle est la complexité en nombre de messages d’un algorithme de diffusion dans lequel
un site diffuse l’information qu’il reçoit à tous ses voisins, et dans le cas où il diffuser à
tous ses voisins sauf celui par lequel il a reçu l’information ?
Question 34.2 :
Quelle est la complexité maximale en nombre de messages d’une diffusion avec retour
vers l’initiateur (celui qui a débuté la diffusion) ? Distinguer les cas où un site diffuse à
tous ses voisins et celui où il ne diffuse pas vers le site par qui il a reçu l’information.
Question 34.3 :
Quelle est la complexi minimale d’une demi-vague ? Sur quel réseau cette borne peut
être atteinte ?
Question 34.4 :
Comparer la complexité maximale de l’algorithme générique de demi-vague avec celle
de l’algorithme de diffusion.
Problème 35 :
On s’intéresse au nombre de messages que recquiert une série de diffusions (sans retour) dans un
réseau quelconque, modélisé par un graphe non orienté. On cherche à savoir à partir de combien de
diffusions il devient intéressant de construire un arbre couvrant afin de limiter le nombre de messages
nécessaires aux diffusions.
Bertrand.Ducourthi[email protected] 2007 v0.9-TD. Merci de signaler les erreurs.
34
Question 35.1 :
Qu’est-ce qu’un graphe partiel ? un sous-graphe ? un arbre couvrant Td’un graphe G?
Question 35.2 :
Quelle relation existe-t-il entre le nombre de sommets et le nombre d’arêtes d’un arbre
T(VT, ET)? Pourquoi ?
Question 35.3 :
En déduire une inégalité entre |EG|et |VG|pour un graphe connexe quelconque.
Question 35.4 :
Combien de messages sont nécessaires pour diffuser une information en utilisant une
demi-vague qui met à profit un arbre couvrant T(VT, ET)du réseau G(V, E)?
Question 35.5 :
Quelle information doivent détenir les sites pour diffuser en utilisant l’arbre couvrant ?
Question 35.6 :
Combien de messages sont nécessaires pour diffuser un message dans un réseau quel-
conque ? Pourquoi ?
Question 35.7 :
Expliquer comment construire un arbre couvrant en utilisant un algorithme de diffusion
avec retour. En déduire le nombre de messages nécessaires pour que le site ayant une
donnée à diffuser dispose d’un arbre de diffusion.
Question 35.8 :
Sur le plan de la complexité en messages, à partir de combien de diffusions est-il plus
avantageux de construire et d’utiliser un arbre de diffusion ?
Question 35.9 :
Dans le graphe G, quelle doit être la proportion d’arêtes ne faisant pas parti des |VG| − 1
de l’arbre de diffusion pour que la construction de l’arbre de diffusion soit rentable dès
la troisième diffusion ?
Question 35.10 :
À partir de combien de diffusion avec retour la construction d’un arbre couvrant est-elle
intéressante ?
Problème 36 : Afin d’évaluer des complexités en temps, nous admettons que le réseau est syn-
chrone. On suppose qu’un site peut envoyer simultanément un message à chacun de ses voisins.
Question 36.1 :
Comparer la complexité en temps d’une demi-vague qui diffuse les messages bleus à tous
les voisins par rapport à celle qui ne diffuse qu’à certains voisins.
Question 36.2 :
En déduire une comparaison des temps d’exécution d’un algorithme de diffusion et d’un
algorithme de parcours en profondeur.
Question 36.3 :
On suppose qu’il existe une arborescence couvrante Tenracinée sur l’initiateur de la
demi-vague, et orientée de la racine vers les feuilles. Quelle est la complexité en temps
de la diffusion le long de cette arborescence ? En déduire un critère de qualité des arbo-
rescence utilisées pour les diffusions.
Bertrand.Ducourthi[email protected]c.fr 2007 v0.9-TD. Merci de signaler les erreurs.
1 / 4 100%