Corrigé - Algorithmes distribués
Corrigé - Algorithmes distribués. M1 ILC ISI
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 Zemmari8 mars 2017
2Table 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .193.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 recouvrant416.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
34TABLE 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 . . . . . . . . . . . . . . . . .. . . . . . 548 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 8110.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 . . . . . . . . . . . . . . . . . . . . . . . . . . 8510.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" . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . 10612 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11112.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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12015 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 . . . . . . . . . . . . . . . . . . . . . . . .. . . 13116 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17220.6 Un algorithme Monte Carlo pour calculer un arbre recouvrant correct a.f.p. (resp.
a.t.f.p.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17420.7 Un algorithme Monte Carlo pour compter le nombre de sommets d"un anneau
correcte a.f.p. (resp. a.t.f.p.) . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . 17520.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) . . . . . . . . . . . . . . . 17720.10Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . 178
21 Calcul des plus courts chemins entre tous les couples de sommets d"un graphe
et applications18121.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 aucunsommet 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 etd"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
78CHAPITRE 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 lesinteractions 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 processeursvoisins, 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 structurescombinatoires 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)etE(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). 1112CHAPITRE 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 queGestr´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é 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