[PDF] Autour des algorithmes distribués





Previous PDF Next PDF



Corrigé - Algorithmes distribués

Corrigé - Algorithmes distribués. M1 ILC ISI



Algorithmique Distribuée Algorithmique Distribuée

Algorithme Distribué. Exemple : Calcul d'un arbre couvrant. Algorithmique Distribuée. 58. Page 59. • Entrées réparÅes. Algorithme Distribué. Exemple : Calcul d' 



Examen semestriel Algorithmique et Systèmes distribués (Corrigé) 1

Algorithmique et Systèmes distribués (Corrigé). 1 H30. Exercice 1 (08 points) L'algorithme utilisé est celui de Lamport. Justification : dans la file des ...



Algorithmes Distribués

Oct 26 2023 L'Exercice 1 propose de détailler la version distribué de cet algorithme. ... ties 1-orientées; et (3) corriger les arêtes non orientées ...



Untitled

Exercice 2. (12 points). Soit l'algorithme distribué donné ci-après



Corrigé

Examen semestriel. Algorithmique et Systèmes distribués. 1 H30. Corrigé. Exercice 1 (8 points) : On considère un système réparti à trois sites S1 S2



APD 3.Distribué (suite)

en distribué solutions souvent basées sur Horloges logiques. Quelques algorithmes distribués d'exclusion mutuelle : Algorithme de Lamport 1978 amélioré par 



Examen semestriel Algorithmique et Systèmes dexploitation

Algorithmique et Systèmes d'exploitation distribués (Corrigé). 1 H30. Exercice On utilise l'algorithme RicartAgrawala. Question 1 : Que fait le site 2 ...



Examen dalgorithmique distribuée

Jun 30 2009 Décrire un algorithme réparti



Module de Algorithmique et Systèmes dexploitation Distribués Corrigé

Les messages de type Release n'existent pas dans l'algorithme de Ricart – Agrawala . (2.5 Points). Exercice 2 : On considère un système distribué constitué 



Untitled

Exercice 2. (12 points). Soit l'algorithme distribué donné ci-après



Corrigé - Algorithmes distribués

On associe un estampillage vectoriel de Lamport aux événements du scénario de l'exercice 1. Indiquer les valeurs de toutes estampilles. e. 1 e. 5.



Examen semestriel Algorithmique et Systèmes dexploitation

Algorithmique et Systèmes d'exploitation distribués (Corrigé). 1 H30. Exercice 1 (06 points) : La détection de la terminaison d'un calcul est l'un des 



Examen semestriel Algorithmique et Systèmes distribués (Corrigé) 1

