26
Modélisation par le concept de graphe

Modélisation par le concept de graphe. Graphe (orienté) G (N, A) N : Ensemble de noeuds (sommets), noté 1,... n, Cardinal (N) = n A : Ensemble de couples

Embed Size (px)

Citation preview

Page 1: Modélisation par le concept de graphe. Graphe (orienté) G (N, A) N : Ensemble de noeuds (sommets), noté 1,... n, Cardinal (N) = n A : Ensemble de couples

Modélisation parle concept de

graphe

Page 2: Modélisation par le concept de graphe. Graphe (orienté) G (N, A) N : Ensemble de noeuds (sommets), noté 1,... n, Cardinal (N) = n A : Ensemble de couples

Graphe (orienté)

G (N, A)

N : Ensemble de noeuds (sommets), noté 1, ... n, Cardinal (N) = n

A : Ensemble de couples issus de N x N - arc - (i, j) : i noeud initial, j noeud final

1 2

3

45

Page 3: Modélisation par le concept de graphe. Graphe (orienté) G (N, A) N : Ensemble de noeuds (sommets), noté 1,... n, Cardinal (N) = n A : Ensemble de couples

Définitions

p-Graphe :

Un graphe est un p-graphe ssipour tout couple (i,j) il n'existe pas plus de p arcs reliant i à j

Fonction d'incidence : : A -> N x N

Etiquettage des noeuds et des arcs -> G (N, A, ,, )

Type abstrait -> fonctions de manipulation : successeurs (+), prédécesseurs ( -), ...

Page 4: Modélisation par le concept de graphe. Graphe (orienté) G (N, A) N : Ensemble de noeuds (sommets), noté 1,... n, Cardinal (N) = n A : Ensemble de couples

Exemple

1 2

3

45

boucle (arc (2, 2))

2-graphe (2 arcs (5, 4))

+ (1) = {2, 4}

- (2) = {1, 2, 4}

Page 5: Modélisation par le concept de graphe. Graphe (orienté) G (N, A) N : Ensemble de noeuds (sommets), noté 1,... n, Cardinal (N) = n A : Ensemble de couples

Définitions (2)

Demi-degré d'un noeud i : Extérieur + Intérieur

Extérieur : nombre d'arcs ayant i comme extrémité intiale (cardinal de +(i))

Intérieur : ayant i comme extrémité finale

