440 likes | 593 Views
Licence d’informatique Algorithmique des graphes. Exploration de la descendance d’un sommet : numérotation conforme, énumération de chemins élémentaires, composantes fortement connexes.
E N D
Licence d’informatiqueAlgorithmique des graphes Exploration de la descendance d’un sommet : numérotation conforme, énumération de chemins élémentaires, composantes fortement connexes. Utilisation de ce document strictement réservée aux étudiants de l ’IFSIC dans le cadre de leur formation. Reproduction ou diffusion en dehors de l ’IFSIC strictement interdite sauf autorisation expresse de l’ auteur.
Propriétés d’une exploration en profondeur Toute configuration de la pile est un chemin Démonstration : par induction sur les configurations de la pile. Corollaire : Soit z un sommet dans la pile. Alors : tout sommet empilé au-dessus de z est un descendant de z
Applications de l’exploration en profondeur • Recherche de numérotation conforme (ou de circuit) • énumération de tous les chemins élémentaires * formulation récursive
Applications de l’exploration en profondeur • Recherche de numérotation conforme (ou de circuit) Ungraphe possède une numérotation conforme si et seulement si il est sans circuit.
Preuve : Si z a été empilé avant y : Or, tous les sommets empilés au-dessus d’un sommet z sont des descendants de z. Donc, y ne sera empilé qu’après que z soit sorti de la pile. Recherche de numérotation conforme (ou de circuit) Propriété de l’exploration en profondeur (issue de x) : Si G est sans circuit, alors 2) Si z est empilé aprèsy alors il sera dépilé avanty (propriétés de la pile) C’est-à-dire : z est dépilé avanty
e d o i f b h a g n c k m l j Recherche de numérotation conforme
PILE e d o i f b h a g n c k m j l a a f a f e a f e o a f e o i a f e o i j a f e o i j m
PILE e d o i f b h a g n c k m j l a a f a f e a f e o a f e o i a f e o i j a f e o i j m a f e o i j 15
PILE e d o i f b h a g n c k m j l a a f a f e a f e o a f e o i a f e o i j a f e o i j m a f e o i j a f e o i 14 15
PILE e d o i f b h a g n c k m j l a a f a f e a f e o a f e o i a f e o i j 13 a f e o i j m a f e o i j a f e o i a f e o 14 15
PILE e d o i f b h a g n c k m j l a a f 12 a f e a f e o a f e o i a f e o i j 13 a f e o i j m a f e o i j a f e o i a f e o 14 a f e 15
PILE e d o i f b h a g n c k m j l a a f 12 a f e a f e o a f e o i a f e o i j 13 a f e o i j m a f e o i j a f e o i a f e o 14 a f e a f e d 15
PILE e d o i f b h a g n c k m j l 11 a a f 12 a f e a f e o a f e o i 13 a f e o i j a f e o i j m a f e o i j a f e o i a f e o 14 a f e a f e d a f e 15
PILE e d o i f b h a g n c k m j l 11 10 a a f 12 a f e a f e o a f e o i 13 a f e o i j a f e o i j m a f e o i j a f e o i 14 a f e o a f e a f e d 15 a f e a f
PILE e d o i f b h a g n c k m j l 11 10 a a f 12 9 a f e a f e o a f e o i 13 a f e o i j a f e o i j m a f e o i j a f e o i 14 a f e o a f e a f e d 15 a f e a f a
PILE e d o i f b h a g n c k m j l 11 10 a a f 12 9 a f e a f e o a f e o i 13 a f e o i j a f e o i j m a f e o i j a f e o i 14 a f e o a f e 15 a f e d a f e a f a a l a l b a l b c
PILE e d o i f b h a g n c k m j l 11 10 a a f 12 9 a f e a f e o a f e o i 13 a f e o i j a f e o i j m a f e o i j a f e o i 14 a f e o a f e 8 a f e d 15 a f e a f a a l a l b a l b c a l b
PILE e d o i f b h a g n c k m j l 11 10 a a f 12 9 a f e 7 a f e o a f e o i 13 a f e o i j a f e o i j m a f e o i j a f e o i 14 a f e o a f e 8 a f e d 15 a f e a f a a l a l b a l b c a l b a l
PILE e d o i f b h a g n c k m j l 11 10 a a f 12 9 a f e 7 a f e o a f e o i 13 a f e o i j a f e o i j m a f e o i j a f e o i 14 a f e o a f e 8 a f e d 15 6 a f e a f a a l a l b a l b c a l b a l a
PILE e d o i f b h a g n c k m j l 11 a 10 a f a f e 12 9 a f e o 7 a f e o i 5 a f e o i j 13 a f e o i j m a f e o i j a f e o i 14 a f e o a f e 8 a f e d 15 6 a f e a f a a l a l b a l b c a l b a l a
PILE e d o i f b h a g n c k m j l 11 a 10 a f a f e 12 9 a f e o 7 a f e o i 5 a f e o i j 13 a f e o i j m a f e o i j a f e o i 14 a f e o a f e 8 a f e d 15 6 a f e a f a g g n a l a l b a l b c a l b a l a
PILE e d o i f b h a g n c k m j l 11 a 10 a f a f e 12 9 a f e o 7 a f e o i 5 a f e o i j 13 3 a f e o i j m a f e o i j a f e o i 4 14 a f e o a f e 8 a f e d 15 6 a f e a f a g a l g n a l b g a l b c a l b a l a
PILE e d o i f b h a g n c k m j l 11 a 10 a f a f e 12 9 a f e o 7 a f e o i 5 a f e o i j 13 3 2 a f e o i j m a f e o i j a f e o i 4 14 a f e o a f e 8 a f e d 15 6 a f e a f a g h a l g n a l b g a l b c a l b a l a
PILE e d o i f b h a g n c k m j l 11 a 10 a f a f e 12 9 a f e o 7 a f e o i 5 a f e o i j 13 3 2 a f e o i j m a f e o i j a f e o i 4 14 a f e o a f e 8 a f e d 1 15 6 a f e a f a g h k a l g n a l b g a l b c a l b a l a
10 11 12 e 9 7 d 13 o 4 5 1 i 2 f b h 14 a 8 3 g 6 15 n c k m l j
10 11 12 e 9 7 d 13 o 4 5 1 i 2 f b h 14 a 8 3 g 6 15 n c k m l j
Stratégies gloutonnes et non gloutonnes Calcul de la descendance d’un sommet donné : pas de remise en cause d’un sommet terminé.Un tel sommet ne peut plus apporter d’informations nouvelles énumération des chemins issus d’un sommet x : remise en cause possible d’un sommet y terminé. Un tel sommet peut appartenir à plusieurs chemins. Si on le re-visite à partir d’un autre prédécesseur, un nouvel ensemble de chemins (vers ses descendants) est trouvé.
u x y u’ Stratégies gloutonnes et non gloutonnes Descendance de y explorée : y terminé. On re-visite y en suivant un autre chemin u’ Il faut ré-empiler ycar u’ engendre de nouveaux chemins avec la descendance de y énumération des chemins issus d’un sommet x : remise en cause possible d’un sommet y terminé. Un tel sommet peut appartenir à plusieurs chemins. Si on le re-visite à partir d’un autre prédécesseur, un nouvel ensemble de chemins (vers ses descendants) est trouvé.
calcul de la descendance d’un sommet donné : pas de remise en cause d’un sommet terminé. STRATEGIE GLOUTONNE : on « avance » toujours énumération des chemins issus d’un sommet x : remise en cause possible d’un sommet y terminé. STRATEGIE NON GLOUTONNE : on « recule » parfois Stratégies gloutonnes et non gloutonnes
1 4 2 6 3 5 5 3 6 2 4 Idem: on réempile 2 1 5 2 ENUMERATION DE TOUS LES CHEMINS ELEMENTAIRES issus du sommet 1 PILE 1 1 4 Les sommets 2, 3, 4, 5, 6 sont terminés 1 4 3 1 4 3 1 1 4 3 1 4 3 6 1 4 3 6 2 1 4 3 6 1 4 3 6 5 1 4 3 6 5 2 1 4 3 6 5 1 4 3 6 1 5 3 6 2 1 4 3 1 5 3 6 1 5 2 4 1 4 1 5 3 1 5 2 On poursuit l’exploration. 1 1 5 1 5 2 6 Bien que 5 soit terminé, ON LE RÉEMPILE! 1 5 1 5 2 1 5 2 4 1 5 3 1 5 1 5 3 1 1 5 2 4 3 1 1 5 2 4 3 1 1 5 3 1 5 2 4 3 1 5 3 6 1 5 2 4 3 6 1 5 3 6 2 1 5 2 4 3 1 5 3 6 2 4
Composantes fortement connexes But : structurer un graphe par rapport à ses possibilités de cheminement Plus précisément : regrouper des sommets communiquant mutuellement ; déterminer les relations de communication entre ces groupes de sommets.
Composantes fortement connexes But : structurer un graphe par rapport à ses possibilités de cheminement q q f f j n j n b b r r k a k a g g u u o o c c s s l l v v h h d d p p i i t t e e m m
Sommet seul dans sa composante : n’appartient à aucun circuit Composantes fortement connexes Deux sommets sont dans une même composante ssiils sont sur un même circuit q q f f j n j n b b r r k a k a g g u u o o c c s s l l v v h h d d p p i i t t e e m m
Composantes fortement connexes Réduction du graphe selon ses cfc : q q f f j n j n b b r r k a k a g g u u o o c c s s l l v v h h d d p p i i t t e e m m
Composantes fortement connexes Réduction du graphe selon ses cfc : Cn q q f f j n j n b b r r Ck k a k a g g u u Cf o o Ca c c s s l l v v h h Ci d d p p i i Ce t t e e m m
Composantes fortement connexes Réduction du graphe selon ses cfc : On obtient un graphe sans circuit Cn Ck Cf Ca Ci Ce
Composantes fortement connexes Réduction du graphe selon ses cfc : On obtient un graphe sans circuit que l’on met en niveau Cf Cn Ck Ca Ce Ci
Cf Cn Ck Ca Ce Ci o o q q l l f n j n p p r i i m m k k u v t e e Composantes fortement connexes b b a a g g c c h h d d s
Composantes fortement connexes Propriété : La relation binaire sur X définie par : est une relation d’équivalence. Ses classes d’équivalence sont les composantes fortement connexes
En effet, s’il avait un circuit Il y aurait un circuit traversant toutes ces composantes et donc elles seraient confondues. Composantes fortement connexes Définition : le graphe réduit selon les composantes fortement connexes est le graphe Propriété : le graphe réduit est sans circuit.
Composantes fortement connexes Le nombre de composantes fortement connexes d’un graphe à n sommets est au moins 1 et au plus n. Questions : 1) Quelle propriété vérifie un graphe ayant n c.f.c. ? 2) Quelle est la fermeture transitive d’un graphe ayant 1 c.f.c. ?
Principe des algorithmes Invariant : tout sommet est classé ou non classé Il existe kn tel que tout sommet de numéro k est classé Deux sommets classés dans la même classe appartiennent à la même c.f.c. Algorithmes de calcul des c.f.c. Ascendants descendants Observation : x et y sont dans la même c.f.c. y est ascendantetdescendant de x
Progression : soit x le premier sommet non classé ; calculer A= ensemble des ascendants de x D= ensemble des descendants de x dans le sous-graphe engendré par les sommets non classés Algorithmes de calcul des c.f.c. Invariant : tout sommet est classé ou non classé Il existe kn tel que tout sommet de numéro k est classé Deux sommets classés dans la même classe appartiennent à la même c.f.c. Arrêt : tous les sommets sont classés Init : aucun sommet n’est classé Classer dans x.cfc les sommets de A D
y z Sinon on aurait un chemin de z à x Et donc x et y seraient aussi dans la même classe Algorithmes de calcul des c.f.c. Si y est déjà classé z ne peut pas être dans la même classe que x x Progression : soit x le premier sommet non classé ; calculer A= ensemble des ascendants de x D= ensemble des descendants de x dans le sous-graphe engendré par les sommets non classés Classer dans x.cfc les sommets de A D