Exercice 1 (08 points) : La figure suivante montre une partie des messages échangés entre 3 processus. (P1 P2



Algorithmes Distribués

4 mars 2022 2.4 Exercices . ... exécuter sur un système distribué A un algorithme conçu pour un système B avec



Autour des algorithmes distribués

8 mars 2017 15.3 Analyse des algorithmes distribués probabilistes . ... 15.5 Un premier exemple : un algorithme distribué probabiliste pour élire dans ...



Examen de rattrapage (Corrigé) Algorithmique et Systèmes répartis

Exercice 1 (7 points) : On considère un système réparti à trois (3) sites : 1 Question 1 : En appliquant l'algorithme de synchronisation de Lamport



Algorithmique Distribuée

L'algorithme 1 résout l'exclusion mutuelle dans un anneau unidirecfionnel. Remarque 2. Si on lève l'une des hypothèses la preuve ne marche plus ! 95.



Examen semestriel Algorithmique et Systèmes dexploitation

Examen semestriel. Algorithmique et Systèmes d'exploitation distribués (Corrigé) Exercice 2 (10 points) : On considère l'algorithme d'élection de ...



Examen semestriel Algorithmique et Systèmes distribués 1 H30

Corrigé. Exercice 1 (8 points) : Un processus du site 2 d'un système Q1/ Quel est l'algorithme (vu en cours) qui est utilisé dans ce cas pour la gestion ...

Quels sont les exercices corrigés d’algorithmique?

Exercices Corrigés d’Algorithmique – 1ére Année MI 5 EXERCICE 1 Ecrire un algorithme qui demande un nombre à l’utilisateur, puis calcule et affiche le carré de ce nombre. Algorithme Carre ; Var X,X2 :reel ; Début Ecrire(‘Donner un reel’) ; Lire(X) ; X2?X*X ; Ecrire(‘Le carré de ’, X,’ est: ’,X2) ; Fin.

Comment faire un exercice algorithme corrigé les tableaux ?

Exercice algorithme corrigé les tableaux (Partie III), tutoriel & guide de travaux pratiques en pdf. Ecrivez un algorithme qui permette la saisie d’un nombre quelconque de valeurs, sur le principe de l’ex 8 (dans la série Les Tableau (Partie 2)). Toutes les valeurs doivent être ensuite augmentées de 1, et le nouveau tableau sera affiché à l’écran..

Quels sont les principes utilisés pour les algorithmes distribués ?

Nous allons décrire ici deux principes utilisés pour ces algorithmes distribués : — la patate chaude ou routage par saut qui sont trai tés dans le paragraphe 7.3.1. routage adaptatif, — l’inondation ou routage par la source qui sont tra ités dans le paragraphe 7.3.2. sur l’inondation .

Autour des algorithmes distribu´es

Arnaud Casteigts, J´er´emie Chalopin, Emmanuel Godard, Yves M´etivier, Mohamed Mosbah, John Michael Robson et Akka Zemmari

8 mars 2017

2

Table des mati`eres1 Introduction7

2 Graphes11

2.1 Graphes non-dirig´es . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . 11

2.2 Graphes dirig´es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . 13

2.3 Graphes ´etiquet´es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . 14

2.4 Graphes dirig´es ´etiquet´es . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . 15

2.5 Des Graphes non-dirig´es aux Graphes Dirig´es . . . . . . . .. . . . . . . . . . . . . 16

3 Syst`eme distribu´e17

3.1 Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . 17

3.2 Syst`emes Distribu´es avec Communication par ´echangede messages en mode point-

`a-point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19

3.3 Complexit´e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . 23

3.4 Sur la terminaison dans un syst`eme distribu´e . . . . . . . .. . . . . . . . . . . . . 25

3.5 Sur l"´election . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . 25

3.6 Syst`emes distribu´es et r´e´etiquetages . . . . . . . . . . .. . . . . . . . . . . . . . . 26

3.7 Sur les liens entre le mod`ele d"Angluin et les r´e´ecritures d"arˆetes . . . . . . . . . . 32

3.8 Communications synchrones et r´e´ecritures d"arˆetes. . . . . . . . . . . . . . . . . . 33

3.9 Connaissances Initiales . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . 34

3.10 JBotSim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 35

3.11 ViSiDiA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 36

4 Le temps dans les syst`emes distribu´es37

4.1 Horloges de Lamport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . 37

4.2 Vecteur d"horloges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . 38

5 Diffusion, centralisation et routage d"une information 39

5.1 Diffusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 39

5.2 Centralisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . 39

5.3 Routage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 39

6 `A propos du calcul d"un arbre recouvrant41

6.1 Calcul d"un arbre recouvrant en parall`ele sans d´etection de la terminaison . . . . . 41

6.2 Calcul d"un arbre couvrant en profondeur avec d´etection de la terminaison . . . . . 43

6.3 Calcul d"un arbre couvrant en parall`ele avec d´etection de la terminaison . . . . . . 47

6.4 Calcul d"un arbre couvrant chaque sommet ayant un num´ero unique . . . . . . . . 51

3

4TABLE DES MATI`ERES

7

´Election et Nommage53

7.1 ´Election dans un anneau, chaque processus ´etant identifi´epar un nom . . . . . . . 53 7.2

´Election dans un r´eseau avec identit´es . . . . . . . . . . . . . . . .. . . . . . . . . 54

7.3 ´Election dans les arbres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . 54 7.4 ´Election dans un graphe complet anonyme . . . . . . . . . . . . . . . . .. . . . . . 54

8 Caract´erisation des r´eseaux admettant un algorithme d"´election 57

8.1 Fibrations et revˆetements . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . 57

8.2 Revˆetements et calculs locaux sur les arcs . . . . . . . . . . .. . . . . . . . . . . . 58

8.3 Codage des op´erations sur les messages par des calculs locaux sur les arcs . . . . . 59

8.4 Une condition n´ecessaire pour pouvoir ´elire . . . . . . . .. . . . . . . . . . . . . . 62

8.5 Un algorithme d"´enum´eration . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . 63

9

´Election dans des familles de graphes69

9.1 Quelques rappels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . 69

9.2 Quasi-revˆetements et le probl`eme de l"´election pourune famille de graphes orient´es

´etiquet´es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 72

9.3 Un algorithme d"´election pour une famille de graphes ´etiquet´es . . . . . . . . . . . 75

10 ´Election et Calculs Locaux sur des´Etoiles Ferm´ees 81

10.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . 81

10.2 Revˆetements Simples . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . 81

10.3 Calculs Locaux sur les

´Etoiles Ferm´ees . . . . . . . . . . . . . . . . . . . . . . . . . 84 10.4 ´Enum´eration, Nommage et´Election . . . . . . . . . . . . . . . . . . . . . . . . . . 85

10.5 Importance de la Connaissance Initiale . . . . . . . . . . . . .. . . . . . . . . . . . 92

11 D´etection de propri´et´es stables97

11.1 Propri´et´es stables dans un syst`eme distribu´e . . . .. . . . . . . . . . . . . . . . . . 97

11.2 Un algorithme pour d´etecter une propri´et´e locale stable . . . . . . . . . . . . . . . 98

11.3 L"algorithme de d´etection de la terminaison globale de Dijkstra-Scholten . . . . . . 99

11.4 L"algorithme de d´etection de la terminaison de Dijkstra-Feijen-Van Gasteren . . . 101

11.5 L"algorithme de calcul d"un ´etat global de Chandy-Lamport avec un sommet distingu´e102

11.6 L"algorithme de Chandy-Lamport : cas g´en´eral . . . . . .. . . . . . . . . . . . . . 103

11.7 D´etection de la terminaison de l"algorithme de Chandy-Lamport . . . . . . . . . . 103

11.8 Deux applications : "Point de contrˆole et r´etablissement d"une configuration" et

"D´etection de la terminaison" . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . 106

12 Stabilisation111

12.1 3-Coloration d"un anneau `a l"aide de r´e´ecritures d"´etoiles . . . . . . . . . . . . . . . 111

12.2 Pr´esentation de l"algorithme du jeton circulant de Dijkstra `a l"aide des r´e´ecritures

d"arcs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

12.3 Calcul d"un arbre recouvrant . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . 112

13 Synchronisation et synchroniseurs113

13.1 Un premier exemple de synchroniseur . . . . . . . . . . . . . . . .. . . . . . . . . 113

13.2 Un synchroniseur pour un graphe dont on connait la taille ou le diam`etre . . . . . 114

13.3 Trois synchroniseurs . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . 116

TABLE DES MATI`ERES5

14 Agents mobiles117

14.1 Description du mod`ele . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . 117

14.2 Ex´ecutions ´equivalentes . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . 119

14.3 Simuler un algorithme `a base d"agents par un algorithme `a base de messages . . . 119

14.4 Simulation d"un algorithme `a base de messages par un algorithme `a base d"agents

mobiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

15 Algorithmes distribu´es probabilistes125

15.1 Le r´eseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . 125

15.2 Algorithme distribu´e probabiliste . . . . . . . . . . . . . . .. . . . . . . . . . . . . 125

15.3 Analyse des algorithmes distribu´es probabilistes . .. . . . . . . . . . . . . . . . . . 126

15.4 Las Vegas et Monte Carlo . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . 127

15.5 Un premier exemple : un algorithme distribu´e probabiliste pour´elire dans un graphe

complet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 15.6 ´Election dans un anneau anonyme . . . . . . . . . . . . . . . . . . . . . . . .. . . 131

16 Quelques rappels sur les probabilit´es133

16.1 Quelques formules et notations utiles . . . . . . . . . . . . . .. . . . . . . . . . . . 140

17 Coloration distribu´ee des sommets d"un graphe 143

17.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . 143

17.2 L"algorithmeColoration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

17.3 Analyse de l"algorithme . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . 144

17.4 R´eduction du nombre de couleurs . . . . . . . . . . . . . . . . . . .. . . . . . . . . 146

18 Synchronisation entre2sommets voisins dans un r´eseau 149

18.1 L"algorithmeRendez-vous. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

18.2 Probabilit´e de succ`es . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . 150

18.3 Nombre moyen de rendez-vous . . . . . . . . . . . . . . . . . . . . . . .. . . . . . 154

18.4 Construction d"un couplage maximal . . . . . . . . . . . . . . . .. . . . . . . . . . 156

19

´Election distribu´ee probabiliste dans des boules de rayon 1 ou de rayon 2 15919.1 Algorithmes probabilistes d"´election 1-locale et 2-locale . . . . . . . . . . . . . . . . 159

19.2 Analyse probabiliste deLR1etLR2. . . . . . . . . . . . . . . . . . . . . . . . . . 160

19.3 Quelques r´esultats d"impossibilit´e . . . . . . . . . . . . .. . . . . . . . . . . . . . . 162

20 Quelques Algorithmes Probabilistes du type Monte-Carlo 165

20.1 Quelques Rappels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . 165

20.2 R´esultats d"impossibilit´e . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . 166

20.3 Analyse d"une proc´edure de fractionnement et de nommage . . . . . . . . . . . . . 166

20.4 Analyse d"une variante de la proc´edure probabiliste de fractionnement et de nommage170

20.5 Analyse du nombre de messages n´ecessaires pour diffuserla valeur maximale dans

un r´eseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172

20.6 Un algorithme Monte Carlo pour calculer un arbre recouvrant correct a.f.p. (resp.

a.t.f.p.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .174

20.7 Un algorithme Monte Carlo pour compter le nombre de sommets d"un anneau

correcte a.f.p. (resp. a.t.f.p.) . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . 175

20.8 Un algorithme d"´election du type Monte Carlo correctea.f.p. (resp. a.t.f.p.) . . . . 177

6TABLE DES MATI`ERES

20.9 Un anneau avec identit´es + la proc´edure de fractionnement = un algorithme

d"´election avec une complexit´e en messages deO(nlogn) . . . . . . . . . . . . . . . 177

20.10Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . 178

21 Calcul des plus courts chemins entre tous les couples de sommets d"un graphe

et applications181

21.1 Le mod`ele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . 181

21.2 Plus courts chemins entre deux sommets quelconques . . .. . . . . . . . . . . . . . 182

21.3 Deux applications simples de PCC . . . . . . . . . . . . . . . . . . .. . . . . . . . 186

21.4 Autres applications de la num´erotation des sommets . .. . . . . . . . . . . . . . . 187

22 Algorithmique des Bips191

22.1 Network Model and Definitions . . . . . . . . . . . . . . . . . . . . . .. . . . . . . 193

22.2 Design patterns for beeping algorithms . . . . . . . . . . . . .. . . . . . . . . . . . 194

22.3 Algorithms for basic graph problems . . . . . . . . . . . . . . . .. . . . . . . . . . 197

22.4 Collision detection and emulation techniques . . . . . . .. . . . . . . . . . . . . . 201

22.5 Complexity analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . 207

22.6 Further Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . 215

22.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . 216

Chapitre 1Introduction

Un syst`eme distribu´e est un ensemble d"entit´es autonomes pouvant ´echanger des informations

`a travers un r´eseau de communication. Ces entit´es autonomes doivent pouvoir traiter et stocker

des informations : elles peuvent ˆetre des processus, des processeurs, des capteurs ou bien encore

des ordinateurs. Le r´eseau peut ˆetre local ou bien `a l"´echelle d"un campus ou de la terre. Suivant

sa nature des probl`emes diff´erents peuvent se poser : fiabilit´e des communications, temps de

communication, h´et´erog´en´eit´e des machines. Un syst`eme distribu´e peut ˆetre motiv´e par le partage

de ressources (physiques ou logicielles), la fiabilit´e du syst`eme obtenu, l"´echange d"informations

ou bien encore l"efficacit´e. On suppose que le syst`eme est totalement distribu´e : il n"ya pas d"horloge globale et aucun

sommet n"a une connaissance (en temps r´eel) de l"´etat global du r´eseau. Chaque entit´e du r´eseau

a sa propre vie et sa vie en tant qu"´el´ement du r´eseau; l"algorithmique distribu´ee traite de cette

deuxi`eme partie. On peut citer en particulier : - la communication en g´en´eral, le routage ou la diffusion d"informations en particulier;

- le contrˆole de l"ex´ecution d"algorithmes, avec en particulier le probl`eme de l"´election, la

d´etection de propri´et´es concernant l"´etat du r´eseau comme la terminaison d"une tˆache ou

la d´etection d"un inter-blocage ou bien encore le calcul depoints de reprise; - la gestion du temps ou la synchronisation entre diff´erents´el´ements du r´eseau; - la r´esistance ou la tol´erance aux pannes.

En g´en´eral, le r´eseau est repr´esent´e par un graphe connexeG= (V,E) o`u les sommets

repr´esentent les entit´es de base (processeurs, processus...) et les arˆetes les liens de communication

ou d"interaction.

Un algorithme distribu´e est un ensemble d"algorithmes chacun ´etant ex´ecut´e par une "machi-

ne". On se propose, `a travers ce texte, de fournir des outils permettant de coder, d"´etudier et

d"enseigner diff´erents aspects de l"algorithmique distribu´ee en s"int´eressant plus particuli`erement

aux probl`emes cit´es ci-dessus. Ces ´etudes sont faites d"une part en fonction des r`egles de fonc-

tionnement ou de calcul autoris´ees sur le r´eseau et d"autre part de la connaissance initiale ou de

la configuration initiale du r´eseau. La non existence d"algorithmes distribu´es d´eterministes pour

r´esoudre certains probl`emes nous conduit `a proposer et `a ´etudier des algorithmes distribu´es pro-

babilistes dont l"expression est souvent simple mais l"analyse difficile. Un autre aspect est l"´etude

des liens entre diff´erents mod`eles soit `a base de calculs locaux soit `a base de communication par

messages et la comparaison de leurs puissances. Les questions relatives aux syst`emes distribu´es constituent un axe majeur de l"informatique;

citons par exemple la conception et le d´eveloppement d"architectures distribu´ees, la d´efinition et

7

8CHAPITRE 1. INTRODUCTION

le d´eveloppement d"environnements de programmation distribu´es, la description et la validation

de programmes distribu´es ou bien encore l"´etude des communications dans les syst`emes distribu´es.

Un moyen d´ecisif est la maˆıtrise des m´ecanismes fondamentaux qui y interviennent; cela passe

par :

- la d´efinition et l"´etude de diff´erents mod`eles rendant compte de ph´enom`enes qui s"y pro-

duisent,

- le d´eveloppement d"outils permettant de visualiser, de tester et, plus g´en´eralement, d"aider

`a la mise au point et aux preuves de syst`emes distribu´es, - la mise en oeuvre de plate-formes distribu´ees afin de v´erifier et d"exp´erimenter. Un syst`eme distribu´e est un ensemble de processeurs (processus) qui peuvent interagir. Il existe principalement 3 mod`eles d"interactions : - le mod`ele avec communication par messages, - le mod`ele avec communication par m´emoires partag´ees, - le mod`ele des calculs locaux. Dans ces trois mod`eles, les processus sont repr´esent´es par les sommets d"un graphe et les

interactions par des arˆetes. Pour les mod`eles `a base de communications, les processus interagissent

`a travers des primitives de communication : des messages peuvent ˆetre envoy´es le long des liens,

des op´erations de lecture/´ecriture peuvent ˆetre ex´ecut´ees dans des registres associ´es aux arˆetes ou

bien des ondes sont ´emises. Dans le mod`ele des calculs locaux les interactions sont d´efinies par des

r´e´ecritures de graphes. Ces diff´erents mod`eles (et sous-mod`eles) codent diff´erentes architectures

