Algorithmique - Semestre d’Automne 2011/2012
´
ECOLE POLYTECHNIQUE F´
ED´
ERALE DE LAUSANNE
Sections d’Informatique et de Syst`emes de Communication
Serie d’exercices 10 28 November 2011
1. Recherche dans un labyrinthe
On aimerait utiliser l’algorithme DFS du cours pour trouver la sortie d’un labyrinthe. Notre
mod´ele de labyrinthe est un graphe dont les sommets sont des chambres et les arˆetes sont des portes
entre les chambres. L’un des nœuds est le d´epart, et un autre nœud est la sortie.
a) Donner une variante de l’algorithme DFS qui donne explicitement le chemin des nœuds visit´es.
On pr´ecise que simplement voir si un nœud est marqu´e n’est pas consid´er´e une visite de ce nœud.
Indice: En d´escendant, il faut m´emoriser le retour ´a prendre afin d’obtenir une suite de sommets
adjacents.
b) Montrer qu’une arˆete quelconque apparaˆıt au plus deux fois sur le chemin.
c) Montrer que le chemin pour trouver la sortie est de longueur au plus 2n−3.
d) Donner une famille de graphes (pour des narbitrairement grands) avec un sommet de d´epart
tel que tout chemin de longueur 2n−4 omet au moins un sommet.
e) Montrer que dans un graphe quelconque, tout chemin de longueur < n −1 omet au moins un
sommet.
2. Tri topologique Voici un graphe orient´e:
a) Trier les sommets de ce graphe topologiquement.
b) Prouver le th´eor`eme 7.3. du cours.
3. L’algorithme de Dijkstra
Consid´erer le graphe suivant:
1