L3 Informatique
Algorithmique avanc´ee D´emonstrations
Etienne Birmel´ e
[email protected]
automne 2016
2
Chapitre 1
Notion de graphe
Propri´et´e 1.1. Un graphe non orient´e v´erifie X
v∈V(G)
d(v) = 2m.
Un graphe orient´e v´erifie X
v∈V(G)
d+(v) = X
v∈V(G)
d−(v) =m.
D´emonstration. Il suffit pour cela de compter le nombre de couples (noeud,arˆete) qui sont incidents. Si on compte ces couples en regroupant ceux contenant le mˆeme noeud, on obtient que leur nombre est deP
v∈V(G)d(v). Si on les compte en les regroupant par arˆete commune, ils sont au nombre de 2m.
Le raisonnement est similaire dans le cas orient´e.
3
4 CHAPITRE 1. NOTION DE GRAPHE
Chapitre 2
Parcours de graphe
2.1 Arbres
Th´eor`eme 2.1. Tout arbre enracin´e est un arbre. De plus, pour tout arbre T et tout sommet de r∈V(T),T peut ˆetre construit comme un arbre enracin´e de raciner.
D´emonstration. 1. SoitT un arbre enracin´e.T est acyclique et connexe par construction. En effet, pour toute paire de sommets u et v a un plus ancˆetre commun le plus r´ecent a (r´etant un ancˆetre commun `a tous).
En passant para, on peut construire un chemin reliantuetv.
Soitvwune arˆete deT, o`uvest le p`ere dew. Alors, de par l’algorithme de construction deT, aucune autre arˆete ne relie l’ensemble form´e parw et ses descendants au reste du graphe. La suppression devw rompt donc l’existence d’un chemin entrevet w. Ceci ´etant vrai pour toute arˆete de T,T est bien un graphe connexe minimal.
2. Soitrun sommet deT. On lui donne le niveau 0. On peut alors reproduire l’algorithme de construction d’un arbre enracin´e en s´electionnant comme descendant devtout sommet voisin devdansT et non encore consid´er´e.
On obtient un arbre enracin´eG.
Gest un sous-graphe deT (puisque toute arˆete deGest une arˆete deT).
Supposons queV(G)6=V(T).T ´etant connexe, il existe une arˆete reliant reliant un sommetv∈V(G) `a un sommetw∈V(T)\V(G). Mais alors l’algorithme de construction de Gaurait consid´er´e cette arˆete et inclus wdansV(G). On a donc bienV(G) =V(T).
G´etant connexe par construction, on a alorsG=T par minimalit´e de T.
Th´eor`eme 2.2. Un graphe est connexe si et seulement si il admet un arbre couvrant.
5
6 CHAPITRE 2. PARCOURS DE GRAPHE D´emonstration. 1. si Gadmet un arbre couvrant, Gest connexe de fa¸con
´evidente.
2. si Gest connexe, soit T l’ensemble des sous-graphes deG qui sont des arbres. Cet ensemble est non-vide car il contient les sous-graphes r´eduits
`
a un sommet. SoitT un ´el´ement maximal de T.
Supposons que V(T) 6= V(G). Soit u /∈ V(T) et v ∈ V(T). Il existe un chemin (u = w0, . . . , v = wp) dans G reliant uet v. Soit k le plus petit indice tel que uk ∈V(T). Alors T + (uk−1uk) est un arbre et un sous-graphe deG, ce qui contredit la maximalit´e deT.
Propri´et´e 2.1. Un graphe connexe est un arbre si et seulement si il a n−1 arˆetes.
D´emonstration. 1. Consid´erons un arbreT, vu comme un arbre enracin´e.
La construction d’un arbre enracin´e entraˆıne la cr´eation d’exactement n−1 arˆetes puisque l’ajout de tout sommet, hormis la racine, engendre la cr´eation d’une arˆete.
2. Consid´erons un graphe connexeG`an−1 sommets. Sa connexit´e entraˆıne qu’il admet un arbre couvrantT. OrTa exacgtementn−1 arˆetes d’apr`es le point pr´ec´edent. Toutes les arˆetes deGsont donc des arˆetes deT, d’o`u G=T.
2.2 Parcours en largeur
Propri´et´e 2.2. BFS construit un arbre enracin´e env contenant tous les som- mets de la composante connexe dev.
D´emonstration. Supposons qu’il existe un contre-exemple, soit w le sommet non-atteint dont la distance `a v est minimale. Soit k cette distance : il existe u1. . . uk−1 tels que v, u1. . . uk−1, w est un chemin. Par minimalit´e de w,uk−1 est visit´e. Au moment o`uuk−1 est le sommet courant, etwest visit´e.
Propri´et´e 2.3. BFS est de complexit´eO(m).
D´emonstration. Chaque sommet est une seule fois consid´er´e comme le sommet courant et un nombre constant d’op´erations est faite pour chacun de ses voisins.
Le nombre total d’op´erations est donc en O(P
vd(v)). OrP
vd(v) = 2m.
On consid`ere un graphe non valu´e G. SoitT un arbre BFS enracin´e en v.
Pour tout sommetu, on noteniv(u) le niveau deudansT. Propri´et´e 2.4. Pour tout(u, v)∈E(G),|niv(u)−niv(v)| ≤1.
2.3. PARCOURS EN PROFONDEUR 7 D´emonstration. Supposons qu’il existe un contre-exemple, c’est-`a-dire u et v tels que (u, v) est une arˆete deG et uet v diff`erent d’au moins deux niveaux dans T. Quitte `a ´echanger leurs noms, on peut supposer que u est visit´e en premier, c’est `a dire niv(v)≥niv(u) + 2.
Au moment o`uuest le sommet courant,v est consid´er´e dans la boucle des voisin deu. Commeniv(v)≥niv(u) + 2,vn’a pas encore ´et´e visit´e. Il est donc ajout´e dans l’arbre comme fils deu, ce qui contreditniv(v)≥niv(u) + 2.
Propri´et´e 2.5. Pour tout u∈V(G),niv(u) =d(u, v).
D´emonstration. Le chemin entrev et uest de longueur niv(u) donc d(u, v)≤ niv(u).
Supposons qu’il existe un chemin plus court dans G. Alors ce chemin doit forc´ement passer par une arˆete qui saute un niveau, c’est-`a-dire relie deux som- mets dont la diff´erence de niveaux est d’au moins deux. Ceci est impossible d’apr`es la proposition pr´ec´edente.
2.3 Parcours en profondeur
Propri´et´e 2.6. DFS construit un arbre enracin´e en v contenant tous les som- mets de la composante connexe dev.
D´emonstration. Soitw un sommet dans la mˆeme composante quev. Il existe un cheminu0=v, u1. . . uk−1, uk=wreliantv `aw.
Le sommeui n’est d´epil´e que si tous ses voisins ont ´et´e visit´es. Par cons´e- quent, si ui est visit´e, ui+1 a forc´ement ´et´e visit´e aussi quand l’algorithme se termine. De proche en proche, on en d´eduit quew est forc´ement visit´e.
Propri´et´e 2.7. DFS est de complexit´eO(m).
D´emonstration. Le pseudo-code tel qu’il est ´ecris dans le cours n’est pas lin´eaire en le nombre d’arˆetes de fa¸con ´evidente puisqu’il y a unForet unIf imbriqu´es donnant un algorithme quadratique s’il est mal impl´ement´e.
Cependant, en codant intelligemment, on peut ´eviter que la boucle If re- teste des sommetsw d´ej`a test´es, et chaque arˆete du graphe n’est ainsi parcou- rue qu’une fois. Chaque ajout d’une arˆete s’accompagne d’un nombre constant d’op´erations.
Propri´et´e 2.8. Soit(u, v)une arˆete deG,u´etant le premier sommet d´ecouvert par le DFS.
Alorsuest un ancˆetre de v.
D´emonstration. Les ancˆetres deudans l’arbre rendu par le DFS sont les som- mets qui sont mis sur la pile tant que u lui appartient. Or, par hypoth`ese, v n’appartient pas encore `a la pile quand uy est ajout´e. De plus,un’est d´epil´e que lorsque tous ses voisins ont ´et´e visit´es, c’est-`a-dire ont ´et´e empil´es.
8 CHAPITRE 2. PARCOURS DE GRAPHE
2.4 Arbre couvrant de poids minimal
2.4.1 Algorithme de Kruskal
Propri´et´e 2.9. L’algorithme de Kruskal renvoie bien, pour un graphe connexe, un arbre couvrant de poids minimal.
D´emonstration. le r´esultat est un arbre : F est acyclique par construc- tion. En effet, une arˆete n’est ajout´ee que si elle relie deux sommets de couleur diff´erente, c’est-`a-dire appartenant `a des arbres diff´erents avant l’ajout de l’arˆete.
Si c’est une forˆet `a la fin de l’´ex´ecution, soitT1et T2 deux de ses arbres tels qu’il existe une arˆete entre T1 et T2 dans G. Au moment o`u cette arˆete a ´et´e examin´ee, elle aurait du ˆetre ajout´ee `aF. DoncF est un arbre couvrant.
il est de poids minimal : Montrons par r´ecurrence qu’`a toute ´etape il existe un arbre couvrant de poids minimal qui contient F. Le fait que c’est encore vrai quand l’algorithme se termine assure que l’arbre final est de poids minimal.
L’´etape d’initialisation est ´evident puisque tout arbre couvrant contient la forˆet couvrante sans arˆetes.
Supposons que la proposition est vraie avant l’ajout d’une arˆeteeet soit T l’arbre couvrant de poids minimal qui contient F `a ce moment-l`a. Si e∈E(T),F+eest encore inclus dansT et la propri´et´e reste vraie apr`es l’ajout dee.
Sie /∈E(T),T+econtient un cycle. Il y a donc une arˆetef qui appartient
`
aT mais pas `a F+e puisque celui-ci est acyclique. AlorsT −e+f est connexe, couvrant et contientn−1 arˆetes. En d’autres termes, c’est un arbre couvrant. Pa minimalit´e deT,T−e+f est de poids au moins ´egal
`
aT. Ceci n’est possible que si le poids deeest inf´erieur au poids def. Or,f n’appartient pas `aF+e, donc est consid´er´e par l’algorithme apr`es e, ce qui implique queeet f ont en fait le mˆeme poids. Par cons´equent, T −e+f est aussi un arbre de poids minimal et il contient F+e. La propri´et´e est donc bien v´erifi´ee apr`es l’ajout dee.
Propri´et´e 2.10. Sa complexit´e est deO(mlogm).
D´emonstration. Le tri initial des arˆetes se fait enO(mlogm).
Le reste est ´egalement enO(mlogm), en raison de la propri´et´e suivante (et des slides).
Propri´et´e 2.11. La hauteurh(T)d’un arbre T avec ssommets, construit par une suite d’applications de U N ION, est major´e par1 + log2s.
D´emonstration. Par r´ecurrence.
— vrai pours= 1
2.4. ARBRE COUVRANT DE POIDS MINIMAL 9
— Supposons que la propri´et´e est vraie pour toutes les valeurs inf´erieures `a s. Soit T de taille sobtenu `a partir de deux arbres T1 et T2 de taillex et s−x. Quitte `a les inverser, on peut supposer quex≤n2.
Alors
h(T)≤ max(h(T1),1 +h(T2))
≤ max(1 + log2(n−x),2 + log2(x))
Or log2(n−x)≤log2(n) et log2(x)≤log2(n2)≤log2(n)−1.
On obtient donch(T)≤1 + log2(n).
2.4.2 Algorithme de Prim
Propri´et´e 2.12. L’algorithme de Prim renvoie bien, pour un graphe connexe, un arbre couvrant de poids minimal.
D´emonstration. Le preuve est essetiellement la mˆeme que pour l’algorithme de Kruskal.
le r´esultat est un arbre couvrant : Test un arbre par construction puisque toute arˆete relie l’arbre existant `a un sommet non encore d´ecouvert.
Supposons qu’il n’est pas couvrant. AlorsV(T) etV(G)\V(T) sont non vides. Comme G est connexe, il existe au moins une arˆete entre T et G\T. L’algorithme ne renvoie donc pasT en raison de la condition du While.
il est de poids minimal : Montrons par r´ecurrence qu’`a toute ´etape il existe un arbre couvrant de poids minimal qui contient T. Le fait que c’est encore vrai quand l’algorithme se termine assure que l’arbre final est de poids minimal.
L’´etape d’initialisation est ´evidente puisque tout arbre couvrant contient le sommet de d´epart.
Supposons que la proposition est vraie avant l’ajout d’une arˆeteeet soit S l’arbre couvrant de poids minimal qui contient T `a ce moment-l`a. Si e∈E(S),T+eest encore inclus dansS et la propri´et´e reste vraie apr`es l’ajout dee.
Si e /∈E(S),S+econtient un cycle. Soitf l’autre arˆete de ce cycle qui relie V(T) etV(G)\V(T). f appartient `a S mais pas `a T+epuisque celui-ci est acyclique. AlorsS−e+f est connexe, couvrant et contient n−1 arˆetes. En d’autres termes, c’est un arbre couvrant. Pa minimalit´e deS,S−e+f est de poids au moins ´egal `a S. Ceci n’est possible que si le poids deeest inf´erieur au poids def.
Or, f relie T et G\T et n’appartient pas `a T +e, donc est consid´er´e par l’algorithme apr`es e. Ceci implique que e et f ont en fait le mˆeme poids. Par cons´equent,S−e+f est aussi un arbre de poids minimal et il contientT+e. La propri´et´e est donc bien v´erifi´ee apr`es l’ajout de e.
10 CHAPITRE 2. PARCOURS DE GRAPHE
Propri´et´e 2.13. Sa complexit´e est de O(mn)si le graphe est cod´e en liste ou matrice d’adjacence.
Elle peut ˆetre abaiss´ee en O(m+nlogn) en le codant `a l’aide de tes de Fibonacci.
D´emonstration. Admis
2.5 Algorithme de Dijkstra
Propri´et´e 2.14. L’algorithme de Dijkstra renvoie bien la distance de tout som- met au sommet d’origine.
D´emonstration. On montre par r´ecurrence qu’`a tout moment, le sommet ajout´e
`
aT v´erifie bien quedist f inale(v) =d(u, v).
— C’est ´evident au moment de l’initialisation car dist f inale(u) = 0 = d(u, u).
— Supposons que c’est le cas pour tous les sommets ajout´es `a T avant v.
SoitP form´e dew0=u, . . . , wp=vun chemin de poids minimal entreu etv etwl le dernier sommet deT sur ce chemin. Alors,
Commedist f inale(v) est la longueur du chemin entreuetv dansT, il est ´evident qued(u, v)≤dist f inale(v). De plus,
dist f inale(v) =dist prov(v) suite au choix dev
≤dist prov(wl+1) carv est choisi et nonwl+1
≤dist f inale(wl) +ω(wl, wl+1) en raison du proc´ed´e de calcul dedist prov
≤ω(P)
≤d(u, v)
v v´erifie donc bien la propri´et´e.
Propri´et´e 2.15. La complexit´e est polynomiale. Elle est en O(n2) pour un code na¨ıf, et peut ˆetre r´eduite `aO(m+nlogn)`a l’aide de tas binaire et mˆeme O(m+nlogn)`a l’aide de tas de Fibonacci.
2.6 Cycles couvrants
Propri´et´e 2.16. De chaque cˆot´e d’un pont se trouve au moins un sommet de degr´e impair.
2.6. CYCLES COUVRANTS 11 D´emonstration. Soit e = (u, v) un pont et Gu et Gv les deux composantes connexes deG\e.
Si uest de degr´e impair dansG,V(Gu) contient bien un sommet de degr´e impair. Si u est de degr´e pair dans G, il est de degr´e impair dans Gu. Or, la somme des degr´es dansGuest paire (c’est le cas dans tout graphe car elle vaut deux fois la somme des arˆetes). Il existe donc un autre sommet de degr´e impair dansGu.
Le mˆeme raisonnement s’applique pourGv.
Propri´et´e 2.17. Si tous les sommets ont un degr´e pair, l’algorithme de Fleury renvoie un cycle eul´erien.
Si au moins un sommet est de degr´e impair, le graphe n’est pas eul´erien.
D´emonstration. Supposons que tous les sommets sont de degr´e pair.
Cet algorithme renvoie par d´efinition une suite d’arˆetes sans r´ep´etition. De plus, par un argument de parit´e des degr´es des sommets, il ne peut s’arrˆeter que quand vm = v0 (sinon, on arrive sur un sommet de degr´e pair, donc en supprimant l’arˆete d’arriv´ee, il en reste une pour repartir, et en supprimant celle-ci, le sommet est de nouveau de degr´e pair).
Il reste donc `a d´emontrer que toutes les arˆetes sont parcourues. Si ce n’est pas le cas, soit S l’ensemble des arˆetes non parcourues et H le graphe induit par ces arˆetes. Comme G est connexe, H a des sommets en commun avec le parcoursWmfinal. Soitk le plus grand entier tel quevk∈H et vk+1∈/H.
Alors `a l’´etape k, toutes les arˆetes sortant de vk ´etaient des ponts dans Gk =G− {e1, . . . , ek}, et ce nombre de ponts est au moins ´egal `a 2 (ek+1 et au moins un autre). Il doit donc y avoir au moins trois sommets de degr´e impair dansGk, ce qui est impossible car seulsv0etvk peuvent ˆetre de degr´es impairs.
Supposons que le graphe contient un circuit eul´erien. Alors tout sommet v a forc´ement pour degr´e le double du nombre de fois o`u le circuit passe en v (chaque passage utilise une arˆete pour l’arriv´ee et une arˆete pour le d´epart).
Propri´et´e 2.18. Un graphe contient un parcours eul´erien si et seulement si au plus deux de ses sommets ont un degr´e impair.
D´emonstration. Si G admet un parcours eul´erien, seuls son point de d´epart et son point d’arriv´ee peuvent ˆetre de degr´e impair, en d´eveloppant le mˆeme argument que dans la preuve du th´eor`eme pr´ec´edent.
SiGne contient aucun somm´ee de degr´e impair, il admet un circuit eul´erien, qui est un cas particulier de parcours eul´erien. CommeP
vd(v) = 2e(G), il n’est pas possible d’avoir un seul sommet de degr´e impair (la somme totale devant ˆ
etre paire). SiGcontient deux sommetsuetvde degr´es impairs, soitH obtenu en ajoutant une arˆete (suppl´ementaire) entre uet v.H n’a plus de sommet de degr´e impair et contient donc un circuit eul´erienC. En retirant (u, v) deC, on obtient un parcours eul´erien.
12 CHAPITRE 2. PARCOURS DE GRAPHE Th´eor`eme 2.3. Le probl`eme de d´ecision du cycle hamiltonien est NP-complet, c’est-`a-dire qu’il n’existe pas d’algorithme polynomial permettant de le r´esoudre (`a moins que tout probl`eme puisse ˆetre r´esolu en temps polynomial, le fameux P=NP).
D´emonstration. 1. Le probl`eme du chemin hamiltonien se r´eduit au pro- bl`eme du cycle hamiltonien. En effet, soitG0obtenu en ajoutant un som- metureli´e `a tous les sommets deG. AlorsG0admet un cycle hamiltonien si et seulement siGadmet un chemin hamiltonien.
2. Le probl`eme du chemin hamiltonien orient´e se r´eduit au probl`eme du chemin hamiltonien. En effet, soitGun graphe orient´e. On peut cr´eerG0 non orient´een en remplacant chaque sommetvpar un chemin non orient´e (vin, v, vout) et en reliantuout et vinsi et seulement si (u, v)∈E(G).G admet un chemin hamiltonien orient´e si et seulement si G0 admet un chemin hamiltonien etG0 et de taille polynomial en la taille de G.
3. On va r´eduire le probl`eme 3-SAT au probl`eme du chemin hamiltonien orient´e. Pour cela soitx1, . . . , xn et C1, . . . , Cm une instance de 3-SAT.
On construit un graphe orient´eGde la fa¸con suivante :
— pour toute variablexi, on met en ligne 2m+2 sommetsvi1, . . . , vi,2m+2 et on ajoute une arˆete dans chaque sens entre cahque paire de voisins.
— pour tout i, on met des arˆetes arˆete devi1 et vi,2m+2 versvi+1,1 et vi+1,2m+2.
— on ajoute un sommetvstart pointant versv1,1 etv1,2m+2
— on ajoute un sommetvend vu parvn,1 etvn,2m+2
A ce stade, le graphe admet 2n chemins hamiltoniens de vstart `a vend
consistant `a parcourir chaque ligne de gauche `a droitexi= 1 ou de droite
`
a gauche (xi= 0). Il y a donc bijection entre les chemins hamiltoniens et les assignations desxi.
On ajoute alors, pour chaque clause Cj un sommetuj et les arˆetes sui- vantes :
— sixiapparait dansCj, on ajoute les arˆetes (xi,2j, uj) et (uj, xi,2j+1).
Si on assigne xi = 1, on pourra donc inclure uj dans le chemin ha- miltonien correspondant.
— sixiapparait dansCj, on ajoute les arˆetes (xi,2j+1, uj) et (uj, xi,2j).
Si on assigne xi = 0, on pourra donc inclure uj dans le chemin ha- miltonien correspondant.
On voit donc qu’une assignation telle que C est v´erifi´e donne lieu `a un chemin hamiltonien entrevstartetvendet inversement. La taille de graphe
´etant polynomiale ennetm, le probl`eme du chemin hamiltonien orient´e est donc NP-complet.
Chapitre 3
Flots dans les graphes
Propri´et´e 3.1. Pour tout flot f dans G, f+(S)−f−(S) =f−(P)−f+(P).
Cette valeur est not´eeval(f).
D´emonstration. A = V(G)\(S ∪P). On a f+(A) = f−(A). Or f+(A) = f−(S) +f−(P) etf−(A) =f+(S) +f+(P)
Propri´et´e 3.2. Probl`eme 1 :Soit (G, c) un graphe dirig´e valu´e, S⊂V(G), P ⊂V(G). D´eterminer un flot maximal de S vers P.
Probl`eme 2 : Soit (H, c) un graphe dirig´e valu´e, s ∈ V(H), p ∈ V(H).
D´eterminer un flot maximal desvers p.
Les probl`emes 1 et 2 sont ´equivalents.
D´emonstration. Le probl`eme 2 est un cas particulier du probl`eme 1. On peut donc le r´esoudre si on sait r´esoudre le probl`eme 1.
Soit (G, c, S, P) une instance du probl`eme 1. On construit un graphe H en ajoutant `aGun nouveau sommetset un nouveau sommetp. Pour tout sommet vdeS, on ajoute une arˆete (s, v) de capacit´e infinie. De mˆeme, pour tout sommet v deP, on ajoute une arˆete (v, p) de capacit´e infinie.
DESSIN
Tout flux deG entreS et P peut alors ˆetre ´etendu en un fluxf0 de H en posant, pour tout e= (s, v), f0(e) = f+(v)−f−(v) et, pour tout e = (v, p), f0(e) = f−(v)−f+(v). On a alors val(f0) = P
v∈Sf0(e, v) = P
v∈S(f+(v)− f−(v)) =val(f).
Inversement, tout flux de H peut ˆetre vu comme un flux de G et s’il est maximal pourH, il est maximal pourGpuisque les arˆetes deG\H ne peuvent pas ˆetre les arˆetes limitantes.
Propri´et´e 3.3. Pour toute coupeK= (A, A)et tout flotf,val(f) =f+(A)− f−(A).
D´emonstration. Pour tout sommet deA diff´erent des,f+(v)−f−(v) = 0. De plus,f+(s)−f−(s) =val(f). En sommant sur tous les sommets deA, on obtient le r´esultat.
13
14 CHAPITRE 3. FLOTS DANS LES GRAPHES Propri´et´e 3.4. Pour toute coupeK et tout flot f,val(f)≤cap(K). En parti- culier,maxfval(f)≤minKcap(K).
D´emonstration. SoitK= (A, A) et f un flot.
val(f) =f+(A)−f−(A). Or,f+(A)≤cap(K) etf−(A)≥0.
Propri´et´e 3.5. Un flotf est maximal si et seulement si il n’y a pas de chemin non-satur´e entresetp.
D´emonstration. S’il existe un chemin non-satur´e, on peut construire un flot de valeur sup´erieure comme ´evoqu´e plus haut.
Supposons maintenant qu’il n’existe pas de chemin non-satur´e entreset p.
SoitAl’ensemble des sommetsvtels qu’il existe un chemin non-satur´e desvers v. Alorss∈Aetp∈A, ce qui implique que K= (A, A) est une coupe. Alors :
— toute arˆeteedev∈Aversv∈Aest satur´ee, c’est-`a-dire quef(e) =c(e).
En effet, sic(e)−f(e) >0, le chemin non-satur´e de svers v peut ˆetre prolong´e en un chemin non-satur´e desversv. Ceci contreditv∈A. Par cons´equent,f+(A) =cap(K).
— toute arˆete e de v ∈ A vers v ∈ A est telle que f(e) = 0. En effet, si f(e) > 0, le chemin non-satur´e de s vers v peut ˆetre prolong´e en un chemin non-satur´e de s vers v. Ceci contredit v ∈ A. Par cons´equent, f−(A) = 0.
Finalement,val(f) =f+(A)−f−(A) =cap(K). On en conclut quef est un flot maximal etK une coupe minimale.
Th´eor`eme 3.1. Menger SoitS et P deux ensembles de sommets d’un graphe G. Pour tout entier k, soit il existe k+ 1 chemins arˆetes-disjoints reliant S `a P, soit il existe auplusk arˆetes dont la suppression d´econnecteS deP.
D´emonstration. Dans le cas orient´e, il s’agit de l’application de max-flox, min- cut : un flot de valeur sup´erieure `a k implique l’existence de k+ 1 chemins arˆetes-disjoints, une coupe de capacit´e au pluskcorrespond `a un ensemble d’au pluskarˆetes d´econnectantS etP.
Le cas non-orient´e se d´eduit du graphe o`u toutes les arˆetes sont remplac´ees par deux arˆetes orient´ees de direction oppos´ees.
Chapitre 4
Chaˆınes de Markov
4.1 D´ efinition et classification
Propri´et´e 4.1. On consid`ere la d´ecomposition du graphe G repr´esentant une chaˆıne de Markov en ses composantes fortement connexes. Soit H un graphe ayant un sommet pour chaque composante fortement connexe de G et tel que (u, v)∈E(H)s’il existe une arˆete deG allant de la composante correspondant
`
au`a la composante correspondant `av.
Alors le grapheH est acyclique. De plus, les ´etats r´ecurrents sont les ´etats situ´es dans les composantes connexes dont le degr´e sortant dansH est nul.
D´emonstration. L’acyclicit´e de H est due au fait que l’existence d’un cycle contredirait la maximalit´e des composantes fortement connexes (DESSIN).
Soitvun ´etat dans une composante fortement connexe dont le degr´e sortant est non nul. Alors il existe des arˆetes de probabilit´e non nulle sortant de la composante. La marche finit donc forc´ement par la quitter (Lemme de Borel- Cantelli qui dit que si un ´ev`enement a une proba non nulle, il finit par se produire avec probabilit´e 1). Par acyclicit´e de H, elle ne revient jamais dans cette composante connexe, et donc env.v est dont transient.
Soitvun ´etat dans une composante fortement connexe dont le degr´e sortant est nul. Si la marche passe en v, elle reste enferm´ee dans cette composante.
Celle-ci ´etant fortement connexe, il y a un chemin de probabilit´e non nulle allant de tout sommet vers v. Le lemme de Borel-Cantelli implique alors qu’on finit toujours par repasser env.v est donc r´ecurrent.
4.2 Alg` ebre lin´ eaire
Propri´et´e 4.2. SoitP une matrice stochastique. Le vecteur
1
· · · 1
est un vec- teur propre `a droite associ´e `a la valeur propre 1 pour P. De plus, toute autre valeur propreλdeP v´erifie|λ| ≤1.
15
16 CHAPITRE 4. CHAˆINES DE MARKOV D´emonstration. La premi`ere assertion correspond au fait queP
jpij = 1 pour touti.
Pour la deuxi`eme, soit λ une valeur propre de P et X un vecteur propre associ´e, dontxi est la coordonn´ee de plus grande valeur propre. Alors
X
j
pijxj =λxi
X
j
pijxj xi
=λ
|λ|=|X
j
pij
xj
xi|
≤X
j
pij|xj
xi
|
≤X
j
pij = 1
4.3 Convergence des chaˆınes de Markov
Propri´et´e 4.3. On consid`ere une chaˆıne de Markov de matrice de transition P. SoitX0 le vecteur de probabilit´es de la position initiale et Xn celui au bout denpas (c’est-`a-dire queXn contient la distribution de la variable al´eatoireSn. Alors
tXn=tX0Pn
D´emonstration. Chaque pas ´etant ind´ependant du pass´e, il suffit de montrer que pour toutk,tXk+1=tXkP puis de proc´eder par r´ecurrence.
Or, pour tout j,
P(Sk+1=j) =X
i
P(Sk+1=j|Sk=i)P(Sk=i)
tXk+1,j =
t
X
i
Xk,ipij
ce qui correspond bien `a tXk+1=tXkP.
Th´eor`eme 4.1. Perron-Frobenius Soit P la matrice d’une chaˆıne de Markov irr´eductible. Alors :
1. 1 est une valeur propre simple.
2. tout vecteur propre `a gauche associ´e `a1a toutes ses coordonn´ees de mˆeme signe. En particulier, celui de somme1correspond bien `a une distribution de probabilit´es.
3. si la chaˆıne est ap´eriodique, toute autre valeur propre λv´erifie|λ|<1.
4.3. CONVERGENCE DES CHAˆINES DE MARKOV 17 En d’autres termes, toute chaˆıne de Markov irr´eductible admet une unique mesure invariante.
D´emonstration. Admis
Th´eor`eme 4.2. SoitP la matrice d’une chaˆıne de Markov irr´eductible et ap´e-
riodique etµl’unique mesure invariante associ´ee. Alors, pour toutX0,limtn→+∞X0Pn =t µ.
De plus, la vitesse de convergence est en|λ2|n, o`uλ2 est la valeur propre de valeur absolue maximale parmi les valeurs propres diff´erentes de 1.
D´emonstration. On se contente de d´emontrer cette propri´et´e dans le cas o`uP est diagonalisable. Soit (1, λ2, . . . , λN) les valeurs propres deP rang´ees par valeurs absolues d´ecroissantes (avec ´eventuellement λi =λi+1 en cas de valeur propre multiple). Dans ce cas, il existe une base de vecteurs propres (µ, u2, . . . , uN) de RN, ui ´etant associ´e `a λi. On peut ´ecrire
tX0=αt1µ+X
i≥2
αtiui
d’o`u
tX0Pn=αt1µ+X
i≥2
αiλniui
||tX0Pn−αt1µ||=|λ2|n||u2+X
i≥3
λi
λ2
n ui||
||tX0Pn−αt1µ|| ≤C|λ2|n Cconstante
On en d´eduit quetX0Pntend versα1µ`a la vitesse|λ2|n. Le fait quetX0Pn et µsont des distributions implique queα1= 1.