Stage Graphes et Mupad Première journée Théorie des graphes et MuPad
Plan de la journée Graphes: outils de modélisation Mathématisation Algorithmétisation Découverte de Mupad MuPad et graphes Théorie des graphes et MuPad
Graphes: outils de modélisation Optimisation combinatoire Plus court chemin… Recherche opérationnelle Ordonnancement, flot… Représentation de liens de dépendance Logique, promenades aléatoires… Comportement de systèmes informatiques Systèmes distribués… Problèmes dans des réseaux etc. Théorie des graphes et MuPad
Théorie des graphes et MuPad 4 villages de Sildavie Zmrzlina Kava Kolac Dort Théorie des graphes et MuPad
Réseau routier Problème: organiser la signalisation (routage) 25 9 12 11 8 6 7 Zmrzlina Kava Kolac Dort Théorie des graphes et MuPad
Problème 2: trouver une tournée pour le postier 25 9 12 11 8 6 7 Zmrzlina Kava Kolac Dort Théorie des graphes et MuPad
Une tournée possible du postier 9 11 12 Zmrzlina Kava Kolac Dort Théorie des graphes et MuPad
Exercice 1 Ce circuit est-il le plus court possible? 25 9 12 11 8 6 7 Zmrzlina Kava Kolac Dort Théorie des graphes et MuPad
Matrice aux arcs du graphe 9 3 2 25 11 12 6 7 8 4 1 9 Théorie des graphes et MuPad
Théorie des graphes et MuPad Le produit latin Le produit est remplacé par la concaténation des mots et la somme par l’union, de plus, on ne retient que les chemins sans circuit (chemins élémentaires). Théorie des graphes et MuPad
Proposition: Les puissances r-ièmes successives de M énumèrent les chemins élémentaires d’ordre r du graphe Théorie des graphes et MuPad
On obtient l’ensemble des chemins hamiltoniens (chemins élémentaires passant par tous les points du graphe) D’où on déduit les circuits hamiltoniens du graphe Théorie des graphes et MuPad
Il y a essentiellement 2 circuits (hamiltoniens): 13421 Longueur 11+6+25+8=50 13241 Longueur 11+9+12+9=41 13421 est le meilleur! Théorie des graphes et MuPad
Exercice 2 Le problème de monsieur Nô Mr. Nô, personnage mythique japonais, habite la case du coin supérieur gauche d’un carré de 8x8 cases, et se propose de rendre visite à Mr. Gô, lequel habite la case du coin inférieur droit. Mr. Nô se déplace sur l’échiquier en passant d’une case à l’une des cases adjacentes (pas de diagonale). Est-il possible de trouver un parcours qui l’amène chez Mr. Gô , en passant une et une seule fois sur toutes les autres cases de l’échiquier? Berge (1970) Théorie des graphes et MuPad
On peut cependant remarquer que Mr. Nô et Mr. Gô Le problème revient à trouver un chemin hamiltonien dans le graphe des déplacements possibles sur l’échiquier On peut cependant remarquer que Mr. Nô et Mr. Gô habitent sur des cases blanches, Mr. Nô doit faire 63 sauts, il aboutira donc nécessairement sur une case noire (absurde) Théorie des graphes et MuPad
Un projet d’adduction d’eau Zmrzlina Kolac Kava Dort Théorie des graphes et MuPad
Ordonnancement des tâches Durée Opérations antérieures a Cahier des charges 30 b Approbation par Zmrzlina 5 c Approbation par Kava d Approbation par Kolac e Approbation par Dort f Lancement des appels d'offres 8 b,c,d,e g Commande 2 h Creuser les tranchées 10 i Construire les châteaux 20 j Placer les canalisations k Installer l'électronique 3 h,g l Installer les pompes m Tester le système h,i,k,l n Distribution de l'eau au public 6 Théorie des graphes et MuPad
Graphe d’ordonnancement des tâches b h e d i g f l j n m k Théorie des graphes et MuPad
Fin de chacune des tâches 30 35 45 64 44 42 53 50 75 69 47 Chemin critique incompressible, si on allonge une durée sur ce chemin c’est la durée totale des travaux qui est allongée. Théorie des graphes et MuPad
Théorie des graphes et MuPad
Capacité des canalisations et flot maximal Zmrzlina Kava Kolac Dort Théorie des graphes et MuPad
Capacité des canalisations Débit de chaque château d’eau Consommation maximale de chaque village A C 2 1 4 3 B 50 75 25 100 E 100 125 225 S 150 100 50 Théorie des graphes et MuPad
Théorie des graphes et MuPad Flot dans le réseau On cherche des réels définissant le flux sur l’arête (a,b) a b Théorie des graphes et MuPad
Conservation du flux Loi de Kirchof: Le flux entrant est égal au flux sortant dans chaque nœud i Théorie des graphes et MuPad
Compatibilité avec la capacité des arêtes Compatibilité du flot: Le flux dans chaque arête est inférieur ou égal à la capacité de l’arête a b Théorie des graphes et MuPad
Le problème du flot maximal Trouver un flot maximal c’est trouver un flot compatible qui rend maximal le flot dans l’arête virtuelle (S,E) dont la capacité est posée infinie Théorie des graphes et MuPad
Premières étapes Trouver un flot compatible Le flot nul convient Saturer le flot Tant qu’il existe un chemin de E vers S sans aucune arête saturée, on augmente le débit sur ce chemin jusqu’à saturation d’une arête Théorie des graphes et MuPad
Première étape de la boucle « tant que » (100) (50) (150) A 1 2 E B 3 S 4 C 400 Théorie des graphes et MuPad
Première étape de la boucle « tant que » 50 A 1 (100) (50) 2 E B 3 S 4 C 400 50 Théorie des graphes et MuPad
Deuxième étape de la boucle « tant que » 50 1 50 50 100 2 E B 3 S 4 C 400 50 Théorie des graphes et MuPad
Au bout d’un certain nombre d’étapes En fait: au plus le nombre d’arêtes -2 ! Sur notre exemple exactement 8 étapes Théorie des graphes et MuPad
On obtient un flot complet Il n’est pas forcément maximal! 2 1 4 3 B 50 25 100 E 125 175 150 400 Théorie des graphes et MuPad
Montrons qu’il n’est pas maximal C 2 1 4 3 B 50 25 100 E 125 175 150 400 Théorie des graphes et MuPad
Equation de conservation du flux Flux entrant Flux sortant 100+125+100+50+50 = 25+400 Pour le flux entrant, on ne peut pas faire mieux! Objectif: diminuer le flux sortant de l’arête (B,3) Théorie des graphes et MuPad
Réduction du débit sur le tuyau (B,3) 4 3 B 50 25 E 125 175 100 400 (225) (75) (100) (150) Théorie des graphes et MuPad
On peut le réduire à zéro 125 75 50 200 125 50 B 3 S 4 50 C 400 400 Théorie des graphes et MuPad
Equation de conservation du flux Flux entrant Flux sortant 100+125+100+50+50 = 0 + 425 Le flux entrant est maximum Le flot maximum est atteint ! Théorie des graphes et MuPad
Conclusion Le réseau ne permet pas de répondre à une demande maximale des quatre villages! Il faut construire une nouvelle canalisation de C vers 4 de capacité minimum 25 l/s Les responsables auraient mieux fait de faire une étude préalable! Théorie des graphes et MuPad
Théorie des graphes et MuPad C 2 1 4 3 B 50 100 E 125 150 75 200 400 425 Théorie des graphes et MuPad
Question Evaluer le flot maximum du réseau électrique EDF sur toute la France Algorithme de Ford et Fulkerson Définition- Correction- Complexité Théorie des graphes et MuPad
Un autre problème: celui du chauffeur de taxi Zmrzlina Kava Kolac Dort Théorie des graphes et MuPad
Théorie des graphes et MuPad Graphe de transition 1 4 2 3 0.5 0.2 0.3 0.1 Théorie des graphes et MuPad
Mathématisons la promenade aléatoire du taxi sur notre réseau Posons: Où désigne la probabilité conditionnelle que le taxi aille en j sachant qu’il est en i Théorie des graphes et MuPad
Exercice 3 La matrice que nous venons de construire à les propriétés: Toute matrice qui a ces propriétés est dite stochastique. Montrer que les matrices stochastiques admettent 1 comme valeur propre. Théorie des graphes et MuPad
Théorie des graphes et MuPad Réponse exo 3 Le vecteur est vecteur propre pour la valeur propre 1 Théorie des graphes et MuPad
alors désigne la probabilité conditionnelle que le taxi se Posons où désigne la probabilité que le taxi soit en i. Soit V’ le vecteur défini par: V’=VM alors désigne la probabilité conditionnelle que le taxi se trouve après une course dans la ville i sachant la distribution de probabilité initiale V de présence dans chacune des viles Théorie des graphes et MuPad
Chaîne de Markov Par récurrence, on définit un processus: Où désigne le vecteur « condition initiale » et le vecteur représente la distribution de probabilité de présence du taxi dans chacune des villes à la fin de la nième course, sachant la condition initiale . Théorie des graphes et MuPad
Expérimentation On fait l’hypothèse que le chauffeur de taxi part le matin de la ville de Dort (1). Où se trouve-t-il après la cinquantième course? Calculons Théorie des graphes et MuPad
Théorie des graphes et MuPad Un petit coup de MuPad! M:=matrix(4,4,[[0.5,0,0.5,0],[0.2,0.5,0.2,0.1], [0,0.2,0.5,0.3],[0.2,0.1,0.2,0.5]]); N:=M^50; v:=matrix(1,4,[1,0,0,0]); v*N; Théorie des graphes et MuPad
Manifestement au bout d’un certain nombre de courses, la position du taxi devient « indépendante » de sa position de départ. linalg::eigenvalues(M); On note ces valeurs propres: Les sous espaces propres associés aux valeurs propres de tM sont supplémentaires, on peut donc décomposer tout vecteur suivant ces 4 sous espaces La composante est indépendante de la condition initiale, c’est le vecteur limite. On l’appelle la distribution stationnaire du processus, elle est l’unique solution de l’équation X=XM avec x1+x2+x3+x4=1. Théorie des graphes et MuPad
Théorie des graphes et MuPad Exercice 4 Montrer que pour un processus à deux états, ce phénomène arrive toujours, sauf dans deux cas. Théorie des graphes et MuPad
Eliminons le cas où la matrice est l’identité, dans ce cas le processus est stationnaire quelque soit la distribution initiale. 1 1 2 1 Eliminons aussi le cas où -1 est valeur propre, le processus est alors périodique 1 2 1 1 Théorie des graphes et MuPad
Supposons que la matrice de transition soit de la forme b a 2 1 1-b 1 est valeur propre et la trace est la somme des valeurs propres, donc la deuxième valeur propre est l=a+b-1 Elle vérifie la double inégalité: On obtient le même phénomène: convergence vers l’unique solution de l’équation XM=X avec x1+x2=1 Théorie des graphes et MuPad
Résolvons cette équation linalg::eigenvectors(linalg::transpose(M)); Soit, en normalisant Théorie des graphes et MuPad
Théorie des graphes et MuPad Définition: On dit qu’un processus de Markov est positivement régulier si, quand n tend vers l’infini, la matrice tend vers une matrice composée de r lignes A identiques. Proposition: dans les conditions de la définition, quelle que soit la distribution initiale la loi limite est Proposition: Pour qu’une suite aléatoire de Markov soit positivement régulière, il est nécessaire et suffisant qu’il existe un entier s tel que tous les termes de soient strictement positifs Théorie des graphes et MuPad
Exercice 5 Que pensez-vous d’un processus dont le graphe serait le suivant? Théorie des graphes et MuPad
Théorie des graphes et MuPad Zone B Zone A Zone C La zone A est transitoire, les zones B et C sont absorbantes, le processus n’est pas positivement régulier. Question: quelle est la durée moyenne de présence dans la zone A d’un processus, avant de tomber dans l’une des zones absorbantes? Théorie des graphes et MuPad
Théorie des graphes et MuPad Pour cela on réunit les deux zones absorbantes en un état absorbant, la réponse pour cette configuration est la même que celle précédente. Théorie des graphes et MuPad
Le soir, le taxi rentre chez lui Quand le chauffeur décide de rentrer, il utilise la méthode suivante: il continue à faire des courses jusqu’à ce qu’il soit rendu dans sa ville de Dort (1). 1 4 2 3 0.5 0.2 0.3 0.1 Théorie des graphes et MuPad
Encore un petit coup de MuPad M:=matrix(4,4,[[1,0,0,0],[0.2,0.5,0.2,0.1], [0,0.2,0.5,0.3],[0.2,0.1,0.2,0.5]]); n:=M^50; v:=matrix(1,4,[0,1,0,0]): v*n;: Théorie des graphes et MuPad
Question: quelle est la probabilité que le chauffeur rentre chez lui? Posons la probabilité que le chauffeur rentre chez lui, en partant de l’état i Ces probabilités vérifient le système: On trouve une unique solution: Ce qui est rassurant! Théorie des graphes et MuPad
Combien de courses fait-il en moyenne avant de rentrer? Posons le nombre moyen de courses faites en partant de l’état i Ces valeurs moyennes vérifient le système On trouve une unique solution: Ce qui est beaucoup! Théorie des graphes et MuPad
Quelques simulations (10 transitions) Théorie des graphes et MuPad
Théorie des graphes et MuPad
Théorie des graphes et MuPad Mathématisation Théorie des graphes et MuPad
Un graphe (orienté) G est la donnée d’une partie F d’un produit cartésien S×S, où S est un ensemble Notation: G=(S,F) S est l’ensemble des sommets de G F est l’ensemble des arcs (arêtes orientées) de G {u,v} est une arête de G si (u,v) ou (v,u), est dans F S peut être Fini, infini dénombrable, infini Théorie des graphes et MuPad
Représentation d’un graphe 1 4 2 5 6 3 S={1,2,3,4,5,6} F={ (1,2) , (1,5) , (2,1) , (2,4) , (2,5) , (4,6) , (6,2) , (6,3) } Théorie des graphes et MuPad
Exercice 6 Construire le graphe des diviseurs pour n=10 Théorie des graphes et MuPad
Théorie des graphes et MuPad Réponse exercice 6 7 10 5 4 8 1 2 6 9 3 Théorie des graphes et MuPad
Dans ce qui suit S est fini le graphe G est dit alors fini L’ordre de G est le cardinal de S Théorie des graphes et MuPad
Théorie des graphes et MuPad Vocabulaire de base Boucle: arc de la forme (x,x) X Théorie des graphes et MuPad
Théorie des graphes et MuPad Graphe simple: Graphe sans boucle Graphe complet Graphe simple avec F maximal 1 4 1 3 2 2 3 Théorie des graphes et MuPad
Graphe symétrique (ou non orienté) 1 3 2 4 Une arête {u,v} est un arc non orienté Théorie des graphes et MuPad
Chemins et chaînes Un chemin dans un graphe G est une suite finie d’arcs consécutifs, c’est-à-dire de la forme : Une chaîne dans un graphe G est une suite finie d’arêtes consécutives: La longueur d’un chemin (resp. d’une chaîne) est le nombre d’arcs (resp. d’arêtes) constituant le chemin (resp. la chaîne) Notation: Théorie des graphes et MuPad
Théorie des graphes et MuPad Cycles et circuits Un circuit (resp. un cycle) est un chemin (resp. une chaîne) dont les extrémités coïncident, et dont les arcs (resp. arêtes) sont tous distincts (resp. toutes distinctes) Théorie des graphes et MuPad
Chemins et circuits Hamiltoniens Dans un graphe G, on dit qu’un chemin s1s2…sn est hamiltonien s’il passe une et une seule fois par chaque sommet du graphe. On dit qu’un circuit s1s2…sns1 est hamiltonien s’il passe une et une seule fois par chaque sommet du graphe. Théorie des graphes et MuPad
Voyage autour du monde (Hamilton) Trouver un circuit hamiltonien sur le dodécaèdre régulier Théorie des graphes et MuPad
Voyage autour du monde (Hamilton) Théorie des graphes et MuPad
Le graphe de Petersen Ce graphe n’admet pas de circuit hamiltonien Théorie des graphes et MuPad
Théorie des graphes et MuPad Exercice 7 Proposer une méthode pour prouver ce résultat Théorie des graphes et MuPad
Chaînes et cycles eulèriens Soit G un graphes On appelle chaîne eulérienne (resp. cycle eulèrien) une chaîne (resp. un cycle) qui utilise toutes les arêtes du graphe une et une seule fois. Théorie des graphes et MuPad
Les ponts de Kœnigsberg (Euler) C D A B Partir de A, passer une seule fois par chacun des ponts, et revenir en A Théorie des graphes et MuPad
Théorie des graphes et MuPad Graphe associé 3 5 C A D B : Tracer les arcs de ce graphe sans lever le crayon Théorie des graphes et MuPad
Théorie des graphes et MuPad
Théorie des graphes et MuPad
Connexité et forte connexité Un graphe G = (S,F) est dit connexe (resp. fortement connexe) s’il vérifie la propriété suivante : pour toute paire de sommet (x,y) de S, il existe une chaîne (resp. un chemin) reliant x à y. La composante connexe (resp. fortement connexe) d’un sommet x de S est le plus grand sous-graphe connexe (resp. fortement connexe) de G contenant le sommet x. Théorie des graphes et MuPad
Connexité et forte connexité 2 4 7 8 1 3 5 6 9 2 composantes connexes Théorie des graphes et MuPad
Connexité et forte connexité 2 4 7 8 1 3 5 6 9 7 composantes fortement connexes Théorie des graphes et MuPad
Théorie des graphes et MuPad Exercice 8 Calculez les composantes connexes (resp.fortement connexes) du graphe des diviseurs pour n=10. Théorie des graphes et MuPad
Représentation des graphes Matrices d’adjacence On identifie l’ensemble S des sommets à {1, 2, …, N } La matrice d’adjacence du graphe orienté G = (S,F) est la matrice A de MN({0,1}) définie par : A[i][j] = 1 si et seulement si (i,j) F A[i][j] = 0 si et seulement si (i,j) F Représentation fondamentalement booléenne des arcs Complexité en espace : O(N2) Théorie des graphes et MuPad
Représentation des graphes Matrices d’adjacence 1 2 3 Un graphe G 0 1 0 0 0 1 1 1 1 A = Matrice d’adjacence du graphe G Théorie des graphes et MuPad
Représentation des graphes MuPad Matrices d’adjacence Théorie des graphes et MuPad
Représentation des graphes Listes de successeurs On identifie l’ensemble S des sommets à {1, 2, …, N }. La liste des successeurs du sommet i d’un graphe orienté G = (S,F) est la liste L[i] définie par : L[i] = { j S, (i,j) F } La donnée de l’ensemble des listes de successeurs est équivalente à celle du graphe G. Représentation dynamique du graphe Complexité en espace : O(N+M) où M = |F| Théorie des graphes et MuPad
Représentation des graphes : Listes de successeurs du graphe G 1 2 3 … L 1 2 3 Un graphe G Théorie des graphes et MuPad
Représentation des graphes MuPad Listes de successeurs Théorie des graphes et MuPad
Parcours de graphe : Exploration en profondeur d’abord Initialement tous les sommets ne sont pas marqués Principe : marquer ou numéroter les sommets Etant donné un graphe orienté G = (S,F), comment parcourir tous les sommets de manière systématique ? Théorie des graphes et MuPad
Parcours de graphe : Exploration en profondeur d’abord Initialement tous les sommets ne sont pas marqués Principe : marquer ou numéroter les sommets -1 C’est-à-dire sont tous numérotés à -1 Etant donné un graphe orienté G = (S,F), comment parcourir tous les sommets de manière systématique ? Théorie des graphes et MuPad
Parcours de graphe : Exploration en profondeur d’abord Etape 2 : on numérote récursivement les successeurs du sommet initial Etape 1 : on numérote à 0 le sommet initial -1 Etant donné un graphe orienté G = (S,F), comment parcourir tous les sommets de manière systématique ? Théorie des graphes et MuPad
Parcours de graphe : Exploration en profondeur d’abord Un sommet non encore exploré peut en effet avoir été numéroté lors de l’exploration récursive de l’un de ces frères. Etape 2 : on numérote récursivement les successeurs du sommet initial 1 -1 si ceux-ci ne sont pas déjà numérotés ! Etant donné un graphe orienté G = (S,F), comment parcourir tous les sommets de manière systématique ? Théorie des graphes et MuPad
Exploration en profondeur d’abord Théorie des graphes et MuPad
Exercice 2 : Exploration en profondeur d’abord 1 2 3 4 7 5 6 Appliquer la méthode d’exploration en profondeur d’abord au graphe donné ci-dessus en commençant l’exploration en 1. Théorie des graphes et MuPad