Licence d’Informatique (L3)
SIN5U1TL – Algorithmique avancée
TD 5 (Jeudi 20/10)
Ce TP porte sur l’Arbre Couvrant Minimal (Algorithmes de Prim et de Kruskal) et sur son utilisation dans le cadre des
ultramétriques.
1. Soit le G=(S,A) le graphe défini par les sommets S = {1,2,3,4,5,6,7,8) et par les arêtes suivantes (S1,S2,w) :
(1,2,5), (1,3,7), (2,3,1), (3,4,4), (2,5,2), (2,4,3), (4,5,8), (1,6,3), (4,6,1), (4,7,9), (5,8,3), (7,8,1), (4,8,2).
Représenter le graphe G.
2. Trouver l’Arbre Couvrant Minimal des trois manières suivantes :
a. Avec l’algorithme de Prim en partant du sommet 1
b. Avec l’algorithme de Prim en partant du sommet 4
c. Avec l’algorithme de Kruskal
3. Quelle structure peut-on utiliser pour accélérer l’algorithme de Prim ? Expliquer pourquoi, et comment
l’utiliser.
4. Une ultramétrique d est définie de la même manière qu’une métrique (distance) si ce n’est que l’inégalité
triangulaire est remplacée par : δ(x,z) ≤ Max { δ(x,y), δ(y,z) } :
a. Soit S = {M1, M2, M3} trois points du plan muni d’une métrique d : comment peut-on définir une
ultramétrique δ à partir de d sur S ?
b. Soit S = {M1, M2, .. Mn} n points du plan, montrer que si on définit δ(Mi,Mj) comme étant le minimum
pour tous les chemins possibles entre Mi et Mj de la plus grande distance (sur le chemin) entre deux
points consécutifs Mk et Ml, ( δ(Mi,Mj) = d(Mk,Ml) ) alors δ est une ultramétrique sur S.
5. Montrer que dans un espace ultramétrique :
a. tous les triangles sont isocèles et leur base est le plus petit côté
b. tous les points d’une boule en sont le centre (ce cette boule)
c. toutes les boules sont disjointes ou concentriques
6. Montrer que la hiérarchie des boules sur S définie une hiérarchie permettant de séparer les sous-ensembles
de S
7. Comment peut-on utiliser l’Arbre Couvrant Minimal pour définir une ultramétrique sur un ensemble de
points ?