de syst`emes, diff´erents niveaux de synchronisation et diff´erents niveaux d"abstraction.

L"existence et l"expression des algorithmes distribu´es d´ependent d"hypoth`eses techniques sur

les r´eseaux concernant le mode de communication, la synchronisation partielle de processeurs

voisins, l"anonymat des processeurs, l"´etat initial des processeurs ou bien encore de la connaissance

initiale que l"on a sur le r´eseau. Les cadres classiques (comme par exemple CSP) rendent difficile

la lisibilit´e de certains algorithmes, ils ne permettent pas toujours de comprendre leur puissance

et leurs limites et de faire des preuves formelles de leurs propri´et´es.

Dans le mod`ele des calculs locaux, un syst`eme distribu´e est cod´e par un graphe ´etiquet´e :

les sommets correspondent aux processeurs, les arˆetes auxliens d"interactions et les ´etiquettes

associ´ees codant l"´etat du processeur ou du lien. Une r`egle de calcul est d´efinie par la donn´ee d"un

graphe connexe et de deux ´etiquetages de ce graphe, donc elle est appliqu´ee localement. Les principaux types de r`egle utilis´es et ´etudi´es sont d´ecrits sur la figure 1.

Un syst`eme de r´e´ecriture est d´efini par la donn´ee d"un ensemble d´enombrable de telles r`egles.

