Composantes fortement connexes - irif.frfrancoisl/DIVERS/slides-cfc.pdf · CFC, puis de trouver les...
Transcript of Composantes fortement connexes - irif.frfrancoisl/DIVERS/slides-cfc.pdf · CFC, puis de trouver les...
![Page 1: Composantes fortement connexes - irif.frfrancoisl/DIVERS/slides-cfc.pdf · CFC, puis de trouver les autres sommets de ces CFC. Plan 1 D´efinitions 2 La d´efinition des coefficients](https://reader034.fdocuments.in/reader034/viewer/2022051601/5ac1c9d87f8b9aca388d7407/html5/thumbnails/1.jpg)
Composantes fortement connexes
Algorithmique – L3
Francois Laroussinie
15 novembre 2010
![Page 2: Composantes fortement connexes - irif.frfrancoisl/DIVERS/slides-cfc.pdf · CFC, puis de trouver les autres sommets de ces CFC. Plan 1 D´efinitions 2 La d´efinition des coefficients](https://reader034.fdocuments.in/reader034/viewer/2022051601/5ac1c9d87f8b9aca388d7407/html5/thumbnails/2.jpg)
Plan
1 Definitions
2 La definition des coefficients
3 Calcul des coefficients
![Page 3: Composantes fortement connexes - irif.frfrancoisl/DIVERS/slides-cfc.pdf · CFC, puis de trouver les autres sommets de ces CFC. Plan 1 D´efinitions 2 La d´efinition des coefficients](https://reader034.fdocuments.in/reader034/viewer/2022051601/5ac1c9d87f8b9aca388d7407/html5/thumbnails/3.jpg)
Plan
1 Definitions
2 La definition des coefficients
3 Calcul des coefficients
![Page 4: Composantes fortement connexes - irif.frfrancoisl/DIVERS/slides-cfc.pdf · CFC, puis de trouver les autres sommets de ces CFC. Plan 1 D´efinitions 2 La d´efinition des coefficients](https://reader034.fdocuments.in/reader034/viewer/2022051601/5ac1c9d87f8b9aca388d7407/html5/thumbnails/4.jpg)
Composantes fortement connexes
G = (S ,A) : un graphe oriente.
Definition : Une composante fortement connexe (CFC) C de G
est un sous-ensemble maximal de sommets de G tel que :si u, v ∈ C, alors u →∗
G v et v →∗
G u.
![Page 5: Composantes fortement connexes - irif.frfrancoisl/DIVERS/slides-cfc.pdf · CFC, puis de trouver les autres sommets de ces CFC. Plan 1 D´efinitions 2 La d´efinition des coefficients](https://reader034.fdocuments.in/reader034/viewer/2022051601/5ac1c9d87f8b9aca388d7407/html5/thumbnails/5.jpg)
Composantes fortement connexes
G = (S ,A) : un graphe oriente.
Definition : Une composante fortement connexe (CFC) C de G
est un sous-ensemble maximal de sommets de G tel que :si u, v ∈ C, alors u →∗
G v et v →∗
G u.
Algorithme de Tarjan (SIAM Journal of Computing, Vol. 1, No. 2,June 1972)
![Page 6: Composantes fortement connexes - irif.frfrancoisl/DIVERS/slides-cfc.pdf · CFC, puis de trouver les autres sommets de ces CFC. Plan 1 D´efinitions 2 La d´efinition des coefficients](https://reader034.fdocuments.in/reader034/viewer/2022051601/5ac1c9d87f8b9aca388d7407/html5/thumbnails/6.jpg)
Exemple : le graphe G
![Page 7: Composantes fortement connexes - irif.frfrancoisl/DIVERS/slides-cfc.pdf · CFC, puis de trouver les autres sommets de ces CFC. Plan 1 D´efinitions 2 La d´efinition des coefficients](https://reader034.fdocuments.in/reader034/viewer/2022051601/5ac1c9d87f8b9aca388d7407/html5/thumbnails/7.jpg)
Exemple : les CFC de G
![Page 8: Composantes fortement connexes - irif.frfrancoisl/DIVERS/slides-cfc.pdf · CFC, puis de trouver les autres sommets de ces CFC. Plan 1 D´efinitions 2 La d´efinition des coefficients](https://reader034.fdocuments.in/reader034/viewer/2022051601/5ac1c9d87f8b9aca388d7407/html5/thumbnails/8.jpg)
Idee de l’algorithme
L’algorithme de recherche des CFC est base sur les dates d[−] et laforet GΠ calculees lors d’un parcours en profondeur.
![Page 9: Composantes fortement connexes - irif.frfrancoisl/DIVERS/slides-cfc.pdf · CFC, puis de trouver les autres sommets de ces CFC. Plan 1 D´efinitions 2 La d´efinition des coefficients](https://reader034.fdocuments.in/reader034/viewer/2022051601/5ac1c9d87f8b9aca388d7407/html5/thumbnails/9.jpg)
Idee de l’algorithme
L’algorithme de recherche des CFC est base sur les dates d[−] et laforet GΠ calculees lors d’un parcours en profondeur.
exemple. . .
![Page 10: Composantes fortement connexes - irif.frfrancoisl/DIVERS/slides-cfc.pdf · CFC, puis de trouver les autres sommets de ces CFC. Plan 1 D´efinitions 2 La d´efinition des coefficients](https://reader034.fdocuments.in/reader034/viewer/2022051601/5ac1c9d87f8b9aca388d7407/html5/thumbnails/10.jpg)
Exemple : un parcours en profondeur de G
![Page 11: Composantes fortement connexes - irif.frfrancoisl/DIVERS/slides-cfc.pdf · CFC, puis de trouver les autres sommets de ces CFC. Plan 1 D´efinitions 2 La d´efinition des coefficients](https://reader034.fdocuments.in/reader034/viewer/2022051601/5ac1c9d87f8b9aca388d7407/html5/thumbnails/11.jpg)
On en deduit la foret GΠ. . .
![Page 12: Composantes fortement connexes - irif.frfrancoisl/DIVERS/slides-cfc.pdf · CFC, puis de trouver les autres sommets de ces CFC. Plan 1 D´efinitions 2 La d´efinition des coefficients](https://reader034.fdocuments.in/reader034/viewer/2022051601/5ac1c9d87f8b9aca388d7407/html5/thumbnails/12.jpg)
![Page 13: Composantes fortement connexes - irif.frfrancoisl/DIVERS/slides-cfc.pdf · CFC, puis de trouver les autres sommets de ces CFC. Plan 1 D´efinitions 2 La d´efinition des coefficients](https://reader034.fdocuments.in/reader034/viewer/2022051601/5ac1c9d87f8b9aca388d7407/html5/thumbnails/13.jpg)
Observations
Les sommets d’une meme CFC n’apparaissent pas n’importecomment dans la foret GΠ. . .
Est-ce un hasard ?
![Page 14: Composantes fortement connexes - irif.frfrancoisl/DIVERS/slides-cfc.pdf · CFC, puis de trouver les autres sommets de ces CFC. Plan 1 D´efinitions 2 La d´efinition des coefficients](https://reader034.fdocuments.in/reader034/viewer/2022051601/5ac1c9d87f8b9aca388d7407/html5/thumbnails/14.jpg)
Observations
Les sommets d’une meme CFC n’apparaissent pas n’importecomment dans la foret GΠ. . .
Est-ce un hasard ?
Autre essai. . .
![Page 15: Composantes fortement connexes - irif.frfrancoisl/DIVERS/slides-cfc.pdf · CFC, puis de trouver les autres sommets de ces CFC. Plan 1 D´efinitions 2 La d´efinition des coefficients](https://reader034.fdocuments.in/reader034/viewer/2022051601/5ac1c9d87f8b9aca388d7407/html5/thumbnails/15.jpg)
Autre parcours
![Page 16: Composantes fortement connexes - irif.frfrancoisl/DIVERS/slides-cfc.pdf · CFC, puis de trouver les autres sommets de ces CFC. Plan 1 D´efinitions 2 La d´efinition des coefficients](https://reader034.fdocuments.in/reader034/viewer/2022051601/5ac1c9d87f8b9aca388d7407/html5/thumbnails/16.jpg)
Proprietes - 1
Propriete 21 Soient v ,w ∈ S tels que v ↔∗G w ,
1 alors v et w ont un ancetre commun dans GΠ ; et
2 soit u le sommet tel que (1) u →∗
GΠv , (2) u →∗
GΠw et (3)
d[u] est maximal, alors on a : v ↔∗
G u et u ↔∗
G w .
![Page 17: Composantes fortement connexes - irif.frfrancoisl/DIVERS/slides-cfc.pdf · CFC, puis de trouver les autres sommets de ces CFC. Plan 1 D´efinitions 2 La d´efinition des coefficients](https://reader034.fdocuments.in/reader034/viewer/2022051601/5ac1c9d87f8b9aca388d7407/html5/thumbnails/17.jpg)
Place des CFC dans la foret GΠ
![Page 18: Composantes fortement connexes - irif.frfrancoisl/DIVERS/slides-cfc.pdf · CFC, puis de trouver les autres sommets de ces CFC. Plan 1 D´efinitions 2 La d´efinition des coefficients](https://reader034.fdocuments.in/reader034/viewer/2022051601/5ac1c9d87f8b9aca388d7407/html5/thumbnails/18.jpg)
Place des CFC dans la foret GΠ
Corollaire :
Soit C une CFC de G .Alors l’arborescence GΠ restreinte aux sommets de C est un arbre(couvrant C).
![Page 19: Composantes fortement connexes - irif.frfrancoisl/DIVERS/slides-cfc.pdf · CFC, puis de trouver les autres sommets de ces CFC. Plan 1 D´efinitions 2 La d´efinition des coefficients](https://reader034.fdocuments.in/reader034/viewer/2022051601/5ac1c9d87f8b9aca388d7407/html5/thumbnails/19.jpg)
Idee generale de l’algorithme
⇒ calculer un coefficient r[x ] pour chaque x ∈ S a partir des datesd[−] de maniere a ce que ∀x ∈ S , on ait :r[x ] = d[x ] ssi x est la racine de sa CFC
Def : la racine d’une CFC C est le premier sommet de C a etredecouvert dans le parcours en profondeur.
![Page 20: Composantes fortement connexes - irif.frfrancoisl/DIVERS/slides-cfc.pdf · CFC, puis de trouver les autres sommets de ces CFC. Plan 1 D´efinitions 2 La d´efinition des coefficients](https://reader034.fdocuments.in/reader034/viewer/2022051601/5ac1c9d87f8b9aca388d7407/html5/thumbnails/20.jpg)
Idee generale de l’algorithme
⇒ calculer un coefficient r[x ] pour chaque x ∈ S a partir des datesd[−] de maniere a ce que ∀x ∈ S , on ait :r[x ] = d[x ] ssi x est la racine de sa CFC
Def : la racine d’une CFC C est le premier sommet de C a etredecouvert dans le parcours en profondeur.
Les coefficients r[−] vous nous permettre de trouver les racines desCFC, puis de trouver les autres sommets de ces CFC.
![Page 21: Composantes fortement connexes - irif.frfrancoisl/DIVERS/slides-cfc.pdf · CFC, puis de trouver les autres sommets de ces CFC. Plan 1 D´efinitions 2 La d´efinition des coefficients](https://reader034.fdocuments.in/reader034/viewer/2022051601/5ac1c9d87f8b9aca388d7407/html5/thumbnails/21.jpg)
Plan
1 Definitions
2 La definition des coefficients
3 Calcul des coefficients
![Page 22: Composantes fortement connexes - irif.frfrancoisl/DIVERS/slides-cfc.pdf · CFC, puis de trouver les autres sommets de ces CFC. Plan 1 D´efinitions 2 La d´efinition des coefficients](https://reader034.fdocuments.in/reader034/viewer/2022051601/5ac1c9d87f8b9aca388d7407/html5/thumbnails/22.jpg)
Definition des coefficients r
∀x ∈ S , on definit le coefficient r[x ] par :
r[x ]def= min
(
{d[x ]} ∪ {d[w ] | (1) x →∗
GΠ
T/R−−−−→ w ∧
(2) ∃u ∈ S .u →∗
GΠx ∧ u →∗
GΠw ∧ (3)u ↔∗
G w})
![Page 23: Composantes fortement connexes - irif.frfrancoisl/DIVERS/slides-cfc.pdf · CFC, puis de trouver les autres sommets de ces CFC. Plan 1 D´efinitions 2 La d´efinition des coefficients](https://reader034.fdocuments.in/reader034/viewer/2022051601/5ac1c9d87f8b9aca388d7407/html5/thumbnails/23.jpg)
Definition des coefficients r
∀x ∈ S , on definit le coefficient r[x ] par :
r[x ]def= min
(
{d[x ]} ∪ {d[w ] | (1) x →∗
GΠ
T/R−−−−→ w ∧
(2) ∃u ∈ S .u →∗
GΠx ∧ u →∗
GΠw ∧ (3)u ↔∗
G w})
r[x ] est le minimum entre d[x ] et les dates de decouverte dessommets w qui :
1 sont accessibles depuis x par un chemin de GΠ prolonge parun arc “retour” ou un arc “transverse”, et tels que
2 x et w ont un ancetre commun dans GΠ, et
3 u et w sont dans la meme CFC.
![Page 24: Composantes fortement connexes - irif.frfrancoisl/DIVERS/slides-cfc.pdf · CFC, puis de trouver les autres sommets de ces CFC. Plan 1 D´efinitions 2 La d´efinition des coefficients](https://reader034.fdocuments.in/reader034/viewer/2022051601/5ac1c9d87f8b9aca388d7407/html5/thumbnails/24.jpg)
Definition des coefficients r
r[x ]def= min
(
{d[x ]} ∪ {d[w ] | (1) x →∗GΠ
T/R−−−−→ w ∧
(2) ∃u ∈ S .u →∗GΠ
x ∧ u →∗GΠ
w ∧ (3)u ↔∗G w}
)
![Page 25: Composantes fortement connexes - irif.frfrancoisl/DIVERS/slides-cfc.pdf · CFC, puis de trouver les autres sommets de ces CFC. Plan 1 D´efinitions 2 La d´efinition des coefficients](https://reader034.fdocuments.in/reader034/viewer/2022051601/5ac1c9d87f8b9aca388d7407/html5/thumbnails/25.jpg)
Autre definition
r[x ] est le minimum entre d[x ] et les d[w ] tel que w est unsommet de la CFC de x accessible depuis x par un chemin de la
forme x →∗
GΠ
T/R−−−−→ w .
![Page 26: Composantes fortement connexes - irif.frfrancoisl/DIVERS/slides-cfc.pdf · CFC, puis de trouver les autres sommets de ces CFC. Plan 1 D´efinitions 2 La d´efinition des coefficients](https://reader034.fdocuments.in/reader034/viewer/2022051601/5ac1c9d87f8b9aca388d7407/html5/thumbnails/26.jpg)
![Page 27: Composantes fortement connexes - irif.frfrancoisl/DIVERS/slides-cfc.pdf · CFC, puis de trouver les autres sommets de ces CFC. Plan 1 D´efinitions 2 La d´efinition des coefficients](https://reader034.fdocuments.in/reader034/viewer/2022051601/5ac1c9d87f8b9aca388d7407/html5/thumbnails/27.jpg)
Proprietes des coefficients r
Comme w , u et x sont dans la meme CFC, on a :
Propriete 22
Pour tout sommet x d’une CFC C de racine uC , on a :
d[uC] ≤ r[x ] ≤ d[x ]
![Page 28: Composantes fortement connexes - irif.frfrancoisl/DIVERS/slides-cfc.pdf · CFC, puis de trouver les autres sommets de ces CFC. Plan 1 D´efinitions 2 La d´efinition des coefficients](https://reader034.fdocuments.in/reader034/viewer/2022051601/5ac1c9d87f8b9aca388d7407/html5/thumbnails/28.jpg)
Proprietes des coefficients r
Comme w , u et x sont dans la meme CFC, on a :
Propriete 22
Pour tout sommet x d’une CFC C de racine uC , on a :
d[uC] ≤ r[x ] ≤ d[x ]
Propriete 23
Un sommet x est la racine d’une composante fortement connexe si
et seulement si r(x) = d[x ].
![Page 29: Composantes fortement connexes - irif.frfrancoisl/DIVERS/slides-cfc.pdf · CFC, puis de trouver les autres sommets de ces CFC. Plan 1 D´efinitions 2 La d´efinition des coefficients](https://reader034.fdocuments.in/reader034/viewer/2022051601/5ac1c9d87f8b9aca388d7407/html5/thumbnails/29.jpg)
Plan
1 Definitions
2 La definition des coefficients
3 Calcul des coefficients
![Page 30: Composantes fortement connexes - irif.frfrancoisl/DIVERS/slides-cfc.pdf · CFC, puis de trouver les autres sommets de ces CFC. Plan 1 D´efinitions 2 La d´efinition des coefficients](https://reader034.fdocuments.in/reader034/viewer/2022051601/5ac1c9d87f8b9aca388d7407/html5/thumbnails/30.jpg)
Algorithme de Tarjan
On modifie l’algorithme de parcours en profondeur. . .
Les nouvelles variables utilisees sont :
• nbcfc : pour compter le nombre de CFC trouvees ;
• NumCFC[−] : un tableau donnant pour chaque sommet lenumero de sa CFC ;
• rA[−] : un tableau pour stocker les coefficients r ;
• P est une pile pour stocker des sommets de G .
![Page 31: Composantes fortement connexes - irif.frfrancoisl/DIVERS/slides-cfc.pdf · CFC, puis de trouver les autres sommets de ces CFC. Plan 1 D´efinitions 2 La d´efinition des coefficients](https://reader034.fdocuments.in/reader034/viewer/2022051601/5ac1c9d87f8b9aca388d7407/html5/thumbnails/31.jpg)
Algorithme de Tarjan
Procedure Tarjan-CFC(G )temps := 0;nbcfc := 0;P := Pile vide;pour chaque x ∈ S faire
Couleur[x ] := blanc;NumCFC[x ] := undef;
pour chaque x ∈ S fairesi Couleur[x ] = blanc alors CFC(x);
retourner NumCFC[]
![Page 32: Composantes fortement connexes - irif.frfrancoisl/DIVERS/slides-cfc.pdf · CFC, puis de trouver les autres sommets de ces CFC. Plan 1 D´efinitions 2 La d´efinition des coefficients](https://reader034.fdocuments.in/reader034/viewer/2022051601/5ac1c9d87f8b9aca388d7407/html5/thumbnails/32.jpg)
Procedure CFC(x)1
temps++; d[x ] := temps; Couleur[x ] := gris;2
rA[x ] := d[x ];3
P .Empiler(x);4
pour chaque (x , y) ∈ A faire5
si Couleur[y ] = blanc alors6
CFC(y);7
rA[x ] := min(rA[x ], rA[y ]);8
sinon9
si d[y ] < d[x ] ∧ y ∈ P alors10
rA[x ] := min(rA[x ], d[y ]);11
temps++; f[x ] := temps; Couleur[x ] := noir;12
si rA[x ] = d[x ] alors13
nbcfc++;14
tant que P 6= ∅ ∧ d[P .Tete()] ≥ d[x ] faire15
y := P .Tete();16
P .Depiler();17
NumCFC[y ] := nbcfc;18
![Page 33: Composantes fortement connexes - irif.frfrancoisl/DIVERS/slides-cfc.pdf · CFC, puis de trouver les autres sommets de ces CFC. Plan 1 D´efinitions 2 La d´efinition des coefficients](https://reader034.fdocuments.in/reader034/viewer/2022051601/5ac1c9d87f8b9aca388d7407/html5/thumbnails/33.jpg)
Comment ca marche ?
Il faut montrer que les coefficients rA[−] calcules par l’algorithmesont egaux aux r[−] definis precedemment.
Quelques elements. . .
![Page 34: Composantes fortement connexes - irif.frfrancoisl/DIVERS/slides-cfc.pdf · CFC, puis de trouver les autres sommets de ces CFC. Plan 1 D´efinitions 2 La d´efinition des coefficients](https://reader034.fdocuments.in/reader034/viewer/2022051601/5ac1c9d87f8b9aca388d7407/html5/thumbnails/34.jpg)
Comment ca marche ?
Il faut montrer que les coefficients rA[−] calcules par l’algorithmesont egaux aux r[−] definis precedemment.
Quelques elements. . .
• P contient les sommets dont la racine de leur CFC est encoregrise. Ils ont des ancetres communs dans GΠ.Les sommets de C ne sont extraits de P que lorsque uC estcoloriee en noir et que les instructions 14-18 de CFC sontexecutees.
![Page 35: Composantes fortement connexes - irif.frfrancoisl/DIVERS/slides-cfc.pdf · CFC, puis de trouver les autres sommets de ces CFC. Plan 1 D´efinitions 2 La d´efinition des coefficients](https://reader034.fdocuments.in/reader034/viewer/2022051601/5ac1c9d87f8b9aca388d7407/html5/thumbnails/35.jpg)
Comment ca marche ?
Il faut montrer que les coefficients rA[−] calcules par l’algorithmesont egaux aux r[−] definis precedemment.
Quelques elements. . .
• P contient les sommets dont la racine de leur CFC est encoregrise. Ils ont des ancetres communs dans GΠ.Les sommets de C ne sont extraits de P que lorsque uC estcoloriee en noir et que les instructions 14-18 de CFC sontexecutees.
• l’instruction 8 permet de faire ”remonter” les valeurs de rA[y ]a son pere x dans GΠ.
![Page 36: Composantes fortement connexes - irif.frfrancoisl/DIVERS/slides-cfc.pdf · CFC, puis de trouver les autres sommets de ces CFC. Plan 1 D´efinitions 2 La d´efinition des coefficients](https://reader034.fdocuments.in/reader034/viewer/2022051601/5ac1c9d87f8b9aca388d7407/html5/thumbnails/36.jpg)
Comment ca marche ?
Il faut montrer que les coefficients rA[−] calcules par l’algorithmesont egaux aux r[−] definis precedemment.
Quelques elements. . .
• P contient les sommets dont la racine de leur CFC est encoregrise. Ils ont des ancetres communs dans GΠ.Les sommets de C ne sont extraits de P que lorsque uC estcoloriee en noir et que les instructions 14-18 de CFC sontexecutees.
• l’instruction 8 permet de faire ”remonter” les valeurs de rA[y ]a son pere x dans GΠ.
• le test de la ligne 10 (“d[y ] < d[x ] ∧ y ∈ P”) caracterise bienles arcs (x , y) de type ”retour” ou ”transverse” t.q. y a desancetres communs avec x dans GΠ et x ↔∗
G y ? . . .
![Page 37: Composantes fortement connexes - irif.frfrancoisl/DIVERS/slides-cfc.pdf · CFC, puis de trouver les autres sommets de ces CFC. Plan 1 D´efinitions 2 La d´efinition des coefficients](https://reader034.fdocuments.in/reader034/viewer/2022051601/5ac1c9d87f8b9aca388d7407/html5/thumbnails/37.jpg)
le test “d[y ] < d[x ] ∧ y ∈ P” caracterise bien les arcs (x , y) detype “retour” ou “transverse” t.q. y a des ancetres communs avecx dans GΠ et x ↔∗
G y .
![Page 38: Composantes fortement connexes - irif.frfrancoisl/DIVERS/slides-cfc.pdf · CFC, puis de trouver les autres sommets de ces CFC. Plan 1 D´efinitions 2 La d´efinition des coefficients](https://reader034.fdocuments.in/reader034/viewer/2022051601/5ac1c9d87f8b9aca388d7407/html5/thumbnails/38.jpg)
le test “d[y ] < d[x ] ∧ y ∈ P” caracterise bien les arcs (x , y) detype “retour” ou “transverse” t.q. y a des ancetres communs avecx dans GΠ et x ↔∗
G y .
• (x , y) : 6∈ GΠ (y n’est pas blanc) et pas arc avant(d[y ] < d[x ]) ;
![Page 39: Composantes fortement connexes - irif.frfrancoisl/DIVERS/slides-cfc.pdf · CFC, puis de trouver les autres sommets de ces CFC. Plan 1 D´efinitions 2 La d´efinition des coefficients](https://reader034.fdocuments.in/reader034/viewer/2022051601/5ac1c9d87f8b9aca388d7407/html5/thumbnails/39.jpg)
le test “d[y ] < d[x ] ∧ y ∈ P” caracterise bien les arcs (x , y) detype “retour” ou “transverse” t.q. y a des ancetres communs avecx dans GΠ et x ↔∗
G y .
• (x , y) : 6∈ GΠ (y n’est pas blanc) et pas arc avant(d[y ] < d[x ]) ;
• x , y ∈ P ⇒ ils ont des ancetres communs dans GΠ ;
![Page 40: Composantes fortement connexes - irif.frfrancoisl/DIVERS/slides-cfc.pdf · CFC, puis de trouver les autres sommets de ces CFC. Plan 1 D´efinitions 2 La d´efinition des coefficients](https://reader034.fdocuments.in/reader034/viewer/2022051601/5ac1c9d87f8b9aca388d7407/html5/thumbnails/40.jpg)
le test “d[y ] < d[x ] ∧ y ∈ P” caracterise bien les arcs (x , y) detype “retour” ou “transverse” t.q. y a des ancetres communs avecx dans GΠ et x ↔∗
G y .
• (x , y) : 6∈ GΠ (y n’est pas blanc) et pas arc avant(d[y ] < d[x ]) ;
• x , y ∈ P ⇒ ils ont des ancetres communs dans GΠ ;
• x ↔∗G y :
![Page 41: Composantes fortement connexes - irif.frfrancoisl/DIVERS/slides-cfc.pdf · CFC, puis de trouver les autres sommets de ces CFC. Plan 1 D´efinitions 2 La d´efinition des coefficients](https://reader034.fdocuments.in/reader034/viewer/2022051601/5ac1c9d87f8b9aca388d7407/html5/thumbnails/41.jpg)
le test “d[y ] < d[x ] ∧ y ∈ P” caracterise bien les arcs (x , y) detype “retour” ou “transverse” t.q. y a des ancetres communs avecx dans GΠ et x ↔∗
G y .
• (x , y) : 6∈ GΠ (y n’est pas blanc) et pas arc avant(d[y ] < d[x ]) ;
• x , y ∈ P ⇒ ils ont des ancetres communs dans GΠ ;
• x ↔∗G y :
• direct si (x , y) est un arc retour. . .
![Page 42: Composantes fortement connexes - irif.frfrancoisl/DIVERS/slides-cfc.pdf · CFC, puis de trouver les autres sommets de ces CFC. Plan 1 D´efinitions 2 La d´efinition des coefficients](https://reader034.fdocuments.in/reader034/viewer/2022051601/5ac1c9d87f8b9aca388d7407/html5/thumbnails/42.jpg)
le test “d[y ] < d[x ] ∧ y ∈ P” caracterise bien les arcs (x , y) detype “retour” ou “transverse” t.q. y a des ancetres communs avecx dans GΠ et x ↔∗
G y .
• (x , y) : 6∈ GΠ (y n’est pas blanc) et pas arc avant(d[y ] < d[x ]) ;
• x , y ∈ P ⇒ ils ont des ancetres communs dans GΠ ;
• x ↔∗G y :
• direct si (x , y) est un arc retour. . .• si (x , y) est un arc transverse, soient ux et uy les racines (en
gris car dans P) de leurs CFC. . .
![Page 43: Composantes fortement connexes - irif.frfrancoisl/DIVERS/slides-cfc.pdf · CFC, puis de trouver les autres sommets de ces CFC. Plan 1 D´efinitions 2 La d´efinition des coefficients](https://reader034.fdocuments.in/reader034/viewer/2022051601/5ac1c9d87f8b9aca388d7407/html5/thumbnails/43.jpg)
Correction de l’algorithme de Tarjan
Theoreme
L’algorithme de Tarjan, verifie les proprietes suivantes :
1 a la date f[x ], on a : rA[x ] = r[x ],
2 a la fin du traitement CFC(uC), tous les sommets y de C sontretires de la pile P et verifient : NumCFC[y ] = NumCFC[uC],
3 a la fin de Tarjan-CFC(G ), chaque CFC a recu un numerodifferent : pour deux CFC distinctes C et C′, on aNumCFC[uC] 6= NumCFC[uC′].