Année Universitaire 2016/2017
Licence d’Informatique (L3)
SIN5U1TL Algorithmique avancée
Devoir n°2Arbre Couvrant Minimal
Arbre Couvrant Minimal et Ultramétriques
Etant donné un graphe G=(S,A), non orienté, pondéré et connexe, on appelle « arbre couvrant » de G un graphe
partiel de G qui soit un arbre. Un arbre couvrant minimal (ACM), pour le graphe G, est un « arbre couvrant » dont la
somme des poids des arêtes est minimale sur lensemble des « arbres couvrants ».
On a étudié en cours deux algorithmes permettant dobtenir cet arbre couvrant minimal : l’algorithme de Prim et
l’algorithme de Kruskal.
La notion dultramétrique a été étudiée en TD (TD n°5) : elle se différencie dune métrique au niveau de la propriété
« d’inégalité triangulaire » ( δ(x,z) Max ( δ(x,y) , δ(y,z) ) au lieu de d(x,z) d(x,y) + d(y,z) pour une métrique). Une
ultramétrique permet, dune certaine manière, de quantifier « la difficulté, depuis un point, à atteindre un autre », en
ayant la possibilité dutiliser tous les chemins possibles.
Travail demandé
"1. Algorithmes de Prim et Kruskal
On demande de programmer ces deux algorithmes et de visualiser les résultats sous forme graphique (aucune
préconisation nest faite sur ce point, mais vous pouvez utiliser certains outils qui ont été développés par dautres
enseignants, par exemple). A titre dillustration (pour visualiser le résultat obtenu par vos programmes), un graphe
peut être défini « à la main » (dans un fichier texte) avec nombre (limité) de sommets et une liste darêtes pondérées
(en nombre limité également).
"2. Algorithmes de Prim et Kruskal améliorés
La structure de tas (pour lalgorithme de Prim) et la méthode dite d’ « Union Find » (pour lalgorithme de Kruskal)
permettent daméliorer les performances de ces deux algorithmes.
On demande de programmer ces deux versions « améliorées »
"3. ACM sur un graphe complet associé à un nuage de points
Etant donné un ensemble de points dans le plan (nous appellerons « nuage de points » cet ensemble), nous pouvons
définir un graphe non orienté, pondéré et connexe dont les sommets sont ces points et dont les arêtes joignent tous
les sommets deux à deux, avec pour poids la distance entre les sommets correspondants. On obtient ainsi un graphe
complet.
Nous tirerons aléatoirement des points dans un domaine donné et nous ne conserverons que les points situés à une
distance supérieure à un seuil donné des autres points. Calculer et visualiser l’ACM associé à ce graphe.
"4. Ultramétrique sur un nuage de points
Utiliser cet ACM pour évaluer la distance entre deux quelconques de ces points (au sens de lultramétrique définie
comme étant le minimum sur tous les chemins possibles de la distance maximum entre deux point dun tel chemin).
Conditions du devoir
"Les devoirs sont impérativement effectués en binôme (si le nombre total d’étudiants est impair, l’un d’eux et un seul
pourra être seul, mais il n’y aura pas de groupe de trois). Il serait souhaitable que les binômes du Devoir n°1 soient
reconduits.
Il est formellement interdit copier des « bouts de code » sur Internet ou sur ce qu’ont fait d’autres étudiants.
Le travail à remettre sera constitué d’un rapport et d’un programme :
- Le rapport sera en format pdf, d’une taille de quatre à cinq pages, et il donnera des indications sur la
structuration du programme, les raisons des choix effectués, les difficultés rencontrées, éventuellement des
résultats (mais pas une description de l’algorithme ni des « bouts de code »).
- Le programme sera dans un langage de programmation au choix mais après agrément du professeur (C, C++,
Java, Python ont été les langages choisis) ; il y aura a priori un seul fichier pour le programme mais s’il y en a
deux ou trois (pas plus), ce n’est pas gênant (il faudrait quand me essayer de regrouper le tout dans la
mesure du possible).
Tous ces documents doivent m’être adressés par mail (adresse e-mail : jean.sequeir[email protected]) au plus tard le
mardi 29 novembre à midi. Le mail doit m’être envoyé par l’un des deux étudiants du binôme et l’autre étudiant doit
être en copie du message. Les fichiers (rapport, programmes) doivent apparaître comme autant de pièces jointes : il
ne doit absolument pas y avoir de dossier compressé en document attaché. Dans tous les cas, je vous renverrai un
message (rapidement) pour vous dire que j’ai bien reçu vos documents. Si vous n’avez pas reçu cet accusé de
réception de la part, c’est que votre mail ne m’est pas parvenu vérifiez donc bien à avoir reçu cet accusé de
réception.
Pour éviter tout problème, je vous conseille de me faire parvenir ces documents dès le lundi soir ou le mardi en tout
début de matinée.
Le surlendemain, jeudi 1er décembre, de 15h à 17h, aura lieu la présentation des devoirs :
- Ne seront autorisés à présenter leur devoir que ceux qui m’auront adressé leurs documents dans les
conditions énoncées précédemment
- Chaque binôme disposera de 5mn (pas plus) : pensez donc à me montrer ce qui est pertinent, …
1 / 2 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 !