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

GRAPHES EN INFORMATIQUE. INTRODUCTION Les objets mathématiques appelés graphes apparaissent dans de nombreux domaines comme les mathématiques, la biologie,

Présentations similaires


Présentation au sujet: "GRAPHES EN INFORMATIQUE. INTRODUCTION Les objets mathématiques appelés graphes apparaissent dans de nombreux domaines comme les mathématiques, la biologie,"— Transcription de la présentation:

1 GRAPHES EN INFORMATIQUE

2 INTRODUCTION Les objets mathématiques appelés graphes apparaissent dans de nombreux domaines comme les mathématiques, la biologie, la sociologie, pour modéliser entre autres les relations binaires entre éléments d’un ensemble fini (on dispose d’une population et on souhaite savoir qui est en relation avec qui, par exemple). Géométriquement un graphe se présente comme un ensemble fini de points (les sommets) qui peuvent être éventuellement reliés par des segments (les arêtes )

3 EXEMPLE Les sommets sont numérotés de 1 à 8: 1 et 2 sont en relation, mais pas 1 et 4 1 2 4 5 3 8 6 7

4 EXEMPLE: GRAPHE PONDÉRÉ Il est possible d’affecter un poids aux arêtes (ex: les sommets représentent des villes et le poids de l’arrête joignant 2 sommets représente le distance entre les villes correspondantes.) 1 2 4 5 3 8 6 7 15 27 18 59 123 62 39 78 48

5 DÉFINITION ABSTRAITE D’UN GRAPHE La représentation des graphes par des schémas similaires aux précédents doit être précisée ; en effet il est clair que modifier la longueur des arêtes ou faire légérement pivoter une arête n ’a aucune incidence sur le type du graphe. Le point essentiel dans la définition est le nombre de sommets et les relations qui existent entre ces sommets. D’où la définition abstraite suivante: Définition: Définition: On appelle graphe abstrait (non orienté) la donnée d’un couple (S,A) où S est un ensemble fini et A est une partie de l’ensemble des paires de sommet {{s,t} | s et t  S} ( notons bien que contrairement à un couple une paire n’est pas ordonnée ). L’ensemble S est appelé ensemble des sommets et A ensemble des arêtes. On dira que deux sommets s et t sont reliés si la paire {s,t} est dans A. En remplaçant paire par couple ( un couple est ordonné ) on obtient la notion d’arc orienté.

6 EXEMPLE D’ARC ORIENTÉ: Graphiquement l’arête (s,t) est représentée avec une flèche orientée de s vers t: Par exemple (4,7) est dans A mais pas (7,4) Par contre (4,2) et (2,4) sont toutes deux dans A 1 2 4 5 3 8 6 7

7 VOCABULAIRE RELATIF AUX GRAPHES

8 EXEMPLE DE SOUS-GRAPHE Sous graphe (S’,A’) avec: S’={2,3,8,5} A’={{2,3},{3,8},{8,5}} 1 2 4 5 3 8 6 7

9 REPRÉSENTATION INFORMATIQUE D’UN GRAPHE…

10 REPRÉSENTATION D’UN GRAPHE

11 PROBLÈME DU PLUS COURT CHEMIN

12 EXEMPLE TEST: On va déterminer un plus court chemin de a (=0) vers g (=6) pour le graphe suivant: b c ef g h i d a 1 7 5 3 2 1 2 2 8 4 1 2 3 7 6 2 2 3

13 PRINCIPE DE L’ALGORITHME:

14 ALGORITHME

15 ETAPE 1: b c ef g h i d a 1 7 5 3 2 1 2 2 8 4 1 2 3 7 6 2 2 3 abcdefghiT 0(7,a)  (3,a)  (4,a)  a,e 

16 ETAPE 2 b c e f g h i d a 1 7 5 3 2 1 2 2 8 4 1 2 3 7 6 2 2 3 abcdefghiT 0 (5,e)  (3,a) (11,e)  (4,a)(6,e)  a,e,h 

17 ETAPE 3 b c ef g h i d a 1 7 5 3 2 1 2 2 8 4 1 2 3 7 6 2 2 3 abcdefghiT 0 (5,e)  (3,a) (11,e)  (4,a)(6,e)  a,e,h, b 

18 ETAPE 4: b c ef g h i d a 1 7 5 3 2 1 2 2 8 4 1 2 3 7 6 2 2 3 abcdefghiT 0 (5,e)(6,b) (3,a) (11,e)  (4,a)(6,e)  a,e,h, b,c 

19 ETAPE 5: b c ef g h i d a 1 7 5 3 2 1 2 2 8 4 1 2 3 7 6 2 2 3 abcdefghiT 0 (5,e)(6,b) (3,a) (8,c)(11,e)(4,a)(6,e)  a,e,h, b,c,d 

20 ETAPE 6: b c ef g h i d a 1 7 5 3 2 1 2 2 8 4 1 2 3 7 6 2 2 3 abcdefghiT 0 (5,e)(6,b) (3,a) (8,c)(11,e)(4,a)(6,e)  a,e,h, b,c,d,i 

21 ETAPE 7: b c ef g h i d a 1 7 5 3 2 1 2 2 8 4 1 2 3 7 6 2 2 3 abcdefghiT 0 (5,e)(6,b) (3,a) (8,c)(11,e)(4,a)(6,e)  a,e,h,b, c,d,i,f 

22 ETAPE 8: b c ef g h i d a 1 7 5 3 2 1 2 2 8 4 1 2 3 7 6 2 2 3 abcdefghiT 0 (5,e)(6,b) (3,a) (8,c)(8,e)(4,a)(6,e)  a,e,h,b, c,d,i,f,g 

23 PREUVE DE L’ALGORITHME

24 IMPLÉMENTATION  On codera les graphes par leur matrice de poids  On créera une liste père indexée par les sommets et initialisée avec tous les éléments égaux au sommet de départ (a sur notre exemple). On initialisera par n’importe quoi qui n’est pas un sommet.  On créera une liste pi indexée par les sommets qui contiendra les valeurs des pi(s) (on l’initialisera avec des valeurs « infinies »)  On utilisera la fonctions successeurMat(M,i) du TD  On utilisera la classe set de python pour l’ensemble T( rappel : on peut créer un ensemble S en partant de la liste l de ses éléments puis en posant S=set(l) )


Télécharger ppt "GRAPHES EN INFORMATIQUE. INTRODUCTION Les objets mathématiques appelés graphes apparaissent dans de nombreux domaines comme les mathématiques, la biologie,"

Présentations similaires


Annonces Google