introduction à la théorie des graphes optimisation dans les réseaux
TRANSCRIPT
Introduction à laIntroduction à laThéorie des graphesThéorie des graphes
Optimisation dans Optimisation dans les réseauxles 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
Ponts de KonigsbergPonts de Konigsberg
DéfinitionsDéfinitions
Graphe non orienté :Graphe non orienté : Graphe orienté :Graphe orienté :
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
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
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)
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
ChaîneChaîneSuite de sommets reliés par une seule arêteSuite de sommets reliés par une seule arête
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
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)
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.
ExempleExempleExiste-t-il un cycle eulérien ??Existe-t-il un cycle eulérien ??
CDBCABECCDBCABEC
Graphe eulérienGraphe eulérien
Graphe qui possède un cycle EulérienGraphe qui possède un cycle Eulérien
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
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
Retour à KonigsbergRetour à Konigsberg
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
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 ?
Sous forme de grapheSous forme de graphe
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
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
Exemple 1 ?Exemple 1 ?
Couleur 1 :Couleur 1 :A , CA , C
couleur 2 : couleur 2 : B; D B; D
Nombre chromatique = 2Nombre chromatique = 2
Exemple 2Exemple 2
Nombre chromatique = 3Nombre chromatique = 3
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 ?
Modélisation sous forme de grapheModélisation sous forme de graphe
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)
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
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 :
QuestionQuestion
Quel nombre minimum d’équipes Quel nombre minimum d’équipes
faut-il ?faut-il ?
Modélisation sous forme de grapheModélisation sous forme de graphe
Donc 4 équipesDonc 4 équipes
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
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
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
Graphe ordonnancé en niveauxGraphe ordonnancé en niveaux
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}
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
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 !!!