Vous êtes sur la page 1sur 15

1 - Notions Fondamentales de

la Théorie des Graphes


Université Alger 1, Dept Maths & Informatique

Dr. Fodil LAIB

Février 2017
Principe et Origines 2
 La théorie des graphes visualise une
problématique par un graphe synoptique. b
 Elle propose des algorithmes de résolution.
a c
Historique
d
b
1 Représentation de Königsberg par un graphe
2 3
a 7
c
6 5  Le théorème d’Euler affirme que ce problème
4 n’admet pas de solution.
d
 Kirchhoff (1847) : analyse des circuits électriques
Les 7 ponts de Königsberg

 Hamilton (1857) : Trouver un chemin passant une


 Travaux d’Euler (1735) : Comment traverser les seule fois par les 18 villes du jeu icosien.
7 ponts de la ville de Königsberg (Russie) une
seule fois et revenir au point de départ ?
Définitions de Base 3
Un graphe G=(X,U) est composé de :  Un arc u=(x, x) dont les deux extrémités
X : ensemble des sommets coïncident est une boucle. L’arc u=(b,b) est une
boucle.
U : ensemble des liens reliant les sommets.
 Graphe non orienté : les liens sont des  Ordre d’un graphe : c’est le nombre de
arêtes sommets du graphe, 𝑛 = 𝑋 .
b
 Taille d’un graphe : c’est le nombre d’arcs du
a c graphe, 𝑚 = 𝑈 .
Graphe valué : tout arc (ou arête) porte une valeur
d numérique. Ces valeurs peuvent être des quantités
Graphe non orienté transportées, des débits, des coûts, etc.

20
 Graphe orienté : les liens sont des arcs 3
15
e a b c e
7
b
9 17 1
d c

 X = {a, b, c, d, e} Graphe Orienté 2 18


a d f
 U={ (a,b), (b,b),(b,c), (c,a), (c,d), (d,a), (d,e),
(e,a), (e,c) } Graphe orienté et valué
Prédécesseurs et Successeurs 4
Soit x un sommet d’un graphe orienté : Degrè d’un sommet
 𝑈 − 𝑥 = 𝑦 ∈ 𝑈, (𝑦, 𝑥) ∈ 𝑈 : ensemble des
 𝑑− 𝑥 = 𝑈− 𝑥 : demi-degré intérieur de x
prédécesseurs de x
+
 𝑈 𝑥 = 𝑦 ∈ 𝑈, (𝑥, 𝑦) ∈ 𝑈 : ensemble des
 𝑑+ 𝑥 = 𝑈+ 𝑥 : demi-degré extérieur de x
successeurs de x  𝑑(𝑥) = 𝑑 − 𝑥 + 𝑑 + 𝑥 : degré de x
 𝑈(𝑥) = 𝑈 − 𝑥 ∪ 𝑈 + 𝑥 : ensemble des voisins (ou  Les boucles ne sont pas prises en compte.
sommets adjacents) de x
b
Eg.

d e  𝑑+ 𝑎 = 2
a
 𝑑− 𝑎 = 1
⇒𝑑 𝑎 =2+1=3
c

 𝑑+ 𝑒 = 1
 Les successeurs de a sont 𝑈 + 𝑎 = 𝑐, 𝑑 ,
 𝑑− 𝑒 = 3
 Les prédécesseurs de e sont : 𝑈 − 𝑒 = 𝑏, 𝑐, 𝑑
⇒𝑑 𝑒 =1+3=4
 Les voisins de a sont 𝑈 𝑎 = 𝑏, 𝑐, 𝑑
Modélisation par un Graphe 5
Exemple 1 (problème du passeur)
Rive Gauche Rive Droite
Un passeur (P) doit faire traverser une rivière à un
loup (L), une chèvre (V) et un chou (C) dans une P,L,V,C t0
petite barque à deux places.
Pour des raisons évidentes, on ne peut laisser seules L,C P,V t1
sur une rive le loup et la chèvre ou la chèvre et le
chou.
L, C,P V t2
Solution
 Un sommet représente l’état d’une rive à un L V,P,C t3
instant donné.
 Un arc représente le passage d’une rive d’un L,P,V C t4
état à un autre.
V C,P,L t5

V,P C,L t6

C,L,P,V t7
… 6
Exemple 2 (transvaser 3 récipients) t0
 Soient 3 récipients A, B et C de capacités 8, 5 et
3 litres respectivement. Le récipient A est rempli 8/0/0
d’un liquide, les deux autres (B et C) sont vides. t7 t1
 Comment utiliser les récipients B et C pour 4/4/0 3/5/0
répartir ce liquide en deux quantités égales de 4
litres ? Utiliser un graphe pour représenter la
solution de ce problème. t6 t2

Solution 1/4/3 3/2/3


 Chaque sommet du graphe est un triplet
(q1,q2,q3) où qi représente l’état du récipient i
(i=A,B,C). t5 t3
 A l’instant t0, A est plein, B et C sont vide, on a 1/5/2 6/2/0
donc le sommet (8/0/0) t4
 A l’instant t1, on a versé 5 litres dans B, il reste 3
6/0/2
litres dans A, C est toujours vide, on a donc le
sommet (3/5/0).
 A l’instant final t7, on aura 4 litres dans A, 4 litres
dans B et 0 litres dans C, d’où le sommet (4/4/0).
Les Chemins et les Circuits 7
 Chemin : c’est une séquence d’arcs qui se  Chaine : c’est une séquence d’arcs, tel que 2
suivent arcs consécutifs ont un sommet en commun ;
e a l’orientation des arcs n’a pas d’importance.

b b c e
d c
(c, d, e, a ) est un chemin
a d f
(b,a,d,c,e) est une chaine
 Circuit : c’est un chemin fermé
 Cycle : c’est une chaine fermée
e a

b b c e
d c
(e, c, d, e) est un circuit
a d f
(c,e,f,d) est un cycle
Graphe Heulerien et Hamiltonien 8
 Un chemin simple (resp. un circuit) ne passe  Deux arcs u1(x1,y1) et u2(x2,y2) sont parallèles
qu’une seule fois par chacun de ses arcs. si x1=x2 et y1=y2.
 Un chemin élémentaire (resp. un circuit) ne
u1 a1
passe qu’une seule fois par chacun de ses b b
sommets.
a u2 a a2

Les arcs u1 et u2 Les arêtes a1 et


 Un graphe eulérien possède un circuit simple de sont parallèles a2 sont parallèles
longueur 𝑚 = 𝑈 .
 Un graphe simple n’a pas de boucle, et n’a
 Un graphe hamiltonien possède un circuit pas d’arcs (resp. arêtes) parallèles.
élémentaire de longueur 𝑛 = 𝑋 .
u6 u1 u4
d b u2 b
u2 d a u2 u3 u5
a a a u6
u4 b c c
u6 e u5 u3
u1 u1 u4
b u7
u3 d d
c u5
c Graphe Simple Graphe Non Simple
(u1,u3,u5,u6,u4,u2) (u1,u4,u3,u6) circuit U1 est une boucle
circuit eulérien hamiltonien U4 et u5 sont parallèles
La Connexité 9
 Soit 𝐺 = (𝑋, 𝑈) un graphe. Si ∀ 𝑥, 𝑦 ∈ 𝑋, il existe au  Un graphe est fortement connexe si et
moins une chaine reliant 𝑥 à 𝑦, alors G est seulement si ∀ 𝑥, 𝑦 ∈ 𝑋, il existe un chemin les
connexe, sinon il est non connexe. reliant.
e a
b e
b
a
c d c
d Graphe fortement Connexe
Graphe connexe
Il existe une chaine entre tout couple de sommets

b
f e a
a d
b
c e
d c
Graphe non connexe
Par exemple, il y a pas de chaine entre b et f Graphe non fortement connexe
Par exemple, pas de chemin entre b et e
 Ce graphe admet 2 composantes connexes
{a,b,c,d} et {e,f}
Représentation Informatique d’un Graphe 5 b 2
3
b a
7 c
4
a d 1
c
Cas de graphe valué
d
Liste des arcs : On ajoute une 3° ligne au tableau
Cas de graphe non valué pour contenir les valeurs des arcs

Liste des arcs : c’est un tableau à 2 lignes et 𝑚 = 𝑈 a a b c c c


colonnes qui contient tous les arcs 𝑢𝑖 ∈ 𝑈 b d c a b d
a a b c c c 5 4 3 7 2 1
b d c a b d
Matrice d’adjacence : Soit 𝑣𝑖𝑗 la valeur de l’arc (i,j):
Matrice d’adjacence : c’est une matrice carré
𝑣𝑖𝑗 si (𝑖, 𝑗) ∈ 𝑈
𝑀 = 𝑚𝑖𝑗 où 𝑚𝑖𝑗 =
∞ sinon
1 si (𝑖, 𝑗) ∈ 𝑈
𝑚𝑖𝑗 =  Eg
0 sinon
∞ 5 ∞ 4
 Eg. ∞ ∞ 3 ∞
0 1 0 1 𝑀=
7 2 ∞ 1
0 0 1 0
𝑀= ∞ ∞ ∞ ∞
1 1 0 1
0 0 0 0

Liste chainée : pour chaque sommet 𝑥 ∈ 𝑋, on lui
associe la liste de ses successeurs et la valeur de
chaque arc : b u5
u1 u3
a b 5 d 4
u4
a c
b c 3
u2 u6
c a 7 b 2 d 1
d
d
u7
Matrice d’incidence sommet-arc 𝑵 = 𝒏𝒊𝒋 :
 Chaque ligne de la matrice représente un
sommet i u1 u2 u3 u4 u5 u6 u7
1 1 ∞ −1 ∞ ∞ ∞ a
 Chaque colonne de la matrice représente un arc
𝑗 = (𝑥𝑗 , 𝑦𝑗 ) −1 ∞ 1 ∞ −1 ∞ ∞ b
𝑁=
1 si 𝑖 = 𝑥𝑗 ∞ ∞ −1 1 1 1 ∞ c
∞ −1 ∞ ∞ ∞ −1 0 d
−1 si 𝑖 = 𝑦𝑗
𝑛𝑖𝑗 =
0 si 𝑖 = 𝑥𝑗 = 𝑦𝑗 (cas d′une boucle)
∞ sinon
Types de Graphes 12
 G est un graphe planaire si ses arcs ne se  G=(X,U) est un graphe biparti si X est réparti en 2
croisent pas. sous-ensembles X1 et X2 disjoints et non vides, tel
a que tout arc de U a une extrimité dans X1 et
G1 b G2 b
l’autre dans X2 X1 X2
c e c e e
b
d d
a
a
c
Graphe non planaire G1 converti en d
graphe planaire G2
Graphe biparti
 G est un graphe complet s’il y’a un arc entre
 Soit G=(X,U) un graphe. Le graphe G’=(X’,U’) est
tout couple de sommets du graphe
le dual de G si pour toute arête 𝑢 ∈ 𝑈, il existe
une seule arête 𝑢′ ∈ 𝑈 tel que u’ croise u.
a
a
b
d X={a,b,c,d}
g e b
c
c X’={e,g}
d

Graphe complet Graphe G et son dual G’


… 13
 Un arbre est un graphe où chaque sommet ne  Un réseau est un graphe fortement connexe,
possède qu’un seul prédécesseur, sauf le sans boucles.
sommet racine qui n’a aucun prédécesseur.
Un réseau possède 2 sommets particuliers : sommet
Les sommets qui n’ont pas de successeurs sont entrée et sommet sortie, liés par un arc fictif
appelé les feuilles. a garantissant la forte connexité du graphe.

b c d b e g

c h j
e f g h i a

f i
j k d
Un Arbre Un Réseau
{a} est la racine, {e,f,g,j,k,i} sont les feuilles {a} : entrée du réseau, { j } : sortie du réseau

 Une foret est un graphe non connexe, dont


chaque composante connexe est un arbre.

Une Foret
Applications des Graphes 14
 L’arbre couvrant, eg. optimiser la connexion  Problème de coloriage : utiliser un nombre
des quartiers d’une ville par la fibre optique minimum de couleurs
1
3 8 2
1 2
4 7 3
7
8 6
6 5 4
5
Passages de la fibre Coloriage d’une carte
Les rues d’une ville Modélisation
optique géographique
par un graphe
(arbre couvrant)  Forte Connexité : placer des sens uniques dans
 Plus court chemin : routage de paquets de une ville en garantissant un chemin entre tous ses
données transitant par un réseau (internet) quartiers :
b c b c
2 b 7
a a
a 7 6 j
1
4 6 c 5 3 d e d e
d 8 f
e f f
9 6 g g
Le plus court chemin entre a et j est (a,b,f,j) h h
Avant (rues a double sens) Après (rues à sens uniques)
… 15
 Graphe planaire : conception de circuit  Réseau (problème de flot maximum) :
électronique intégré, les liens entre les acheminer une quantité maximale entre A et B
composants ne doivent pas se croiser. en respectant les contraintes [min,max] du
réseau.
[0,4] [2,3]
[1,4] b d f [0,5]
a b a b
a [1,3]
[1,2] [3,6] h
[2,7] [8,10]
c e [7,10]
g
[2,8]
d c d c
Conception erronée Conception correcte  Ordonnancement des tâches : Chemin critique
(1) fondations  Sommet : fin d’une tâche
 Graphe biparti : affectations des taches T1…Tm à (2) gros œuvres  Valeur d’un arc : durée
des processus P1…Pk (3) électricité d’une tâche
(4) chauffage central
(5) peinture extérieur 7
P1 P3 2
P2 (6) peinture intérieur 40
5 5
10
40 45
0 1 3 6
T1 T2 T3 T4 3
50
4