On consid`ere des ex´ecutions asynchrones : il n"y a pas d"horloge globale et deux pas de r´e´ecriture

peuvent avoir lieu en parall`ele si ils modifient des partiesdisjointes de leurs supports. Le com-

portement du r´eseau est d´efini par un ´etiquetage initial et par une suite de pas de calcul. Le

caract`ere abstrait des calculs locaux facilite la conception d"algorithme et des bonnes structures

combinatoires aff´erentes ; par ailleurs, une fois les algorithmes, les preuves et les analyses r´ealis´es,

le travail de traduction (ou d"adaptation) dans des mod`eles plus r´ealistes est relativement plus

simple. Ce mod`ele permet de comprendre o`u passe la fronti`ere entre les tˆaches r´ealisables et celles

qui ne le sont pas.

Ce texte ne parle ni des machines supportant les r´eseaux, nides architectures du r´eseau et des

diff´erentes "couches" qui le composent et ni des langages deprogrammation correspondant.

Les livres suivants ont largement contribu´e `a l"´ecriture de ce document : [AW04, Ber83, Dol00,

KS08, Lav95, Lyn96, Mas91, TvS02, Tel00, Ray85, Ray87, Ray91, San06]. De nombreux chapitres sont issus de ces articles ou th˜A¨ses : [BGM+01, CGMO06, CM05, LMS99, MSZ03, MSZ02, God02, Zem00, Sel04, Cha06, CGM12, CM10, MRSDZ10, MRSDZ11]. 9 (1)? (2)? (4) (3)? (6)? (7) (5)??

