La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

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.

Présentations similaires


Présentation au sujet: "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."— Transcription de la présentation:

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


Télécharger ppt "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."

Présentations similaires


Annonces Google