Introduction à la Théorie des graphes Optimisation dans les réseaux.

40
Introduction à la Introduction à la Théorie des Théorie des graphes graphes Optimisation dans Optimisation dans les réseaux les réseaux

Transcript of Introduction à la Théorie des graphes Optimisation dans les réseaux.

Page 1: Introduction à la Théorie des graphes Optimisation dans les réseaux.

Introduction à laIntroduction à laThéorie des graphesThéorie des graphes

Optimisation dans Optimisation dans les réseauxles réseaux

Page 2: Introduction à la Théorie des graphes Optimisation dans les réseaux.

PlanPlan

Définitions et exemplesDéfinitions et exemples Problème du plus court cheminProblème du plus court chemin Problème de flot maximalProblème de flot maximal Problème de connexion minimaleProblème de connexion minimale Problème du voyageur du Problème du voyageur du

commercecommerce

Page 3: Introduction à la Théorie des graphes Optimisation dans les réseaux.

Ponts de KonigsbergPonts de Konigsberg

Page 4: Introduction à la Théorie des graphes Optimisation dans les réseaux.

DéfinitionsDéfinitions

Graphe non orienté :Graphe non orienté : Graphe orienté :Graphe orienté :

Page 5: Introduction à la Théorie des graphes Optimisation dans les réseaux.

Dictionnaire des précédentsDictionnaire des précédents(graphe orienté)(graphe orienté)

X Prédecesseurs A - B A, D, C C A D A, C

Page 6: Introduction à la Théorie des graphes Optimisation dans les réseaux.

Matrice d’un graphe orientéMatrice d’un graphe orienté

A B C D A 0 1 1 1 B 0 0 0 0 C 0 1 0 0 D 0 0 1 0

Page 7: Introduction à la Théorie des graphes Optimisation dans les réseaux.

DéfinitonDéfiniton

Degré d’un sommetDegré d’un sommet : : nombre d’arêtes reliées nombre d’arêtes reliées à ce sommet à ce sommet

Le sommet A est de degré 3 : (B, C et D aussi)Le sommet A est de degré 3 : (B, C et D aussi)

Page 8: Introduction à la Théorie des graphes Optimisation dans les réseaux.

Types de graphesTypes de graphes

CYCLECYCLE : On peut partir d’un sommet : On peut partir d’un sommet et revenir a ce sommet en parcourant et revenir a ce sommet en parcourant une et une seule fois les autres sommets une et une seule fois les autres sommets

Page 9: Introduction à la Théorie des graphes Optimisation dans les réseaux.

ChaîneChaîneSuite de sommets reliés par une seule arêteSuite de sommets reliés par une seule arête

Page 10: Introduction à la Théorie des graphes Optimisation dans les réseaux.

Types de chaînesTypes de chaînes

Chaîne hamiltonienne :Chaîne hamiltonienne :Chaîne passant par tous les sommets d’un graphe Chaîne passant par tous les sommets d’un graphe

ABCD (ABDC, ACBD aussi) ABCD (ABDC, ACBD aussi)

ABDC, ACBDABDC, ACBD

Page 11: Introduction à la Théorie des graphes Optimisation dans les réseaux.

Types de chaînesTypes de chaînes

Chaîne eulérienne :Chaîne eulérienne :

Chaîne passant par toutes les arêtes d’un Chaîne passant par toutes les arêtes d’un graphe (BACBDC)graphe (BACBDC)

Page 12: Introduction à la Théorie des graphes Optimisation dans les réseaux.

Types de cyclesTypes de cycles

Cycle eulérien :Cycle eulérien : passant une seule fois par passant une seule fois par toutes les arêtes d’un graphe et revenant au toutes les arêtes d’un graphe et revenant au sommet de départ.sommet de départ.

Cycle hamiltonien : Cycle hamiltonien : passant une seule fois passant une seule fois par tous les sommets d’un graphe et par tous les sommets d’un graphe et revenant au sommet de départ.revenant au sommet de départ.

Page 13: Introduction à la Théorie des graphes Optimisation dans les réseaux.

ExempleExempleExiste-t-il un cycle eulérien ??Existe-t-il un cycle eulérien ??

CDBCABECCDBCABEC

Page 14: Introduction à la Théorie des graphes Optimisation dans les réseaux.

Graphe eulérienGraphe eulérien

Graphe qui possède un cycle EulérienGraphe qui possède un cycle Eulérien

Page 15: Introduction à la Théorie des graphes Optimisation dans les réseaux.

Théorème d’Euler (1766)Théorème d’Euler (1766)

Graphe eulérien Graphe eulérien Tous les sommêts Tous les sommêts

