UV RO1 Calcul du flot maximum Algorithme de Ford Fulkerson Maxime Chambreuil | Nicolas Fournel |...

21
UV RO 1 Calcul du flot maximum Algorithme de Ford Fulkerson Maxime Chambreuil | Nicolas Fournel | Vianney Gremmel | Leïla Traoré | Marouane Zehni

Transcript of UV RO1 Calcul du flot maximum Algorithme de Ford Fulkerson Maxime Chambreuil | Nicolas Fournel |...

Page 1: UV RO1 Calcul du flot maximum Algorithme de Ford Fulkerson Maxime Chambreuil | Nicolas Fournel | Vianney Gremmel | Leïla Traoré | Marouane Zehni.

UV RO 1

Calcul du flot maximumAlgorithme de Ford Fulkerson

Maxime Chambreuil | Nicolas Fournel | Vianney Gremmel | Leïla Traoré | Marouane Zehni

Page 2: UV RO1 Calcul du flot maximum Algorithme de Ford Fulkerson Maxime Chambreuil | Nicolas Fournel | Vianney Gremmel | Leïla Traoré | Marouane Zehni.

UV RO 2

Notre présentation

• Introduction

• L’algorithme de Ford Fulkerson

• Proposition d’une solution

• Notre solution…

• Démonstration

• Conclusion

Page 3: UV RO1 Calcul du flot maximum Algorithme de Ford Fulkerson Maxime Chambreuil | Nicolas Fournel | Vianney Gremmel | Leïla Traoré | Marouane Zehni.

UV RO 3

Introduction 1/2

• Calcul du flot maximum dans un graphe– Implémentation de l’algorithme de Ford

Fulkerson

• Cas d’utilisation :– Problèmes de charge maximale admissible par

des réseaux (électriques, informatiques, routiers)

Page 4: UV RO1 Calcul du flot maximum Algorithme de Ford Fulkerson Maxime Chambreuil | Nicolas Fournel | Vianney Gremmel | Leïla Traoré | Marouane Zehni.

UV RO 4

Introduction 2/2

• Contrainte :– But pédagogique

• Présentation claire

• Résolution pas à pas

• Aide à la compréhension de l’algorithme

Page 5: UV RO1 Calcul du flot maximum Algorithme de Ford Fulkerson Maxime Chambreuil | Nicolas Fournel | Vianney Gremmel | Leïla Traoré | Marouane Zehni.

UV RO 5

L’algorithme de Ford Fulkerson 1/6

• Calcul du flot maximum– Définition :

• Soit le graphe G(X,U) orienté, valué, connexe, anti-symétrique, sans circuit

• A chaque arc u on associe deux scalaires– Cu capacité de l’arc u tel que Cu ≥ 0

– φu le flot circulant sur u tel que φu ≤ Cu

Page 6: UV RO1 Calcul du flot maximum Algorithme de Ford Fulkerson Maxime Chambreuil | Nicolas Fournel | Vianney Gremmel | Leïla Traoré | Marouane Zehni.

UV RO 6

• Principe fondamental– A tout moment, la loi de Kirchhoff doit être

vérifiée sur chaque sommet x de G

• But :– Augmenter le flot jusqu’à son maximum tout en

respectant cette règle

L’algorithme de Ford Fulkerson 2/6

u

u

u

u

Page 7: UV RO1 Calcul du flot maximum Algorithme de Ford Fulkerson Maxime Chambreuil | Nicolas Fournel | Vianney Gremmel | Leïla Traoré | Marouane Zehni.

UV RO 7

L’algorithme de Ford Fulkerson 3/6

• Exemple :1

P

2

S

3/3

3/3

1/2

2/2

2/2

Flot max : 5

Page 8: UV RO1 Calcul du flot maximum Algorithme de Ford Fulkerson Maxime Chambreuil | Nicolas Fournel | Vianney Gremmel | Leïla Traoré | Marouane Zehni.

UV RO 8

L’algorithme de Ford Fulkerson 4/6

• Principe général :– On part d’un flot compatible (généralement 0)– On utilise deux fonctions alternativement :

• Procédure de marquage

• Procédure d’augmentation du flot

Page 9: UV RO1 Calcul du flot maximum Algorithme de Ford Fulkerson Maxime Chambreuil | Nicolas Fournel | Vianney Gremmel | Leïla Traoré | Marouane Zehni.

UV RO 9

L’algorithme de Ford Fulkerson 5/6

• Procédure de marquage– But :

• trouver une chaîne améliorante

– Principe :• Marquage des sommets selon deux critères :

– Delta (flot max que l’on peut faire parvenir au sommet)

