Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
1
Stage Graphes et Mupad Première journée
Théorie des graphes et MuPad
2
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
3
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
4
Théorie des graphes et MuPad
4 villages de Sildavie Zmrzlina Kava Kolac Dort Théorie des graphes et MuPad
5
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
6
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
7
Une tournée possible du postier
9 11 12 Zmrzlina Kava Kolac Dort Théorie des graphes et MuPad
8
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
9
Matrice aux arcs du graphe
9 3 2 25 11 12 6 7 8 4 1 9 Théorie des graphes et MuPad
10
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
11
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
12
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
13
Il y a essentiellement 2 circuits (hamiltoniens):
Longueur =50 Longueur =41 13421 est le meilleur! Théorie des graphes et MuPad
14
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
15
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
16
Un projet d’adduction d’eau
Zmrzlina Kolac Kava Dort Théorie des graphes et MuPad
17
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
18
Graphe d’ordonnancement des tâches
b h e d i g f l j n m k Théorie des graphes et MuPad
19
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
20
Théorie des graphes et MuPad
21
Capacité des canalisations et flot maximal
Zmrzlina Kava Kolac Dort Théorie des graphes et MuPad
22
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
23
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
24
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
25
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
26
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
27
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
28
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
29
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
30
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
31
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
32
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
33
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
34
Equation de conservation du flux
Flux entrant Flux sortant = 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
35
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
36
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
37
Equation de conservation du flux
Flux entrant Flux sortant = Le flux entrant est maximum Le flot maximum est atteint ! Théorie des graphes et MuPad
38
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
39
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
40
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
41
Un autre problème: celui du chauffeur de taxi
Zmrzlina Kava Kolac Dort Théorie des graphes et MuPad
42
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
43
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
44
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
45
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
46
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
47
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
48
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
49
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
50
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
51
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
52
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
53
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
54
Résolvons cette équation
linalg::eigenvectors(linalg::transpose(M)); Soit, en normalisant Théorie des graphes et MuPad
55
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
56
Exercice 5 Que pensez-vous d’un processus dont le graphe
serait le suivant? Théorie des graphes et MuPad
57
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
58
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
59
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
60
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
61
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
62
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
63
Quelques simulations (10 transitions)
Théorie des graphes et MuPad
64
Théorie des graphes et MuPad
65
Théorie des graphes et MuPad
Mathématisation Théorie des graphes et MuPad
66
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
67
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
68
Exercice 6 Construire le graphe des diviseurs pour n=10
Théorie des graphes et MuPad
69
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
70
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
71
Théorie des graphes et MuPad
Vocabulaire de base Boucle: arc de la forme (x,x) X Théorie des graphes et MuPad
72
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
73
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
74
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
75
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
76
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
77
Voyage autour du monde (Hamilton)
Trouver un circuit hamiltonien sur le dodécaèdre régulier Théorie des graphes et MuPad
78
Voyage autour du monde (Hamilton)
Théorie des graphes et MuPad
79
Le graphe de Petersen Ce graphe n’admet pas de circuit hamiltonien
Théorie des graphes et MuPad
80
Théorie des graphes et MuPad
Exercice 7 Proposer une méthode pour prouver ce résultat Théorie des graphes et MuPad
81
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
82
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
83
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
84
Théorie des graphes et MuPad
85
Théorie des graphes et MuPad
86
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
87
Connexité et forte connexité
2 4 7 8 1 3 5 6 9 2 composantes connexes Théorie des graphes et MuPad
88
Connexité et forte connexité
2 4 7 8 1 3 5 6 9 7 composantes fortement connexes Théorie des graphes et MuPad
89
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
90
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
91
Représentation des graphes Matrices d’adjacence
1 2 3 Un graphe G A = Matrice d’adjacence du graphe G Théorie des graphes et MuPad
92
Représentation des graphes MuPad Matrices d’adjacence
Théorie des graphes et MuPad
93
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
94
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
95
Représentation des graphes MuPad Listes de successeurs
Théorie des graphes et MuPad
96
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
97
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
98
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
99
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
100
Exploration en profondeur d’abord
Théorie des graphes et MuPad
101
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
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.