Stage Graphes et Mupad Première journée

Slides:



Advertisements
Présentations similaires
7. Probème de flot à coût minimum.
Advertisements

Introduction à la Théorie des graphes
La recherche de chemin optimal
La Méthode de Simplexe Standardisation
Théorie des graphes.
Dans cette partie Graphes Eulériens.
Algorithmes et structures de données avancées Cours 7
Algorithmes et structures de données avancées Cours 4
Algorithmes et structures de données avancées Cours 6 Patrick Reuter
Algorithmes et structures de données avancés
VII) Formalisme Quantique
Introduction à la Théorie des graphes
Cours d’Algorithmique
Cours d’Algorithmique
Modélisation par le concept de graphe
Mise à Niveau en Recherche Opérationnelle
Bloc1 : Théorie des graphes et problèmes d’ordonnancement
LES GRAPHES.
A.Faÿ 1 Recherche opérationnelle Résumé de cours.
Chap. 1 INTRODUCTION Beaucoup de problèmes de la vie courante, tels la gestion de réseaux de communication ou l'ordonnancement de tâches, correspondent.
Plus rapide chemin bicritère : un problème d’aménagement du territoire
Nombre de chaînes de longueur r
1 Théorie des Graphes Cycle Eulérien. 2 Rappels de définitions On dit qu'une chaîne est un chemin passant par toutes les arêtes du graphe. On dit qu'un.
1 Cours numéro 3 Graphes et informatique Définitions Exemple de modélisation Utilisation de ce document strictement réservée aux étudiants de l IFSIC.
Septième étape : travailler avec des graphes probabilistes
Plus courts chemins On présente dans ce chapitre un problème typique de cheminement dans les graphes : la recherche d'un plus court chemin entre deux sommets.
Suites de matrices Quelques usages récurrents
ASI 3 Méthodes numériques pour l’ingénieur
Optimisation et Complexité
Théorie des graphes Un peu de vocabulaire.
Espaces vectoriels Montage préparé par : S André Ross
Stage Graphes et Mupad Première journée
LES ARBRES IUP 2 Génie Informatique
Algorithme de Bellman-Ford
Structures de données IFT-2000
Structures de données IFT-2000
Structures de données IFT-2000
7. Problème de flot à coût minimum.
IFT Complexité et NP-complétude
Courbes de Bézier.
Génération d’un segment de droite

1 Licence dinformatique Algorithmique des graphes Problèmes dordonnancement. Utilisation de ce document strictement réservée aux étudiants de l IFSIC dans.
Algorithmes d ’approximation
Optimisation dans les réseaux
Programmation linéaire et Recherche opérationnelle
Recherche Opérationnelle
- GRAPHES - Composantes et types
Dénombrements.
21 février 2006Cours de graphes 2 - Intranet1 Cours de graphes Les plus courts chemins, les chemins les plus légers : à laide de la vague, à laide de la.
DONG Xiaoguang HONG Liang OULDBABA Fadel WANG Min
Programmation dynamique
Atelier de formation : MAT optimisation II (les graphes).
Pour le chemin le plus court pour tous les couples
Exploration systématique de graphes
Graphes 1. Introduction 2. Définition 3. Représentation mémoire
Suites numériques Définitions.
LE FLOT MAXIMAL et LA COUPE MINIMALE
Ceci est un graphe valué Des arcs : 1-2, 1-4, 7-10,…..
D.E ZEGOUR Ecole Supérieure d’Informatique. Problèmes de décision Concepts de base Expressions régulières Notation particulière pour exprimer certaines.
Exploration systématique de graphes
Problème de double digestion
6. Problème de flot à coût minimum.
20/06/2015propagation de signatures lexicales dans le graphe du Web 1 Propagation de signatures lexicales dans le graphe du Web M. Bouklit M. Lafourcade.
Chapitre 4 Variables aléatoires discrètes
Pierre Joli Cours de Mathématique Pierre Joli
Introduction à la Théorie des graphes
Chap. 3 Récursion et induction. Les définitions par récurrence consistent à construire des objets finis, à partir d'autres, selon certaines règles. Les.
Techniques d’Optimisation Chapitre 2: Problème de flôt Dr TARI Abdelkamel Mars 2014.
Cycle, Cocycle, Arbre et Arborescence
Transcription de la présentation:

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