graphes et mupad (c.boulinier)1 stage graphes et mupad première journée
Post on 04-Apr-2015
124 Views
Preview:
TRANSCRIPT
Graphes et MuPad (C.Boulinier) 1
Stage Graphes et Mupad
Première journée
Graphes et MuPad (C.Boulinier) 2
Plan de la matinée
• Un premier exemple• Définitions générales
• Chaînes hamiltoniennes et eulériennes• Automates
• Ordonnancement et matrice d’adjacence• Coloration des graphes
• Graphes planaires• Chaînes de Markov
Graphes et MuPad (C.Boulinier) 3
4 villages de Sildavie
Zmrzlina
Kava
Kolac Dort
Graphes et MuPad (C.Boulinier) 4
25
9
1211 8
9
6
7
Zmrzlina
Kava
Kolac Dort
Réseau routier
Graphes et MuPad (C.Boulinier) 5
Problème: la tournée du postier
25
9
1211 8
9
6
7
Zmrzlina
Kava
Kolac Dort
Graphes et MuPad (C.Boulinier) 6
Zmrzlina
Kava
Kolac Dort
Une tournée possible du postier
9
1112
9
Graphes et MuPad (C.Boulinier) 7
Exercice 1Ce circuit est-il le plus court possible?
25
9
1211 8
9
6
7
Zmrzlina
Kava
Kolac Dort
Graphes et MuPad (C.Boulinier) 8
Matrice aux arcs du graphe
14
23
8
9
12
25
116 7
9
.434241
34.32.
2423.21
.13..
M
Graphes et MuPad (C.Boulinier) 9
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).
.423.413432421
324.342341.321
234243.213.241
134.132.
.434241
34.32.
2423.21
.13..
.434241
34.32.
2423.21
.13..
2M
Le produit latin
Graphes et MuPad (C.Boulinier) 10
.421341324321
...3241.3421
21342413.2341
1324.1342.
.434241
34.32.
2423.21
.13..
.423.413432421
324.342341.321
234243.213.241
134.132.
3M
Proposition: Les puissances r-ièmes successives de M énumèrent les chemins élémentaires d’ordre r du graphe
Graphes et MuPad (C.Boulinier) 11
.421341324321
...3241.3421
21342413.2341
1324.1342.
3M
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:
.434241
34.32.
2423.21
.13..
M
2341, 4321 ne fournissent pas de cycle
Graphes et MuPad (C.Boulinier) 12
Il y a essentiellement 2 circuits hamiltoniens:
• 13421 de longueur 11+6+25+8=50
• 13241 de longueur 11+9+12+9=41
13421 est le meilleur!
Graphes et MuPad (C.Boulinier) 13
Exercice
Trouver les circuits hamiltoniens du graphe suivant
b
a c
e d
Graphes et MuPad (C.Boulinier) 14
...
....
....
...
....
...
...
....
...
..
4
eabcdecdab
deabc
cdeab
bcdaebcdea
abcde
M
ecea
deda
cd
bcbb
aeacab
M
Graphes et MuPad (C.Boulinier) 15
Exercice 2Le 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)
Graphes et MuPad (C.Boulinier) 16
Mr. Nô
Mr. Gô
Graphes et MuPad (C.Boulinier) 17
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 jaunes, Mr. Nô doit faire 63 sauts,
il aboutira donc nécessairement sur une case blanche(absurde)
Graphes et MuPad (C.Boulinier) 18
Définitions générales
Graphes et MuPad (C.Boulinier) 19
Un graphe (orienté) G est la donnée d’un ensemble S et d’une partie F du produit
cartésien S×S.
S peut être
Fini, infini dénombrable, infini
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 ssi (u,v) ou (v,u), est dans F
On note Σ l’ensemble des arêtes de G
Graphes et MuPad (C.Boulinier) 20
Un multigraphe G est la donnée d’un multi-ensemble F d’éléments du produit cartésien
S×S, où S est un ensemble
2
14
3
Graphes et MuPad (C.Boulinier) 21
Représentation d’un graphe
3
2
1
6
5
4
S={1,2,3,4,5,6}F={ (1,2) , (1,5) , (2,1) , (2,4) , (2,5) , (4,6) , (6,2) , (6,3) }
Graphes et MuPad (C.Boulinier) 22
Exercice
Construire sur {1,2..,10} le graphe des diviseurs.
Graphes et MuPad (C.Boulinier) 23
Réponse
1
9
8
105
3
6
4
2
7
Graphes et MuPad (C.Boulinier) 24
Dans ce qui suit S est fini
le graphe G est dit alors fini
L’ordre de G est le cardinal de S
Graphes et MuPad (C.Boulinier) 25
Vocabulaire de base
• Boucle: arc de la forme (x,x)
X
Graphes et MuPad (C.Boulinier) 26
• Graphe simple:
Graphe sans boucle
• Graphe complet
Graphe simple avec F maximal
1
3
2
1
32
4
Graphes et MuPad (C.Boulinier) 27
• Graphe symétrique (ou non orienté)
FijFji ),(),(1
3
2
4
1
3
2
4
Une arête {u,v} est un « arc non orienté »; dans un graphe non orienté, le nombre d’arêtes (Σ) est la moitié du nombre d’arcs (F).
On note G* le graphe symétrisé de G
Graphes et MuPad (C.Boulinier) 28
Le degré d’un nœud est le nombre d’arêtes incidentes à ce nœud (notion non orientée)
4
2
3
1D(1)=3D(2)=2D(3)=2D(4)=3
On définit de même les degrés intérieurs (entrants) d- et extérieurs (sortants) d+ d’un sommet, on a d- + d+ =d (degré dans le cas orienté)
d-(4)=2 et d+(4)=1
On note D(G) = max D(x)x dans S
Graphes et MuPad (C.Boulinier) 29
G’=(S’,F’) est un sous graphe de G=(S,F) ssi
', ,'),(et ',' SjiFjiFFSS
G’=(S’,F’) est le sous graphe de G=(S,F) induit par S’ ssi
', ,),('et ' SjiFjiFSS
Le sommet s1 est adjacent au sommet s2 ssi (s1,s2) est dans F
Les sommets s1 et s2 sont adjacents ssi {s1,s2} est dans Σ
Graphes et MuPad (C.Boulinier) 30
Exemples de graphes
Graphe complet K5
5-cliqueGraphe biparti complet K3,2
Graphes et MuPad (C.Boulinier) 31
Exercice
Montrer que:
Montrer que
2)(Sx
xD
FxdxdSx Sx
Graphes et MuPad (C.Boulinier) 32
Exercices
1) Est-il possible de relier 9 ordinateurs, de manière que chacun soit relié à 3 autres exactement ?
2) Le nombre de sommets de degré impair est pair (lemme des poignées de mains)
3) Montrer que le nombre de personnes qui ont vécu ou qui vivent sur terre, qui ont serré la main à un nombre impair de personnes est pair…
Graphes et MuPad (C.Boulinier) 33
Chemins et chaînes
nsss ...21
nn ssssss ,,...,,,, 13221
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:
Notation:
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)
nn ssssss ,,...,,,, 13221
Graphes et MuPad (C.Boulinier) 34
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)
Graphes et MuPad (C.Boulinier) 35
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 sommets (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.
Dans un graphe symétrique (ou non orienté) les deux notions sont équivalentes
Graphes et MuPad (C.Boulinier) 36
Connexité
1
2
3
4 7
5 6
8
9
2 composantes connexes
Graphes et MuPad (C.Boulinier) 37
forte connexité
1
2
3
4 7
5 6
8
9
6 composantes fortement connexes
Graphes et MuPad (C.Boulinier) 38
Exercice
1. Donner les composantes connexes (resp.fortement connexes) du graphe des diviseurs pour n=10.
Graphes et MuPad (C.Boulinier) 39
1
9
8
105
3
6
4
2
7
Graphes et MuPad (C.Boulinier) 40
Un point d’articulation d’un graphe est un sommet dont la suppression augmente le nombre de
composantes connexes; un isthme est une arête dont la suppression a le même effet
Points d’articulation
Isthme
Nœud pendant
Graphes et MuPad (C.Boulinier) 41
Chaînes hamiltoniennes et eulériennes
Graphes et MuPad (C.Boulinier) 42
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…sn s1 est hamiltonien s’il passe une et une seule fois par chaque sommet du graphe. nsss ...21
On définit de même les notions de chaîne et de cycle hamiltonien
Graphes et MuPad (C.Boulinier) 43
Voyage autour du monde (Hamilton)
Trouver un cycle hamiltonien sur le dodécaèdre régulier
Graphes et MuPad (C.Boulinier) 44
Voyage autour du monde (Hamilton)
Graphes et MuPad (C.Boulinier) 45
Le graphe de Petersen
Ce graphe n’admet pas de cycle hamiltonien
Graphes et MuPad (C.Boulinier) 46
Exercice
Proposer une méthode pour prouver ce résultat
Graphes et MuPad (C.Boulinier) 47
91
5
6
2 8
3
7
4
Le graphe obtenu en éliminant n’importe quel sommet est hamiltonien
Graphes et MuPad (C.Boulinier) 48
Un exemple:Le séquençage de l’ADN
Une molécule d'ADN est une chaîne composée d’acides nucléiques. Ceux ci sont au nombre de 4, l'Adénine (noté A), la Guanine (G), la Thynine (T) et la Cytosine (C).
Le séquençage consiste à retrouver la suite de bases correspondant au brin d'ADN étudié.
En pratique, les molécules à analyser possèdent entre 30 000 et 100 000 bases, ce qui rend le séquençage direct impossible.
La stratégie utilisée est alors de découper le brin d'ADN en fragments dont la taille varie entre 200 et 700 acides nucléiques, de les séquencer (les lire) puis de reconstruire la molécule originale.
Graphes et MuPad (C.Boulinier) 49
Exemple: soient les 5 séquences
ACCGT, CGTGC, TTAC, GTG , TACCGT
Reconstitution:
- - A C C G T - -
- - - - C G T G C
T T A C - - - - -
- - - - - G T G -
- T A C C G T - -
T T A C C G T G C
Graphes et MuPad (C.Boulinier) 50
Problème: trouver une plus petite chaîne ayant pour facteurs les séquences données
{ACCGT, CGTGC, TTAC, GTG , TACCGT}
. On élimines les séquences qui sont facteurs d’autres séquences, on obtient un ensemble minimal: le sous-ensemble libre
Sur l’exemple on élimine GTG, on obtient:
L={ACCGT, CGTGC, TTAC, TACCGT}
Graphes et MuPad (C.Boulinier) 51
On construit un graphe valué complet dont l’ensemble des sommets est L.
On attribue à chaque arête allant de a à b, un poids égal à la longueur maximale du suffixe de a étant préfixe de b.
Les arcs de poids 0 ne sont pas représentés
ACCGT
TTAC TACCGT
CGTGC3
1 3
3
1
1 2
Graphes et MuPad (C.Boulinier) 52
Résoudre le problème, c’est trouver un chemin hamiltonien de poids maximal
ACCGT
TTAC TACCGT
CGTGC3
1
3
3
1
1 25
Graphes et MuPad (C.Boulinier) 53
Autre problème classique:
Le problème du voyageur de commerce
Graphes et MuPad (C.Boulinier) 54
Chaînes et cycles eulériens
Soit G un multigraphe
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.
Graphes et MuPad (C.Boulinier) 55
Les ponts de Kœnigsberg (Euler)
A
B
C
D
Partir de A, passer une seule fois par chacun des ponts, et revenir en A
Graphes et MuPad (C.Boulinier) 56
Graphe associé (multigraphe)
: Tracer les arêtes de ce graphe sans lever le crayon
C
DA
B
3
3
3
5
Graphes et MuPad (C.Boulinier) 57
Condition d’Euler: pour qu’un graphe admette un cycle eulérien il est nécessaire que le degré de chaque sommet
soit pair, et que le graphe soit connexe(à des points isolés prés).
i
Sommet de passage i
En particulier le problème des ponts de Königsberg n’a pas de solution
C
DA
B
Graphes et MuPad (C.Boulinier) 58
Montrons que la condition d’Euler est suffisante, en donnant un algorithme de construction
On part d’un point quelconque, non isolé, et on chemine dans le graphe sans jamais repasser par une même arête, on continue tant qu’on n’a pas trouvé un cycle
(quand on rentre dans un sommet, on peut toujours sortir sauf peut-être en cas de bouclage) .
4
7
9
1
86
32
5
Ce graphe vérifie la condition d’Euler
Graphes et MuPad (C.Boulinier) 59
4
7
9
1
86
32
5
On obtient un premier cycle, ici (1-2-3-1)
Si c’est un cycle eulérien on arrête, sinon on élimine les arêtes utilisées et les points isolés, le nouveau graphe vérifie toujours la condition sur
les degrés, et chaque composante connexe contient au moins un sommet du cycle; on construit un nouveau cycle en partant d’un point du
précédent.
Graphes et MuPad (C.Boulinier) 60
4
7
9
1
86
32
5
On obtient un nouveau cycle (3-5-6-7-5-4-3)On colle les deux cycles (1-2-3-5-6-7-5-4-3-1)
Si c’est un cycle eulérien on arrête, sinon on élimine les arêtes utilisées et les points isolés, le nouveau graphe vérifie toujours la condition sur les
degrés, on construit un nouveau cycle en partant d’un point non isolé d’un précédent cycle.
Graphes et MuPad (C.Boulinier) 61
4
7
9
1
86
32
5
On obtient un nouveau cycle (1-4-7-8-9-1)On colle les deux cycles ( 1-4-7-8-9-1-2-3-5-6-7-5-4-3-1)
Si c’est un cycle eulérien on arrête, sinon on élimine les arêtes utilisées et les points isolés, le nouveau graphe vérifie toujours la condition sur les
degrés, on construit un nouveau cycle en partant d’un point non isolé d’un précédent cycle.
Graphes et MuPad (C.Boulinier) 62
4
7
9
1
86
32
5
On obtient un nouveau cycle (4-8-1-7-9-4)On colle les deux cycles (1-4-8-1-7-9-4-7-8-9-1-2-3-5-6-7-5-4-3-1)
L’algorithme finit toujours, car à chaque étape on élimine au moins deux arêtes et qu’il y en a un nombre fini.
Graphes et MuPad (C.Boulinier) 63
4
7
9
1
86
32
5
( 1- 4-8-1-7-9 -4-7-8-9-1-2-3-5-6-7-5-4-3-1)
Graphes et MuPad (C.Boulinier) 64
Exercice
• Chercher un cycle eulérien dans le graphe suivant:
4
7
9
1 8
6
32
5
Graphes et MuPad (C.Boulinier) 65
4
7
9
1 8
6
32
5
Une réponse possible:1-9-7-6-4-5-2-1-8-9-4-7-8-2-3-4-8-5-3-1
Graphes et MuPad (C.Boulinier) 66
Théorème (cas non orienté)(Euler 1766)
Un multigraphe G admet
un cycle eulérien si et seulement si il est connexe (à des sommets isolés prés) et tous
les sommets sont de degré pair..
Graphes et MuPad (C.Boulinier) 67
Corollaire
Un multigraphe G admet
une chaîne eulérienne si et seulement si il est connexe (à des sommets isolés près) et si le
nombre de sommets de degré impair
est 0 ou 2
Graphes et MuPad (C.Boulinier) 68
Théorème (cas orienté)
Un multigraphe G admet
un circuit eulérien si et seulement si il est fortement connexe et les degrés entrant et sortant de chaque sommet sont identiques.
(On utilise essentiellement le même algorithme)
Graphes et MuPad (C.Boulinier) 69
Exemple: Mots de de BruijnOn considère l’ensemble des mots A*, sur l’alphabet A={a,b}
Un mot de de Bruijn d’ordre k est un mot tel que tout mot de longueur k sur A y apparaît une et une seule fois
k=4 …..abba…..;…..bbaa……
…..baab….
Idée: construire un graphe dont les sommets sont les mots de k-1 lettres
Graphes et MuPad (C.Boulinier) 70
Si k=2
a ba
b
b
bbab
baaa
Mot de de Bruijn: abbaa
Chaque arc représente un mot de longueur 2, il y a autant d’arcs que de mots de longueur 2 sur A.
a
Graphes et MuPad (C.Boulinier) 71
Théorème: il existe un mot de de Bruijn pour tout k>0, sa longueur est 2k+k-1
Preuve
On construit un graphe étiqueté dont les sommets sont les mots du langage Ak-1, les arêtes sont de la forme:
(uu) où et sont des lettres dans {a,b}
Exemple k=3:
b
aa
ba bb
aba
a a
a
b
b
bbbb
abb
aab
Graphes et MuPad (C.Boulinier) 72
Le graphe vérifie la condition d’Euler, il admet donc un circuit eulérien partant de chaque sommet, on en déduit un mot de de Bruijn:
aa
ba bb
aba
a a
a
b
b
b
b
babaaabbba
On a résolu le problème du mot minimal contenant un ensemble de mots de manière efficace dans ce cas !
Question:Trouver sur l’exemple un mot de de Bruijn
Graphes et MuPad (C.Boulinier) 73
Application: casser un digicode
• Si le digicode est de 4 chiffres, on cherche un mot de de Bruijn d’ordre 4 sur l’alphabet {0,1,2,3,4,5,6,7,8,9}
• Il est de longueur 104+3
• Il y a 104 codes possibles donc 4.104 chiffres à taper, on a divisé par 4 le travail.
Graphes et MuPad (C.Boulinier) 74
Deux problèmes voisins dont la complexité est fondamentalement différente
Pour la recherche d’un circuit eulérien nous possédons un critère et un algorithme de calcul efficace.
Pour la recherche d’un circuit hamiltonien, nous ne possédons pas de critère simple (cf. le graphe de Petersen), ni d’algorithme efficace (dont la terminaison fournirait un critère). Il est seulement facile de vérifier si un circuit donné est hamiltonien.
Graphes et MuPad (C.Boulinier) 75
Les classes P et NP
On dit qu’un problème est dans P si il existe un réel positif r, tel que pour toute instance de taille n, le nombre
d’opérations nécessaires à sa résolution est en O(nr).
Exemples:Tester si un entier est premier (Agarwal Saxena, Kaval Juin 2002)PGCD de deux entiers (Euclide III siècle av. JC)Savoir si un graphe est eulérien (Euler 1766)
Graphes et MuPad (C.Boulinier) 76
Un problème est dans NP s’il est possible de vérifier en un temps polynomial si une solution donnée satisfait bien les propriétés
demandées.
PNPOn a P inclus dans NP
Exemple: Factoriser un entier; mais on ne sait pas si le problème de la factorisation est dans P (à la base du cryptage à clef publique RSA)
Graphes et MuPad (C.Boulinier) 77
Un problème est NP_complet s’il fait partie de ceux pour lesquels trouver un algorithme de résolution polynomial
impliquerait que tous les problèmes de NP seraient dans P. Ce qui impliquerait que P=NP
On conjecture que P≠NP
Exemples de problèmes NP-complets:Le problème 3-SATExistence d’un cycle HamiltonienVoyageur de commerceSac à dosColoration optimale d’un grapheMot minimal contenant un ensemble de mots donnés (séquençage)
Graphes et MuPad (C.Boulinier) 78
Algorithmes approchés pour les problèmes NP-complets
Algorithmes gloutons
Réseaux de neurones
Algorithmes génétiques
La méthode du recuit simulé
La méthode tabou (?)
…
Graphes et MuPad (C.Boulinier) 79
Remarque
Extrait du programme de ES (spécialité)
« Existence d’une chaîne ou d’un cycle eulérien »
Graphes et MuPad (C.Boulinier) 80
Automates
Graphes et MuPad (C.Boulinier) 81
Automates
Extraits du programme:
« Caractérisation des mots reconnus par un graphe étiqueté »
« construction d’un graphe étiqueté reconnaissant une famille de mots »
Graphes et MuPad (C.Boulinier) 82
Quels sont les mots reconnus par
Allumer
Eteindre
b o n
j
o u r
s
o i r
En bleu les transitions complémentaires
Graphes et MuPad (C.Boulinier) 83
Construire un graphe reconnaissantballe, bal, ballon, ballant
b a ll
e
on
an
t
Les transitions non représentées vont au rebut
Ce graphe ne reconnaît que ces mots
Graphes et MuPad (C.Boulinier) 84
Exercice
Construire un graphe qui reconnaît dans une phrase le mot abracadabra
a aaaab br c d r
a
ab
a
b
aa a
Retour des autres transitions
Graphes et MuPad (C.Boulinier) 85
ExerciceTrouver un graphe étiqueté sur {0,1} reconnaissant un mot commençant par un palindrome (d’au moins deux lettres)
Etat d’entrée
Etat acceptant
Transition
Définition formelle: (E,Σ,Q,δ,F)
0
0
1
1
Palindrome
0
0
10
1
1
0,1
Graphes et MuPad (C.Boulinier) 86
Donner une version qui boucle
0
1
10
0
1
0
1
1
0
Inconvénient: cet automate ne reconnaît pas le mot 10101
Graphes et MuPad (C.Boulinier) 87
Théorème: Il n’existe pas d’automate reconnaissant exactement l’ensemble des palindromes sur {0,1}
Preuve par l’absurde: supposons qu’un tel automate existe, soit n son nombre d’états,
considérons le palindrome: (1)n0(1)n , lors du parcours dans l’automate, la reconnaissance du premier (1)n parcourt au moins un
cycle dans le graphe, il correspond à la lecture de (1)p , on a:
(1)n 0 (1)n =(1)r (1)p (1)s 0 (1)n avec r+p+s=n et p>0
Parcours d’un cycle dans l’automate
Donc le mot (1)r (1)2p (1)s 0 (1)n est aussi reconnu parl’automate, absurde !
Graphes et MuPad (C.Boulinier) 88
Théorème de Kleene
Sur un alphabet fini Λ, les langages reconnus par un automate sont exactement les langages rationnels
Un langage sur Λ est une partie de Λ*.Les langages rationnels sur Λ forment la plus petite classe vérifiant: Le langage Ø est rationnel Le langage réduit au mot vide ε est rationnel Pour chaque lettre a: {a} est rationnel (noté a) Si L et L’ sont des langages rationnels, alors L+L’, LL’ et L* sont rationnels
Notation: (a+b)(ab)*+a
Graphes et MuPad (C.Boulinier) 89
En particulier tout ensemble fini de mots est rationnel (le programme de es)
Les langages bien parenthèsés ne sont pas reconnus par automate, en particulier les
automates ne reconnaissent pas les expressions algébriques
Graphes et MuPad (C.Boulinier) 90
Recherche d’un mot dans un texteOn considère l’ensemble des mots A*, sur l’alphabet A={a,b}, un texte est un élément de A*, cherchons dans ce texte le mot ababaaL’algorithme naïf risque de faire de nombreux retours en arrière
pour chercher ce mot.Grâce à l’automate suivant on travaille en « une seule passe ».
a a a a
a
a
b b
b
b
b
b
b
Graphes et MuPad (C.Boulinier) 91
Compilation
Analyse lexicale
Analyse syntaxique
Flux de caractères
Flux de lexèmes
Arbre syntaxique
Langage d’assemblage
Automate générable de manière automatique à partir d’une définition formelle du langage
Génération du code
Graphes et MuPad (C.Boulinier) 92
Exercice *
*Déclic terminale es
Un digicode à 9 chiffres est installé à l’entrée d’un immeuble.Trois sociétés A, B et C y ont leurs bureaux. Elles ont chacune un code qu’elles fournissent à leurs clients: A: 569 B: 567 C: 562
Lorsque le code correct est composé, au cours d’une série de chiffresUne sonnerie retentit au bureau de la société.Construire un graphe qui accepte les trois codes et fait sonner à chaque bureau correspondant.
Graphes et MuPad (C.Boulinier) 93
e
A
B
C
55
5
5
5
6
9
7
25
Graphes et MuPad (C.Boulinier) 94
Exercice *
* Quercia poly
Construire un automate reconnaissant les mots différant du mot lapin par au plus une faute d’orthographe (oubli d’une lettre, ajout d’une lettre, remplacement d’une lettre par une autre).
Graphes et MuPad (C.Boulinier) 95
a
p
i
n
l
a
p
pal i
i
n
n
p i
n
Les transitions qui manquent vont vers un état « rebut »Vérifier que les mots loapin, lopin, lpin laapin sont reconnus
a
p i
i
n
pla p → (ok)
i→i (faute de frappe de p)
n (oubli du caractère p)
α→ (faute de frappe de p)
n
Graphes et MuPad (C.Boulinier) 96
L’automate* du
jongleur
J.C. Novelli Pour la science n°282
Graphes et MuPad (C.Boulinier) 97
La figure 501 b=2, h=5
G D G D G D G D G D G D G 1 2 3 4 5 6 7 8 9 10 11 12 13
Faisons une photo au temps 8: - O - - O 8 9 10 11 12
5 0 1 5 0 1 5 0 1 5 0 1 5
Graphes et MuPad (C.Boulinier) 98
Transitions possibles
Temps t Temps t+1
O - - O - - O - - O
O - - O - - - O O -
- O O - -
O - O - -
4 possibles
Dans le premier cas il n’y a qu’une transition acceptable 0Dans le deuxième cas il y a quatre transitions au choix 1, 2, 4 et 5
- - O - O
1 seul possible
12
4
5
Transition (codage)
Graphes et MuPad (C.Boulinier) 99
Automate à deux balles et de hauteur 5
- - O O -
O O - - -
O - O - -
O - - O -
O - - - O
- - O -O
- O - - O
- - - O O
- O - O -
- O O - -
2
3
4
5 1
1
2
35
2
4
5
1
3 4
5
Transition 0 en bleu
Graphes et MuPad (C.Boulinier) 100
Jongler, c’est faire une promenade dans le graphe
Une figure est un circuit dans le graphe
Passer d’une figure à une autre c’est trouver un chemin dans le graphe qui relit les deux circuits
On peut chercher un plus court chemin entre deux circuits
Graphes et MuPad (C.Boulinier) 101
Ordonnancement de tâches
Graphes et MuPad (C.Boulinier) 102
Un projet d’adduction d’eau
Zmrzlina
Kolac
Kava
Dort
Graphes et MuPad (C.Boulinier) 103
Ordonnancement des tâches
Tâche Durée Opérations antérieures
a Cahier des charges 30
b Approbation par Zmrzlina 5 a
c Approbation par Kava 5 a
d Approbation par Kolac 5 a
e Approbation par Dort 5 a
f Lancement des appels d'offres 8 b,c,d,e
g Commande 2 f
h Creuser les tranchées 10 b,c,d,e
i Construire les châteaux 20 g
j Placer les canalisations 5 h
k Installer l'électronique 3 h,g
l Installer les pompes 3 j
m Tester le système 5 h,i,k,l
n Distribution de l'eau au public 6 m
Graphes et MuPad (C.Boulinier) 104
Graphe d’ordonnancement des tâches
a
c
bh
e
digf
lj
nmk
Graphes et MuPad (C.Boulinier) 105
Fin de chacune des tâches
30
35
3545
35
35644442
5350
756948
Chemin critique incompressible, si on allonge une durée sur ce chemin c’est la durée totale des travaux qui est allongée.
5
5
5
5
8
8
8
8
2
10
10
10
1020
5
3
3
3
5
5
5
5
6
Graphes et MuPad (C.Boulinier) 106
Montrer qu’un graphe est sans circuit
Extrait du programme
« On pourra, dans des cas élémentaires, interpréter les termes de la puissance n-ième de la matrice associée à un graphe. »
Graphes et MuPad (C.Boulinier) 107
Représentation des graphes par une matrice 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(aij) définie par :
aij= 1 si et seulement si (i,j) F
aij= 0 si et seulement si (i,j) F
Graphes et MuPad (C.Boulinier) 108
Matrice d’adjacence
0 1 00 0 11 1 1
A =
Matrice d’adjacencedu graphe G
1 2
3
Un graphe G
Graphes et MuPad (C.Boulinier) 109
Théorème
Posons An=(aij(n))
Alors aij(n) est le nombre de chemins de longueur n allant de i à j
La preuve se fait par récurrence sur n
• n=0 et 1 ok!
• Supposons la proposition au rang n
Graphes et MuPad (C.Boulinier) 110
i
étape 1 n étapes suivantes Sommet de passage
1
2
3
k
n
jaik(1) akj(n)
Nombre de chemins allant de i à j en n+1 étapes, passant en premier par k: aik(1)akj(n)
Nombre de chemins allant de i à j en n+1 étapes: Σ aik(1)akj(n) =aij(n+1)
D’où, par récurrence …
Graphes et MuPad (C.Boulinier) 111
Corollaires
G est sans circuit ssi An=0
G est fortement connexe ssi n’a aucun coefficient nul
G est symétrique ssi tA=A
Soit B=(bij) la symétrisée de A (matrice de G*):
bij=1 si aij=1 ou aji=1, bij=0 sinon
G est sans cycle ssi Bn=0
G est connexe ssi n’a aucun coefficient nul.
1
0
n
k
kA
1
0
n
k
kB
Graphes et MuPad (C.Boulinier) 112
Remarque
Un produit de matrices se fait en O(n3), on peut l’améliorer en O(nln(7)) par l’algorithme de Strassen.
Une élévation à la puissance p peut se faire en O(log2(p)) multiplications.
Le calcul de An se fait en O(nlog2(7).log2(n)) opérations. (c’est un peu cher !)
Graphes et MuPad (C.Boulinier) 113
Le parcours « en profondeur d’abord » permet de déterminer l’existence de
circuits
Sa complexité est O(n+m) où n=|G| et m=|S|
Graphes et MuPad (C.Boulinier) 114
Un graphe non orienté sans cycle est une forêtUn graphe non orienté sans cycle connexe est un arbre
Un graphe orienté sans circuit est un DAG(Directed Acyclic Graph)
x+sinx + ln(sinx) +
x
sin
ln
x
Graphes et MuPad (C.Boulinier) 115
Coloration des graphes
Dans cette partie les graphes sont non orientés
Extrait du programme
« Coloriage d’un graphe et nombre chromatique »
Graphes et MuPad (C.Boulinier) 116
Le problème de l’examen*
Lors d’un examen, cinq épreuves écrites sont organisées. Elles sont désignées par un code:
1 2 3 54Allemand Russe Anglais Espagnol Japonais
Chaque candidat passe deux épreuves et deux seulement. Il y a des candidats pourchacun des couplages suivants: Allemand- Anglais; Allemand – Russe; Allemand – Espagnol; Anglais – Russe; Anglais – Espagnol; Russe – Espagnol; Anglais – Japonais; Espagnol - japonais
*Déclic Terminal es
Certaines épreuves ne peuvent pas avoir lieu le même jour, car un candidat ne passe pas deux épreuves le même jour.
Donner le nombre minimal de jours nécessaire pour organiser l’examen.
Graphes et MuPad (C.Boulinier) 117
4
Graphe associé
1
2
5
3
Le sous graphe {1,2,3,4} est completIl faut donc au moins 4 couleurs.
Graphes et MuPad (C.Boulinier) 118
4
1
2
5
3
Le sous graphe {1,2,3,4} est completIl faut donc au moins 4 couleurs.
Réponse
Graphes et MuPad (C.Boulinier) 119
Nombre chromatique d’un graphe
O n appelle nombre chromatique d’un graphe G le plus petit nombre de couleurs nécessaire pour colorier les sommets de sorte que deux sommets adjacents n’aient pas la même couleur.
On le note γ(G).
Proposition: on a toujours γ(G)≤|G|, et si un graphe est complet alors γ(G)=|G|.
Une technique pour minorer le nombre chromatique est de chercher des cliques (sous graphes complets) dans le graphe G.
Graphes et MuPad (C.Boulinier) 120
Exercice
Minorer le nombre chromatique du graphe suivant puis déterminer une coloration optimale
Graphes et MuPad (C.Boulinier) 121
2
3
5
1
4
On trouve une 5-clique donc: γ(G)≥5
Graphes et MuPad (C.Boulinier) 122
γ(G)=5
Graphes et MuPad (C.Boulinier) 123
Exercice
On sait que tout graphe contenant un triangle K3 ne peut être colorié en moins de trois couleurs.
a) Construire un graphe sans triangle qui nécessite également trois couleurs.
b) Comment, à partir du graphe précédent, construire un graphe sans K4 nécessitant 4 couleurs ?
Généraliser.
Graphes et MuPad (C.Boulinier) 124
Réponses
a) Un cycle d’ordre 5
b)
c)
Si il y avait une 5-clique à ce rang, il y aurait une 4-clique au rang précédent…
Graphes et MuPad (C.Boulinier) 125
Exercice
a) Donner un algorithme glouton qui donne un coloriage.
(on ordonnera les sommets: s1, s2, …sn-1, sn, ainsi que les couleurs )
On colore s1 avec la première couleurOn colore s2 avec la première couleur admissibleetc…
b) Montrer que γ(G) ≤ D(G)+1
Chaque sommet a au plus D(G) voisins, donc D(G) +1 couleurs suffisent
Graphes et MuPad (C.Boulinier) 126
c) Montrer que γ(G) ≤ max (min(D(si)+1,i))
A la i ème étape il y a au plus i-1 couleurs utilisées d’où l’inégalité
d) En déduire une nouvelle stratégie gloutonne
On ordonne les sommets dans l’ordre décroissant de leurs degrés.
Graphes et MuPad (C.Boulinier) 127
Nouvel algorithme de coloration(sur un exemple)
On classe les sommets par degré décroissant:
Sommet: 1 4 5 7 3 2 6Degré: 5 5 4 4 4 3 3
16
7
4
2
3
5
On choisit une première couleur pour colorer le sommet 1; ensuite, dans l’ordre, on chercheà colorer les autres sommets par la même couleur:
Graphes et MuPad (C.Boulinier) 128
On choisit une deuxième couleur et on recommence
16
7
4
2
3
5
Sommet: 1 4 5 7 3 2 6Degré: 5 5 4 4 4 3 3
Graphes et MuPad (C.Boulinier) 129
16
7
4
2
3
5
Sommet: 1 4 5 7 3 2 6Degré: 5 5 4 4 4 3 3
On choisit une troisième couleur et on recommence
Graphes et MuPad (C.Boulinier) 130
Le graphe contient un triangle donc le nombre chromatique est 3
16
7
4
2
3
5
Graphes et MuPad (C.Boulinier) 131
Exercice
Montrer que l’algorithme ne donne pas toujours une solution optimale
Graphes et MuPad (C.Boulinier) 132
Considérons le graphe :
6
1 4
52
3
Prenons le classement suivant:1-2-4-5-3-6
Graphes et MuPad (C.Boulinier) 133
Considérons le graphe :
6
1 4
52
3
Prenons le classement suivant:1-2-4-5-3-6
Graphes et MuPad (C.Boulinier) 134
Considérons le graphe :
6
1 4
52
3
Prenons le classement suivant:1-2-4-5-3-6
Graphes et MuPad (C.Boulinier) 135
6
1 4
52
3
6
1
45
23
Graphes et MuPad (C.Boulinier) 136
6
1 4
52
3
6
1
45
23
Pourtant ce graphe est biparti, donc 2-coloriable!
Graphes et MuPad (C.Boulinier) 137
Exercice
a) Montrer que le graphe du cavalier est 2-coloriable
b) Montrer qu’un graphe est 2-coloriable ssi il est biparti.
Graphes et MuPad (C.Boulinier) 138
Exercice
Sept élèves, désignés par A,B,C,D,E,F et G se sont rendus à la bibliothèque aujourd’hui. Le tableau suivant précise « qui a rencontré qui » (la bibliothèque étant petite, deux élèves présents au même moment se rencontrent nécessairement…).
A a rencontré D,E B a rencontré D,E,F,GC a rencontré E,G D a rencontré A,B,EE a rencontré A,B,C,D,F,G F a rencontré B,E,GG a rencontré B,C,E,F De combien de places assises, au moins, doit disposer la
bibliothèque pour que chacun ait pu travailler correctement au cours de cette journée ?
Graphes et MuPad (C.Boulinier) 139
g
a
b
f
e
c
d
Graphes et MuPad (C.Boulinier) 140
g
a
b
f
e
c
d
Ce coloriage est optimal car (g, f, b, e ) est une 4-clique
Réponse à la question: 4
Graphes et MuPad (C.Boulinier) 141
Graphes planaires et coloriage des cartes
On dit qu’un graphe est planaire s’il est possible de le représenter sur un plan de sorte que les sommets soient distincts, les arêtes des courbes simples, et que deux arêtes ne se rencontrent pas en dehors de leurs extrémités.
Le problème des trois villas et des trois usines:
Eau
Gaz
Elect.
A
B
C
Peut-on placer les trois villas et les trois usines de telle sorte que les conduits
issus des trois usines ne se croisent pas?
Le graphe biparti K3,3 est-il planaire?
Graphes et MuPad (C.Boulinier) 142
Un peu de vocabulaire
3
1
4
6
2
5
b
c
de
f
Face
Deux faces sont adjacentes si elles ont une frontière commune.
Contour de la face d
f = nombre de facesa= nombre d’arêtess=nombre de sommets (points)
Ici n=6; q=10 et n=6On a la relation a=s+f-2
a
Face infinie
Graphes et MuPad (C.Boulinier) 143
Graphe d’incidence
3
1
4
6
2
5
b
c
de
fa
Trouver une coloration de la carte définie par ce graphe planaire, c’est trouver une coloration du
graphe d’incidence
4 couleurs !
Graphes et MuPad (C.Boulinier) 144
Théorème d’EulerSi, dans un graphe planaire comprenant k composantes
connexes, il y a s sommets, a arêtes et f faces alors:
s+f-a=k+1
Si k=1, l’égalité devient:
s+f-a=2
s=8f=5a=10
s+f-a=2+1
Graphes et MuPad (C.Boulinier) 145
On fait une récurrence sur le nombre d’arêtes
Si a=0 alors f=1 et k=s, soit s+f-a=k+1
Supposons la proposition vraie au rang n
Si on ajoute une arête alors
- soit k diminue de 1
- soit f augmente de 1,
ce qui conserve l’égalité s+f-a=k+1
D’où la récurrence
Graphes et MuPad (C.Boulinier) 146
Exercice• K3,3 n’est pas planaire.
Observons le graphe d’incidence biparti faces arêtes,
Chaque face est définie par au moins 4 arêtes et chaque arête
sépare au plus deux faces
Donc le nombre n de « flèches » est encadré par
4f ≤n≤2a
La formule d’Euler donne f=2-s+a=2-6+9=5
Donc 20≤18, absurde !
Graphes et MuPad (C.Boulinier) 147
Le graphe complet K5 n’est pas planaire
Chaque face est définie par au moins 3 arêtes d’où 3f≤2a soit 21≤20 absurde
La formule d’Euler donne:f=2-s+a=2-5+10=7
Graphes et MuPad (C.Boulinier) 148
Dans un graphe planaire il existe un sommet de degré inférieur ou égal à 5.
Si pour tout x de G, D(x)>5 alors, d’après le
Graphe d’incidence sommets arêtes, 6s≤2a.
De plus chaque face est délimitée par au moins 3 arêtes donc 3f≤2a,
d’où 3(f+s)≤3aSoit f+s-a≤0 absurde!
Graphes et MuPad (C.Boulinier) 149
Sous divisions élémentaires• Si G est un graphe planaire, alors le graphe obtenu
en enlevant une arête {u,v}, et en ajoutant un sommet w et deux arêtes {u,w} et {w,v} est encore planaire. Cette opération est appelée sous division élémentaire.
Graphes et MuPad (C.Boulinier) 150
Graphes homéomorphes
• On dit que deux graphes sont homéomorphes s’ils peuvent être obtenus à partir d’un même graphe par des sous divisions élémentaires.
Graphes et MuPad (C.Boulinier) 151
Théorème de Kuratowski (1930)
Un multi graphe est planaire ssi il ne contient pas comme sous graphe partiel un graphe homéomorphe à
K3,3 ou K5.
La condition est évidemment nécessaire
Graphes et MuPad (C.Boulinier) 152
Exercice
• Montrer que
le graphe de Petersen
n’est pas planaire
Graphes et MuPad (C.Boulinier) 153
Exercice
• Montrer que
le graphe de Petersen
n’est pas planaire
Graphes et MuPad (C.Boulinier) 154
• Montrer que
le graphe de Petersen
n’est pas planaire
Graphes et MuPad (C.Boulinier) 155
Graphes et MuPad (C.Boulinier) 156
Graphes et MuPad (C.Boulinier) 157
Graphes et MuPad (C.Boulinier) 158
Graphes et MuPad (C.Boulinier) 159
Graphes et MuPad (C.Boulinier) 160
Graphes et MuPad (C.Boulinier) 161
Graphes et MuPad (C.Boulinier) 162
Le graphe de Pertersen n’est pas planaire
Graphes et MuPad (C.Boulinier) 163
Le théorème des 5 couleurs
Tout graphe planaire est coloriable en au plus 5 couleurs.
Graphes et MuPad (C.Boulinier) 164
Preuve
Jusqu’à cinq pays, pas de problème!
On fait une récurrence sur le nombre n de pays
Pour n+1 pays, on commence par chercher un pays n’ayant pas plus de 5 voisins (possible par le lemme).
Graphes et MuPad (C.Boulinier) 165
On supprime une arête, le pays se confond avec un voisin
On applique l’hypothèse de récurrence, on trouve une coloration à cinq couleurs de ce graphe
Graphes et MuPad (C.Boulinier) 166
Il reste à colorer notre sommet, deux cas sont possibles
Si les cinq sommets voisins n’utilisent pas 5 couleurs, alors ok!
Si les sommets sont colorés par 5 couleurs différentes:On prend deux pays non contigus et le sous graphe engendré par les sommets colorés par leurs deux couleurs respectives,
Graphes et MuPad (C.Boulinier) 167
S’ils ne sont pas sur une même composante connexe, on peut inverser les deux couleurs sur une des composantes, on est ramené au cas précédent
Graphes et MuPad (C.Boulinier) 168
S’ils ne sont pas sur une même composante connexe, on peut inverser les deux couleurs sur une des composantes, on est ramené au cas précédent
Graphes et MuPad (C.Boulinier) 169
Sinon, on prend deux autres couleurs ici vert et bleu, on fait l’opération précédente car les sommets associés ne peuvent être sur une même composante connexe (Jordan).
Graphes et MuPad (C.Boulinier) 170
Sinon, on prend deux autres couleurs ici vert et bleu, on fait l’opération précédente car les sommets associés ne peuvent être sur une même composante connexe (Jordan).
Graphes et MuPad (C.Boulinier) 171
Ce qui achève la coloration, d’où le théorème par récurrence
Graphes et MuPad (C.Boulinier) 172
Chaînes de Markov
Graphes et MuPad (C.Boulinier) 173
Un problème: celui du chauffeur de taxi
Zmrzlina
Kava
Kolac Dort
Graphes et MuPad (C.Boulinier) 174
Graphe de transition du taxi
14
23
0.5 0.5
0.50.5
0.2
0.3
0.2
0.20.1
0.2
0.2
0.1 0.5
Graphes et MuPad (C.Boulinier) 175
Où désigne la probabilité conditionnelle que le taxi aille en j sachant qu’il est en i
Mathématisons la promenade aléatoire du taxi sur notre réseau
ijpM
ijp
Posons:
5.02.01.02.0
3.05.02.00
1.02.05.02.0
05.005.0
M
Graphes et MuPad (C.Boulinier) 176
Exercice
La matrice que nous venons de construire a les propriétés:
n
jijij petp
1
110
Toute matrice qui a ces propriétés est dite stochastique*.
Montrer que les matrices stochastiques admettent 1 comme valeur propre.
Du grec stokhastikos= « habile à conjecturer »
Graphes et MuPad (C.Boulinier) 177
Réponse
• Le vecteur est vecteur propre pour la valeur propre 1
1
1
1
Graphes et MuPad (C.Boulinier) 178
Posons où désigne la probabilité que le taxi soit en i. Soit V’ le vecteur défini
par: V’=VM
4321 ,,, qqqqV iq 4321 ',',',' qqqq
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 villes
iq'
Graphes et MuPad (C.Boulinier) 179
Chaîne de Markov
Par récurrence, on définit un processus:
MVV
qqqqV
nn 1
04
03
02
010 ,,,
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 .
nV0V
0V
Graphes et MuPad (C.Boulinier) 180
Expérimentation
0,0,0,10 V
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 50V
Graphes et MuPad (C.Boulinier) 181
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]]);
0
BBB@
0.5 0 0.5 00.2 0.5 0.2 0.10 0.2 0.5 0.3
0.2 0.1 0.2 0.5
1
CCCA
0
BBB@
0.1818181818 0.1969696969 0.3636363636 0.25757575760.1818181818 0.1969696969 0.3636363636 0.25757575760.1818181818 0.1969696969 0.3636363636 0.25757575760.1818181818 0.1969696969 0.3636363636 0.2575757576
1
CCCA
v:=matrix(1,4,[1,0,0,0]);v*N;
N:=M^50;
¡0.1818181818 0.1969696969 0.3636363636 0.2575757576
¢
Graphes et MuPad (C.Boulinier) 182
Manifestement au bout d’un certain nombre de courses, la position du taxi devient
« indépendante » de sa position de départ (Ergodicité).
© 0.2701562119 0.3701562119 0.4 1.0
ª
432 ,,,1
44332214321 VVVVVMetVVVVV nnnn
linalg::eigenvalues(M);
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
On note ces valeurs propres:
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.
1V
Graphes et MuPad (C.Boulinier) 183
Exercice
Montrer que pour un processus à deux états, ce phénomène arrive toujours, sauf dans deux cas.
Graphes et MuPad (C.Boulinier) 184
Eliminons le cas où la matrice est l’identité, dans ce cas le processus est stationnaire quelle que soit la distribution initiale.
1 21 1
10
01M
Eliminons aussi le cas où -1 est valeur propre, le processus est alors périodique
1 21
1
01
10M
Graphes et MuPad (C.Boulinier) 185
Supposons que la matrice de transition soit de la forme
1010,101
1
abetbaavec
bb
aa
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é: 11 l
On obtient le même phénomène: convergence vers l’unique solution de l’équation XM=X avec x1+x2=1
1 2
1-a
1-ba b
Graphes et MuPad (C.Boulinier) 186
linalg::eigenvectors(linalg::transpose(M));
2
64
2
641 1
2
64
0B@
b1
a 1ÅÅÅÅ
1
1CA
3
75
3
75
"
a b 1 1
"Ã 11
! ##3
75
abba
V
1,12
1Soit, en normalisant
Résolvons cette équation
Graphes et MuPad (C.Boulinier) 187
Graphes et MuPad (C.Boulinier) 188
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.
nM
Proposition: dans les conditions de la définition, quelle que soit la distribution initiale la loi limite est rqqqV ,, 210
AV
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 sM
Graphes et MuPad (C.Boulinier) 189
Exercice
Que pensez-vous d’un processus dont le graphe serait le suivant?
Graphes et MuPad (C.Boulinier) 190
Zone A
Zone B
Zone C
La zone A est transitoire (transciente), les zones B et C sont absorbantes (récurrentes), 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?
Graphes et MuPad (C.Boulinier) 191
0
Pour répondre on réunit les deux zones absorbantes en un état absorbant, la réponse pour cette configuration est la même que pour celle précédente.
On dit que l’état zéro est un bord
Graphes et MuPad (C.Boulinier) 192
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).
14
23
0.5 0.5
10.5
0.2
0.3
0.2
0.20.1
0.2
0.2
0.1 0.5
Graphes et MuPad (C.Boulinier) 193
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]]);
0
BBB@
1 0 0 00.2 0.5 0.2 0.10 0.2 0.5 0.3
0.2 0.1 0.2 0.5
1
CCCA
n:=M^50;0
BBB@
1 0 0 00.9991499134 0.0002442339085 0.0002981942818 0.00030765842020.9988517191 0.0003299065377 0.0004027951879 0.00041557916680.9991499134 0.0002442339085 0.0002981942818 0.0003076584202
1
CCCA
v:=matrix(1,4,[0,1,0,0]): v*n;:¡0.9991499134 0.0002442339085 0.0002981942818 0.0003076584202
¢
Graphes et MuPad (C.Boulinier) 194
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 iiq
Ces probabilités vérifient le système:
43214
43213
43212
1
5.02.01.02.0
3.05.02.00
1.02.05.02.0
1
qqqqq
qqqqq
qqqqq
q
On trouve une unique solution:
14321 qqqq
Ce qui est rassurant!
Graphes et MuPad (C.Boulinier) 195
Combien de courses fait-il en moyenne avant de rentrer?
Posons le nombre moyen de courses faites en partant de l’état iim
Ces valeurs moyennes vérifient le système
43214
43213
43212
1
5.02.01.02.01
3.05.02.001
1.02.05.02.01
0
mmmmm
mmmmm
mmmmm
m
On trouve une unique solution:
7,9,7,0 4321 mmmm
Ce qui est beaucoup!
Graphes et MuPad (C.Boulinier) 196
Quelques simulations (10 transitions)
107.552.5
4
3.5
3
2.5
2
1.5
1
x
y
x
y
107.552.5
4
3.5
3
2.5
2
x
y
x
y
107.552.5
2
1.75
1.5
1.25
1
x
y
x
y
107.552.5
2
1.75
1.5
1.25
1
x
y
x
y
107.552.5
4
3.5
3
2.5
2
1.5
1
x
y
x
y
Graphes et MuPad (C.Boulinier) 197
Exercice*
* Arthur Engel « l’enseignement des probabilités, t2)
On dispose d’une roulette qui sort 1 avec la probabilité p et 0 avec la Probabilité q=1-pLa roulette est lancée autant de fois qu’il faut pour obtenir un palindrome
q
1
qp
p
c
d
1
0
0
q
q
pq
p
p
1
a
b
a’
b’
Graphes et MuPad (C.Boulinier) 198
mc=0 et md=1+pma’+qma de plus ma=1+pmb et mb=1+pmb
On en déduit: mb=1/q et ma=1+p/q
De même : mb’=1/p et ma’=1+q/p
D’où md=1+p+q+q+p=3Indépendant de p !
Graphes et MuPad (C.Boulinier) 199
Graphes non orientés Graphes orientés
Arête, ensemble des arêtes: Σ Arc, ensemble des arcs F
Chaîne Chemin
Cycle Circuit
Degré Degré entrant, degré sortant
Connexité Forte connexité
top related