– Sommet de provenance

• Algorithme :– cf. cours de RO du 21/10/2002

Page 10: UV RO1 Calcul du flot maximum Algorithme de Ford Fulkerson Maxime Chambreuil | Nicolas Fournel | Vianney Gremmel | Leïla Traoré | Marouane Zehni.

UV RO 10

L’algorithme de Ford Fulkerson 6/6

• Procédure d’augmentation du flot– But :

• augmenter le flot dans le graphe selon la valeur et le marquage obtenu par la procédure de marquage

– Principe :• Parcours du graphe du puit vers la source suivant les

indications de provenance de la procédure de marquage

• Algorithme :– cf. cours de RO du 21/10/2002

Page 11: UV RO1 Calcul du flot maximum Algorithme de Ford Fulkerson Maxime Chambreuil | Nicolas Fournel | Vianney Gremmel | Leïla Traoré | Marouane Zehni.

UV RO 11

Proposition d’une solution 1/3

• Projet pédagogique sous-entend :– Interface graphique claire– Ergonomie– Pas (trop) de contrainte de performance

=> Utilisation de Java

Page 12: UV RO1 Calcul du flot maximum Algorithme de Ford Fulkerson Maxime Chambreuil | Nicolas Fournel | Vianney Gremmel | Leïla Traoré | Marouane Zehni.

UV RO 12

Proposition d’une solution 2/3

• Un format d’archivage de graphes réutilisable :– Sauvegarde des graphes selon le format XML– => les graphes, définis par une dtd, sont

potentiellement réutilisables par d’autres programmes

– Évolutions possibles : affichage web, implémentation d’autres algorithmes.

Page 13: UV RO1 Calcul du flot maximum Algorithme de Ford Fulkerson Maxime Chambreuil | Nicolas Fournel | Vianney Gremmel | Leïla Traoré | Marouane Zehni.

UV RO 13

Proposition d’une solution 3/3

• Un éditeur de graphe :– Facilité de créer et de modifier des graphes– Possibilité de faire tourner l’algorithme

directement après quelques modifications sur le graphe

Page 14: UV RO1 Calcul du flot maximum Algorithme de Ford Fulkerson Maxime Chambreuil | Nicolas Fournel | Vianney Gremmel | Leïla Traoré | Marouane Zehni.

UV RO 14

Notre solution… 1/6

• Étapes du projet :– Compréhension de l’algorithme– Définition d’un modèle– Codage du modèle et de l’algorithme– Implémentation de l’interface graphique, de

l’éditeur et de la sauvegarde XML– Phase de tests

Page 15: UV RO1 Calcul du flot maximum Algorithme de Ford Fulkerson Maxime Chambreuil | Nicolas Fournel | Vianney Gremmel | Leïla Traoré | Marouane Zehni.

UV RO 15

Notre solution… 2/6

• Diagramme de classes simplifié

Page 16: UV RO1 Calcul du flot maximum Algorithme de Ford Fulkerson Maxime Chambreuil | Nicolas Fournel | Vianney Gremmel | Leïla Traoré | Marouane Zehni.

UV RO 16

Notre solution 3/6• Menus généraux

Page 17: UV RO1 Calcul du flot maximum Algorithme de Ford Fulkerson Maxime Chambreuil | Nicolas Fournel | Vianney Gremmel | Leïla Traoré | Marouane Zehni.

UV RO 17

Notre solution 4/6• L’éditeur

Page 18: UV RO1 Calcul du flot maximum Algorithme de Ford Fulkerson Maxime Chambreuil | Nicolas Fournel | Vianney Gremmel | Leïla Traoré | Marouane Zehni.

UV RO 18

Notre solution 5/6• Le viewer lors du déroulement de l’algorithme

Page 19: UV RO1 Calcul du flot maximum Algorithme de Ford Fulkerson Maxime Chambreuil | Nicolas Fournel | Vianney Gremmel | Leïla Traoré | Marouane Zehni.

UV RO 19

Notre solution 6/6• L’algorithme est terminé…

Page 20: UV RO1 Calcul du flot maximum Algorithme de Ford Fulkerson Maxime Chambreuil | Nicolas Fournel | Vianney Gremmel | Leïla Traoré | Marouane Zehni.

UV RO 20

Démonstration ?

Page 21: UV RO1 Calcul du flot maximum Algorithme de Ford Fulkerson Maxime Chambreuil | Nicolas Fournel | Vianney Gremmel | Leïla Traoré | Marouane Zehni.

UV RO 21

Conclusion

• Résultat conforme à nos attentes

• Projet intéressant

• Projet évolutif (graphes XML)

QUESTIONS ?