Figure1.1 -´Etant donn´ee une r`egle, les sommets (blancs ou noirs) et les arˆetes formant le

membre gauche de cette r`egle constituent le support de la r`egle. Les sommets noirs sont actifs :

leurs ´etiquettes peuvent changer quand la r`egle est appliqu´ee. Les sommets blancs sont passifs :

leurs ´etiquettes conditionnent l"application de la r`egle mais ne peuvent ˆetre modifi´ees par la r`egle.

Dans les mod`eles o`u les arˆetes sont marqu´ees, les arˆetes sont ´etiquet´ees et l"application de la r`egle

peut modifier leurs ´etiquettes. Cette figure montre la hi´erarchie entre ces diff´erents types de r`egles

pour le probl`eme de l"´election dans un r´eseau.

10CHAPITRE 1. INTRODUCTION

Chapitre 2Graphes

Un syst`eme distribu´e est d´efini par un ensemble d"entit´es qui interagissent entre elles et donc

tr`es naturellement peut ˆetre cod´e par un graphe (dirig´eou non dirig´e). Par ailleurs de nombreux

algorithmes sur les graphes constituent des briques de basepour r´ealiser des algorithmes sur les syst`emes distribu´es.

De nombreuses propri´et´es de tels syst`emes et des algorithmes associ´es ainsi que leurs preuves

utilisent ´egalement des notions de graphes. Ce chapitre pr´esente ces notions de base que l"on utiliseradans ce texte.

2.1 Graphes non-dirig´es

Quelques d´efinitions

D´efinition 2.1Ungraphe non-dirig´e sans boucleest d´efini par un ensemble de sommetsV(G),

un ensemble d"arˆetesE(G)et par une fonctionextqui associe `a chaque arˆete deux ´el´ements

distincts deV(G), appel´es sesextr´emit´es. Pour toute arˆetee?E(G)et tous sommetsu,v?E(G)tels queext(e) ={u,v}, on dit que l"arˆeteeestincidente`auet `av. Les sommetsuetvsont ditsadjacentsouvoisins. Un tel grapheGsera not´eG= (V(G),E(G)) ouG= (V,E).

Par la suite, sauf pr´ecision contraire, le termegraphed´esignera un graphe non-dirig´e sans

boucle.

D´efinition 2.2Ungraphe simple non-dirig´eest un graphe non-dirig´e sans boucle tel qu"il y ait

au plus une arˆete entre deux sommets, i.e., pour tous sommetsu,v?V(G),|{e?E(G)|ext(e) = Chaque arˆetee?E(G)peut alors ˆetre vue comme une paire de sommets distincts quisont ses extr´emit´es. Par la suite, sauf pr´ecision contraire, le termegraphe simpled´esignera un graphe simple non- dirig´e. D´efinition 2.3Un grapheHest un sous-graphe partiel d"un grapheGsiV(H) =V(G)et

E(H)?E(G).

Un grapheHest un sous-graphe deGsiV(H)?V(G)etE(H)?E(G). Un grapheHest un sous-graphe induit deGsiV(H)?V(G)etE(H)est l"ensemble des arˆetes deGdont les extr´emit´es sont dansV(H), i.e.,?e?E(G),ext(e)?V(H)??e?E(H). 11

12CHAPITRE 2. GRAPHES

Pour tout grapheGet tout ensembleS?V(G), on noteG[S]le sous-graphe induit deGdont les sommets sont les ´el´ements deS. D´efinition 2.4Dans un grapheG, levoisinaged"un sommetu, not´eNG(u), est l"ensemble des voisins deu, i.e.,NG(u) ={v?V(G)| ?e?E(G)telle queext(e) ={u,v}}. On noteIG(u) l"ensemble des arˆetes incidentes au sommetu, i.e.,IG(u) ={e?E(G)|u?ext(e)}. Dans un grapheG, ledegr´ed"un sommetu, not´edegG(u), est le nombre d"arˆetes incidentes `au, i.e.,degG(u) =|IG(u)|. En particulier, siGest un graphe simple, alors le degr´e deuest son nombre de voisins, i.e.,degG(u) =|NG(u)|. Un grapheGestd-r´eguliersi tous les sommets deGsont de degr´ed; on dit aussi queGest

r´egulier. Dans le cas particulier o`u tous les sommets ont un degr´e 0 (le graphe ne contient pas

d"arˆete), on dit queGest unstable. Un grapheGestbipartisi on peut partitionner les sommets deV(G) en deux ensemblesV1etV2tels queG[V1] etG[V2] sont des stables. Un graphe biparti Gest (k,l)-semi-r´eguliersi tous les sommets deV1sont de degr´eket tous les sommets deV2quotesdbs_dbs8.pdfusesText_14
[PDF] exercice corrigé algorithme matrice

[PDF] exercice corrigé ancc

[PDF] exercice corrigé anova à un facteur

[PDF] exercice corrigé antenne

[PDF] exercice corrigé arbre de défaillance pdf

[PDF] exercice corrigé architecture des ordinateurs memoire

[PDF] exercice corrigé augmentation de capital pdf

[PDF] exercice corrigé automatique asservissement

[PDF] exercice corrigé avantage comparatif

[PDF] exercice corrigé balanced scorecard

[PDF] exercice corrigé bassin versant

[PDF] exercice corrigé bassin versant pdf

[PDF] exercice corrigé bordereau d'escompte

[PDF] exercice corrigé bras de levier

[PDF] exercice corrigé budget dapprovisionnement pdf