Chapitre 1
Définitions et concepts
fondamentaux de la théorie des
graphes
1
Chapitre 2
Les plus courts Chemins :
algorithme de Dijkstra
2.1 Rappels théoriques
En théorie des graphes, l’algorithme de Dijkstra sert à résoudre le problème du plus
court chemin, c’est-à-dire, trouver le chemin le plus court entre deux sommets d’un
graphe. Il permet, par exemple, de déterminer le plus court chemin pour se rendre d’une
ville à une autre connaissant le réseau routier d’une région. Il s’applique à un graphe
connexe. De plus, cet algorithme est souvent réalisé à l’aide d’un tableau dans lequel
chaque étape correspond à une ligne.
Afin de résoudre les exercices, nous allons définir les notions suivantes :
Le poids associé à l’arête eest un nombre réel noté w(e). On considère que le
poids associé à une arête est typiquement une longueur.
Un graphe pondéré est un graphe pour lequel un poids est associé à chacune
des arêtes.
Le poids ou la longueur d’un parcours est la somme des poids associés à cha-
cune des arêtes qui le compose.
d(u, v)= la longueur du plus court chemin du sommet uvers le sommet vdu
graphe.
plusieurs hypothèses sont considérées : Gest un graphe simple et tous les poids
associés aux arêtes d’un graphe sont 0. De plus par convention, le poids entre
deux sommets qui ne sont pas adjacents est défini par w=.
2
Algorithme de Dijkstra
S= sous-ensemble de V(= ensemble des sommets du graphe (V, E, ψ)) tel que
u0Su0est le sommet de départ.
u= sommet considéré à chaque étape.
l(v)= valeur associée à chaque sommet v. Initialement l(u0)et l(v) = pour
v6=u0.
INITIALISATION : l(u0) = 0,l(v) = pour v6=u,S:= u0,u=u.
BOUCLE (tant qu’il reste des sommets hors de S) :
pour chaque v6∈ S,l(v) = min(l(v), l(u) + w(uv))
trouver vmin 6∈ Stel que l(vmin)l(v)pour tout v6∈ S
u:= vmin
S:= S∪ {u}
2.2 Exercices
Exercice 1 :
Une compagnie admet 6succursales dans chacune des 6villes notées C1, C2,··· , C6. Le
prix d’un vol direct de la ville Cià la ville Cjest donné par la (i, j)ième entrée dans la
matrice suivante (signifie qu’il n’existe pas de vol direct).
0 50 40 25 10
50 0 15 20 25
15 0 10 20
40 20 10 0 10 25
25 20 10 0 55
10 25 25 55 0
Quel est le parcours le moins cher pour aller de la ville C1à la ville C3?
3
Exercice 2 :
Trouver les distances à partir de adu graphe dirigé suivant :
Exercice 3 :
Un voyageur souhaite se rendre de Marseille au Futuroscope en train. D’une carte du
réseau TGV, il a extrait le schéma suivant :
Les guides donnent par ailleurs les temps suivants :
Marseille-Lyon : 1h50 Lyon-Paris : 2h15 St Pierre des corps-Futuroscope : 30min
Marseille-Paris : 3hLyon-St Pierre des corps : 3hFuturoscope-Bordeaux : 2h10
Marseille-Toulouse : 3hParis-St Pierre des corps : 1hToulouse-Bordeaux : 2h10
Avec toutes ces informations, quel est le plus court chemin pour le voyageur s’il veut
aller de Marseille au Futuroscope ?
4
Exercice 4 :
Trouver, en appliquant l’algorithme de Dijkstra au graphe suivant, le chemin minimal
allant de S à E. Vérifier que le résultat obtenu n’est pas correct. Pourquoi ?
Exercice 5 :
Trouver, en appliquant l’algorithme de Dijkstra au graphe suivant, le chemin minimal
allant de 1 à 11.
Exercice 6 :
Un voyageur souhaite connaitre les chemins minimaux à partir de Namur vers certaines
villes. Pour ce faire, il cherche sur google map la distance en km (sur route) entre les villes
qu’il souhaite visiter. Appliquer l’algorithme de Dijkstra afin de répondre au souhait du
voyageur.
Namur Bruxelles Charleroi Ciney Andenne Kortrijk Gent Ostende
Namur 0 61.4 39.2 28.6 20.4 154 127 184
Bruxelles 61.1 0 59.5 85.4 72.9 93 57.4 114
Charleroi 42.5 59.3 0 74.8 61.9 129 110 166
Ciney 28.7 90.7 76.7 0 24.2 192 156 213
Andenne 20.6 72.4 57.9 24 0 173 138 195
Kortrijk 155 94.3 129 187 174 0 48.3 72.7
Gent 128 58.5 111 152 140 47 0 68.2
Ostende 184 115 167 209 196 70.9 69.3 0
5
1 / 7 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 !