La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut.

Présentations similaires


Présentation au sujet: "Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut."— Transcription de la présentation:

1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut.
Algos de Ford-Fulkerson et Edmonds-Karp. Applications. 14 mars 2006 Cours de graphes 4 - Intranet

2 Les grandes lignes du cours
Définitions de base Connexité Les plus courts chemins Dijkstra et Bellmann-Ford Arbres Arbres de recouvrement minimaux Problèmes de flots Coloriage de graphes Couplage Chemins d’Euler et de Hamilton Problèmes NP-complets 14 mars 2006 Cours de graphes 4 - Intranet

3 Cours de graphes 4 - Intranet
Les graphes de flots Un graphe de flot est : un graphe orienté; les arcs portent des capacités (poids), qui possède deux sommets particuliers qui sont la « source s » et le « puits p ». 14 mars 2006 Cours de graphes 4 - Intranet

4 Poids strictement positifs !
Les graphes de flots Un graphe de flot est : un graphe orienté; les arcs portent des capacités (poids), qui possède deux sommets particuliers qui sont la « source s » et le « puits p ». Poids strictement positifs ! 14 mars 2006 Cours de graphes 4 - Intranet

5 Poids strictement positifs !
Les graphes de flots Un graphe de flot est : un graphe orienté; les arcs portent des capacités (poids), qui possède deux sommets particuliers qui sont la « source s » et le « puits p ». On a en plus : Le graphe est quasi-fortement connexe avec « s » comme unique racine ! Poids strictement positifs ! 14 mars 2006 Cours de graphes 4 - Intranet

6 Poids strictement positifs !
Les graphes de flots Un graphe de flot est : un graphe orienté; les arcs portent des capacités (poids), qui possède deux sommets particuliers qui sont la « source s » et le « puits p ». On a en plus : Le graphe est quasi-fortement connexe avec « s » comme unique racine ! Si nous inversons tous les arcs, le graphe est quasi-fortement connexe avec « p » comme unique racine ! Poids strictement positifs ! 14 mars 2006 Cours de graphes 4 - Intranet

7 Poids strictement positifs !
Les graphes de flots Un graphe de flot est : un graphe orienté; les arcs portent des capacités (poids), qui possède deux sommets particuliers qui sont la « source s » et le « puits p ». On a en plus : Le graphe est quasi-fortement connexe avec « s » comme unique racine ! Si nous inversons tous les arcs, le graphe est quasi-fortement connexe avec « p » comme unique racine ! Donc, tout sommet « u » appartient à un chemin simple orienté qui relie « s » à « p » en passant par « u » , ( s ; u ; p ) ! Poids strictement positifs ! 14 mars 2006 Cours de graphes 4 - Intranet

8 Cours de graphes 4 - Intranet
Les graphes de flots Exemple : 14 mars 2006 Cours de graphes 4 - Intranet

9 Cours de graphes 4 - Intranet
Les graphes de flots Les capacités ! Exemple : 10 20 20 15 10 10 8 17 5 10 15 14 mars 2006 Cours de graphes 4 - Intranet

10 Cours de graphes 4 - Intranet
Les graphes de flots Les capacités ! Exemple : 10 20 20 15 Source « s » 10 10 8 17 5 10 15 14 mars 2006 Cours de graphes 4 - Intranet

11 Cours de graphes 4 - Intranet
Les graphes de flots Les capacités ! Exemple : 10 20 20 15 Source « s » 10 10 8 17 5 10 15 14 mars 2006 Cours de graphes 4 - Intranet

12 Cours de graphes 4 - Intranet
Les graphes de flots Les capacités ! Exemple : 10 20 20 15 Source « s » 10 10 8 17 5 10 Uniquement des arcs sortants ! 15 14 mars 2006 Cours de graphes 4 - Intranet

13 Cours de graphes 4 - Intranet
Les graphes de flots Les capacités ! Exemple : 10 20 20 15 Source « s » 10 10 8 17 5 10 15 14 mars 2006 Cours de graphes 4 - Intranet

14 Cours de graphes 4 - Intranet
Les graphes de flots Les capacités ! Exemple : 10 20 20 15 Source « s » Puits « p » 10 10 8 17 5 10 15 14 mars 2006 Cours de graphes 4 - Intranet

15 Cours de graphes 4 - Intranet
Les graphes de flots Les capacités ! Exemple : 10 20 20 15 Source « s » Puits « p » 10 10 8 17 5 10 15 14 mars 2006 Cours de graphes 4 - Intranet

16 Cours de graphes 4 - Intranet
Les graphes de flots Les capacités ! Exemple : 10 20 20 15 Source « s » Puits « p » 10 10 8 17 5 10 Uniquement des arcs entrants ! 15 14 mars 2006 Cours de graphes 4 - Intranet

17 Cours de graphes 4 - Intranet
Les graphes de flots Les capacités ! Exemple : 10 20 20 15 Source « s » Puits « p » 10 10 8 17 5 10 15 Tout sommet « u » appartient à un chemin simple de « s » vers « p » ! 14 mars 2006 Cours de graphes 4 - Intranet

18 Cours de graphes 4 - Intranet
Les graphes de flots Les capacités ! Exemple : 10 20 20 15 Source « s » Puits « p » 10 10 u 8 17 5 10 15 Tout sommet « u » appartient à un chemin simple de « s » vers « p » ! 14 mars 2006 Cours de graphes 4 - Intranet

19 Cours de graphes 4 - Intranet
Les graphes de flots La dynamique : La source produit ( des m^3 d’eau, des kWh ), elle est la seule à produire ! 14 mars 2006 Cours de graphes 4 - Intranet

20 Cours de graphes 4 - Intranet
Les graphes de flots La dynamique : La source produit ( des m^3 d’eau, des kWh ), elle est la seule à produire ! Le puits consomme, il est le seul à le faire ! 14 mars 2006 Cours de graphes 4 - Intranet

21 Cours de graphes 4 - Intranet
Les graphes de flots La dynamique : La source produit ( des m^3 d’eau, des kWh ), elle est la seule à produire ! Le puits consomme, il est le seul à le faire ! Les autres sommets transmettent, sans produire, ni consommer ! 14 mars 2006 Cours de graphes 4 - Intranet

22 Cours de graphes 4 - Intranet
Les graphes de flots La dynamique : La source produit ( des m^3 d’eau, des kWh ), elle est la seule à produire ! Le puits consomme, il est le seul à le faire ! Les autres sommets transmettent, sans produire, ni consommer ! Nous appelons ceci un flot ! ( flow en anglais ) 14 mars 2006 Cours de graphes 4 - Intranet

23 Cours de graphes 4 - Intranet
Les graphes de flots La dynamique : La source produit ( des m^3 d’eau, des kWh ), elle est la seule à produire ! Le puits consomme, il est le seul à le faire ! Les autres sommets transmettent, sans produire, ni consommer ! Un peu de discipline : Sur chaque arc le flot est compris entre zéro et la capacité de l’arc ! Nous appelons ceci un flot ! ( flow en anglais ) 14 mars 2006 Cours de graphes 4 - Intranet

24 Cours de graphes 4 - Intranet
Les graphes de flots La dynamique : La source produit ( des m^3 d’eau, des kWh ), elle est la seule à produire ! Le puits consomme, il est le seul à le faire ! Les autres sommets transmettent, sans produire, ni consommer ! Un peu de discipline : Sur chaque arc le flot est compris entre zéro et la capacité de l’arc ! Représentation : Nous appelons ceci un flot ! ( flow en anglais ) flot / capacité 14 mars 2006 Cours de graphes 4 - Intranet

25 Cours de graphes 4 - Intranet
Les graphes de flots La dynamique : La source produit ( des m^3 d’eau, des kWh ), elle est la seule à produire ! Le puits consomme, il est le seul à le faire ! Les autres sommets transmettent, sans produire, ni consommer ! Un peu de discipline : Sur chaque arc le flot est compris entre zéro et la capacité de l’arc ! Représentation : Nous appelons ceci un flot ! ( flow en anglais ) Capacité = flot maximal ! flot / capacité 14 mars 2006 Cours de graphes 4 - Intranet

26 Cours de graphes 4 - Intranet
Les graphes de flots Exemple : 10 20 20 15 Source « s » Puits « p » 10 10 8 17 5 10 15 14 mars 2006 Cours de graphes 4 - Intranet

27 Cours de graphes 4 - Intranet
Les graphes de flots flot / capacité Exemple : 5 / 10 10 / 20 13 / 20 0 / 15 Source « s » Puits « p » 5 / 10 0 / 10 8 / 8 5 / 17 4 / 5 7 / 10 7 / 15 14 mars 2006 Cours de graphes 4 - Intranet

28 Cours de graphes 4 - Intranet
Les graphes de flots flot / capacité Exemple : 5 / 10 10 / 20 13 / 20 0 / 15 Source « s » Puits « p » 5 / 10 0 / 10 8 / 8 5 / 17 4 / 5 7 / 10 7 / 15 Toutes contraintes sur les capacités sont respectées ! ! ! 14 mars 2006 Cours de graphes 4 - Intranet

29 Cours de graphes 4 - Intranet
Les graphes de flots flot / capacité Exemple : 5 / 10 10 / 20 13 / 20 0 / 15 Source « s » Puits « p » 5 / 10 0 / 10 8 / 8 5 / 17 4 / 5 7 / 10 7 / 15 Les intermédiaires redistribuent exactement ce qu’ils reçoivent ! 14 mars 2006 Cours de graphes 4 - Intranet

30 Cours de graphes 4 - Intranet
Les graphes de flots flot / capacité Exemple : 5 / 10 10 / 20 13 / 20 0 / 15 Source « s » Puits « p » 5 / 10 0 / 10 8 / 8 5 / 17 4 / 5 7 / 10 7 / 15 Les intermédiaires redistribuent exactement ce qu’ils reçoivent ! 14 mars 2006 Cours de graphes 4 - Intranet

31 Cours de graphes 4 - Intranet
Les graphes de flots flot / capacité Exemple : 5 / 10 10 / 20 13 / 20 0 / 15 Source « s » Puits « p » 5 / 10 0 / 10 8 / 8 5 / 17 4 / 5 7 / 10 7 / 15 Les intermédiaires redistribuent exactement ce qu’ils reçoivent ! 14 mars 2006 Cours de graphes 4 - Intranet

32 Les graphes de flots -----------------------------------------------------------------
flot / capacité Exemple : 5 / 10 10 / 20 13 / 20 0 / 15 Source « s » Puits « p » 5 / 10 0 / 10 8 / 8 5 / 17 4 / 5 7 / 10 7 / 15 Il sort 17 unités de la source « s », il entre 17 unités dans le puits « p », c’est ce que nous appellerons le flot ! 14 mars 2006 Cours de graphes 4 - Intranet

33 Pouvons-nous augmenter le flot ?
Les graphes de flots flot / capacité Exemple : 5 / 10 10 / 20 13 / 20 0 / 15 Source « s » Puits « p » 5 / 10 0 / 10 8 / 8 5 / 17 4 / 5 7 / 10 7 / 15 Pouvons-nous augmenter le flot ? 14 mars 2006 Cours de graphes 4 - Intranet

34 Pouvons-nous augmenter le flot ?
Les graphes de flots flot / capacité OUI : + 5 Exemple : 5 / 10 10 / 20 13 / 20 0 / 15 Source « s » Puits « p » 5 / 10 0 / 10 8 / 8 5 / 17 4 / 5 7 / 10 7 / 15 Pouvons-nous augmenter le flot ? 14 mars 2006 Cours de graphes 4 - Intranet

35 Cours de graphes 4 - Intranet
Les graphes de flots flot / capacité Exemple : 10 / 10 15 / 20 18 / 20 0 / 15 Source « s » Puits « p » 5 / 10 0 / 10 8 / 8 5 / 17 4 / 5 7 / 10 7 / 15 Le flot est de 22 unités ! 14 mars 2006 Cours de graphes 4 - Intranet

36 Cours de graphes 4 - Intranet
Les graphes de flots flot / capacité Exemple : 10 / 10 15 / 20 18 / 20 0 / 15 Source « s » Puits « p » 5 / 10 0 / 10 8 / 8 5 / 17 4 / 5 7 / 10 7 / 15 Pouvons-nous encore augmenter le flot ? 14 mars 2006 Cours de graphes 4 - Intranet

37 Cours de graphes 4 - Intranet
Les graphes de flots flot / capacité OUI : + 1 Exemple : 10 / 10 15 / 20 18 / 20 0 / 15 Source « s » Puits « p » 5 / 10 0 / 10 8 / 8 5 / 17 4 / 5 7 / 10 7 / 15 Pouvons-nous encore augmenter le flot ? 14 mars 2006 Cours de graphes 4 - Intranet

38 Cours de graphes 4 - Intranet
Les graphes de flots flot / capacité Exemple : 10 / 10 15 / 20 18 / 20 0 / 15 Source « s » Puits « p » 5 / 10 1 / 10 8 / 8 6 / 17 5 / 5 7 / 10 7 / 15 Le flot est de 23 unités ! 14 mars 2006 Cours de graphes 4 - Intranet

39 Cours de graphes 4 - Intranet
Les graphes de flots flot / capacité Exemple : 10 / 10 15 / 20 18 / 20 0 / 15 Source « s » Puits « p » 5 / 10 1 / 10 8 / 8 6 / 17 5 / 5 7 / 10 7 / 15 Encore ? ? ? Le flot est de 23 unités ! 14 mars 2006 Cours de graphes 4 - Intranet

40 Cours de graphes 4 - Intranet
Les graphes de flots Non, le réseau est saturé ! ! ! flot / capacité Exemple : 10 / 10 15 / 20 18 / 20 0 / 15 Source « s » Puits « p » 5 / 10 1 / 10 8 / 8 6 / 17 5 / 5 7 / 10 7 / 15 Encore ? ? ? Le flot est de 23 unités ! 14 mars 2006 Cours de graphes 4 - Intranet

41 Cours de graphes 4 - Intranet
Les graphes de flots Non, le réseau est saturé ! ! ! flot / capacité Exemple : 10 / 10 15 / 20 18 / 20 0 / 15 Source « s » Puits « p » 5 / 10 1 / 10 8 / 8 6 / 17 5 / 5 7 / 10 7 / 15 Encore ? ? ? Le flot est de 23 unités ! 14 mars 2006 Cours de graphes 4 - Intranet

42 Cours de graphes 4 - Intranet
Les graphes de flots Non, le réseau est saturé ! ! ! flot / capacité Exemple : 10 / 10 15 / 20 18 / 20 0 / 15 Source « s » Puits « p » 5 / 10 1 / 10 8 / 8 6 / 17 5 / 5 7 / 10 7 / 15 Encore ? ? ? Le flot est de 23 unités ! 14 mars 2006 Cours de graphes 4 - Intranet

43 Cours de graphes 4 - Intranet
Les graphes de flots Non, le réseau est saturé ! ! ! flot / capacité Exemple : 10 / 10 15 / 20 18 / 20 0 / 15 Source « s » Puits « p » 5 / 10 1 / 10 8 / 8 6 / 17 5 / 5 7 / 10 7 / 15 Encore ? ? ? Cette coupe est saturée ! Le flot est de 23 unités ! 14 mars 2006 Cours de graphes 4 - Intranet

44 Cours de graphes 4 - Intranet
Les graphes de flots Non, le réseau est saturé ! ! ! flot / capacité Exemple : 10 / 10 15 / 20 18 / 20 0 / 15 Source « s » Puits « p » 5 / 10 1 / 10 8 / 8 6 / 17 5 / 5 7 / 10 7 / 15 Encore ? ? ? Cette coupe est saturée ! Le flot est de 23 unités ! C'est la coupe minimale ! 14 mars 2006 Cours de graphes 4 - Intranet

45 Cours de graphes 4 - Intranet
Les graphes de flots Pour un graphe de flot, nous voulons connaître : Le flot maximal : pour prévoir les investissements, pour connaître la marge de sécurité, c’est-à-dire la différence entre le flot normal et le flot maximal ! 14 mars 2006 Cours de graphes 4 - Intranet

46 Cours de graphes 4 - Intranet
Les graphes de flots Pour un graphe de flot, nous voulons connaître : Le flot maximal : pour prévoir les investissements, pour connaître la marge de sécurité, c’est-à-dire la différence entre le flot normal et le flot maximal ! La coupe minimale : pour localiser le goulot d’étranglement, pour orienter les investissements ! 14 mars 2006 Cours de graphes 4 - Intranet

47 Cours de graphes 4 - Intranet
Application La SNCF étudie son réseau ferré de la région parisienne : Nous connaissons les capacités des gares de Paris ! Nous connaissons le réseau et ses capacités ! Nous connaissons les capacités des gares de banlieue ! 14 mars 2006 Cours de graphes 4 - Intranet

48 Cours de graphes 4 - Intranet
Application Lyon Versailles Austerlitz Evry Lazare Marne la Vallée Est Saint-Denis Nord 14 mars 2006 Cours de graphes 4 - Intranet

49 Cours de graphes 4 - Intranet
Application Lyon Versailles 50 Austerlitz Evry Lazare S Marne la Vallée Est Saint-Denis 40 Nord Les capacités d’accueil des différentes gares ! 14 mars 2006 Cours de graphes 4 - Intranet

50 Cours de graphes 4 - Intranet
Application Lyon Versailles 50 20 Austerlitz Evry Lazare S Marne la Vallée P Est 25 Saint-Denis 40 Nord Les capacités d’accueil des différentes gares ! Les capacités d’accueil des différentes gares ! 14 mars 2006 Cours de graphes 4 - Intranet

51 Cours de graphes 4 - Intranet
Application 17 Lyon Versailles 50 20 Austerlitz Evry Lazare S Marne la Vallée P Est 25 Saint-Denis 40 Nord 23 Les capacités d’accueil des différentes gares ! Les capacités d’accueil des différentes gares ! Les lignes et leurs capacités ! 14 mars 2006 Cours de graphes 4 - Intranet

52 Cours de graphes 4 - Intranet
Application La SNCF étudie son réseau ferré de la région parisienne : Nous connaissons les capacités des gares de Paris ! Nous connaissons le réseau et ses capacités ! Nous connaissons les capacités des gares de banlieue ! Nous limitons les capacités des trains dans les gares ! 14 mars 2006 Cours de graphes 4 - Intranet

53 Cours de graphes 4 - Intranet
Application 17 Lyon Versailles 50 20 Austerlitz Evry Lazare S Marne la Vallée P Est 25 Saint-Denis 40 Nord 23 Les capacités d’accueil des différentes gares ! Les capacités d’accueil des différentes gares ! Les lignes et leurs capacités ! 14 mars 2006 Cours de graphes 4 - Intranet

54 Cours de graphes 4 - Intranet
Application Capacités de trains en gares ! 23 17 Lyon Versailles 50 20 Austerlitz Evry Lazare S Marne la Vallée P Est 25 Saint-Denis 40 Nord 23 25 Les capacités d’accueil des différentes gares ! Les capacités d’accueil des différentes gares ! Les lignes et leurs capacités ! 14 mars 2006 Cours de graphes 4 - Intranet

55 Cours de graphes 4 - Intranet
Application La SNCF étudie son réseau ferré de la région parisienne : Nous connaissons les capacités des gares de Paris ! Nous connaissons le réseau et ses capacités ! Nous connaissons les capacités des gares de banlieue ! Nous limitons les capacités des trains dans les gares ! Nous levons cette limitation pour certaines gares ! Nous limitons la capacité globale de tous les trains ! 14 mars 2006 Cours de graphes 4 - Intranet

56 Cours de graphes 4 - Intranet
Application Capacités de trains en gares ! 23 17 Lyon Versailles 50 20 Austerlitz Evry Lazare S Marne la Vallée P Est 25 Saint-Denis 40 Nord 23 25 Les capacités d’accueil des différentes gares ! Les capacités d’accueil des différentes gares ! Les lignes et leurs capacités ! 14 mars 2006 Cours de graphes 4 - Intranet

57 Cours de graphes 4 - Intranet
Application Capacités de trains en gares ! Limitation globale en trains ! + µ 17 Lyon Versailles 50 20 Austerlitz Evry 250 Lazare S Marne la Vallée P Est 25 Saint-Denis 40 Nord 23 25 Les capacités d’accueil des différentes gares ! Les capacités d’accueil des différentes gares ! Les lignes et leurs capacités ! 14 mars 2006 Cours de graphes 4 - Intranet

58 Cours de graphes 4 - Intranet
Application Capacités de trains en gares ! Limitation globale en trains ! + µ 17 Lyon Versailles 50 20 Austerlitz Evry 250 Lazare S Marne la Vallée P Est 25 Saint-Denis 40 Nord 23 25 Les capacités d’accueil des différentes gares ! Les capacités d’accueil des différentes gares ! Les lignes et leurs capacités ! Coupe minimale ! 14 mars 2006 Cours de graphes 4 - Intranet

59 Cours de graphes 4 - Intranet
Pas assez de clients ! ! ! Application Capacités de trains en gares ! Limitation globale en trains ! + µ 17 Lyon Versailles 50 20 Austerlitz Evry 250 Lazare S Marne la Vallée P Est 25 Saint-Denis 40 Nord 23 25 Les capacités d’accueil des différentes gares ! Les capacités d’accueil des différentes gares ! Les lignes et leurs capacités ! Coupe minimale ! 14 mars 2006 Cours de graphes 4 - Intranet

60 Investir dans le réseau ! ! !
Application Capacités de trains en gares ! Limitation globale en trains ! + µ 17 Lyon Versailles 50 20 Austerlitz Evry 250 Lazare S Marne la Vallée P Est 25 Saint-Denis 40 Nord 23 25 Les capacités d’accueil des différentes gares ! Les capacités d’accueil des différentes gares ! Les lignes et leurs capacités ! Coupe minimale ! 14 mars 2006 Cours de graphes 4 - Intranet

61 Investir dans le réseau et certaines gares ! ! !
Application Capacités de trains en gares ! Limitation globale en trains ! + µ 17 Lyon Versailles 50 20 Austerlitz Evry 250 Lazare S Marne la Vallée P Est 25 Saint-Denis 40 Nord 23 25 Les capacités d’accueil des différentes gares ! Les capacités d’accueil des différentes gares ! Les lignes et leurs capacités ! Coupe minimale ! 14 mars 2006 Cours de graphes 4 - Intranet

62 Cours de graphes 4 - Intranet
Acheter des trains ! ! ! Application Capacités de trains en gares ! Limitation globale en trains ! + µ 17 Lyon Versailles 50 20 Austerlitz Evry 250 Lazare S Marne la Vallée P Est 25 Saint-Denis 40 Nord 23 25 Les capacités d’accueil des différentes gares ! Les capacités d’accueil des différentes gares ! Les lignes et leurs capacités ! Coupe minimale ! 14 mars 2006 Cours de graphes 4 - Intranet

63 Cours de graphes 4 - Intranet
Application La représentation : Les capacités : c : V x V -> R+ I 14 mars 2006 Cours de graphes 4 - Intranet

64 Cours de graphes 4 - Intranet
Application La représentation : Les capacités : c : V x V -> R+ Si ( u , v ) n’existe pas, alors c ( u , v ) = 0 ! I 14 mars 2006 Cours de graphes 4 - Intranet

65 Cours de graphes 4 - Intranet
Application La représentation : Les capacités : c : V x V -> R+ Si ( u , v ) n’existe pas, alors c ( u , v ) = 0 ! Les flots : f : V x V -> R I I 14 mars 2006 Cours de graphes 4 - Intranet

66 Cours de graphes 4 - Intranet
Application La représentation : Les capacités : c : V x V -> R+ Si ( u , v ) n’existe pas, alors c ( u , v ) = 0 ! Les flots : f : V x V -> R f ( u , v ) >= 0 , si le flot va de « u » vers « v » , f ( u , v ) <= 0 , si le flot va de « v » vers « u » ! I I 14 mars 2006 Cours de graphes 4 - Intranet

67 Cours de graphes 4 - Intranet
Application La représentation : Les capacités : c : V x V -> R+ Si ( u , v ) n’existe pas, alors c ( u , v ) = 0 ! Les flots : f : V x V -> R f ( u , v ) >= 0 , si le flot va de « u » vers « v » , f ( u , v ) <= 0 , si le flot va de « v » vers « u » ! Les contraintes : f ( u , v ) <= c ( u , v ) I I 14 mars 2006 Cours de graphes 4 - Intranet

68 Cours de graphes 4 - Intranet
Application La représentation : Les capacités : c : V x V -> R+ Si ( u , v ) n’existe pas, alors c ( u , v ) = 0 ! Les flots : f : V x V -> R f ( u , v ) >= 0 , si le flot va de « u » vers « v » , f ( u , v ) <= 0 , si le flot va de « v » vers « u » ! Les contraintes : f ( u , v ) <= c ( u , v ) f ( u , v ) = - f ( v , u ) I I 14 mars 2006 Cours de graphes 4 - Intranet

69 Cours de graphes 4 - Intranet
Application La représentation : Les capacités : c : V x V -> R+ Si ( u , v ) n’existe pas, alors c ( u , v ) = 0 ! Les flots : f : V x V -> R f ( u , v ) >= 0 , si le flot va de « u » vers « v » , f ( u , v ) <= 0 , si le flot va de « v » vers « u » ! Les contraintes : f ( u , v ) <= c ( u , v ) f ( u , v ) = - f ( v , u ) S f ( u , v ) = 0 , si u est différent de s et de p . I I v e V 14 mars 2006 Cours de graphes 4 - Intranet

70 Cours de graphes 4 - Intranet
Application La représentation : Les capacités : c : V x V -> R+ Si ( u , v ) n’existe pas, alors c ( u , v ) = 0 ! Les flots : f : V x V -> R f ( u , v ) >= 0 , si le flot va de « u » vers « v » , f ( u , v ) <= 0 , si le flot va de « v » vers « u » ! Les contraintes : f ( u , v ) <= c ( u , v ) f ( u , v ) = - f ( v , u ) S f ( u , v ) = 0 , si u est différent de s et de p . I I S Maximiser f ( s , u ) u V e v e V 14 mars 2006 Cours de graphes 4 - Intranet

71 Cours de graphes 4 - Intranet
Ford et Fulkerson Initialiser le flot à 0 Tantqu’il existe un chemin augmentant Augmenter le flot le long du chemin en question ! 14 mars 2006 Cours de graphes 4 - Intranet

72 Cours de graphes 4 - Intranet
Ford et Fulkerson Comment changer le flot ? f ( u , v ) = - f ( v , u ) c ( u , v ) f ( u , v ) u v c ( v , u ) 14 mars 2006 Cours de graphes 4 - Intranet

73 Cours de graphes 4 - Intranet
Ford et Fulkerson Comment changer le flot ? D’abord : f ( u , v ) = - f ( v , u ) c ( u , v ) f ( u , v ) u v c ( v , u ) f ( u , v ) <= c ( u , v ) - f ( u , v ) = f ( v , u ) <= c ( v , u ) - c ( v , u ) <= f ( u , v ) <= c ( u , v ) 14 mars 2006 Cours de graphes 4 - Intranet

74 Cours de graphes 4 - Intranet
Ford et Fulkerson Comment changer le flot ? Ensuite : Le flot « f ( u , v ) » est le flot dans l’arc ( u , v ) diminué du flot dans l’arc ( v , u ) ! f ( u , v ) = - f ( v , u ) c ( u , v ) f ( u , v ) u v c ( v , u ) 14 mars 2006 Cours de graphes 4 - Intranet

75 Cours de graphes 4 - Intranet
Ford et Fulkerson Comment changer le flot ? Ensuite : Le flot « f ( u , v ) » est le flot dans l’arc ( u , v ) diminué du flot dans l’arc ( v , u ) ! f ( u , v ) = - f ( v , u ) c ( u , v ) f ( u , v ) u v c ( v , u ) 3 / 5 2 / 5 + 2 - 1 u v u v 1 / 4 3 / 4 14 mars 2006 Cours de graphes 4 - Intranet

76 Pour maximiser le flot de u vers v ! ! !
Ford et Fulkerson Comment changer le flot ? f ( u , v ) = - f ( v , u ) c ( u , v ) f ( u , v ) u v c ( v , u ) Pour maximiser le flot de u vers v ! ! ! 14 mars 2006 Cours de graphes 4 - Intranet

77 Pour maximiser le flot de u vers v ! ! !
Ford et Fulkerson Comment changer le flot ? Le flot dans l’arc ( u , v ) est porté au maximum ! Le flot dans l’arc ( v , u ) est ramené à zéro ! f ( u , v ) = - f ( v , u ) c ( u , v ) f ( u , v ) u v c ( v , u ) Pour maximiser le flot de u vers v ! ! ! 14 mars 2006 Cours de graphes 4 - Intranet

78 Pour maximiser le flot de u vers v ! ! !
Ford et Fulkerson Comment changer le flot ? Le flot dans l’arc ( u , v ) est porté au maximum ! Le flot dans l’arc ( v , u ) est ramené à zéro ! f ( u , v ) = - f ( v , u ) c ( u , v ) f ( u , v ) u v c ( v , u ) Pour maximiser le flot de u vers v ! ! ! 5 / 5 + 5 u v 0 / 4 14 mars 2006 Cours de graphes 4 - Intranet

79 Pour maximiser le flot de v vers u ! ! !
Ford et Fulkerson Comment changer le flot ? f ( u , v ) = - f ( v , u ) c ( u , v ) f ( u , v ) u v c ( v , u ) Pour maximiser le flot de v vers u ! ! ! 14 mars 2006 Cours de graphes 4 - Intranet

80 Pour maximiser le flot de v vers u ! ! !
Ford et Fulkerson Comment changer le flot ? f ( u , v ) = - f ( v , u ) c ( u , v ) Donc, minimiser le flot de u vers v ! ! ! f ( u , v ) u v c ( v , u ) Pour maximiser le flot de v vers u ! ! ! 14 mars 2006 Cours de graphes 4 - Intranet

81 Pour maximiser le flot de v vers u ! ! !
Ford et Fulkerson Comment changer le flot ? Le flot dans l’arc ( v , u ) est porté au maximum ! Le flot dans l’arc ( u , v ) est ramené à zéro ! f ( u , v ) = - f ( v , u ) c ( u , v ) Donc, minimiser le flot de u vers v ! ! ! f ( u , v ) u v c ( v , u ) Pour maximiser le flot de v vers u ! ! ! 14 mars 2006 Cours de graphes 4 - Intranet

82 Pour maximiser le flot de v vers u ! ! !
Ford et Fulkerson Comment changer le flot ? Le flot dans l’arc ( v , u ) est porté au maximum ! Le flot dans l’arc ( u , v ) est ramené à zéro ! f ( u , v ) = - f ( v , u ) c ( u , v ) Donc, minimiser le flot de u vers v ! ! ! f ( u , v ) u v c ( v , u ) Pour maximiser le flot de v vers u ! ! ! 0 / 5 - 4 u v 4 / 4 14 mars 2006 Cours de graphes 4 - Intranet

83 Pour maximiser le flot de v vers u ! ! !
Ford et Fulkerson Comment changer le flot ? Le flot dans l’arc ( v , u ) est porté au maximum ! Le flot dans l’arc ( u , v ) est ramené à zéro ! f ( u , v ) = - f ( v , u ) c ( u , v ) Donc, minimiser le flot de u vers v ! ! ! f ( u , v ) u v c ( v , u ) Pour maximiser le flot de v vers u ! ! ! 0 / 5 0 / 5 - 4 + 4 u v v u 4 / 4 4 / 4 14 mars 2006 Cours de graphes 4 - Intranet

84 La capacité résiduelle r ( u , v ) :
Ford et Fulkerson Comment changer le flot ? f ( u , v ) = - f ( v , u ) c ( u , v ) f ( u , v ) u v c ( v , u ) La capacité résiduelle r ( u , v ) : 14 mars 2006 Cours de graphes 4 - Intranet

85 La capacité résiduelle r ( u , v ) :
Ford et Fulkerson Comment changer le flot ? r ( u , v ) = c ( u , v ) - f ( u , v ) f ( u , v ) = - f ( v , u ) c ( u , v ) f ( u , v ) u v c ( v , u ) La capacité résiduelle r ( u , v ) : 14 mars 2006 Cours de graphes 4 - Intranet

86 La capacité résiduelle r ( u , v ) :
Ford et Fulkerson Comment changer le flot ? r ( u , v ) = c ( u , v ) - f ( u , v ) le flot maximal le flot déjà acquis f ( u , v ) = - f ( v , u ) c ( u , v ) f ( u , v ) u v c ( v , u ) La capacité résiduelle r ( u , v ) : 14 mars 2006 Cours de graphes 4 - Intranet

87 La capacité résiduelle r ( u , v ) :
Ford et Fulkerson Comment changer le flot ? r ( u , v ) = c ( u , v ) - f ( u , v ) f ( u , v ) = - f ( v , u ) c ( u , v ) f ( u , v ) u v c ( v , u ) La capacité résiduelle r ( u , v ) : 3 / 5 + 2 u v 1 / 4 14 mars 2006 Cours de graphes 4 - Intranet

88 La capacité résiduelle r ( u , v ) :
Ford et Fulkerson Comment changer le flot ? r ( u , v ) = c ( u , v ) - f ( u , v ) f ( u , v ) = - f ( v , u ) c ( u , v ) f ( u , v ) u v c ( v , u ) La capacité résiduelle r ( u , v ) : 3 / 5 r ( u , v ) = 5 – 2 = 3 + 2 u v 1 / 4 14 mars 2006 Cours de graphes 4 - Intranet

89 La capacité résiduelle r ( u , v ) :
Ford et Fulkerson Comment changer le flot ? r ( u , v ) = c ( u , v ) - f ( u , v ) f ( u , v ) = - f ( v , u ) c ( u , v ) f ( u , v ) u v c ( v , u ) La capacité résiduelle r ( u , v ) : 5 X 3 / 5 r ( u , v ) = 5 – 2 = 3 + 2 + 3 u v 0 X 1 / 4 14 mars 2006 Cours de graphes 4 - Intranet

90 La capacité résiduelle r ( u , v ) :
Ford et Fulkerson Comment changer le flot ? r ( u , v ) = c ( u , v ) - f ( u , v ) f ( u , v ) = - f ( v , u ) c ( u , v ) f ( u , v ) u v c ( v , u ) La capacité résiduelle r ( u , v ) : 3 / 5 r ( u , v ) = 5 – 2 = 3 + 2 u v r ( v , u ) = 4 – (– 2) = 6 1 / 4 14 mars 2006 Cours de graphes 4 - Intranet

91 La capacité résiduelle r ( u , v ) :
Ford et Fulkerson Comment changer le flot ? r ( u , v ) = c ( u , v ) - f ( u , v ) f ( u , v ) = - f ( v , u ) c ( u , v ) f ( u , v ) u v c ( v , u ) La capacité résiduelle r ( u , v ) : 3 / 5 r ( u , v ) = 5 – 2 = 3 - 2 u v r ( v , u ) = 4 – (– 2) = 6 1 / 4 14 mars 2006 Cours de graphes 4 - Intranet

92 La capacité résiduelle r ( u , v ) :
Ford et Fulkerson Comment changer le flot ? r ( u , v ) = c ( u , v ) - f ( u , v ) f ( u , v ) = - f ( v , u ) c ( u , v ) f ( u , v ) u v c ( v , u ) La capacité résiduelle r ( u , v ) : 0 X 3 / 5 r ( u , v ) = 5 – 2 = 3 - 2 + 6 u v r ( v , u ) = 4 – (– 2) = 6 4 X 1 / 4 14 mars 2006 Cours de graphes 4 - Intranet

93 Cours de graphes 4 - Intranet
Ford et Fulkerson Le graphe résiduel R : Il a les mêmes sommets que le graphe de flot G ! Il possède un arc ( u , v ) si la capacité résiduelle r ( u , v ) dans le graphe G est strictement positive ! L’arc en question est pondéré par la capacité résiduelle ! 14 mars 2006 Cours de graphes 4 - Intranet

94 Cours de graphes 4 - Intranet
Ford et Fulkerson Le graphe résiduel R : Il a les mêmes sommets que le graphe de flot G ! Il possède un arc ( u , v ) si la capacité résiduelle r ( u , v ) dans le graphe G est strictement positive ! L’arc en question est pondéré par la capacité résiduelle ! Un chemin augmentant est un chemin de « s » vers « p » dans le graphe résiduel R ! 14 mars 2006 Cours de graphes 4 - Intranet

95 Cours de graphes 4 - Intranet
Ford et Fulkerson Le graphe résiduel R : Il a les mêmes sommets que le graphe de flot G ! Il possède un arc ( u , v ) si la capacité résiduelle r ( u , v ) dans le graphe G est strictement positive ! L’arc en question est pondéré par la capacité résiduelle ! Un chemin augmentant est un chemin de « s » vers « p » dans le graphe résiduel R ! Le poids du chemin augmentant est le poids de l’arc le plus léger du chemin ! 14 mars 2006 Cours de graphes 4 - Intranet

96 Cours de graphes 4 - Intranet
Ford et Fulkerson u 1/4 0/3 Un exemple : s p Le graphe G ! 1/2 0/2 2/6 3/3 v 14 mars 2006 Cours de graphes 4 - Intranet

97 Cours de graphes 4 - Intranet
Ford et Fulkerson u 1/4 0/3 Un exemple : s p Le graphe G ! 1/2 0/2 2/6 3/3 v u s p Construction du graphe R ! v 14 mars 2006 Cours de graphes 4 - Intranet

98 Cours de graphes 4 - Intranet
Ford et Fulkerson u 1/4 0/3 Un exemple : s p Le graphe G ! 1/2 0/2 2/6 3/3 v u 3 1 s p Construction du graphe R ! v 14 mars 2006 Cours de graphes 4 - Intranet

99 Cours de graphes 4 - Intranet
Ford et Fulkerson u 1/4 0/3 Un exemple : s p Le graphe G ! 1/2 0/2 r ( s , u ) = c ( s , u ) - f ( s , u ) = 4 – 1 = 3 2/6 3/3 v r ( u , s ) = c ( u , s ) - f ( u , s ) = c ( u , s ) + f ( s , u ) = = 1 u 3 1 s p Construction du graphe R ! v 14 mars 2006 Cours de graphes 4 - Intranet

100 Cours de graphes 4 - Intranet
Ford et Fulkerson u 1/4 0/3 Un exemple : s p Le graphe G ! 1/2 0/2 2/6 3/3 v u 3 1 s p Construction du graphe R ! 2 4 v 14 mars 2006 Cours de graphes 4 - Intranet

101 Cours de graphes 4 - Intranet
Ford et Fulkerson u 1/4 0/3 Un exemple : s p Le graphe G ! 1/2 0/2 2/6 3/3 v u 3 3 1 s p Construction du graphe R ! 2 4 v 14 mars 2006 Cours de graphes 4 - Intranet

102 Cours de graphes 4 - Intranet
Ford et Fulkerson u 1/4 0/3 Un exemple : s p Le graphe G ! 1/2 0/2 2/6 3/3 v u 3 3 1 s p Construction du graphe R ! 2 3 4 v 14 mars 2006 Cours de graphes 4 - Intranet

103 Cours de graphes 4 - Intranet
Ford et Fulkerson u 1/4 0/3 Un exemple : s p Le graphe G ! 1/2 0/2 2/6 3/3 v u 3 3 1 s 1 3 p Le graphe R ! 2 3 4 v 14 mars 2006 Cours de graphes 4 - Intranet

104 Cours de graphes 4 - Intranet
Ford et Fulkerson u 1/4 0/3 Un exemple : s p Le graphe G ! 1/2 0/2 2/6 3/3 v u 3 3 Un chemin augmentant de poids 3 ! 1 s 1 3 p Le graphe R ! 2 3 4 v 14 mars 2006 Cours de graphes 4 - Intranet

105 Cours de graphes 4 - Intranet
Ford et Fulkerson u +3 1/4 0/3 Un exemple : -1 +2 s p Le nouveau graphe G ! 1/2 0/2 2/6 3/3 +3 v u 3 3 Un chemin augmentant de poids 3 ! 1 s 1 3 p Le graphe R ! 2 3 4 v 14 mars 2006 Cours de graphes 4 - Intranet

106 Cours de graphes 4 - Intranet
Ford et Fulkerson u 1/4 3/3 Un exemple : s p Le nouveau graphe G ! 0/2 2/2 5/6 3/3 v u 3 3 Un chemin augmentant de poids 3 ! 1 s 1 3 p Le graphe R ! 2 3 4 v 14 mars 2006 Cours de graphes 4 - Intranet

107 Cours de graphes 4 - Intranet
Ford et Fulkerson Pour changer le flot : 4 / 7 6 / 7 devient +2 14 mars 2006 Cours de graphes 4 - Intranet

108 Cours de graphes 4 - Intranet
Ford et Fulkerson Pour changer le flot : 4 / 7 6 / 7 devient +2 4 / 7 2 / 7 devient +2 14 mars 2006 Cours de graphes 4 - Intranet

109 Cours de graphes 4 - Intranet
Ford et Fulkerson Pour changer le flot : 4 / 7 6 / 7 devient +2 4 / 7 2 / 7 devient +2 4 / 7 5 / 7 4 / 7 devient ou 2 / 5 1 / 5 0 / 5 +2 ou . . . 14 mars 2006 Cours de graphes 4 - Intranet

110 Cours de graphes 4 - Intranet
Ford et Fulkerson u 1/4 3/3 Un exemple : s p Le nouveau graphe G ! 0/2 2/2 5/6 3/3 v 14 mars 2006 Cours de graphes 4 - Intranet

111 Cours de graphes 4 - Intranet
Ford et Fulkerson u 1/4 3/3 Un exemple : s p Le nouveau graphe G ! 0/2 2/2 5/6 3/3 v u 3 Ceci est conservé ! 1 s p Construction du graphe R ! 3 v 14 mars 2006 Cours de graphes 4 - Intranet

112 Cours de graphes 4 - Intranet
Ford et Fulkerson u 1/4 3/3 Un exemple : s p Le nouveau graphe G ! 0/2 2/2 5/6 3/3 v u 3 1 s p Construction du graphe R ! 5 3 1 v 14 mars 2006 Cours de graphes 4 - Intranet

113 Cours de graphes 4 - Intranet
Ford et Fulkerson u 1/4 3/3 Un exemple : s p Le nouveau graphe G ! 0/2 2/2 5/6 3/3 v u 3 1 s 4 p Construction du graphe R ! 5 3 1 v 14 mars 2006 Cours de graphes 4 - Intranet

114 Cours de graphes 4 - Intranet
Ford et Fulkerson u 1/4 3/3 Un exemple : s p Le nouveau graphe G ! 0/2 2/2 5/6 3/3 v u 3 3 1 s 4 p Le graphe R ! 5 3 1 v 14 mars 2006 Cours de graphes 4 - Intranet

115 Cours de graphes 4 - Intranet
Ford et Fulkerson u 1/4 3/3 Un exemple : s p Le nouveau graphe G ! 0/2 2/2 5/6 3/3 v u 3 3 Plus de chemin augmentant ! ! ! 1 s 4 p Le graphe R ! 5 3 1 v 14 mars 2006 Cours de graphes 4 - Intranet

116 Cours de graphes 4 - Intranet
Ford et Fulkerson u 1/4 3/3 Un exemple : s p Le nouveau graphe G ! 0/2 2/2 5/6 3/3 v u 3 3 Plus de chemin augmentant ! ! ! 1 s 4 p Le graphe R ! 5 3 1 Pas de passage ! ! ! v 14 mars 2006 Cours de graphes 4 - Intranet

117 Cours de graphes 4 - Intranet
Ford et Fulkerson u 1/4 3/3 Un exemple : s p Le nouveau graphe G ! 0/2 2/2 5/6 3/3 La coupe minimale ! v u 3 3 Plus de chemin augmentant ! ! ! 1 s 4 p Le graphe R ! 5 3 1 Pas de passage ! ! ! v 14 mars 2006 Cours de graphes 4 - Intranet

118 Cours de graphes 4 - Intranet
Ford et Fulkerson Elle est saturée ! u 1/4 3/3 Un exemple : s p Le nouveau graphe G ! 0/2 2/2 5/6 3/3 La coupe minimale ! v u 3 3 Plus de chemin augmentant ! ! ! 1 s 4 p Le graphe R ! 5 3 1 Pas de passage ! ! ! v 14 mars 2006 Cours de graphes 4 - Intranet

119 Cours de graphes 4 - Intranet
Ford et Fulkerson Elle est saturée ! u 1/4 3/3 Un exemple : Le flot maximal vaut 6 ! ! ! s p Le nouveau graphe G ! 0/2 2/2 5/6 3/3 La coupe minimale ! v u 3 3 Plus de chemin augmentant ! ! ! 1 s 4 p Le graphe R ! 5 3 1 Pas de passage ! ! ! v 14 mars 2006 Cours de graphes 4 - Intranet

120 Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut 14 mars 2006 Cours de graphes 4 - Intranet

121 Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut Une coupe ( S , P ) ( cut en anglais ) : . . . . . . s p S P 14 mars 2006 Cours de graphes 4 - Intranet

122 Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut Une coupe ( S , P ) ( cut en anglais ) : Nous partitionnons les sommets du graphe pour obtenir une partie S quasi-fortement connexe de racine s , et une partie P quasi-fortement connexe de racine p , si nous inversons les arcs. . . . . . . s p S P 14 mars 2006 Cours de graphes 4 - Intranet

123 Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut Le flot à travers une coupe ( S , P ) : f ( S , P ) f ( S , P ) = S f ( u , v ) u e S v e P 14 mars 2006 Cours de graphes 4 - Intranet

124 Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut Le flot à travers une coupe ( S , P ) : f ( S , P ) f ( S , P ) = S f ( u , v ) u e S v e P 4 / … . . . . . . s p 3 / … 2 / … S P 14 mars 2006 Cours de graphes 4 - Intranet

125 Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut Le flot à travers une coupe ( S , P ) : f ( S , P ) f ( S , P ) = S f ( u , v ) Dans le sens S vers P , nous comptons en positif ! Dans le sens P vers S , nous comptons en négatif ! u e S v e P 4 / … . . . . . . s p 3 / … 2 / … S P 14 mars 2006 Cours de graphes 4 - Intranet

126 Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut Le flot à travers une coupe ( S , P ) : f ( S , P ) f ( S , P ) = S f ( u , v ) Dans le sens S vers P , nous comptons en positif ! Dans le sens P vers S , nous comptons en négatif ! u e S v e P 4 / … . . . . . . s p - 3 / … 2 / … S P 14 mars 2006 Cours de graphes 4 - Intranet

127 Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut Le flot à travers une coupe ( S , P ) : f ( S , P ) f ( S , P ) = S f ( u , v ) = Dans le sens S vers P , nous comptons en positif ! Dans le sens P vers S , nous comptons en négatif ! u e S v e P 4 / … . . . . . . s p - 3 / … 2 / … S P 14 mars 2006 Cours de graphes 4 - Intranet

128 Les flots à travers toutes les coupes sont identiques !
Théorème du Max-flow – Min-Cut Le flot à travers une coupe ( S , P ) : f ( S , P ) f ( S , P ) = S f ( u , v ) = Dans le sens S vers P , nous comptons en positif ! Dans le sens P vers S , nous comptons en négatif ! u e S v e P 4 / … . . . . . . s p - 3 / … 2 / … S’ P’ S P S’’ P’’ Les flots à travers toutes les coupes sont identiques ! 14 mars 2006 Cours de graphes 4 - Intranet

129 Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut La capacité d’une coupe ( S , P ) : c ( S , P ) c ( S , P ) = S c ( u , v ) u e S v e P 14 mars 2006 Cours de graphes 4 - Intranet

130 Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut La capacité d’une coupe ( S , P ) : c ( S , P ) c ( S , P ) = S c ( u , v ) u e S v e P … / 4 . . . . . . s p … / 3 … / 2 S P 14 mars 2006 Cours de graphes 4 - Intranet

131 Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut La capacité d’une coupe ( S , P ) : c ( S , P ) c ( S , P ) = S c ( u , v ) Dans le sens S vers P , nous considérons l’arc ! Dans le sens P vers S , nous ignorons l’arc ! u e S v e P … / 4 . . . . . . s p … / 3 … / 2 S P 14 mars 2006 Cours de graphes 4 - Intranet

132 Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut La capacité d’une coupe ( S , P ) : c ( S , P ) c ( S , P ) = S c ( u , v ) = Dans le sens S vers P , nous considérons l’arc ! Dans le sens P vers S , nous ignorons l’arc ! u e S v e P … / 4 . . . . . . s p … / 3 … / 2 S P 14 mars 2006 Cours de graphes 4 - Intranet

133 Il n'y a aucun flot retour ! ! !
Théorème du Max-flow – Min-Cut La capacité d’une coupe ( S , P ) : c ( S , P ) c ( S , P ) = S c ( u , v ) = Dans le sens S vers P , nous considérons l’arc ! Dans le sens P vers S , nous ignorons l’arc ! u e S v e P … / 4 . . . . . . s p … / 3 … / 2 S P Il n'y a aucun flot retour ! ! ! 14 mars 2006 Cours de graphes 4 - Intranet

134 Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut Pour toute coupe ( S , P ) , nous avons : f ( S , P ) <= c ( S , P ) 14 mars 2006 Cours de graphes 4 - Intranet

135 Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut Pour toute coupe ( S , P ) , nous avons : f ( S , P ) <= c ( S , P ) 4 / 7 . . . . . . s p 3 / 4 2 / 5 S P 14 mars 2006 Cours de graphes 4 - Intranet

136 Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut Pour toute coupe ( S , P ) , nous avons : f ( S , P ) <= c ( S , P ) f ( S , P ) = – 3 <= <= = c ( S , P ) 4 / 7 . . . . . . s p 3 / 4 2 / 5 S P 14 mars 2006 Cours de graphes 4 - Intranet

137 Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut Pour toute coupe ( S , P ) , nous avons : f ( S , P ) <= c ( S , P ) f ( S , P ) = – 3 <= <= = c ( S , P ) f ( S , P ) = S f ( u , v ) <= S f ( u , v ) <= S c ( u , v ) = c ( S , P ) u e S , v e P u e S , v e P u e S , v e P f ( u , v ) >= 0 4 / 7 . . . . . . s p 3 / 4 2 / 5 S P 14 mars 2006 Cours de graphes 4 - Intranet

138 Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut Pour le flot f à travers un graphe G, nous avons : f = f ( S , P ) , quelque soit la coupe ( S , P ) ! 14 mars 2006 Cours de graphes 4 - Intranet

139 Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut Pour le flot f à travers un graphe G, nous avons : f = f ( S , P ) , quelque soit la coupe ( S , P ) ! Or, pour toute coupe ( S , P ) , nous avons f ( S , P ) <= c ( S , P ) ! 14 mars 2006 Cours de graphes 4 - Intranet

140 Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut Pour le flot f à travers un graphe G, nous avons : f = f ( S , P ) , quelque soit la coupe ( S , P ) ! Or, pour toute coupe ( S , P ) , nous avons f ( S , P ) <= c ( S , P ) ! Donc, 0 <= f <= min c ( S , P ) coupes ( S , P ) 14 mars 2006 Cours de graphes 4 - Intranet

141 Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut Pour le flot f à travers un graphe G, nous avons : f = f ( S , P ) , quelque soit la coupe ( S , P ) ! Or, pour toute coupe ( S , P ) , nous avons f ( S , P ) <= c ( S , P ) ! Donc, 0 <= f <= min c ( S , P ) coupes ( S , P ) …/5 …/7 …/8 s p …/3 …/1 …/7 14 mars 2006 Cours de graphes 4 - Intranet

142 Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut Pour le flot f à travers un graphe G, nous avons : f = f ( S , P ) , quelque soit la coupe ( S , P ) ! Or, pour toute coupe ( S , P ) , nous avons f ( S , P ) <= c ( S , P ) ! Donc, 0 <= f <= min c ( S , P ) coupes ( S , P ) …/5 …/7 …/8 s p …/3 …/1 f <= 10 …/7 14 mars 2006 Cours de graphes 4 - Intranet

143 Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut Pour le flot f à travers un graphe G, nous avons : f = f ( S , P ) , quelque soit la coupe ( S , P ) ! Or, pour toute coupe ( S , P ) , nous avons f ( S , P ) <= c ( S , P ) ! Donc, 0 <= f <= min c ( S , P ) coupes ( S , P ) …/5 …/7 …/8 f <= 6 s p …/3 …/1 f <= 10 …/7 14 mars 2006 Cours de graphes 4 - Intranet

144 Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut Pour le flot f à travers un graphe G, nous avons : f = f ( S , P ) , quelque soit la coupe ( S , P ) ! Or, pour toute coupe ( S , P ) , nous avons f ( S , P ) <= c ( S , P ) ! Donc, 0 <= f <= min c ( S , P ) coupes ( S , P ) Est-ce l'égalité ? …/5 …/7 …/8 f <= 6 s p …/3 …/1 f <= 10 …/7 14 mars 2006 Cours de graphes 4 - Intranet

145 Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut Les trois conditions suivantes sont équivalentes : ( 1 ) Le flot f est maximal ! ( 2 ) Le graphe résiduel ne contient pas de chemin augmentant ! ( 3 ) Il existe une coupe ( S , P ) telle que f = c ( S , P ) ! Cette coupe est minimale et saturée ! 14 mars 2006 Cours de graphes 4 - Intranet

146 Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut Les trois conditions suivantes sont équivalentes : ( 1 ) Le flot f est maximal ! ( 2 ) Le graphe résiduel ne contient pas de chemin augmentant ! ( 3 ) Il existe une coupe ( S , P ) telle que f = c ( S , P ) ! Cette coupe est minimale et saturée ! OUI ! ! ! 14 mars 2006 Cours de graphes 4 - Intranet

147 Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut Les trois conditions suivantes sont équivalentes : ( 1 ) Le flot f est maximal ! ( 2 ) Le graphe résiduel ne contient pas de chemin augmentant ! ( 3 ) Il existe une coupe ( S , P ) telle que f = c ( S , P ) ! Cette coupe est minimale et saturée ! ( 1 ) => ( 2 ) Par absurde ! S’il y avait un chemin augmentant, le flot ne serait pas maximal. OUI ! ! ! 14 mars 2006 Cours de graphes 4 - Intranet

148 Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut Les trois conditions suivantes sont équivalentes : ( 1 ) Le flot f est maximal ! ( 2 ) Le graphe résiduel ne contient pas de chemin augmentant ! ( 3 ) Il existe une coupe ( S , P ) telle que f = c ( S , P ) ! Cette coupe est minimale et saturée ! ( 1 ) => ( 2 ) Par absurde ! S’il y avait un chemin augmentant, le flot ne serait pas maximal. ( 3 ) => ( 1 ) Comme il existe ( S , P ) telle que f = c ( S , P ) , nous avons c ( S , P ) = f <= min c ( S , P ) ! f est donc maximal et égal une coupe coupes ( S , P ) OUI ! ! ! 14 mars 2006 Cours de graphes 4 - Intranet

149 Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut ( 2 ) => ( 3 ) Il existe une coupe ( S , P ) avec des arcs retour seulement ! 14 mars 2006 Cours de graphes 4 - Intranet

150 Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut ( 2 ) => ( 3 ) Il existe une coupe ( S , P ) avec des arcs retour seulement ! . . . . . . s p S P 14 mars 2006 Cours de graphes 4 - Intranet

151 Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut ( 2 ) => ( 3 ) Il existe une coupe ( S , P ) avec des arcs retour seulement ! Dans le graphe G, il y a trois cas : . . . . . . s p S P 14 mars 2006 Cours de graphes 4 - Intranet

152 Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut ( 2 ) => ( 3 ) Il existe une coupe ( S , P ) avec des arcs retour seulement ! Dans le graphe G, il y a trois cas : u v . . . . . . r ( u , v ) = 0 et donc f ( u , v ) = c ( u , v ) s p S P u v . . . . . . s p S P 14 mars 2006 Cours de graphes 4 - Intranet

153 Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut ( 2 ) => ( 3 ) Il existe une coupe ( S , P ) avec des arcs retour seulement ! Dans le graphe G, il y a trois cas : u v . . . . . . r ( u , v ) = 0 et donc f ( u , v ) = c ( u , v ) s x y p S P r ( x , y ) = 0 et donc f ( y , x ) = 0 u v . . . . . . s x y p S P 14 mars 2006 Cours de graphes 4 - Intranet

154 Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut ( 2 ) => ( 3 ) Il existe une coupe ( S , P ) avec des arcs retour seulement ! Dans le graphe G, il y a trois cas : u v . . . . . . r ( u , v ) = 0 et donc f ( u , v ) = c ( u , v ) s x y p a b S P r ( x , y ) = 0 et donc f ( y , x ) = 0 u v . . . . . . s x y p r ( a , b ) = 0 et donc f ( a , b ) = c ( a , b ) a b S P 14 mars 2006 Cours de graphes 4 - Intranet

155 Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut Forcément, f = c ( S , P ) ! ! ! ( 2 ) => ( 3 ) Il existe une coupe ( S , P ) avec des arcs retour seulement ! Dans le graphe G, il y a trois cas : u v . . . . . . x r ( u , v ) = 0 et donc f ( u , v ) = c ( u , v ) s y p a b S P r ( x , y ) = 0 et donc f ( y , x ) = 0 u v . . . . . . s x y p r ( a , b ) = 0 et donc f ( a , b ) = c ( a , b ) a b S P 14 mars 2006 Cours de graphes 4 - Intranet

156 Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut Les trois conditions suivantes sont équivalentes : ( 1 ) Le flot f est maximal ! ( 2 ) Le graphe résiduel ne contient pas de chemin augmentant ! ( 3 ) Il existe une coupe ( S , P ) telle que f = c ( S , P ) ! Cette coupe est minimale et saturée ! 14 mars 2006 Cours de graphes 4 - Intranet

157 Cours de graphes 4 - Intranet
Complexité Le calcul du graphe résiduel R et du chemin augmentant est en Q ( | E | ) ! Le nombre d’itérations peut être aussi élevé que la valeur du flot optimal f* ! 14 mars 2006 Cours de graphes 4 - Intranet

158 Cours de graphes 4 - Intranet
Complexité Le calcul du graphe résiduel R et du chemin augmentant est en Q ( | E | ) ! Le nombre d’itérations peut être aussi élevé que la valeur du flot optimal f* ! 0/1000 0/1000 0/1 0/1000 0/1000 Graphe ! 14 mars 2006 Cours de graphes 4 - Intranet

159 Cours de graphes 4 - Intranet
Complexité Le calcul du graphe résiduel R et du chemin augmentant est en Q ( | E | ) ! Le nombre d’itérations peut être aussi élevé que la valeur du flot optimal f* ! 0/1000 0/1000 1000 1000 0/1 1 0/1000 0/1000 1000 1000 Graphe ! Graphe résiduel ! 14 mars 2006 Cours de graphes 4 - Intranet

160 Cours de graphes 4 - Intranet
Complexité Le calcul du graphe résiduel R et du chemin augmentant est en Q ( | E | ) ! Le nombre d’itérations peut être aussi élevé que la valeur du flot optimal f* ! 1/1000 0/1000 1/1 0/1000 1/1000 Nouveau graphe ! 14 mars 2006 Cours de graphes 4 - Intranet

161 Nouveau graphe résiduel !
Complexité Le calcul du graphe résiduel R et du chemin augmentant est en Q ( | E | ) ! Le nombre d’itérations peut être aussi élevé que la valeur du flot optimal f* ! 1/1000 0/1000 999 1000 1 1/1 1 1 0/1000 1/1000 1000 999 Nouveau graphe ! Nouveau graphe résiduel ! 14 mars 2006 Cours de graphes 4 - Intranet

162 Cours de graphes 4 - Intranet
Complexité Le calcul du graphe résiduel R et du chemin augmentant est en Q ( | E | ) ! Le nombre d’itérations peut être aussi élevé que la valeur du flot optimal f* ! 1/1000 1/1000 0/1 1/1000 1/1000 Re-nouveau graphe ! 14 mars 2006 Cours de graphes 4 - Intranet

163 Cours de graphes 4 - Intranet
Complexité Le calcul du graphe résiduel R et du chemin augmentant est en Q ( | E | ) ! Le nombre d’itérations peut être aussi élevé que la valeur du flot optimal f* ! 1/1000 1/1000 Etc , fois ! ! ! 0/1 1/1000 1/1000 Re-nouveau graphe ! 14 mars 2006 Cours de graphes 4 - Intranet

164 Cours de graphes 4 - Intranet
Complexité Nous améliorons l’algorithme en choisissant le chemin augmentant le plus lourd à chaque fois ! 14 mars 2006 Cours de graphes 4 - Intranet

165 Cours de graphes 4 - Intranet
Complexité Nous améliorons l’algorithme en choisissant le chemin augmentant le plus lourd à chaque fois ! C’est celui dont l’arc le plus léger est le plus lourd possible ! 14 mars 2006 Cours de graphes 4 - Intranet

166 Cours de graphes 4 - Intranet
Complexité Nous améliorons l’algorithme en choisissant le chemin augmentant le plus lourd à chaque fois ! C’est celui dont l’arc le plus léger est le plus lourd possible ! Il est difficile d’établir une borne sur le nombre d’itérations ! 14 mars 2006 Cours de graphes 4 - Intranet

167 Cours de graphes 4 - Intranet
Complexité Nous améliorons l’algorithme en choisissant le chemin augmentant le plus lourd à chaque fois ! C’est celui dont l’arc le plus léger est le plus lourd possible ! Il est difficile d’établir une borne sur le nombre d’itérations ! L’algorithme d’Edmonds et Karp : choisit le chemin augmentant le plus court (nombre d’arcs), 14 mars 2006 Cours de graphes 4 - Intranet

168 Cours de graphes 4 - Intranet
Complexité Nous améliorons l’algorithme en choisissant le chemin augmentant le plus lourd à chaque fois ! C’est celui dont l’arc le plus léger est le plus lourd possible ! Il est difficile d’établir une borne sur le nombre d’itérations ! L’algorithme d’Edmonds et Karp : choisit le chemin augmentant le plus court (nombre d’arcs), il utilise l’algorithme de la vague pour le trouver, 14 mars 2006 Cours de graphes 4 - Intranet

169 Cours de graphes 4 - Intranet
Complexité Nous améliorons l’algorithme en choisissant le chemin augmentant le plus lourd à chaque fois ! C’est celui dont l’arc le plus léger est le plus lourd possible ! Il est difficile d’établir une borne sur le nombre d’itérations ! L’algorithme d’Edmonds et Karp : choisit le chemin augmentant le plus court (nombre d’arcs), il utilise l’algorithme de la vague pour le trouver, et nécessite au plus O ( | V | * | E | ) itérations, 14 mars 2006 Cours de graphes 4 - Intranet

170 Cours de graphes 4 - Intranet
Complexité Nous améliorons l’algorithme en choisissant le chemin augmentant le plus lourd à chaque fois ! C’est celui dont l’arc le plus léger est le plus lourd possible ! Il est difficile d’établir une borne sur le nombre d’itérations ! L’algorithme d’Edmonds et Karp : choisit le chemin augmentant le plus court (nombre d’arcs), il utilise l’algorithme de la vague pour le trouver, et nécessite au plus O ( | V | * | E | ) itérations, d’où une complexité globale de O ( | V | * | E |^2 ) = O ( | V |^5 ) . 14 mars 2006 Cours de graphes 4 - Intranet

171 Cours de graphes 4 - Intranet
Complexité L’idée derrière Edmonds-Karp : Graphe résiduel : s p . . . . . . 14 mars 2006 Cours de graphes 4 - Intranet

172 Cours de graphes 4 - Intranet
Complexité L’idée derrière Edmonds-Karp : Le chemin augmentant ! Graphe résiduel : s p . . . 14 mars 2006 Cours de graphes 4 - Intranet

173 Cours de graphes 4 - Intranet
Complexité L’idée derrière Edmonds-Karp : Le chemin augmentant ! Graphe résiduel : s p . . . Certains arcs de retour ! 14 mars 2006 Cours de graphes 4 - Intranet

174 Cours de graphes 4 - Intranet
Complexité L’idée derrière Edmonds-Karp : Le chemin augmentant ! Graphe résiduel : s p . . . Certains arcs de retour ! Certains arcs aller ! Nouveau graphe résiduel : s p . . . Tous les arcs de retour ! 14 mars 2006 Cours de graphes 4 - Intranet

175 Cours de graphes 4 - Intranet
Complexité L’idée derrière Edmonds-Karp : Il y a de plus en plus de chemins de retour de « p » vers « s » ! Le chemin augmentant ! Graphe résiduel : s p . . . Certains arcs de retour ! Certains arcs aller ! Nouveau graphe résiduel : s p . . . Tous les arcs de retour ! 14 mars 2006 Cours de graphes 4 - Intranet

176 Cours de graphes 4 - Intranet
Complexité L’idée derrière Edmonds-Karp : Il y a de plus en plus de chemins de retour de « p » vers « s » ! Il y a de moins en moins de chemins de « s » vers « p » ! Le chemin augmentant ! Graphe résiduel : s p . . . Certains arcs de retour ! Certains arcs aller ! Nouveau graphe résiduel : s p . . . Tous les arcs de retour ! 14 mars 2006 Cours de graphes 4 - Intranet

177 Cours de graphes 4 - Intranet
Complexité L’idée derrière Edmonds-Karp : Il y a de plus en plus de chemins de retour de « p » vers « s » ! Il y a de moins en moins de chemins de « s » vers « p » ! Les chemins augmentants deviennent de plus en plus long ! Commençons donc par nous intéresser à ceux qui sont courts ! Le chemin augmentant ! Graphe résiduel : s p . . . Certains arcs de retour ! Certains arcs aller ! Nouveau graphe résiduel : s p . . . Tous les arcs de retour ! 14 mars 2006 Cours de graphes 4 - Intranet

178 Cours de graphes 4 - Intranet
Variantes Réseau de flot multi-sources, multi-puits : s p 1 1 s p n m 14 mars 2006 Cours de graphes 4 - Intranet

179 Cours de graphes 4 - Intranet
Variantes C'est le même problème ! Réseau de flot multi-sources, multi-puits : s p 1 1 S P Avec des capacités assez grandes pour les arcs rouges ! s p n m 14 mars 2006 Cours de graphes 4 - Intranet

180 Cours de graphes 4 - Intranet
Variantes C'est le même problème ! Réseau de flot multi-sources, multi-puits : Ce n’est plus le même problème, si s doit envoyer à p ! s p 1 1 S P Avec des capacités assez grandes pour les arcs rouges ! s p n m i i 14 mars 2006 Cours de graphes 4 - Intranet

181 Cours de graphes 4 - Intranet
Variantes C'est le même problème ! Réseau de flot multi-sources, multi-puits : Ce n’est plus le même problème, si s doit envoyer à p ! s p 1 1 S P Avec des capacités assez grandes pour les arcs rouges ! s p n m i i s p 1 1 s p n n 14 mars 2006 Cours de graphes 4 - Intranet

182 Synthèse -----------------------------------------------------------------
Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp. Applications. 14 mars 2006 Cours de graphes 4 - Intranet

183 Cours de graphes 4 - Intranet
m E r C i e T O n N e J o U r N é E ! ! ! ‘ o U b L i E z P a S d E p R é P a R e R v O s T D ! ! ! 14 mars 2006 Cours de graphes 4 - Intranet


Télécharger ppt "Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut."

Présentations similaires


Annonces Google