Cocycle d'un ensemble A' d'arcs inclus dans A : + (A') + - (A')

+ : Ensemble des arcs ayant leur extrémité initiale dans A' et finale dans A \ A'

- : Ensemble des arcs ayant leur extrémité finale dans A \ A' et initiale dans A'

Page 6: Modélisation par le concept de graphe. Graphe (orienté) G (N, A) N : Ensemble de noeuds (sommets), noté 1,... n, Cardinal (N) = n A : Ensemble de couples

Chaîne / Cycle (-> non orienté)

Chaine : Sequence d'arètes telle que chaque arête de la séquence(sauf la 1ere et dernieer) ait une extrémité commune avec

l'arête précédente et l'autre extrémité commune avec l'arête suivante

Elémentaire : on ne passe pas deux fois par le même sommet

Cycle : chaine dont les extrémités coïncident

Cycle élémentaire : chaine élémentaire + minimal (pas d'autre cycle)

Page 7: Modélisation par le concept de graphe. Graphe (orienté) G (N, A) N : Ensemble de noeuds (sommets), noté 1,... n, Cardinal (N) = n A : Ensemble de couples

Chemin

(dans un contexte orienté)Chaine dont tous les arcs sont orientés dans le même sens

simple : ne comporte pas deux fois le même arc

élémentaire : ne rencontre pas deux fois le même sommet

élémentaire => simple mais pas l'inverse

Réseau de transport : opérateur de base (sous contrainte)

circuit : chemin dont les extrémités coïncident

circuit élémentaire : sommets ont un degré égal à 2

Page 8: Modélisation par le concept de graphe. Graphe (orienté) G (N, A) N : Ensemble de noeuds (sommets), noté 1,... n, Cardinal (N) = n A : Ensemble de couples

Exemple

1 2

3

45

1 2

3

45

a1

a2a3

a4a5

a6

Chaîne : (a1, a5, a6, a3, a2)(-> non élémentaire)

Cycle : (a1, a5, a6, a4)

(-> élémentaire)

Chemin : (a1, a5, a7, a3) a1

a2

a3a4

a6

a5

a7

(-> non élémentaire)

Circuit : (a5, a7, a3)

Page 9: Modélisation par le concept de graphe. Graphe (orienté) G (N, A) N : Ensemble de noeuds (sommets), noté 1,... n, Cardinal (N) = n A : Ensemble de couples

Connexité

Il existe une chaine joignanttout sommet i à tout sommet j

-> Composante connexe

-> nombre de connexité = 1 <=> graphe connexe

Application transport :

-> notion d'arbre (réseau hydrolique)-> forte connexité (réseau de transport urbain, téléphone, ...)

Fortement connexe (orienté) : il existe un chemin de i à j et de j à i

Page 10: Modélisation par le concept de graphe. Graphe (orienté) G (N, A) N : Ensemble de noeuds (sommets), noté 1,... n, Cardinal (N) = n A : Ensemble de couples

Graphe planaire

Admet une représentation sur un plan

Sommet : Point Aretes : courbes

-> Deux courbes ne se rencontrent pas en dehors de leurs extrémités

1

2 3

4 5

1

2

3

45

-> Gestion des représentations schématiques

Page 11: Modélisation par le concept de graphe. Graphe (orienté) G (N, A) N : Ensemble de noeuds (sommets), noté 1,... n, Cardinal (N) = n A : Ensemble de couples

FERMETURE TRANSITIVE

CONSTRUIRE UN NOUVEAU GRAPHE G* A PARTIR DE G :

(i, j) <=> Il existe un chemin de i à j dans G

1 2

3

45

1 2

3

45

G

G*

Page 12: Modélisation par le concept de graphe. Graphe (orienté) G (N, A) N : Ensemble de noeuds (sommets), noté 1,... n, Cardinal (N) = n A : Ensemble de couples

Représentations informatique

Matrices :

Matrice adjacence : 1-graphe, (booléenne ou valuée)

Matrice d'incidence sommets-arcs (-1 -ext-, 0, 1 -orig-) ligne sommet, colonne : arc

Listes : (matrices creuses)

Listes des sommets successeurs / prédécesseurs

Listes des arcs (cocycles)

Page 13: Modélisation par le concept de graphe. Graphe (orienté) G (N, A) N : Ensemble de noeuds (sommets), noté 1,... n, Cardinal (N) = n A : Ensemble de couples

Représentations informatique (2)

Matrice : -> Que des problèmes

- Espace mémoire important- Temps passé à faire des tests (complexité des algorithmes)- Pas de flexibilité- Pas de multi-graphe

Listes

-> Type abstrait avec primitives de manipulations

- Flexibilité (insertion / suppression)- Emplacement mémoire raisonnable

Page 14: Modélisation par le concept de graphe. Graphe (orienté) G (N, A) N : Ensemble de noeuds (sommets), noté 1,... n, Cardinal (N) = n A : Ensemble de couples

Exemples

Matrice d'adjacence non valuée / non orientée // valuée / orientée

Matrice d'incidence sommets / arcs

Liste des successeurs / prédécesseurs / voisins / sommets / arcs / arêtes

Liste des cocycles orientés / non orientés

=> Problème passage d'une représentation à une autre

Page 15: Modélisation par le concept de graphe. Graphe (orienté) G (N, A) N : Ensemble de noeuds (sommets), noté 1,... n, Cardinal (N) = n A : Ensemble de couples

Exemple (2)

1 2

3

45

1 2

3

45

5

2 7

2

32

1 2

3

45

1

2 3

4

65

Fonction de coût

Numérotation des arcs

Page 16: Modélisation par le concept de graphe. Graphe (orienté) G (N, A) N : Ensemble de noeuds (sommets), noté 1,... n, Cardinal (N) = n A : Ensemble de couples

Booléenne

• 1-graphe, Non orienté 2 arcs => Matrice symétrique

1 2 3 4 5

1 0 1 0 1 0

2 1 0 1 1 0

3 0 1 0 0 1

4 1 1 0 0 1

5 0 0 1 1 0

Page 17: Modélisation par le concept de graphe. Graphe (orienté) G (N, A) N : Ensemble de noeuds (sommets), noté 1,... n, Cardinal (N) = n A : Ensemble de couples

Valuation => Fonction de coût

• Arc inexistant : 0 ou infini => problème de représentation

1 2 3 4 5

1 0 5 0 2 0

2 0 0 2 0 0

3 0 0 0 0 0

4 0 7 0 0 0

5 0 0 2 3 0

Page 18: Modélisation par le concept de graphe. Graphe (orienté) G (N, A) N : Ensemble de noeuds (sommets), noté 1,... n, Cardinal (N) = n A : Ensemble de couples

Sommets-arcs• p-graphe, pas de boucle

• Colonne : arc, ligne : sommet, origine : + destination : -

1 2 3 4 5 6

1 +1 +1 0 0 0 0

2 -1 0 -1 +1 0 0

3 0 0 0 -1 -1 0

4 0 -1 +1 0 0 -1

5 0 0 0 0 +1 +1

Page 19: Modélisation par le concept de graphe. Graphe (orienté) G (N, A) N : Ensemble de noeuds (sommets), noté 1,... n, Cardinal (N) = n A : Ensemble de couples

Successeurs• Tableau : Nœud : tableau [1.. N+1] d’indirections sur les

successeurs ([1.. M+1])

• Principe : idem pour les voisins (non orienté) mais symétrique => 2M + 1 ou pour les prédécesseurs

754431

654321

7654321

X432342

Page 20: Modélisation par le concept de graphe. Graphe (orienté) G (N, A) N : Ensemble de noeuds (sommets), noté 1,... n, Cardinal (N) = n A : Ensemble de couples

Successeurs (version liste chaînée)

1 2 3 4 5

2

4

3 2 3

4

Page 21: Modélisation par le concept de graphe. Graphe (orienté) G (N, A) N : Ensemble de noeuds (sommets), noté 1,... n, Cardinal (N) = n A : Ensemble de couples

Orienté Valué

Idem successeurs + valuation (liste chaînée : multi-graphe)

754431

654321

7654321

327225

X432342

Page 22: Modélisation par le concept de graphe. Graphe (orienté) G (N, A) N : Ensemble de noeuds (sommets), noté 1,... n, Cardinal (N) = n A : Ensemble de couples

Cocycle

• Idem liste des successeurs mais avec les arcs => p-graphes avec boucles

754431

654321

7654321

X432342

X653421

Page 23: Modélisation par le concept de graphe. Graphe (orienté) G (N, A) N : Ensemble de noeuds (sommets), noté 1,... n, Cardinal (N) = n A : Ensemble de couples

Passages

Matrice d'incidence

Liste des arcs / arêtes

Liste des cocyclesListe des prédécesseurs

Liste des successeurs

Matrice d'adjacence

O (MN)

O(M)

O(M)O(M)

O(N )

O(MN)

2

Page 24: Modélisation par le concept de graphe. Graphe (orienté) G (N, A) N : Ensemble de noeuds (sommets), noté 1,... n, Cardinal (N) = n A : Ensemble de couples

Problèmatique Base de données

Modélisation du graphe (1 ou plusieurs niveaux d'abstraction)

Fonction d'étiquettage (noeud, arc)

-> Le graphe ne tient pas en MC-> Opérateurs de manipulation - chemin -

-> Passage des informations aux différents niveaux

Page 25: Modélisation par le concept de graphe. Graphe (orienté) G (N, A) N : Ensemble de noeuds (sommets), noté 1,... n, Cardinal (N) = n A : Ensemble de couples

Problèmes conventionnels

Chemin eulérien : chemin qui emprunteune fois et une seule chaque arc

Chemin hamiltonien : chemin qui emprunteune fois et une seule chaque sommet

Stable : Sous-ensemble, S, de sommets d'un graphetels que deux sommets de S ne sont pas adjacents ()

Clique : Sous graphe complet

Page 26: Modélisation par le concept de graphe. Graphe (orienté) G (N, A) N : Ensemble de noeuds (sommets), noté 1,... n, Cardinal (N) = n A : Ensemble de couples

Problèmes conventionnels (2)

Domaine de la recherche opérationnelle (parcours / contraintes)

Bases de données déductives / documentaires

Opérateurs de manipulation : Attention aux pb NP-Complet

Bases de données spatiales (transports)