Éléments de la théorie des graphes ©Prof. E. Taillard 1 EIVD, Informatique logiciel, 4esemestre
INFORMATIQUE ORIENTATION LOGICIELS
ÉLÉMENTS DE LA THÉORIE DES GRAPHES
Prof.É.D.Taillard
Éléments de la théorie des graphes ©Prof. E. Taillard 2 EIVD, Informatique logiciel, 4esemestre
DÉFINITIONS
Un graphe G est constitué d’un ensemble Xde sommets ou nœuds et d’une famille Ud’éléments appelés
arcs.
Deux sommets sont adjacents s’il existe un arc entre eux.
Chaque arc est caractérisé par un couple ordonné (i,j) de nœuds. iest l’extrémité initiale et jl’extrémité
terminale.
Un chemin reliant les sommets aet best un graphe de sommets a=w1,w2,…,wk=bet d’arcs
u1,u2,…,uk–1 tels que ui=(wi,wi+1).
ij
nœud initial arc nœud terminal
w1
=a
wk
=b
uk–1
wk–1
wi+1
wiui
w2
u1u2w3
Chemin
Éléments de la théorie des graphes ©Prof. E. Taillard 3 EIVD, Informatique logiciel, 4esemestre
DÉFINITIONS (2)
Si on ajoute un arc entre wket w1, on obtient un circuit (chemin
fermé).
Graphe non orienté
Dans certains cas, on ne se préoccupe pas de l’orientation des arcs. On parle alors d’arête (= arc non orienté),
de chaîne (= chemin non orienté) et de cycle (= circuit non orienté)
w1
wk
wk–1
wi+1
wi
w2
w3
Circuit
Éléments de la théorie des graphes ©Prof. E. Taillard 4 EIVD, Informatique logiciel, 4esemestre
DÉFINITIONS (3)
Un graphe est connexe s’il existe une chaîne entre toute paire de sommets.
Un graphe sans cycle est une forêt.
Un graphe connexe sans cycle est un arbre.
Graphe non connexe
(3 composantes connexes)Graphe connexe
Forêt Arbre
Éléments de la théorie des graphes ©Prof. E. Taillard 5 EIVD, Informatique logiciel, 4esemestre
REPRÉSENTATION DUN GRAPHE
a) Matrice d’incidence sommet-arc.
Soit G=(X,U), un graphe à n sommets et m arcs. On lui associe une matrice Aànlignes (correspondant aux
sommets) et mcolonnes (associées aux arcs).
Exemple
Arc
u1u2u3u4u5u6
Sommet
1–11 1
21 –1
31 1
4111
5–11
aik
1si iest l'extrémité terminale de uk
1–siiest l'extrémité initiale de uk
0 sinon
î
=
u2u4
u6
u3
u1u5
13
24
5
Éléments de la théorie des graphes ©Prof. E. Taillard 6 EIVD, Informatique logiciel, 4esemestre
b) Listes d’adjacence
Un graphe peut être représenté par 2nlistes : nlistes de successeurs et nlistes de prédécesseurs.
Exemple
L’utilisation de l’une ou l’autre de ces représentations dépend du graphe que l’on considère et de l’utilisation
que l’on désire en faire. Une formulation mathématique d’un problème sur un graphe sera par exemple
souvent représenté par une matrice d’incidence alors que la représentation interne dans un programme d’un
graphe peu dense (qui a peu d’arcs) se fera souvent à l’aide de listes d’adjacence.
Sommet Listes des
prédécesseurs Listes des
successeurs
1 4 2, 3
21 4
31,5
42,5 1
53, 4
Éléments de la théorie des graphes ©Prof. E. Taillard 7 EIVD, Informatique logiciel, 4esemestre
EXPLORATION DUN GRAPHE
Question : Quels sont les sommets que l’on peut atteindre depuis un sommet de départ a?
Algorithme d’exploration
Donnée:
G
avec listes
S
(
n
) des successeurs de
u
;
a
: un sommet particulier
Résultat:
G
avec sommets atteignables à partir de
a
marqués.
Début:
Q
={
a
}
Répéter
Choisir
u
Q
;
Retirer
u
de
Q
;
Marquer
u
;
v
S(
u
):
Si
v
n’est pas marqué: introduire
v
dans
Q
Tant que
Q
≠ ∅
Fin.
L’ensemble Qpeut être géré en pile ou en queue.
Dans le premier cas, on a une exploration en profondeur (on va aussi loin que possible avant de revenir en
arrière).
Dans le second cas, on a une exploration en largeur.
Éléments de la théorie des graphes ©Prof. E. Taillard 8 EIVD, Informatique logiciel, 4esemestre
Exemple d’exploration en profondeur (pile)
Exemple d’exploration en largeur (queue)
a
cd
f
b
e
g h
Q= {a}
a
cd
f
b
e
g h
Q= {a}
Éléments de la théorie des graphes ©Prof. E. Taillard 9 EIVD, Informatique logiciel, 4esemestre
Exemple d’exploration en profondeur (pile)
Exemple d’exploration en largeur (queue)
a
cd
f
b
e
g h
a
cd
f
b
e
g h
a
cd
f
b
e
g h
a
cd
f
b
e
g h
a
cd
f
b
e
gh
a
cd
f
b
e
gh
a
cd
f
b
e
gh
Q = {a} {b, d} {b, c, e}{b,c,e,f} {b,cg} {b,c} {b}
a
cd
f
b
e
g h
a
cd
f
b
e
g h
a
cd
f
b
e
g h
a
cd
f
b
e
g h
a
cd
f
b
e
gh
a
cd
f
b
e
g h
a
cd
f
b
e
g h
Q = {a} {b, d} {c, e, f}{d, c} {e, f} {f, g} {g}
Éléments de la théorie des graphes ©Prof. E. Taillard 10 EIVD, Informatique logiciel, 4esemestre
COMPLEXITÉ DUN ALGORITHME
Notation O(.)
On dit que les fonctions f(m)etg(m) satisfont f(m)=O(g(m))
s’il existe une constante c> 0 telle que pour tout m assez grand on a f(m)c·g(m).
Exemple :
f(m)=1/m+ log(m)+300m+5m2est en O(m2)
car pour c= 6 (par exemple) et pour massez grand on a bien 1/m+log(m) + 300m+5m26m2
Motivation de la notation O(·)
Évaluer le temps de calcul d’un algorithme en fonction de la taille mdes données
Avoir une mesure de ce temps indépendante de la machine sur laquelle l’algorithme est évalué
Avoir une idée de l’augmentation du temps de calcul si on cherche à résoudre
1 / 19 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !