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

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

Embed Size (px)

Citation preview

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 !!!