Projet dAlgorithme et Complexité Couplage optimal 1 ère année de Master Informatique UFR Sciences...

Preview:

Citation preview

Projet d’Algorithme et Complexité

Couplage optimal

1ère année de Master InformatiqueUFR Sciences et Techniques Dijon

Année 2010-2011Harbelot-Chabot

1) Présentation du problème de couplage optimal

2) Solution n°1: Méthode Hongroise

3) Solution n°2: Algorithme de Ford-Fulkerson

4) Analyse comparative

Plan

6) Conclusion

5) Choix techniques

Problème de couplage optimal

Associer des objets d'un problème deux par deux en minimisant le coût des associations entre les objets

Couplage: Etant donné un graphe non orienté G=(S,A), un couplage est un sous-ensemble d’arête M appartenant à A tel que, pour tous les sommets v appartenant à S, au plus une arête de M est incidente à V

Solution n°1: Méthode Hongroise

La méthode hongroise en 5 étapes:

Solution n°1: Méthode Hongroise

Exemple de couplage optimal à l’aide de la méthode Hongroise:

1 2 3

3 1 2

1 3 2

Matrice initiale:

0 1 2

2 0 1

0 2 1

Réduction des lignes:

Solution n°1: Méthode Hongroise

0 1 1

2 0 0

0 2 0

Réduction des colonnes:

0 1 1

2 0 0

0 2 0

Traçage des traits:

Etudiant Projet Coût

1 1 1

2 2 1

3 3 2

Solution optimale:

Coût de la solution:

1 + 1 + 2 = 4

Solution n°2: Algorithme de Ford-Fulkerson

Conversion du problème de couplage optimal en problème de maximisation de flot

Utilisation de l’algorithme de Ford-Fulkerson

Solution n°2: Algorithme de Ford-Fulkerson

Etape 1

•Création du graphe d’écart

Etape 2

•Recherche d’un chemin de coût minimal

Etape 3

•Amélioration du flot

Solution n°2: Algorithme de Ford-Fulkerson

Exemple de couplage optimal à l’aide de l’algorithme de Ford-Fulkerson:

Phase 1 – Etape 1:

Solution n°2: Algorithme de Ford-Fulkerson

Phase 1 – Etape 2:

Chemin de coût minimal: 1, 2, 5, 8

Phase 1 – Etape 3:

Amélioration du flot = 1 Flot=1

Solution n°2: Algorithme de Ford-Fulkerson

Phase 2 – Etape 1:

Solution n°2: Algorithme de Ford-Fulkerson

Phase 2 – Etape 2:

Phase 2 – Etape 3:

Chemin de coût minimal: 1, 3, 6, 8

Amélioration du flot = 1 Flot=2

Solution n°2: Algorithme de Ford-Fulkerson

Phase 3 – Etape 1:

Solution n°2: Algorithme de Ford-Fulkerson

Phase 3 – Etape 2:

Phase 3 – Etape 3:

Chemin de coût minimal: 1, 4, 7, 8

Amélioration du flot = 1 Flot=3

Analyse comparative

Complexité de la méthode Hongroise: O(n²*n)

Complexité de l’algorithme de Ford-Fulkerson = O(n²*M)

Analyse comparative

Langage concis = Programme court

LANGAGE DE PROGRAMMATION

PARADIGMES DE PROGRAMMATION

Performances correctes

Utilisation de plusieurs paradigmes possibles

Paradigme Objet = Représentation du graphe et de ses composantes

Paradigme Impératif = Manipulation de matrices pour la méthode Hongroise

Paradigme Fonctionnel = Parcours de listes et recherche dans le graphe

Conclusion

Apports

Renforcement des connaissances relatives

au langage OCaml

Etude approfondie d’un problème et de ses solutions possibles

Mise en place des connaissances

acquises en matière de complexité

Oui

Avez-vous des questions ?

NonFulkerson…quoi?C’est déjà le matin??

Recommended