TG France
TG France
TG France
3 MIC
MJ. HUGUET
homepages.laas.fr/huguet
Consignes générales
Les TD Graphes durent 7 séances. Lors de ces séances vous travaillerez en groupe de 4 à 5 personnes (le groupe
doit rester identique sur l’ensemble des séances). Les exercices notés (*) seront traités en séance, les exercices
complentaires peuvent être traités en travail personnel.
Il est vivement conseillé de travailler entre les séances de cours et de TD (relire les notions abordées, reprendre
les exercices ayant posé des difficultés).
Remerciements
Ce support a bénéficié des contributions de collègues de l’INSA ou du LAAS (Colette Mercé, Patrick Esqui-
rol, Pierre Lopez, Nicolas Jozefowiez, Mikael Capelle, Pierre-François Gimenez 1 ). Il s’est également inspiré
d’exercices posés par des collègues d’autres établissements d’enseignement supérieur.
Ce document a été rédigé avec LATEX. Les graphes sont générés avec TikZ.
2
1.4 Recupérer du liquide (*)
On doit récupérer 4 litres d’un liquide contenu dans
un tonneau (de grande contenance). Nous disposons
pour cela de deux récipients contenant respective-
ment 5 litres et 3 litres. Ces deux récipients ne sont
pas gradués, nous ne connaissons que leur contenance
totale.
3
2 Parcours de Graphes supérieur ou égal à 2 alors G possède au moins un
cycle.
Travail personnel préparatoire Nous n’allons pas chercher à montrer cette propriété
(voir les livres ou sites internet sur le sujet).
2.1 Applications des algo (*) Remarque : une conséquence de cette propriété est
qu’un graphe non orienté sans cycle possède au moins
On considère le graphe non orienté G2 de la figure 2
un sommet de degré 0 ou 1.
d
Question 1. Graphe acyclique et nombre d’arêtes.
a Montrez, par induction sur le nombre de sommets,
qu’un graphe acyclique d’ordre n (ie. ayant n som-
mets) possède au plus n − 1 arêtes.
e h
b c
2.2 Cycle - Graphe non orienté
Soit un graphe non orienté G, il existe une propriété a
aussurant l’existence d’un cycle dans un tel graphe.
Cette propriété est : si tout sommet de G est de dégré
Figure 3 – Maquette d’une formation
4
Pour une meilleure lisibilité on souhaite ré-organiser 3. et ainsi de suite : classez dans chaque niveau
la représentation du graphe de telle sorte que tous les sommets dont les prédécesseurs sont dans
les arcs soient orientés de la gauche vers la droite. les niveaux antérieurs.
Question 2.
1 2 3 4 5 6 7 8 9 10 11
5
3 Exercices complémentaires temps de prendre connaissance de ce que vous avez
fait ....).
Les exercices proposés sont liés aux notions abordées
dans les sections 1 et 2. x19 x1
6
x13 x14 x15 x16
x5 x6 x7 x8
x1 x2 x3 x4
Figure 6 – Graphe G3
7
4 Plus court chemin c, faut-il re-lancer l’algorithme ? Justifiez la ré-
ponse.
4.1 Application des algo (*) c Dans le cas général que faut-il faire ? Justifiez
Algorithme de Dijkstra. Soit le graphe non orienté la réponse.
valué G4 de la figure 7. d Pouvez-vous utiliser d’autres algorithmes à la
place de l’algorithme de Dijkstra ? Pourquoi
10 utiliser celui de Dijkstra plutôt qu’un autre ?
b c
1
1 10 2 2 Algorithme de Bellman-Ford. Soit le graphe orienté
4 valué G5 de la figure 8.
d e 5
11 1
a 5 5 8 j d
-3
6 3 5
f g
6 -4
3 2 3 5
4 b 1
h i a 2 -2 e
8
c
1 8
Figure 7 – Graphe non orienté valué G4
3
Utilisez l’algorithme de Dijkstra pour calculer le plus f
court chemin entre le sommet a et le sommet j. Pour
cela, utilisez le tableau de calcul ci-dessous. La pre-
Figure 8 – Graphe non orienté valué G5
mière ligne de ce tableau correspond à l’étape d’ini-
tialisation de l’algorithme. Chaque itération de l’al-
Utilisez l’algorithme de Bellman-Ford pour calculer
gorithme est représentée par une nouvelle ligne dans
le plus court chemin depuis le sommet a vers le som-
le tableau de calcul : sélection du sommet devant être
met b. Pour cela, utilisez le tableau de calcul ci-
marqué puis actualisation des sommets adjacents.
dessous. La première ligne de ce tableau correspond
S’il y a plusieurs choix possibles pour sélectionner
à l’étape d’initialisation de l’algorithme. Chaque ité-
le sommet à marquer, utilisez l’ordre alphabétique.
ration de l’algorithme correspond à une ligne dans le
a b c d e f g h i j tableau de calcul : actualisation de tous les sommets
init du graphe pris dans l’ordre alphabétique.
1
a b c d e f
2
init
3
1
4
2
5
3
6
4
7
5
8
6
9
10
Donnez le chemin obtenu et son coût.
8
secours, de telle façon que chaque secteur à surveiller
ne soit pas trop loin du poste. Pour l’aider dans sa 1
tâche, on va s’appuyer sur des méthodes de graphes
8
et utiliser la notion de centre d’un graphe, définie x1 x2
ci-dessous. 3 5
Soit un graphe G = (X, U ) où X représente l’en-
semble des sommets et U l’ensemble des arcs (ou 4
x6 1 3 x3
arêtes). Pour 2 sommets x et y, on appelle sp(x, y) la
longueur du plus court chemin/chaîne allant de x à
1 1
y (cette longueur vaut ∞ si de tels chemins/chaînes
x5 x4
n’existent pas). 2
L’écartement d’un sommet x, noté E(x), repré-
sente la distance maximum à parcourir pour aller
d’un sommet x vers tous les autres sommets du graphe. Figure 9 – Réseau à surveiller
Il est défini par : E(x) = maxy∈X,y6=x (sp(x, y)).
Un véhicule de secours situé en un point x du graphe x1 x2 x3 x4 x5 x6 E(x)
pourra atteindre chaque point y (y 6= x) en au plus x1
E(x) étapes. x2
Le centre d’un graphe, noté c, est un sommet x3
d’écartement minimum : c = argminx∈X (E(x)). Pour x4
être le moins éloigné de l’ensemble des points qu’il a x5
sous sa surveillance, un poste de secours devra être x6
installé au centre du graphe.
Table 2 – Résultats : sp(x, y) et E(x)
Question 1. Choix d’une méthode.
2
x1 x2
a Quelles sont les méthodes de résolution pos-
4 4
sibles.
b Quelle méthode choisissez-vous ? Justifiez et faites 1
x6 2 x3
valider votre choix.
1 1
Question 2. Application.
x5 x4
3
a Appliquez la méthode au graphe de la figure 9
(partagez-vous le travail !). Utilisez le tableau 2
fourni pour noter vos résultats.
9
nœud donné. La zone accessible est aussi appelé iso- 5
9 x5 x8 11
chrone.
x2 x11
7
4 2
3 7 5
4
x1 2 3 x7 x12
11 3
x4 8 x10
4 3
4 5
9 5
4
x9
9
x3 x6 8
2
10
2 E Question 4. Réduction. On souhaite réaliser le
C
4 projet en 52 jours. On a la possibilité de réduire la
10 H
20
A durée des activités D, H et I. Proposez la réduction
4
F 4
la plus simple. Précisez votre raisonnement.
2
4 12
16 D 20 F in
Deb G 8
0 6
10
6
J I
10 16
B
A B C D E F G H I J
Deb
plus
tôt
Deb
plus
tard
Mg
11
E
2
4
C
20
H A
4 10
F
4
2 12
4
16 D F in
20
8
Deb G
0 6 10
6
J I
10 16
E
2
4
C
20
H A
4 10
F
4
2 12
4
16 D F in
20
8
Deb G
0 6 10
6
J I
10 16
12
5 Graphes de Flot A
2/5
2/4
Définitions (*)
S1 0/1 D
Application du cours. Soit le graphe de flot de 6/6
4/4
la figure 14 dans lequel les arcs sont valués par la 4/4
quantité de flot circulant et par la capacité maximale. B 0/4 P
2/2
20/25 2/3 5/8
x2 x5
S2 0/2 E
13
Ces schémas servent pour les questions 1 et 2 de l’exercice.
Itération 1
Graphe de flot (initial) Graphe d’écart Parcours
A A
2/5
2/4
S1 0/1 D S1 D
6/6
../.. 4/4
4/4
S B 0/4 P S B P
../.. 2/2
2/3 5/8
S2 0/2 E S2 E
3/5
3/3
C C
14
Itération ...
Graphe de flot Graphe d’écart Parcours
A A
../5
../4
S1 ../1 D S1 D
../6
../.. ../4
../4
S B ../4 P S B P
../.. ../2
../3 ../8
S2 ../2 E S2 E
../5
../3
C C
A A
../5
../4
S1 ../1 D S1 D
../6
../.. ../4
../4
S B ../4 P S B P
../.. ../2
../3 ../8
S2 ../2 E S2 E
../5
../3
C C
15
Itération ...
Graphe de flot Graphe d’écart Parcours
A A
../5
../4
S1 ../1 D S1 D
../6
../.. ../4
../4
S B ../4 P S B P
../.. ../2
../3 ../8
S2 ../2 E S2 E
../5
../3
C C
E • depuis A :
B • depuis B :
F
• depuis C :
C
16
Itération 1
Figure 21 – Graphe de flot (initial)
S B P
S B P
Figure 23 – Parcours
17
Itération ...
Figure 24 – Graphe de flot
S B P
S B P
Figure 26 – Parcours
18
5.3 Affectation (*) Question 5. Pour savoir s’il est possible d’amé-
liorer l’affectation obtenue à la question 4, appliquez
Un magasin souhaite affecter des vendeurs à ses n
l’algorithme de Ford Fulkerson. Quelle est la nouvelle
rayons en respectant les contraintes suivantes :
solution ?
• chaque vendeur est affecté à un rayon et un
seul ; 5.4 Points de contrôle (*)
• dans chaque rayon, il y a exactement deux ven- Le graphe de flot de la figure 27 représente la cir-
deurs ; culation de produits entre une source s et une des-
• chaque vendeur a des compétences spécifiques tination p. Ces produits doivent être contrôlés lors
exprimant le fait qu’il peut travailler dans un de leur acheminement. On supposera que le coût de
rayon donné ; mise en place d’une inspection est proportionnelle à
la capacité de l’arc sur lequel elle a lieu.
• chaque vendeur est compétent dans le rayon où
il est affecté. 3/4
A C
On suppose que le nombre de vendeurs (m) est su-
périeur ou égal à 2n. 3/3 0/2 4/4
s p
Question 1. Proposez une modélisation de ce pro-
blème en termes de recherche de flot maximal (expli- 4/8 1/6 3/9
citez les sommets, les arcs, les capacités du graphe
de flot). B
3/3
D
Question 2. Que représente la valeur du flot maxi- Figure 27 – Exemple de graphe de flot
mal par rapport au problème que vous devez ré-
soudre ?
Question 3. Appliquez votre modélisation sur un Question 1. En vous appuyant sur un calcul de
exemple dans lequel il y a 3 rayons notés r1, r2, r3, flot maximal, déterminez où positionner les points
et 6 vendeurs notés de v1 à v6. Les compétences des de contrôle à coût minimal.
vendeurs sur les rayons sont les suivantes :
Question 2. Proposez une application de ce pro-
v1 v2 v3 v4 v5 v6 blème.
r1 1 1 1 1
r2 1 1 1
r3 1 1 1
19
Itération 1
Graphe de flot (initial) Graphe d’écart Parcours
3/4 A C
A C
Itération ...
20
Graphe de flot Graphe d’écart Parcours
../4 A C
A C