distribué le 5 avril 2007
Université de Provence
MASTER INFORMATIQUE
Programmation Parallèle
et Distribuée
2006-2007
Problèmes et Algorithmes Fondamentaux III
Dans ce qui suit on suppose donné un graphe G= (V, E)qui modélise un réseau
d’interconnexions. Les sommets du graphe modélisent les entités de calculs. Les arêtes
du graphe modélisent les liens de communication directe entre deux entités de calculs.
ACalculs locaux Dans cette exercice on suppose que chaque sommet (resp.
chaque arête) du graphe possède une étiquette qui code son état. On suppose qu’ini-
tialement, un sommet distingué du graphe est dans un état actif que l’on code avec
l’étiquette A. Les autres sommets sont dans un état neutre codé avec l’étiquette N. Les
arêtes ont toutes la même étiquette initiale 0. Soit la règle suivante :
R1:“Si un sommet dont l’étiquette est Apossède un voisin dont l’étiquette est N
alors l’étiquette de ce dernier est remplacée par A. L’étiquette de l’arête reliant les
deux sommets devient 1.”
1.1 Donner une représentation schématique de la règle R1.
1.2 Appliquer (séquentiellement) la règle R1sur un grille rectangulaire 3×3avec différents
emplacements pour le sommet étiqueté A.
1.3 Que code la règle R1? Prouvez le ?
1.4 Rappeler les différents type de terminaison. De quelle terminaison s’agit-il ici ? Ajouter des
règles pour obtenir les autres terminaisons.
1.5 Peut-on se passer des étiquettes sur les arêtes ?
BAlgorithmes de calcul d’arbres BFS (Parcours en largeur) On définit
un arbre BFS de la façon suivante :
Définition : Un arbre BFS d’un graphe Grespectivement à un sommet racine rest
un arbre recouvrant Tde Gtelque : ∀v∈V, dT(v, r) = dG(v, r).
2.0 Construire un arbre BFS d’un grille rectangulaire avec une racine dans un coin, puis au
centre de la grille. À quoi pourrait servir ce type de structures ?
Algorithme de Dijkstra
L’idée de l’algorithme est de construire l’arbre à partir de la racine en rajoutant une
couche entière à chaque étape.
2.1 Proposer un algorithme distribué dans le modèle synchrone avec échange de messages pour
implémenter cette idée ?
2.2 Quelle est la complexité de votre algorithme en nombre de messages et en temps ?
2.3 Proposer un algorithme dans le cas asynchrone. Quelle est sa complexité ?
Algorithme de Bellman-Ford
L’algorithme est donnée de façon shématique dans la figure 1.
B. Derbel, E. Godard 1