td04 Enonce
td04 Enonce
td04 Enonce
Exercice 1.
(a) Montrez les étapes de l’exécution de l’algorithme de Dijkstra sur le graphe suivant au
départ du sommet A, et dessinez l’arbre des plus courts chemins correspondant :
13 F 3
B
8 2 6 2 H
6
5 3 G
A D
2 2 1 1
C 5 E
(b) Modifiez l’algorithme de Dijkstra pour qu’il construise un arbre des plus courts che-
mins d’un sommet à tous les autres.
Exercice 2.
On dispose de trois bidons pouvant contenir respectivement 10, 7 et 4 litres d’eau. Initia-
lement, le bidon de 10 litres est vide et les bidons de 7 et 4 litres sont pleins. La seule
opération permise consiste à vider un bidon dans un autre jusqu’à ce que le bidon qui verse
soit vide ou jusqu’à ce que le bidon que l’on remplit soit plein. Attention, les méthodes pro-
posées dans les questions suivantes doivent pouvoir être utilisées si on change les données
du problème (nombre de bidons et volumes).
(a) Décrivez la construction d’un graphe représentant tout ce que l’on peut faire avec ces
bidons.
(b) En utilisant cette modélisation, que faut-il vérifier sur le graphe pour déterminer si l’on
peut arriver à mesurer 2 litres d’eau avec ces règles ? Quel algorithme pourriez-vous
utiliser pour cela ?
(c) Donnez un algorithme permettant de déterminer la méthode la plus rapide pour le
faire.
(d) Bob s’est fait mal au dos et cherche à savoir quelle est la méthode pour mesurer 2
litres d’eau en ayant à soulever le moins de poids possible. Ajustez votre modélisation
et proposez un algorithme pour résoudre le problème.
(Extrait de Algorithms, par S. Dasgupta, C.H. Papadimitriou, et U.V. Vazirani. )
Exercice 3.
Alice et Bob sont partis en vacances quand ils reçoivent leurs résultats de master. Ils ont
tous les deux obtenu la mention très bien et décident de fêter ça ensemble le plus vite
possible.
On dispose d’un graphe dont les sommets représentent les différents lieux de rencontre
possibles et les arêtes correspondent aux liaisons entre deux lieux pondérées par le plus
rapide temps de trajet correspondant.
(a) Donnez un algorithme pour trouver le meilleur point de rencontre pour Alice et Bob.
Quelle est la complexité de votre solution ?
(b) Supposons que Bob et Alice ne se déplacent pas de la même manière. On a donc deux
graphes, un correspondant aux déplacements possibles d’Alice et un autre pour ceux de
Bob. Que faut-il modifier dans votre algorithme pour trouver le point de rendez-vous ?
(c) (Généralisation) Alice et Bob veulent fêter leur diplôme avec Averell qui a raté son
master. Comment trouver le meilleur point de rencontre ? Plus généralement, comment
généraliser le problème à n personnes en supposant que le graphe de déplacement est
commun à toutes les personnes ? Quelle est la complexité de votre solution ?
(Extrait de Algorithms, Etc., par J. Erickson )
Page 1 / 2
Licence Informatique Algorithmique des graphes 2021–2022
Exercice 4.
Mulder et Scully ont répertorié, pour toutes les routes des Etats-Unis, la probabilité exacte
de ne pas se faire enlever par des extraterrestres en empruntant cette route. Ils ont stocké
toutes ces données dans un graphe dont les sommets représentent les villes et les arêtes les
liaisons routières entre ces villes, pondérées par la probabilité de ne pas se faire enlever en
empruntant cette liaison. On suppose que les probabilités sont indépendantes sur chaque
liaison. La probabilité de ne pas se faire enlever par des extraterrestres en empruntant un
chemin donné est donc donnée par le produit des poids des arêtes du chemin.
Mulder doit se rendre de Langley en Virginie à la Zone 51 dans le Nevada. Quelle route
doit-il emprunter pour avoir le plus de chances d’arriver ? Proposez un algorithme pour
résoudre ce problème.
(Extrait de Algorithms, Etc., par J. Erickson )
Page 2 / 2