Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parHéloïse Gross Modifié depuis plus de 9 années
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 IIl 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
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.