TH Graphe8 PDF
TH Graphe8 PDF
Introduction : C'est l'histoire du livreur de pizza, contraint de livrer ses commandes en moins d'une
demi-heure avec pour seule arme un scooter faiblard et poussif. C'est aussi l'histoire
de monsieur Dupont qui, sa valise à la main, se rend à la gare de Lausanne, direc-
tion St-Moritz, sans bien savoir par où passer. C'est encore l'histoire d'Internet qui
permet le transfert de tous types de données dans le monde entier via... quelle route
au fait ?
Dans les trois cas, la question que se posent les protagonistes avant de foncer tête
baissée est la même : quel est le plus court chemin pour aller de mon point de départ
à mon point d'arrivée sachant que je ne peux emprunter que des lignes ferroviaires,
des routes, des réseaux ?
Qui dit trajet dit problème des plus courts chemins. Qui dit problème dit nécessité de
trouver une solution !
Le problème est donc posé : étant donné un ensemble de points (les gares, les ser-
veurs) et un ensemble de liaisons entre ces points (les lignes ferroviaires, les routes)
caractérisées par un certain poids (longueur en kilomètres ou, pourquoi pas, coût,
nombre de tournants, débit, ...), comment trouver le chemin le plus court, le moins
cher, le plus agréable entre deux points ?
Il est difficile de parler d'algorithme naïf lorsqu'on s'attaque au problème des plus
courts chemins, car quoi qu'il arrive, il faudra trouver un moyen de comparer diffé-
rents chemins entre eux, de ne pas en oublier, bref de définir une façon de parcourir
Edsger W. Dijkstra le graphe, ce qui, même à la main, est loin d'être instinctif. Nous en étudierons
(1930 – 2002) deux : l’algorithme de Dijkstra datant de 1959 et l’algorithme MPM.
Démarche : D’une carte routière, on a extrait le plan suivant, indiquant les diffé-
rents tracés possibles ainsi que les distances entre les villes (en km) :
WASSEAU 85
LUCERNE
56 15
57 ANDERMATT CADENAZZO
45 45 31
INNETT- 73 86 MILAN
90 KIRCHEN GLETSCH
STRESA 66
78 164
BERNE
Définitions • On appelle graphe pondéré, un graphe dont les arêtes ont été affec-
tées d’un nombre appelé poids.
Dans les exemples étudiés ici, les poids affectés à chaque arête seront toujours positifs.
Cette condition est assez banale lorsque les poids représentent par exemple des coûts, des
distances, ou des temps. Elle n’est pas toujours réalisée lorsque par exemple les poids repré-
sentent des flux.
• Poids d’un chemin : C’est la somme des poids des arêtes qui consti-
tuent le chemin. On parlera aussi, selon le contexte, de longueur du
chemin.
Démarche générale : Notre problème s’énonce maintenant ainsi : dans le graphe de la figure suivante,
déterminer le plus court chemin reliant le sommet B à M.
L 56 W 15 A C
85
86
90 M
45 57 31 73
66
B
78
I 45 G 164 S
Le nombre de chemins reliant ces deux villes est limité, du moins si l’on élimine les
chemins contenant des cycles, qui ne peuvent être minimaux. On peut en dresser la
liste, calculer leur poids respectif, et déterminer la solution du problème :
La recherche du plus court chemin entre deux sommets x0 et xn d’un graphe passe
alors par les recherches successives des plus courts chemins reliant x0 à tous les
sommets du graphe susceptibles de se trouver sur le trajet. Reste à choisir dans quel
ordre on liste les sommets intermédiaires.
1ère étape:
L (90 , B)
On part de Berne. On peut atteindre les deux villes L et I. On leur as-
90
socie, entre parenthèses, la distance depuis Berne et l’initiale du som-
45
met prédécesseur, ici B.
B
78
I (78 , B)
La distance la plus courte inscrite à cette étape est 78 km (si l’on ex-
cepte, bien entendu, 0 km pour Berne). Aucune autre ville n’étant ac-
L (90 , B)
cessible depuis Berne pour une distance plus courte, on peut assurer
90 qu’aucun autre trajet, passant par une autre ville, ne relie Berne à
45 Innettkirchen pour une distance plus courte : 78 km est la distance
minimum d’un trajet Berne-Innettkirchen. Cette distance est notée
B
78 L(I). Innettkirchen sera dite marquée (définitivement).
I (78 , B)
2ème étape:
L (90 , B) 56 W (135 , I)
À ce stade, parmi les villes provisoirement marquées, L admet la plus
90
45 57
petite distance. On marquera alors définitivement L(L) = 90.
B
78
45 G (123 , I)
I (78 , B)
3ème étape:
L (90 , B) 56 W (135 , I)
À présent, on marque la ville adjacente à L en constatant que l’on ne
90
modifie pas le marquage provisoire car 135 < 90 + 56. G admettant la
45 57 plus petite distance, on la marque définitivement.
B
78
45
I (78 , B) G (123 , I)
Résolution type L 56 W 15 A
85
C
(à compléter ensemble) 86
90 M
45 57 31 73
66
B
78
I 45 G 164 S
B L I W G A S C M
0 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ B
Dans le cas des L’algorithme de DIJKSTRA peut facilement être adapté à un graphe
graphes orientés ? orienté, en indiquant un poids de ∞ si l’arc n’est pas orienté dans le
“bon sens”.
A 3 B Poids de [A ; B] = 3
Poids de [B ; A] =
Exercice 104 Appliquer l’algorithme de Dijkstra pour déterminer le plus court che-
min entre E et S et proposer la résolution à l’aide du tableau.
A 2 C
3 3
3 1
1
E S
1 1
B 5 D
Exercice 105 Trouver le plus court chemin du sommet A vers tous les sommets en
utilisant l’algorithme de Dijkstra.
D
9 3
B G
4
7 5 2 9
E
3 8
A I
6 8 6 3
8
C 9
H
7
F
Dans chaque cas, proposer un chemin minimum et indiquer le nombre
de chemins minimums possible.
Option spécifique – JtJ 2016
CHAPITRE 8 GRAPHES ET OPTIMISATION 66
Exercice 106 Les deux cartes suivantes représentent ; à gauche : le trajet en miles du
train Expressways in the Chicago area et à droite la durée des diffé-
rentes étapes.
Buffalo Buffalo
Grove 6 mi 5 mi Grove 8 min 10 min
15 mi 8 mi 13 min 22 min
9 mi 15 min
15 mi 30 min
9 mi 2 mi 15 min 10 min
13 mi 18 min
9 mi 9 min
17 mi 10 mi 20 min 15 min
10 mi 22 min
Exercice 107 La matrice qui suit donne en heures les durées des vols entre certaines
villes v1, v2, …, v6 :
⎛ 0 3 ∞ 5 ∞ ∞⎞
⎜ 3 0 5 2 4 ∞⎟
⎜∞ 4 0 ∞ 4 3 ⎟
⎜ ⎟
⎜6 2 ∞ 0 4 4⎟
⎜⎜∞ 4 4 5 0 2 ⎟⎟
⎝∞ ∞ 5 4 3 0 ⎠
Exercice 108 Dans le graphe ci-dessous contenant un poids négatif, montrer que
l’algorithme de Dijkstra ne peut pas être appliqué.
B
2 1
C
A
4 -2
Exercice 109 Partant de Moscou, Michel Strogoff, courrier du tsar, devait rejoindre
Irkousk. Avant de partir, il avait reporté sur une carte pour chaque
liaison entre deux villes les « chances » de réussite. Ces chances
étaient exprimées par un entier de 1 à 10 (mesurant le nombre de
chances sur 10 de réussite). Ignorant le calcul de probabilités, il avait
choisi son itinéraire en maximisant la somme globale des chances.
A 7 C 3 F 1 G 2 J
9 6
7 5 9 4 5
Moscou Irkousk
8 1
B 8 D 6 E 1 H 9 K
A
4
10 4 10 D
C
B 10 12
5 16
F
E 21
4 3
17 3
10 G
H
3
5
I 8 J
Exercice 111 L’un d’entre vous se sent-il prêt à démontrer que l’algorithme de Dijk-
stra fournit bien le plus court chemin d’un sommet initial à un sommet
final ?
De quoi s’agit-il ? Il s’agit de savoir planifier l’exécution de tâches qui ont une certaine
durée, et qui ont entre elles des relations d’antériorité (par exemple,
dans les révisions qu’il faut faire avant de passer le baccalauréat, il y a
des chapitres qu’il faut revoir avant d’autres).
Méthode française MPM 1) À partir du tableau, on réalise un premier graphe appelé graphe de
(Méthode Potentiel Métra)
niveau dont les sommets sont les tâches et qui permet de mettre en
évidence les antériorités :
B
E
A C
F
D
Les arcs sont les relations d’antériorité immédiate ; ils sont valués
par la durée de la tâche source.
B
4
3 E
2
début A 3 C fin
5
F
3
3 2
D
Nom de la tâche
Début au Début au
plus tôt plus tard
B
3 4
3 E
8 2
début A 3 C fin
5
0 0 3 10
F
3
3 2 5
D
3
B
3 4 4
3 E
8 8 2
début A 3 C fin
5
0 0 0 0 3 3 10 10
F
3
3 2 5 7
D
3 5
5) Exploitation de ce graphe
Il y a des tâches critiques, celles pour lesquelles on a t i = t i* : la
tâche E devra obligatoirement débuter durant la 8ème semaine (ni
plus ni moins) pour que le processus soit achevé au bout des 10
semaines. Les tâches critiques définissent un ou plusieurs chemins
critiques composés de tâches dont l’exécution ne doit connaître
aucun retard pour que le projet soit achevé au plus tôt.
Par contre, il y a de la latitude pour les tâches qui ne sont pas cri-
tiques : la tâche F pourra être démarrée entre la semaine 5 et la
semaine 7.
De même, il y a un chemin critique : A – C – E – fin (il y a tou-
jours un chemin critique dans un graphe MPM).
Définition : Marge totale : retard maximum que peut avoir une tâche sans retarder
la fin du projet (les tâches critiques n’ont pas de marge). On l’obtient
en calculant t i* − t i .
5) Diagramme de Gantt
Il s’agira de représenter graphiquement le déroulement du projet ;
les tâches à effectuer sur les plages à disposition durant les 10 se-
maines (numérotées de 0 à 9).
0 1 2 3 4 5 6 7 8 9 10
A
B
C
D
E
F
Durée Tâches
Tâche Description
(en jours) antérieures
A obtention d’un permis d’exploitation 120 -
B établissement d’une piste de 6 km 180 A
C transport et installation à pied d’œuvre de 2 sondeuses 3 B
création de bâtiments provisoires pour le bureau des
D 30 B
plans, le logement des ouvriers sondeurs
E goudronnage de la piste 60 B
F adduction d’eau 90 D
G campagne de sondage 240 C,D
H forage et équipement de trois puits 180 E,F,G
I transport et installation au fond du matériel d’exploitation 30 J,H
construction de bureaux et logements, ouvriers et ingé-
J 240 E,F,G
nieurs
K traçage et aménagement du fond 360 J,H
L construction d’une laverie 240 J,H
a) Déterminer les dates au plus tôt et les dates au plus tard de chaque
tâche.
b) Déterminer le temps minimum de réalisation de l’ensemble.
c) Proposer un chemin critique.
d) Préciser les marges totales de chaque tâche.
a) Déterminer les dates au plus tôt et les dates au plus tard de chaque
tâche.
b) Déterminer le temps minimum de réalisation de l’ensemble.
c) Proposer un chemin critique.
d) Préciser les marges totales de chaque tâche.
Conclusion et références
Nous voici au bout de notre voyage dans la théorie des graphes. Mais peut-être pas au bout du
vôtre… Cette théorie récente cache encore quelques résultats à découvrir, quelques algo-
rithmes à optimiser et quelques théorèmes à compléter. Que ce soit en informatique, en ma-
thématiques, en sciences économiques, …, les outils de la théorie des graphes sont encore en
pleine expansion.
http://icosaweb.ac-reunion.fr/RsrcPeda/General/Lycee/TheorieDesGraphes/Graphespage01.htm