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

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

Présentations similaires


Présentation au sujet: "14 mars 2006Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp."— Transcription de la présentation:

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

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

3 14 mars 2006Cours de graphes 4 - Intranet3 Les graphes de flots Un graphe de flot est :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 ».

4 14 mars 2006Cours de graphes 4 - Intranet4 Les graphes de flots Un graphe de flot est :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 ».

5 14 mars 2006Cours de graphes 4 - Intranet5 Les graphes de flots Un graphe de flot est :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 :On a en plus : –Le graphe est quasi-fortement connexe avec « s » comme unique racine !

6 14 mars 2006Cours de graphes 4 - Intranet6 Les graphes de flots Un graphe de flot est :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 :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 !

7 14 mars 2006Cours de graphes 4 - Intranet7 Les graphes de flots Un graphe de flot est :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 :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 ) !

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

9 14 mars 2006Cours de graphes 4 - Intranet9 Les graphes de flots Exemple : Les capacités !

10 14 mars 2006Cours de graphes 4 - Intranet10 Les graphes de flots Exemple : Source « s » Les capacités !

11 14 mars 2006Cours de graphes 4 - Intranet11 Les graphes de flots Exemple : Source « s » Les capacités !

12 14 mars 2006Cours de graphes 4 - Intranet12 Les graphes de flots Exemple : Source « s » Uniquement des arcs sortants ! Les capacités !

13 14 mars 2006Cours de graphes 4 - Intranet13 Les graphes de flots Exemple : Source « s » Les capacités !

14 14 mars 2006Cours de graphes 4 - Intranet14 Les graphes de flots Exemple : Source « s » Puits « p » Les capacités !

15 14 mars 2006Cours de graphes 4 - Intranet15 10 Les graphes de flots Exemple : Source « s » Puits « p » Les capacités !

16 14 mars 2006Cours de graphes 4 - Intranet16 10 Les graphes de flots Exemple : Source « s » Puits « p » Uniquement des arcs entrants ! Les capacités !

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

18 14 mars 2006Cours de graphes 4 - Intranet18 Les graphes de flots Exemple : Source « s » Puits « p » Tout sommet « u » appartient à un chemin simple de « s » vers « p » ! u Les capacités !

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

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

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

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

23 14 mars 2006Cours de graphes 4 - Intranet23 Les graphes de flots La dynamique :La dynamique : –La source produit ( des m^3 deau, 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 :Un peu de discipline : –Sur chaque arc le flot est compris entre zéro et la capacité de larc !

24 14 mars 2006Cours de graphes 4 - Intranet24 Les graphes de flots La dynamique :La dynamique : –La source produit ( des m^3 deau, 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 :Un peu de discipline : –Sur chaque arc le flot est compris entre zéro et la capacité de larc ! –Représentation : flot / capacité

25 14 mars 2006Cours de graphes 4 - Intranet25 Les graphes de flots La dynamique :La dynamique : –La source produit ( des m^3 deau, 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 :Un peu de discipline : –Sur chaque arc le flot est compris entre zéro et la capacité de larc ! –Représentation : flot / capacité

26 14 mars 2006Cours de graphes 4 - Intranet26 Les graphes de flots Exemple : Source « s » Puits « p »

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

47 14 mars 2006Cours de graphes 4 - Intranet47 Application La SNCF étudie son réseau ferré de la région parisienne :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 !

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

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

50 14 mars 2006Cours de graphes 4 - Intranet50 Application Lyon Austerlitz Lazare Est Nord Versailles Evry Marne la Vallée Saint-Denis S Les capacités daccueil des différentes gares ! P Les capacités daccueil des différentes gares !

51 14 mars 2006Cours de graphes 4 - Intranet51 Application Lyon Austerlitz Lazare Est Nord Versailles Evry Marne la Vallée Saint-Denis S Les capacités daccueil des différentes gares ! P Les capacités daccueil des différentes gares ! Les lignes et leurs capacités !

52 14 mars 2006Cours de graphes 4 - Intranet52 Application La SNCF étudie son réseau ferré de la région parisienne :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 !

53 14 mars 2006Cours de graphes 4 - Intranet53 Application Lyon Austerlitz Lazare Est Nord Versailles Evry Marne la Vallée Saint-Denis S Les capacités daccueil des différentes gares ! P Les capacités daccueil des différentes gares ! Les lignes et leurs capacités !

54 14 mars 2006Cours de graphes 4 - Intranet54 Application Lyon Austerlitz Lazare Est Nord Versailles Evry Marne la Vallée Saint-Denis S Les capacités daccueil des différentes gares ! P Les capacités daccueil des différentes gares ! Les lignes et leurs capacités ! Capacités de trains en gares !

55 14 mars 2006Cours de graphes 4 - Intranet55 Application La SNCF étudie son réseau ferré de la région parisienne :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 !

56 14 mars 2006Cours de graphes 4 - Intranet56 Application Lyon Austerlitz Lazare Est Nord Versailles Evry Marne la Vallée Saint-Denis S Les capacités daccueil des différentes gares ! P Les capacités daccueil des différentes gares ! Les lignes et leurs capacités ! Capacités de trains en gares !

57 14 mars 2006Cours de graphes 4 - Intranet57 Application Lyon Austerlitz Lazare Est Nord Versailles Evry Marne la Vallée Saint-Denis S Les capacités daccueil des différentes gares ! P Les capacités daccueil des différentes gares ! Les lignes et leurs capacités ! + 25 Capacités de trains en gares ! 250 Limitationglobaleen trains !

58 14 mars 2006Cours de graphes 4 - Intranet58 Application Lyon Austerlitz Lazare Est Nord Versailles Evry Marne la Vallée Saint-Denis S Les capacités daccueil des différentes gares ! P Les capacités daccueil des différentes gares ! Les lignes et leurs capacités ! + 25 Capacités de trains en gares ! 250 Limitationglobaleen trains !

59 14 mars 2006Cours de graphes 4 - Intranet59 Application Lyon Austerlitz Lazare Est Nord Versailles Evry Marne la Vallée Saint-Denis S Les capacités daccueil des différentes gares ! P Les capacités daccueil des différentes gares ! Les lignes et leurs capacités ! + 25 Capacités de trains en gares ! 250 Limitationglobaleen trains !

60 14 mars 2006Cours de graphes 4 - Intranet60 Application Lyon Austerlitz Lazare Est Nord Versailles Evry Marne la Vallée Saint-Denis S Les capacités daccueil des différentes gares ! P Les capacités daccueil des différentes gares ! Les lignes et leurs capacités ! + 25 Capacités de trains en gares ! 250 Limitationglobaleen trains !

61 14 mars 2006Cours de graphes 4 - Intranet61 Application Lyon Austerlitz Lazare Est Nord Versailles Evry Marne la Vallée Saint-Denis S Les capacités daccueil des différentes gares ! P Les capacités daccueil des différentes gares ! Les lignes et leurs capacités ! + 25 Capacités de trains en gares ! 250 Limitationglobaleen trains !

62 14 mars 2006Cours de graphes 4 - Intranet62 Application Lyon Austerlitz Lazare Est Nord Versailles Evry Marne la Vallée Saint-Denis S Les capacités daccueil des différentes gares ! P Les capacités daccueil des différentes gares ! Les lignes et leurs capacités ! + 25 Capacités de trains en gares ! 250 Limitationglobaleen trains !

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

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

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

66 14 mars 2006Cours de graphes 4 - Intranet66 Application La représentation :La représentation : –Les capacités : c : V x V - > R+ –Si ( u, v ) nexiste 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

67 14 mars 2006Cours de graphes 4 - Intranet67 Application La représentation :La représentation : –Les capacités : c : V x V - > R+ –Si ( u, v ) nexiste 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 :Les contraintes : –f ( u, v ) <= c ( u, v ) I I

68 14 mars 2006Cours de graphes 4 - Intranet68 Application La représentation :La représentation : –Les capacités : c : V x V - > R+ –Si ( u, v ) nexiste 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 :Les contraintes : –f ( u, v ) <= c ( u, v ) –f ( u, v ) = - f ( v, u ) I I

69 14 mars 2006Cours de graphes 4 - Intranet69 Application La représentation :La représentation : –Les capacités : c : V x V - > R+ –Si ( u, v ) nexiste 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 :Les contraintes : –f ( u, v ) <= c ( u, v ) –f ( u, v ) = - f ( v, u ) – f ( u, v ) = 0, si u est différent de s et de p. I v V I

70 14 mars 2006Cours de graphes 4 - Intranet70 Application La représentation :La représentation : –Les capacités : c : V x V - > R+ –Si ( u, v ) nexiste 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 :Les contraintes : –f ( u, v ) <= c ( u, v ) –f ( u, v ) = - f ( v, u ) – f ( u, v ) = 0, si u est différent de s et de p. I v V I

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

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

73 14 mars 2006Cours de graphes 4 - Intranet73 Ford et Fulkerson Comment changer le flot ?Comment changer le flot ? Dabord :Dabord : u v f ( u, v ) c ( u, v ) c ( v, u ) f ( u, v ) = - f ( 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 )

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

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

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

77 14 mars 2006Cours de graphes 4 - Intranet77 Ford et Fulkerson Comment changer le flot ?Comment changer le flot ? –Le flot dans larc ( u, v ) est porté au maximum ! –Le flot dans larc ( v, u ) est ramené à zéro ! u v f ( u, v ) c ( u, v ) c ( v, u ) f ( u, v ) = - f ( v, u )

78 14 mars 2006Cours de graphes 4 - Intranet78 Ford et Fulkerson Comment changer le flot ?Comment changer le flot ? –Le flot dans larc ( u, v ) est porté au maximum ! –Le flot dans larc ( v, u ) est ramené à zéro ! u v f ( u, v ) c ( u, v ) c ( v, u ) f ( u, v ) = - f ( v, u ) u v / 5 0 / 4

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

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

81 14 mars 2006Cours de graphes 4 - Intranet81 Ford et Fulkerson Comment changer le flot ?Comment changer le flot ? –Le flot dans larc ( v, u ) est porté au maximum ! –Le flot dans larc ( u, v ) est ramené à zéro ! u v f ( u, v ) c ( u, v ) c ( v, u ) f ( u, v ) = - f ( v, u )

82 14 mars 2006Cours de graphes 4 - Intranet82 Ford et Fulkerson Comment changer le flot ?Comment changer le flot ? –Le flot dans larc ( v, u ) est porté au maximum ! –Le flot dans larc ( u, v ) est ramené à zéro ! u v f ( u, v ) c ( u, v ) c ( v, u ) f ( u, v ) = - f ( v, u ) u v / 5 4 / 4

83 14 mars 2006Cours de graphes 4 - Intranet83 Ford et Fulkerson Comment changer le flot ?Comment changer le flot ? –Le flot dans larc ( v, u ) est porté au maximum ! –Le flot dans larc ( u, v ) est ramené à zéro ! u v f ( u, v ) c ( u, v ) c ( v, u ) f ( u, v ) = - f ( v, u ) u v / 5 4 / 4 v u / 5 4 / 4

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

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

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

87 14 mars 2006Cours de graphes 4 - Intranet87 Ford et Fulkerson Comment changer le flot ?Comment changer le flot ? r ( u, v ) = c ( u, v ) - f ( u, v ) u v f ( u, v ) c ( u, v ) c ( v, u ) f ( u, v ) = - f ( v, u ) u v / 5 1 / 4

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

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

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

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

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

93 14 mars 2006Cours de graphes 4 - Intranet93 Ford et Fulkerson Le graphe résiduel R :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 ! –Larc en question est pondéré par la capacité résiduelle !

94 14 mars 2006Cours de graphes 4 - Intranet94 Ford et Fulkerson Le graphe résiduel R :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 ! –Larc 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 !Un chemin augmentant est un chemin de « s » vers « p » dans le graphe résiduel R !

95 14 mars 2006Cours de graphes 4 - Intranet95 Ford et Fulkerson Le graphe résiduel R :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 ! –Larc 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 !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 larc le plus léger du chemin !Le poids du chemin augmentant est le poids de larc le plus léger du chemin !

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

122 14 mars 2006Cours de graphes 4 - Intranet122 Théorème du Max-flow – Min-Cut Une coupe ( S, P ) ( cut en anglais ) :Une coupe ( S, P ) ( cut en anglais ) : Nous partitionnons les sommets du graphe pourNous 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. nous inversons les arcs. s p... S P

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

139 14 mars 2006Cours de graphes 4 - Intranet139 Théorème du Max-flow – Min-Cut Pour le flot f à travers un graphe G, nous avons :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 ) !

140 14 mars 2006Cours de graphes 4 - Intranet140 Théorème du Max-flow – Min-Cut Pour le flot f à travers un graphe G, nous avons :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 ) coupes ( S, P )

141 14 mars 2006Cours de graphes 4 - Intranet141 Théorème du Max-flow – Min-Cut Pour le flot f à travers un graphe G, nous avons :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 ) coupes ( S, P ) s p …/7 …/3 …/7 …/5 …/1 …/8

142 14 mars 2006Cours de graphes 4 - Intranet142 Théorème du Max-flow – Min-Cut Pour le flot f à travers un graphe G, nous avons :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 ) coupes ( S, P ) s p …/7 …/3 …/7 …/5 …/1 …/8 f <= 10

143 14 mars 2006Cours de graphes 4 - Intranet143 Théorème du Max-flow – Min-Cut Pour le flot f à travers un graphe G, nous avons :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 ) coupes ( S, P ) s p …/7 …/3 …/7 …/5 …/1 …/8 f <= 10 f <= 6

144 14 mars 2006Cours de graphes 4 - Intranet144 Théorème du Max-flow – Min-Cut Pour le flot f à travers un graphe G, nous avons :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 ) coupes ( S, P ) s p …/7 …/3 …/7 …/5 …/1 …/8 f <= 10 f <= 6

145 14 mars 2006Cours de graphes 4 - Intranet145 Théorème du Max-flow – Min-Cut Les trois conditions suivantes sont équivalentes :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 !

146 14 mars 2006Cours de graphes 4 - Intranet146 Théorème du Max-flow – Min-Cut Les trois conditions suivantes sont équivalentes :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 !

147 14 mars 2006Cours de graphes 4 - Intranet147 Théorème du Max-flow – Min-Cut Les trois conditions suivantes sont équivalentes :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 )( 1 ) => ( 2 ) –Par absurde ! Sil y avait un chemin augmentant, le flot ne serait pas maximal.

148 14 mars 2006Cours de graphes 4 - Intranet148 Théorème du Max-flow – Min-Cut Les trois conditions suivantes sont équivalentes :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 )( 1 ) => ( 2 ) –Par absurde ! Sil y avait un chemin augmentant, le flot ne serait pas maximal. ( 3 ) => ( 1 )( 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 )

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

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

151 14 mars 2006Cours de graphes 4 - Intranet151 Théorème du Max-flow – Min-Cut ( 2 ) => ( 3 )( 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

152 14 mars 2006Cours de graphes 4 - Intranet152 Théorème du Max-flow – Min-Cut ( 2 ) => ( 3 )( 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 s p S P u v u v r ( u, v ) = 0 et donc f ( u, v ) = c ( u, v )

153 14 mars 2006Cours de graphes 4 - Intranet153 Théorème du Max-flow – Min-Cut ( 2 ) => ( 3 )( 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 s p S P u v u v r ( u, v ) = 0 et donc f ( u, v ) = c ( u, v ) x y x y r ( x, y ) = 0 et donc f ( y, x ) = 0

154 14 mars 2006Cours de graphes 4 - Intranet154 Théorème du Max-flow – Min-Cut ( 2 ) => ( 3 )( 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 s p S P u v u v r ( u, v ) = 0 et donc f ( u, v ) = c ( u, v ) x y x y r ( x, y ) = 0 et donc f ( y, x ) = 0 a b a b r ( a, b ) = 0 et donc f ( a, b ) = c ( a, b )

155 14 mars 2006Cours de graphes 4 - Intranet155 Théorème du Max-flow – Min-Cut ( 2 ) => ( 3 )( 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 s p S P u v u v r ( u, v ) = 0 et donc f ( u, v ) = c ( u, v ) x y x y r ( x, y ) = 0 et donc f ( y, x ) = 0 a b a b r ( a, b ) = 0 et donc f ( a, b ) = c ( a, b )

156 14 mars 2006Cours de graphes 4 - Intranet156 Théorème du Max-flow – Min-Cut Les trois conditions suivantes sont équivalentes :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 !

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

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

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

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

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

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

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

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

165 14 mars 2006Cours de graphes 4 - Intranet165 Complexité Nous améliorons lalgorithme en choisissant le chemin augmentant le plus lourd à chaque fois !Nous améliorons lalgorithme en choisissant le chemin augmentant le plus lourd à chaque fois ! –Cest celui dont larc le plus léger est le plus lourd possible !

166 14 mars 2006Cours de graphes 4 - Intranet166 Complexité Nous améliorons lalgorithme en choisissant le chemin augmentant le plus lourd à chaque fois !Nous améliorons lalgorithme en choisissant le chemin augmentant le plus lourd à chaque fois ! –Cest celui dont larc le plus léger est le plus lourd possible ! –Il est difficile détablir une borne sur le nombre ditérations !

167 14 mars 2006Cours de graphes 4 - Intranet167 Complexité Nous améliorons lalgorithme en choisissant le chemin augmentant le plus lourd à chaque fois !Nous améliorons lalgorithme en choisissant le chemin augmentant le plus lourd à chaque fois ! –Cest celui dont larc le plus léger est le plus lourd possible ! –Il est difficile détablir une borne sur le nombre ditérations ! Lalgorithme dEdmonds et Karp :Lalgorithme dEdmonds et Karp : –choisit le chemin augmentant le plus court (nombre darcs),

168 14 mars 2006Cours de graphes 4 - Intranet168 Complexité Nous améliorons lalgorithme en choisissant le chemin augmentant le plus lourd à chaque fois !Nous améliorons lalgorithme en choisissant le chemin augmentant le plus lourd à chaque fois ! –Cest celui dont larc le plus léger est le plus lourd possible ! –Il est difficile détablir une borne sur le nombre ditérations ! Lalgorithme dEdmonds et Karp :Lalgorithme dEdmonds et Karp : –choisit le chemin augmentant le plus court (nombre darcs), –il utilise lalgorithme de la vague pour le trouver,

169 14 mars 2006Cours de graphes 4 - Intranet169 Complexité Nous améliorons lalgorithme en choisissant le chemin augmentant le plus lourd à chaque fois !Nous améliorons lalgorithme en choisissant le chemin augmentant le plus lourd à chaque fois ! –Cest celui dont larc le plus léger est le plus lourd possible ! –Il est difficile détablir une borne sur le nombre ditérations ! Lalgorithme dEdmonds et Karp :Lalgorithme dEdmonds et Karp : –choisit le chemin augmentant le plus court (nombre darcs), –il utilise lalgorithme de la vague pour le trouver, –et nécessite au plus O ( | V | * | E | ) itérations,

170 14 mars 2006Cours de graphes 4 - Intranet170 Complexité Nous améliorons lalgorithme en choisissant le chemin augmentant le plus lourd à chaque fois !Nous améliorons lalgorithme en choisissant le chemin augmentant le plus lourd à chaque fois ! –Cest celui dont larc le plus léger est le plus lourd possible ! –Il est difficile détablir une borne sur le nombre ditérations ! Lalgorithme dEdmonds et Karp :Lalgorithme dEdmonds et Karp : –choisit le chemin augmentant le plus court (nombre darcs), –il utilise lalgorithme de la vague pour le trouver, –et nécessite au plus O ( | V | * | E | ) itérations, –doù une complexité globale de O ( | V | * | E |^2 ) = O ( | V |^5 ).

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

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

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

174 14 mars 2006Cours de graphes 4 - Intranet174 Complexité Lidée derrière Edmonds-Karp :Lidée derrière Edmonds-Karp : Graphe résiduel : Nouveaugraphe s p Le chemin augmentant ! Certains arcs de retour ! s p Certains arcs aller ! Tous les arcs de retour !...

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

176 14 mars 2006Cours de graphes 4 - Intranet176 Complexité Lidée derrière Edmonds-Karp :Lidé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 » ! Graphe résiduel : Nouveaugraphe s p Le chemin augmentant ! Certains arcs de retour ! s p Certains arcs aller ! Tous les arcs de retour !...

177 14 mars 2006Cours de graphes 4 - Intranet177 Complexité Lidée derrière Edmonds-Karp :Lidé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 ! Graphe résiduel : Nouveaugraphe s p Le chemin augmentant ! Certains arcs de retour ! s p Certains arcs aller ! Tous les arcs de retour !...

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

179 14 mars 2006Cours de graphes 4 - Intranet179 m 1 Variantes Réseau de flot multi-sources, multi-puits :Réseau de flot multi-sources, multi-puits : s 1 s n p p S P Avec des capacités assez grandes pour les arcs rouges !

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

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

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

183 14 mars 2006Cours de graphes 4 - Intranet183 m E r C i e T O n N e J o U r N é E ! ! ! O n N e J o U r N é E ! ! ! o U b L i E z P a S d 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 ! ! !


Télécharger ppt "14 mars 2006Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp."

Présentations similaires


Annonces Google