Licence d’Informatique (L3)
SIN5U1TL – Algorithmique avancée
TD 8 (Jeudi 17/11)
Ce TD porte sur le calcul du flot maximum et plus particulièrement sur le Graphe Biparti, sur l’algorithme d’Edmonds-
Karp et sur les Préflots.
Graphe Biparti (Couplage Maximum) :
André, Bernard, Charles, Daniel, Emile, François et Gérard (que nous appellerons A, B, C, D, E, F et G) ont la
capacité d’effectuer certaines tâches (et pas d’autres) parmi les six tâches T1, T2, T3, T4, T5, T6. Chacun d’eux
peut traiter une tâche et une seule à la fois, et nous souhaitons qu’ils traitent globalement un maximum de tâches en
parallèle. Les compétences des uns et des autres, par rapport aux tâches à effectuer sont énumérées sous la forme
d’un couple (<personne>,<tâche>) et il y a 13 associations de ce type, énumérées ci-après :
(A,T3) , (B,T1) , (C,T2) , (C,T3) , (C,T5) , (D,T1) , (D,T4) , (E,T5) , (F,T1) , (F,T4) , (F,T6) , (G,T5) , (G,T6)
Trouver un appariement maximal entre les personnes et les tâches.
Algorithme d’Edmonds-Karp :
Nous reprenons le réseau du TD précédent, formé de 5 sommets (1, 2, 3, 4 et 5) en plus de la source s et du puits t,
et dont les capacités (notés (<sommet1>,<sommet2>,<capacité>)) sont : (s,1,30), (s,2,30), (2,1,10), (1,3,15),
(2,4,10), (3,4,15), (3,t,25), (4,t,20), (1,5,10), (2,5,10), (5,3,10), (5,4,5).
On rappelle que l’algorithme d’Edmonds-Karp est un algorithme de Ford-Fulkerson dans lequel le chemin améliorant
et celui qui compte le moins d’arcs sur le réseau résiduel (chemin qu’on obtient en affectant la valeur 1 à chaque arc
et en utilisant l’algorithme de Dijkstra).
Mettre en œuvre l’algorithme d’Edmonds-Karp pour trouver le flot maximal sur ce réseau.
Calcul du Flot Maximum par la méthode des Préflots :
Reprendre l’exemple précédent (de réseau) et trouver le flot maximal en utilisant l’algorithme des Préflots.