du graphe ont un degré pairdu graphe ont un degré pair

OUI NONOUI NON

Page 16: Introduction à la Théorie des graphes Optimisation dans les réseaux.

ConnexitéConnexité

Graphe non connexeGraphe non connexe : :

Il existe des sommets non Il existe des sommets non reliés entre euxreliés entre eux

Graphe connexeGraphe connexe : :

Tous les sommets sont Tous les sommets sont reliés entre euxreliés entre eux

Page 17: Introduction à la Théorie des graphes Optimisation dans les réseaux.

Retour à KonigsbergRetour à Konigsberg

Page 18: Introduction à la Théorie des graphes Optimisation dans les réseaux.

Sous forme de grapheSous forme de graphe

Les sommets = Les sommets = quartiersquartiers

Les arcs = Les pontsLes arcs = Les ponts Le problème Le problème le le

graphe est il eulérien ?graphe est il eulérien ? Théorème Théorème NONNON

Page 19: Introduction à la Théorie des graphes Optimisation dans les réseaux.

ExemplesExemplesTournée sans répétition  Tournée sans répétition 

Est-il possible de tracer une courbe coupant Est-il possible de tracer une courbe coupant chacun des 16 segments de la figure chacun des 16 segments de la figure exactement une et une seule fois ?exactement une et une seule fois ?

Page 20: Introduction à la Théorie des graphes Optimisation dans les réseaux.

Sous forme de grapheSous forme de graphe

Page 21: Introduction à la Théorie des graphes Optimisation dans les réseaux.

ConclusionConclusion

Le problème consiste à construire un cycle Le problème consiste à construire un cycle eulérien :eulérien :

Théorème d’EulerThéorème d’Euler : impossible, car le sommet : impossible, car le sommet e; par exemple, est de degré 5e; par exemple, est de degré 5

Page 22: Introduction à la Théorie des graphes Optimisation dans les réseaux.

Coloriage des sommets Coloriage des sommets d’un graphe non orientéd’un graphe non orienté

Nombre chromatique :Nombre chromatique :

affecter tous les sommets d’un graphe d’une affecter tous les sommets d’un graphe d’une couleur de telle sorte que deux sommets couleur de telle sorte que deux sommets adjacents ne portent pas la même couleur. adjacents ne portent pas la même couleur.

Le nombre nécessaire de couleurLe nombre nécessaire de couleur = = Nombre Nombre chromatiquechromatique

Page 23: Introduction à la Théorie des graphes Optimisation dans les réseaux.

Exemple 1 ?Exemple 1 ?

Couleur 1 :Couleur 1 :A , CA , C

couleur 2 : couleur 2 : B; D B; D

Nombre chromatique = 2Nombre chromatique = 2

Page 24: Introduction à la Théorie des graphes Optimisation dans les réseaux.

Exemple 2Exemple 2

Page 25: Introduction à la Théorie des graphes Optimisation dans les réseaux.

Nombre chromatique = 3Nombre chromatique = 3

Page 26: Introduction à la Théorie des graphes Optimisation dans les réseaux.

Application : Planning d’examensApplication : Planning d’examens

Une université doit organiser les horaires des Une université doit organiser les horaires des examens. On suppose qu’il y a examens. On suppose qu’il y a 7 épreuves à planifier7 épreuves à planifier, , numérotées de 1 à 7 :numérotées de 1 à 7 :

Les paires de cours suivantes ont des étudiants en Les paires de cours suivantes ont des étudiants en commun : commun : 1 et 2, 1 et 3, 1 et 4, 1 et 7, 2 et 3, 2 et 4, 2 1 et 2, 1 et 3, 1 et 4, 1 et 7, 2 et 3, 2 et 4, 2 et 5, 2 et 7, 3 et 4, 3 et 6, 3 et 7, 4 et 5, 4 et 6, 5 et 6, et 5, 2 et 7, 3 et 4, 3 et 6, 3 et 7, 4 et 5, 4 et 6, 5 et 6, 5 et 7 , 6 et 75 et 7 , 6 et 7. .

Comment organiser ces épreuves de façon qu’aucun Comment organiser ces épreuves de façon qu’aucun étudiant n’ait à passer deux épreuves en même temps étudiant n’ait à passer deux épreuves en même temps et cela sur une durée minimale ?et cela sur une durée minimale ?

Page 27: Introduction à la Théorie des graphes Optimisation dans les réseaux.

Modélisation sous forme de grapheModélisation sous forme de graphe

Page 28: Introduction à la Théorie des graphes Optimisation dans les réseaux.

RésolutionRésolution

