Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parGy Barriere Modifié depuis plus de 9 années
1
1 Licence d’informatique Algorithmique des graphes 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. Cours numéro 4 : Fermeture transitive. Algorithmes des puissances et de ROY-WARSHALL
2
2 Existence de chemins (Fermeture transitive) Le problème posé : Donnée : un graphe G = (X, ) Résultat : le graphe de la relation « il existe un chemin de x à y »
3
3 Pourquoi « Fermeture transitive »? a b c dGraphe non-transitif
4
4 Pourquoi « Fermeture transitive »? a b c d Graphe non-transitif Fermeture du chemin [a, b, c] a b c d
5
5 Pourquoi « Fermeture transitive »? a b c d Graphe non-transitif Fermeture du chemin [a, b, c] Fermeture du chemin [b, c, d] a b c d
6
6 Pourquoi « Fermeture transitive »? a b c d Graphe non-transitif G Fermeture du chemin [a, b, c] Fermeture du chemin [b, c, d] Fermeture du chemin [a, b, c, d] Graphe transitif G + a b c d
7
7 Pourquoi « Fermeture transitive »? a b c d G + est le « plus petit » graphe transitif contenant G : a b c d
8
8 Existence de chemins (Fermeture transitive) Donnée : un graphe G = (X, ) Résultat : Propriété : Le problème posé :
9
9 Calcul de la fermeture transitive: puissances Propriété :
10
10 Propriété : (p est égal à la plus grande longueur des chemins élémentaires de G) On a alors
11
11 Algorithme Évaluation efficace de connaissant et G Car la composition est distributive sur l’union
12
12 Algorithme INVARIANT ARRET INIT PROGRESSION
13
13 Texte de l ’algorithme GRAPHE Fermeture_transitive_puissance(GRAPHE G) local GRAPHE H debut depuis Result <- G ; H.créer jusqua egal(Result, H) faire H <- Result ; Result <- G (G o H) fait fin Complexité : Occupation mémoire: 3 graphes.
14
14 Calcul de la fermeture transitive: ROY-WARSHALL Remarque : opération de fermeture locale x prédécesseurssuccesseurs z y x : relie chaque prédécesseur de x à chaque successeur de x x : ferme les chemins de longueur 2 passant par x
15
15 Calcul de la fermeture transitive: ROY-WARSHALL Remarque : opération de fermeture locale x prédécesseurssuccesseurs z y Formellement :
16
16 Calcul de la fermeture transitive: ROY-WARSHALL Formellement : La propriété de ROY-WARSHALL stipule que la composition des opérations x la composition des opérations x appliquée à a pour résultat la fermeture transitive
17
17 Exemple : Notation : (x, y) V i il existe un chemin élémentaire de x à y, de longueur 1 ou passant par les sommets intermédiaires de numéro i 1 92 3 4 8 6 5 7
18
18 Notation : (x, y) V i il existe un chemin élémentaire de x à y, de longueur 1 ou passant par les sommets intermédiaires de numéro i Propriété : Démonstration : récurrence sur i Cas de base : i=1.
19
19 Réduction élémentaire sommets i sommets i+1 i+1 y z { Induction : vrai pour i implique vrai pour i+1.
20
20
21
21 Réciproquement : y z sommets i+1 y z sommets i y z i+1 ou
22
22 Réciproquement : y z sommets i+1
23
23 Réciproquement : y z sommets i+1
24
24
25
25 Propriété : Corollaire : Notation : (x, y) V i il existe un chemin élémentaire de x à y, de longueur 1 ou passant par les sommets intermédiaires de numéro i
26
26 Texte de l ’algorithme GRAPHE Roy_Warshall(GRAPHE G) debut Result <- G ; pour tout x de G.lst_som -- opération theta(x) pour tout y de G.lst_som si Result.valid_arc(y,x)-- y prédécesseur de x alors pour tout z de G.lst_som si Result.valid_arc(x,z)-- z successeur de x alors Result.ajout_arc(y,z) fsi fpour -- z fsi fpour -- y fpour -- x fin
27
27 Roy_Warshall(G: GRAPHE) : GRAPHE c ’est debut Result <- G ; pour tout x de G.lst_som -- opération theta(x) pour tout y de G.lst_som si Result.valid_arc(y,x)-- y prédécesseur de x alors pour tout z de G.lst_som si Result.valid_arc(x,z)-- z successeur de x alors Result.ajout_arc(y,z) fsi fpour -- z fsi fpour -- y fpour -- x fin Complexité : Occupation mémoire: 1 graphe.
28
28 1 92 3 4 8 6 5 7 1 2 3 4 5 6 7 8 9 1 2 3 4 6 5 7 8 9 X X X XX X X X X X XX
29
29 1 92 3 4 8 6 5 7 1 2 3 4 5 6 7 8 9 1 2 3 4 6 5 7 8 9 X X X XX X X X X X XX FERMETURE TRANSITIVE 1 333444 5 5 1 6 66 6 66 6 7 7 7 7 7 88 8 888888 8 888
30
30 1 92 3 4 8 6 5 7 1 2 3 4 5 6 7 8 9 1 2 3 4 6 5 7 8 9 X X X XX X X X X X XX Opération 1
31
31 1 92 3 4 8 6 5 7 1 2 3 4 5 6 7 8 9 1 2 3 4 6 5 7 8 9 X X X XX X X X X X XX Opération 1
32
32 1 92 3 4 8 6 5 7 1 2 3 4 5 6 7 8 9 1 2 3 4 6 5 7 8 9 X X X XX X X X X X XX Opération 1
33
33 1 92 3 4 8 6 5 7 1 2 3 4 5 6 7 8 9 1 2 3 4 6 5 7 8 9 X X X XX X X X X X XX X Opération 1
34
34 1 92 3 4 8 6 5 7 1 2 3 4 5 6 7 8 9 1 2 3 4 6 5 7 8 9 X X X XX X X X X X XX X X Opération 1
35
35 1 92 3 4 8 6 5 7 1 2 3 4 5 6 7 8 9 1 2 3 4 6 5 7 8 9 X X X XX X X X X X XX 1 1 Opération 2
36
36 1 92 3 4 8 6 5 7 1 2 3 4 5 6 7 8 9 1 2 3 4 6 5 7 8 9 X X X XX X X X X X XX 1 1 XXX Opération 3
37
37 1 92 3 4 8 6 5 7 1 2 3 4 5 6 7 8 9 1 2 3 4 6 5 7 8 9 X X X XX X X X X X XX 1 1 333XXX Opération 4
38
38 1 92 3 4 8 6 5 7 1 2 3 4 5 6 7 8 9 1 2 3 4 6 5 7 8 9 X X X XX X X X X X XX1 333444 X 1 Opération 5
39
39 1 92 3 4 8 6 5 7 1 2 3 4 5 6 7 8 9 1 2 3 4 6 5 7 8 9 X X X XX X X X X X XX1 333444 5 X 1 Opération 5
40
40 1 92 3 4 8 6 5 7 1 2 3 4 5 6 7 8 9 1 2 3 4 6 5 7 8 9 X X X XX X X X X X XX1 333444 5 5 1 6 66 6 Opération 6
41
41 1 92 3 4 8 6 5 7 1 2 3 4 5 6 7 8 9 1 2 3 4 6 5 7 8 9 X X X XX X X X X X XX1 333444 5 5 1 6 66 6 Opération 6
42
42 1 92 3 4 8 6 5 7 1 2 3 4 5 6 7 8 9 1 2 3 4 6 5 7 8 9 X X X XX X X X X X XX1 333444 5 5 1 6 66 6 Opération 6
43
43 1 92 3 4 8 6 5 7 1 2 3 4 5 6 7 8 9 1 2 3 4 6 5 7 8 9 X X X XX X X X X X XX1 333444 5 5 1 6 66 6 66 6 Opération 6
44
44 1 92 3 4 8 6 5 7 1 2 3 4 5 6 7 8 9 1 2 3 4 6 5 7 8 9 X X X XX X X X X X XX1 333444 5 5 1 6 66 6 66 6 7 Opération 7
45
45 1 92 3 4 8 6 5 7 1 2 3 4 5 6 7 8 9 1 2 3 4 6 5 7 8 9 X X X XX X X X X X XX1 333444 5 5 1 6 66 6 66 6 7 Opération 7
46
46 1 92 3 4 8 6 5 7 1 2 3 4 5 6 7 8 9 1 2 3 4 6 5 7 8 9 X X X XX X X X X X XX1 333444 5 5 1 6 66 6 66 6 7 7 Opération 7
47
47 1 92 3 4 8 6 5 7 1 2 3 4 5 6 7 8 9 1 2 3 4 6 5 7 8 9 X X X XX X X X X X XX1 333444 5 5 1 6 66 6 66 6 7 7 7 Opération 7
48
48 1 92 3 4 8 6 5 7 1 2 3 4 5 6 7 8 9 1 2 3 4 6 5 7 8 9 X X X XX X X X X X XX1 333444 5 5 1 6 66 6 66 6 7 7 7 7 Opération 7
49
49 1 92 3 4 8 6 5 7 1 2 3 4 5 6 7 8 9 1 2 3 4 6 5 7 8 9 X X X XX X X X X X XX1 333444 5 5 1 6 66 6 66 6 7 7 7 7 Opération 7
50
50 1 92 3 4 8 6 5 7 1 2 3 4 5 6 7 8 9 1 2 3 4 6 5 7 8 9 X X X XX X X X X X XX1 333444 5 5 1 6 66 6 66 6 7 7 7 7 Opération 7
51
51 1 92 3 4 8 6 5 7 1 2 3 4 5 6 7 8 9 1 2 3 4 6 5 7 8 9 X X X XX X X X X X XX1 333444 5 5 1 6 66 6 66 6 7 7 7 7 7 Opération 7
52
52 1 92 3 4 8 6 5 7 1 2 3 4 5 6 7 8 9 1 2 3 4 6 5 7 8 9 X X X XX X X X X X XX1 333444 5 5 1 6 66 6 66 6 7 7 7 7 7 88 8 888888 8 888 Opération 8
53
53 1 92 3 4 8 6 5 7 1 2 3 4 5 6 7 8 9 1 2 3 4 6 5 7 8 9 X X X XX X X X X X XX FERMETURE TRANSITIVE 1 333444 5 5 1 6 66 6 66 6 7 7 7 7 7 88 8 888888 8 888
54
54 Exemple de tracé de chemin CHEMIN DE 1 à 2 1 92 3 4 8 6 5 7 1 2 3 4 5 6 7 8 9 1 2 3 6 5 7 8 9 X X XX X X X X XX1 1 3 44 4 5 5 6 66 6 6 6 6 6 7 7 7 7 7 X333 88 888 8 8 8 8 8 8 8 8 4 1 ==> 8 ==> 2 X
55
55 Exemple de tracé de chemin CHEMIN DE 1 à 2 1 92 3 4 8 6 5 7 1 2 3 4 5 6 7 8 9 1 2 3 6 5 7 8 9 X X XX X X X X XX1 1 3 44 4 5 5 6 66 6 6 6 6 6 7 7 7 7 7 X33 3 88 888 8 8 8 8 8 8 8 8 4 1 ==> 8 ==> 2 1 ==> 7 ==> 8 ==> 3 ==> 2 X
56
56 Exemple de tracé de chemin CHEMIN DE 1 à 2 1 92 3 4 8 6 5 7 1 2 3 4 5 6 7 8 9 1 2 3 6 5 7 8 9 X X XX X X X X XX1 1 3 44 4 5 5 6 66 6 6 6 6 6 7 7 7 7 7 X333 88 888 8 8 8 8 8 8 8 8 4 1 ==> 8 ==> 2 1 ==> 7 ==> 8 ==> 3 ==> 2 1 ---> 6 ==> 7 --> 8 --> 3 --> 2 X
57
57 Exemple de tracé de chemin CHEMIN DE 1 à 2 1 92 3 4 8 6 5 7 1 2 3 4 5 6 7 8 9 1 2 3 6 5 7 8 9 X X XX X X X X XX1 1 3 44 4 5 5 6 66 6 6 6 6 6 7 7 7 7 7 X333 88 888 8 8 8 8 8 8 8 8 4 1 ==> 8 ==> 2 1 ==> 7 ==> 8 ==> 3 ==> 2 1 ---> 6 ==> 7 --> 8 --> 3 --> 2 X 1 ---> 6 ==> 5 ==>7 --> 8 --> 3 --> 2
58
58 Exemple de tracé de chemin CHEMIN DE 1 à 2 1 92 3 4 8 6 5 7 1 2 3 4 5 6 7 8 9 1 2 3 6 5 7 8 9 X X XX X X X X XX1 1 3 44 4 5 5 6 66 6 6 6 6 6 7 7 7 7 7 X333 88 888 8 8 8 8 8 8 8 8 4 1 ==> 8 ==> 2 1 ==> 7 ==> 8 ==> 3 ==> 2 1 ---> 6 ==> 7 --> 8 --> 3 --> 2 X 1 ---> 6 ==> 5 ==>7 --> 8 --> 3 --> 2 1 ---> 6 ==> 4 ==> 5 -->7 --> 8 --> 3 --> 2
59
59 Exemple de tracé de chemin CHEMIN DE 1 à 2 1 92 3 4 8 6 5 7 1 2 3 4 5 6 7 8 9 1 2 3 6 5 7 8 9 X X XX X X X X XX1 1 3 44 4 5 5 6 66 6 6 6 6 6 7 7 7 7 7 X333 88 888 8 8 8 8 8 8 8 8 4 1 ==> 8 ==> 2 1 ==> 7 ==> 8 ==> 3 ==> 2 1 ---> 6 ==> 7 --> 8 --> 3 --> 2 X 1 ---> 6 ==> 5 ==>7 --> 8 --> 3 --> 2 1 ---> 6 ==> 4 ==> 5 -->7 --> 8 --> 3 --> 2 1 ---> 6 --> 4 --> 5 -->7 --> 8 --> 3 --> 2
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.