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 Cours 3 deuxième partie : Opérations et relations entre graphes. Composition, puissances. Utilisation.

Présentations similaires


Présentation au sujet: "1 Licence d’informatique Algorithmique des graphes Cours 3 deuxième partie : Opérations et relations entre graphes. Composition, puissances. Utilisation."— Transcription de la présentation:

1

2 1 Licence d’informatique Algorithmique des graphes Cours 3 deuxième partie : Opérations et relations entre graphes. Composition, puissances. 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.

3 2 Opérations entre graphes G (X) = ensemble des graphes construits sur l’ensemble de sommets X 1 92 3 4 8 6 5 7 G1 1 92 3 4 8 6 5 7 G2

4 3 Relation d’ordre : graphe partiel 1 92 3 4 8 6 5 7 G1 G1  G2  1 92 3 4 8 6 5 7 G2

5 4 Elément MINIMAL : (X,  ) Elément MAXIMAL : (X, X 2 ) 1 9 2 3 4 8 6 5 7 1 9 2 3 4 8 6 5 7 Relation d’ordre : graphe partiel

6 5 G1  G2 = (X,  1   2) G1  G2Union 1 92 3 4 8 6 5 7 G1 G2 1 92 3 4 8 6 5 7 1 92 3 4 8 6 5 7 1 92 3 4 8 6 5 7

7 6  G1  G2 = ( X,  1   2 ) 1 92 3 4 8 G1  G1  G2 1 92 3 4 8 1 92 3 4 8 G2Composition

8 7  z : 1  z  n : G1.validarc(x,z) et G2.validarc(z,y) Formellement, on a donc :  (x, y)  1   2 

9 8 EVALUATION DE  z : 1  z  n : G1.validarc(x,z) et G2.validarc(z,y)  z : 1  z  n : P(z) INVARIANT 1kk+1n 1  k  n et b=  z : 1  z  k : P(z) si b alors « succès » sinon {non b et k=n } « échec » ARRET z b kk+1n1 OU k = n 1

10 9 EVALUATION DE  z : 1  z  n : G1.validarc(x,z) et G2.validarc(z,y)  z : 1  z  n : P(z) INVARIANT 1kk+1n 1  k  n et b=  z : 1  z  k : P(z) b ou  k = n si b alors « succès » sinon {non b et k=n } « échec » ARRET PROGRESSION {non b et k<n} k+1n1k k

11 10 EVALUATION DE  z : 1  z  n : G1.validarc(x,z) et G2.validarc(z,y)  z : 1  z  n : P(z) INVARIANT 1kk+1n 1  k  n et b=  z : 1  z  k : P(z) k := k+1 ; b := P(k) b ou  k = n si b alors « succès » sinon {non b et k=n } « échec » ARRET PROGRESSION {non b et k<n} k+1n1k k ?

12 11 EVALUATION DE  z : 1  z  n : G1.validarc(x,z) et G2.validarc(z,y)  z : 1  z  n : P(z) INVARIANT 1kk+1n 1  k  n et b=  z : 1  z  k : P(z) PROGRESSION {non b et k<n}k := k+1 ; b := P(k) b ou  k = n si b alors « succès » sinon {non b et k=n } « échec » ARRET k := 1 ; b := P(1) INIT 1k=0n

13 12 GRAPHE composer (GRAPHE G1, G2) pré égal (G1.lst_som, G2.lst_som) local SOMMET x, y, k ; BOOLEAN b debut Result.inivide ; pourtout x de G1.lst_som pourtout y de G2.lst_som depuis k := 1 ; b := G1.validarc(x, 1) et G2.validarc(1, y) jusqu’à b ou k = G1.nb_som faire k := k+1 ; b := G1.validarc(x, k) et G2.validarc(k, y) fait ; si b alors Result.ajoutarc(x,y) fsi fpourtout fin

14 13 pourtout x de G1.sommets ---------------------------------------------> n étapes pourtout y de G1.sommets --------------------------------> n étapes depuis k := 0 ; b := faux jusqu’à b ou k = G1.nb_sommets ---------> au pire n étapes faire k := k+1 ; b := G1.valid_arc(x, k) et G2.valid_arc(k, y) 2 accès  n 3 fait ; si b alors Result.ajout_arc(x,y) fsi 1 accès  n 2 COMPLEXITE Soit un algorithme en O(n 3 )

15 14 3F 3H 2F 3H 2F 2H 1F 3H 3F 3H 1F 1H 2F 1F 0 Gv Gr 3F 3H 2F 3H 2F 2H 1F 3H 3F 3H 1F 1H 2F 1F 0 GvGr 

16 15 3F 3H 2F 3H 2F 2H 1F 3H 3F 3H 1F 1H 2F 1F 0 3F 3H 2F 3H 2F 2H 1F 3H 3F 3H 1F 1H 2F 1F 0 Union Graphe partiel de Gv aboutissant à 0

17 16 Puissances d’un graphe   p  2 : G [p] = G [p-1]  G G [1] = G Interprétation concrète :  p  1 : (x, y)  [p]  I l existe un chemin de longueur p allant de x à y

18 17 IIl existe z, il existe un chemin de longueur p allant de x à z et un arc (z, y) (Hypothèse de récurrence) Démonstration : Par récurrence sur p Cas de base : p = 1 (x, y)  [1]  Il existe un chemin de longueur 1 allant de x à y Vrai, puisque  [1]  et les chemins de longueur 1 sont les arcs I nduction : vrai pour p  vrai pour p+1 xzy p1 p+1   Il existe z, (x, z)  [p] et (z, y)  (Définition de  )  (x, y)  [p+1]  (x, y)  [p]    Il existe un chemin de longueur p+1 allant de x à y


Télécharger ppt "1 Licence d’informatique Algorithmique des graphes Cours 3 deuxième partie : Opérations et relations entre graphes. Composition, puissances. Utilisation."

Présentations similaires


Annonces Google