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

Documents pareils