Planifier les examens en un temps minimal Planifier les examens en un temps minimal consiste à déterminer une coloration en k consiste à déterminer une coloration en k couleurs des sommets du graphe, k étant le couleurs des sommets du graphe, k étant le nombre chromatique du graphe :nombre chromatique du graphe :

La partition minimale des sommets est (k = 4)La partition minimale des sommets est (k = 4)

Page 29: Introduction à la Théorie des graphes Optimisation dans les réseaux.

ConclusionConclusion

k = 4k = 4 : les examens peuvent être répartis en  : les examens peuvent être répartis en

4 périodes4 périodes, de la manière suivante :, de la manière suivante : période 1, épreuves des cours 1 et 6période 1, épreuves des cours 1 et 6 période 2, épreuve du cours 2période 2, épreuve du cours 2 période 3, épreuves des cours 3 et 5période 3, épreuves des cours 3 et 5 période 4, épreuves des cours 4 et 7période 4, épreuves des cours 4 et 7

Page 30: Introduction à la Théorie des graphes Optimisation dans les réseaux.

Répartition de commerciauxRépartition de commerciaux A, B, C, D, E, F, G et H désignent huit A, B, C, D, E, F, G et H désignent huit

COMMERCIAUX ; dans le tableau ci-dessous, COMMERCIAUX ; dans le tableau ci-dessous, une croix signifie que les COMMERCIAUX une croix signifie que les COMMERCIAUX ne sont pas prêts à travailler ensemble :ne sont pas prêts à travailler ensemble :

Page 31: Introduction à la Théorie des graphes Optimisation dans les réseaux.

QuestionQuestion

Quel nombre minimum d’équipes Quel nombre minimum d’équipes

faut-il ?faut-il ?

Page 32: Introduction à la Théorie des graphes Optimisation dans les réseaux.

Modélisation sous forme de grapheModélisation sous forme de graphe

Page 33: Introduction à la Théorie des graphes Optimisation dans les réseaux.

Donc 4 équipesDonc 4 équipes

Page 34: Introduction à la Théorie des graphes Optimisation dans les réseaux.

Optimisation dans les réseauxOptimisation dans les réseauxLe problème du plus court cheminLe problème du plus court chemin

S K J T U L E

S 1 2 5

K 1 3

J 3 2 1

T 1

U 1 4

L 2

E

Page 35: Introduction à la Théorie des graphes Optimisation dans les réseaux.

Méthode de FORDMéthode de FORD

Niveaux du grapheNiveaux du graphe Graphe ordonnancé en niveauxGraphe ordonnancé en niveaux Le calcul du chemin le plus courtLe calcul du chemin le plus court

Page 36: Introduction à la Théorie des graphes Optimisation dans les réseaux.

Dictionnaire des précédentsDictionnaire des précédentset niveaux du grapheet niveaux du graphe

Niveau 1 : JNiveau 2 : K, UNiveau 3 : SNiveau 4 : T, LNiveau 5 : E

Page 37: Introduction à la Théorie des graphes Optimisation dans les réseaux.

Graphe ordonnancé en niveauxGraphe ordonnancé en niveaux

Page 38: Introduction à la Théorie des graphes Optimisation dans les réseaux.

Calcul du chemin optimalCalcul du chemin optimalLa fonction mLa fonction m

Départ : m(J) = 0Départ : m(J) = 0 Pour un sommet X :Pour un sommet X :

m(X) = min {m(Y)+d(Y, X) ; Y précédent de X}m(X) = min {m(Y)+d(Y, X) ; Y précédent de X}

Page 39: Introduction à la Théorie des graphes Optimisation dans les réseaux.

m(J) = m(J) = 0; 0; m(K) = m(J)+2 = 0 +2 = m(K) = m(J)+2 = 0 +2 = 22m(U) = m(J)+1 = 0 +1 = m(U) = m(J)+1 = 0 +1 = 11m(S) = min{m(K)+1; m(J)+3; m(U)+1}m(S) = min{m(K)+1; m(J)+3; m(U)+1} = min{3 ; 3 ; 2} = = min{3 ; 3 ; 2} = 22m(T) =m(T) = min{m(K)+3; m(S)+1}= min{m(K)+3; m(S)+1}= 33m(L) =m(L) = min{m(U)+4; m(S)+2}= min{m(U)+4; m(S)+2}= 44m(E) = min{m(T)+1; m(S)+5; m(L)+2}=m(E) = min{m(T)+1; m(S)+5; m(L)+2}=44

Page 40: Introduction à la Théorie des graphes Optimisation dans les réseaux.

ConclusionConclusion

Le chemin le plus court est :Le chemin le plus court est :

EE← T ← S ← U ← J← T ← S ← U ← J

JJ U U SS TT E !!!E !!!