6
Problèmes du chapitre 2 « Étude d’un système réparti »
Les deux premiers problèmes étudient les relations entre nombre de sommets et nombre d’arêtes
dans les graphes. Le troisième problème concerne l’écriture d’algorithmes sous la forme d’actions
gardées.
Problème 2 : Soit G(V,E)un graphe de Nsommets et Marêtes. On note v1,v2, . . . vNles
sommets, et δ(vi)le degré du sommet vi(1iN).
Question 2.1 :
Montrer que pour avoir un graphe connexe, il faut M > N 2.
Question 2.2 :
Montrer qu’il existe un entier N0tel que :
pour N < N0, la réciproque est vraie (i.e.,siM > N 2alors le graphe est
connexe) ;
pour NN0, la réciproque est fausse.
Question 2.3 :
Que peut-on dire de Gs’il est connexe et si M=N1?
Question 2.4 :
Montrer la relation suivante : 2M=N
i=1 δ(vi)
Problème 3 : On considère un graphe orienté G(V, E)fortement connexe, composé de Nsom-
mets v1,v2, ..., vN. On note dson diamètre, δson plus grand degré sortant, et Γ+i
G(v)l’ensemble
des descendants du sommet vdans Gqui sont à distance ide v. On pose Γ+0
G(v)={v}.
Question 3.1 :
Expliquer comment les ensembles Γ+i
G(v)permettent de partitionner les sommets de V,
avec vxé, et ivariant.
Question 3.2 :
En déduire une relation entre Net les ensembles Γ+i
G(v).
Question 3.3 :
Quelle relation existe-t-il entre |Γ+i
G(v)|,|Γ+(i+1)
G(v)|et δ?
Question 3.4 :
En déduire une relation entre N,det δ.
Question 3.5 :
On suppose maintenant que Gest un graphe non orienté connexe, de degré δet de dia-
mètre d. En utilisant le même principe, établir une relation similaire entre N,δet d.
Problème 4 : Ce problème étudie l’écriture sous la forme d’actions gardées de l’algorithme sui-
vant :
[email protected] 2012 TD. Merci de signaler les erreurs.
7
Algorithme 1 :Algorithme pour un camp retranché i
1 Arrivée d’un messager demandant des renforts :
2 Renvoyer le messager avec des renforts
3 Arrivée d’un messager accompagné de renforts :
4 Faire rentrer les soldats arrivants au camp
5 Quantité de soldats insufsante :
6 Envoyer un messager demandant des renforts
7 Plus de barbares que de soldats à la bataille :
8 Faire sortir des soldats du camp et les ajouter à la bataille
9 Moins de barbares que de soldats à la bataille :
10 Faire rentrer les soldats en surnombre au camp
On suppose qu’un centurion :
- dispose au départ de 100 soldats ;
- envoie toujours autant de soldats à la bataille qu’il y a de barbares attaquant le camp (lorsqu’il
n’y a pas assez de soldats, le centurion se rend) ;
- donne des soldats à une garnison voisine s’il lui en reste au moins 30 après (il peut donner une
partie de ce qui est demandé) ;
- demande la quantité nécessaire de soldats à une garnison voisine pour maintenir son effectif à
50, et ce, dès qu’il a moins de 50 soldats.
Les batailles sont locales à un camp. On ne précise pas la garnison voisine sollicitée en cas de de-
mande de renforts. Si des renforts devaient rejoindre la garnison d’un camp qui s’était rendu, alors ils
intègreraient un autre camp.
Question 4.1 :
Rendre le code de l’algorithme 1 plus précis en utilisant une variable Garnipar camp
retranché pour compter le nombre des soldats de chaque camp.
Question 4.2 :
On considère des actions atomiques. Si les gardes suivantes sont vraies simultanément,
quelles sont les instructions associées que le centurion a intérêt à exécuter avant les
autres ?
- quantité de soldats insufsante
- plus de soldats que de barbares à la bataille
- arrivée de renfort
Question 4.3 :
Modier les gardes de l’algorithme de telle sorte que le centurion exécute toujours les
instructions prioritaires lorsque ces trois gardes sont vraies simultanément.
Question 4.4 :
Quelles sont les autres gardes qui devraient être modiées de manière à privilégier cer-
taines actions sur d’autres ?
Question 4.5 :
Quel problème peut poser la garde concernant la condition interne «quantité de soldats
insufsante» ?
[email protected] 2012 TD. Merci de signaler les erreurs.
8
Question 4.6 :
Modier l’algorithme obtenu à la question 4.4 an de résoudre le problème soulevé à
la question précédente, sans supprimer d’actions gardées. On suppose qu’un centurion
n’envoie qu’une demande de renfort à la fois.
Question 4.7 :
Modier l’algorithme obtenu à la question 4.4 an d’intégrer les instructions de l’action
gardée «quantité de soldats insufsante» aux autres actions gardées, de sorte qu’il n’y ait
plus de garde portant sur une condition interne.
Un centurion est autorisé à envoyer une demande de renfort alors qu’il n’a pas encore reçu
le retour d’une demande antérieure mais il ne doit pas demander de renforts excessifs.
On suppose qu’un centurion reçoit ce qu’il demande.
Question 4.8 :
Modier l’algorithme précédent an de prendre en compte le fait qu’un centurion peut
recevoir moins de renforts que demandés.
Question 4.9 :
Comment réduire le code suivant en utilisant des min et des max au lieu des si ?
1si (Garnik)30 alors
2 Renvoyer le messager avec krenforts
3GarniGarnik
4sinon
5si Garni>30 alors
6 Renvoyer le messager avec Garni30 renforts
7Garni30
8sinon
9 Renvoyer le messager avec aucun renfort
10 n si
11 n si
[email protected] 2012 TD. Merci de signaler les erreurs.
1 / 3 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !