Cours sur les graphes
Transcription
Cours sur les graphes
Cours sur les graphes Flots Florent Madelaine ([email protected]) Université d’Auvergne 8 Octobre 2007 Florent Madelaine (Université d’Auvergne) Graphes 8 Octobre 2007 1 / 11 Plan du cours 1 Introduction Exemples Réseau, flot et loi des noeuds Flot réalisable et valeur d’un flot 2 Flot maximal Problème du calcul d’un flot maximal Algorithme de Ford-Fulkerson Florent Madelaine (Université d’Auvergne) Graphes 8 Octobre 2007 2 / 11 De l’ubiquité des flots Florent Madelaine (Université d’Auvergne) Graphes 8 Octobre 2007 3 / 11 Réseau, flot et loi des noeuds Définition (réseau) → − ( G , c, s, t) est un réseau ssi → − G est un graphe orienté connexe sans boucle; ce graphe est valué: chaque arc (u, v ) du graphe a une capacité c(u, v ); la source s de degré entrant nul; et, le puit t de degré sortant nul. Définition (flot à travers un réseau) Un flot est une fonction f : E (V ) → R qui vérifie la loi des noeuds: (( ce qui rentre égal ce qui sort )). Conservation du flux Loi de Kirchhoff (1847, circuits électriques) Florent Madelaine (Université d’Auvergne) Graphes 8 Octobre 2007 4 / 11 Définitions Définition (Flot réalisable) Si pour tout arc la valeur du flot est infèrieure ou égale à la capacité de l’arc alors on dit que le flot est réalisable. Définition (valeur du flot) On ajoute un arc de retour (fictif) depuis t vers s. On définit alors la valeur du flot comme celle du flux qui passe par cet arc fictif. Florent Madelaine (Université d’Auvergne) Graphes 8 Octobre 2007 5 / 11 Une combinaison linéaire de flots est un flot Proposition La somme d’un flot est un flot. Un multiple d’un flot est un flot. exercice Démontrer la proposition Florent Madelaine (Université d’Auvergne) Graphes 8 Octobre 2007 6 / 11 Flot maximal Problème Idée Procéder par marquage successifs des sommets depuis la source vers le puit. On traite chaque sommet u marqué successivement. On marque tout successeur positivement si l’arc n’est pas à pleine capacité et tout prédécesseur négativement su l’arc a un flux non nul. Ceci permet de trouver des chemins augmentant. donnée: un réseau question: trouver un flot réalisable maximal (dont la valeur est maximale) Solution Algorithme de Ford-Fulkerson (1956) Florent Madelaine (Université d’Auvergne) Graphes 8 Octobre 2007 7 / 11 Algorithme 1 : Algorithme de Ford-Fulkerson → − Données ( G , c, s, t) un réseau début initialisation marquer + le sommet entrée s tant que le flot n’est pas maximal faire tant que on marque des sommets faire pour chaque sommet marqué u non encore traité faire pour chaque arc (u, v ) faire si v n’est pas marqué et (u, v ) n’est pas saturé alors marquer v par (+, u) finsi finprch pour chaque arc (v , u) faire si v n’est pas marqué et (u, v ) a un flot non nul alors marquer v par (−, u) finsi finprch finprch si le puits t n’est pas marqué alors le flot est maximal (on s’arrête) sinon augmenter le flot et continuer finsi fintq fintq fin Florent Madelaine (Université d’Auvergne) Graphes 8 Octobre 2007 8 / 11 Exemple Florent Madelaine (Université d’Auvergne) Graphes 8 Octobre 2007 9 / 11 Exemple Florent Madelaine (Université d’Auvergne) Graphes 8 Octobre 2007 10 / 11 Informations importantes Examen Se prépare. Cours interdit. Mais Pompe Officielle de 1 recto A4 autorisée. Sujet Algorithme de Bellman-Ford (simple, améliorations et variantes) Parcours en largeur Parcours en profondeur Preuves simples sur des graphes. Finalement Bonne semaine de vacance Bonne révision Je suis disponible pour toute question (prenez rendez-vous par email au préalable svp) Florent Madelaine (Université d’Auvergne) Graphes 8 Octobre 2007 11 / 11