CHAPITRE 1
CONCEPTS FONDAMENTAUX DE LA
THÉORIE DES GRAPHES
Théorie des Graphes et Optimisation 1
Concepts fondamentaux de la théorie des graphes I. Introduction
La théorie des graphes
Historique : problème des 7 ponts de Königsberg
La ville de Königsberg (Kaliningrad), traversée par la rivière
Prégolya, possède 2 îles et 7 ponts.
Est-il possible de visiter tous les quartiers de la ville en
traversant chaque pont une seule fois et de revenir au point de
départ ?
Théorie des Graphes et Optimisation 2
Concepts fondamentaux de la théorie des graphes I. Introduction
La théorie des graphes
Résolution par Euler (1736)
Modélisation de Königsberg par un graphe
sommets=villes
arcs=ponts
Théorie des Graphes et Optimisation 3
Concepts fondamentaux de la théorie des graphes I. Introduction
La théorie des graphes
Un graphe G = <S,A> est la donnée :
Un ensemble S dont les éléments sont les sommets du graphe
Un ensemble A de liaisons, des arêtes ou des arcs, qui relient les
éléments de S.
1 •Sommet
•arc
2 3
Ordre d’un graphe est le nombre de sommets du graphe
(=|S|).
Théorie des Graphes et Optimisation 4
Concepts fondamentaux de la théorie des graphes I. Introduction
La théorie des graphes
Types de graphe
Orienté : chaque arc à un sens
1 Sommet
arc
2 3
non orienté : les arêtes n’ont pas de sens particuliers
1 Sommet
arête
2 3
Théorie des Graphes et Optimisation 5
Concepts fondamentaux de la théorie des graphes I. Introduction
La théorie des graphes
Modélisation par des graphes
Circulation dans une ville :
sommets ↔ carrefours
arcs ↔ rues
Trafic aérien :
sommets ↔ aéroports,
arêtes ↔ vols existants
Réseau informatique :
sommets ↔ ordinateurs
arêtes ↔connexions physiques
Réseau sociaux:
sommets ↔ personnes
arêtes ↔ amitiés
Théorie des Graphes et Optimisation 6
Concepts fondamentaux de la théorie des graphes I. Introduction
Champs d’application
Intelligence Artificielle
Apprentissage, classification
Recherche Opérationnelle
Problèmes d’ordonnancement, Problèmes de flot…
Réseaux de communication
Diffusion de message, Routage de messages
Chimie-Biologie
Modélisation de molécules, Décodage de chaînes d’ADN
Sociologie
Modélisation des relations
Web
Graphe des liens, Calcul de pertinence
Théorie des Graphes et Optimisation 7
Concepts fondamentaux de la théorie des graphes II. Concepts de base de la théorie des graphes
Graphes orientés
Graphe orienté G = <S, A>
S ensemble fini des sommets
A ⊆ S x S ensemble des arcs (a1=(x,y)≠ a2=(y,x) )
Exemple
S = { 1, 2, 3, 4, 5 }
A = {(5, 5), (1, 5) , (5, 4), (4, 2), (2, 1), (3, 1), (3, 2) }
4 1
2 3
Théorie des Graphes et Optimisation 8
Concepts fondamentaux de la théorie des graphes II. Concepts de base de la théorie des graphes
Graphes orientés
Terminologie : pour un arc a = (x, y)
x est l'extrémité initiale et y est l'extrémité finale
y est successeur de x et y est prédécesseur de x
Un arc (t, t) est appelé une boucle
Exemple
arc a= (1, 5) Boucle l'extrémité finale
Boucle (5,5)
5 l'extrémité initiale
4 1
2 3
Théorie des Graphes et Optimisation 9
Concepts fondamentaux de la théorie des graphes II. Concepts de base de la théorie des graphes
Graphes orientés
Application multivoque d'un graphe Γ
L'application Γ qui, à tout sommet x de A, fait correspondre une
partie de A représentant ses suivants/successeurs Γ(x).
L'ensemble des précédents/prédécesseurs d'un sommet x est
noté Γ-1(x) où Γ-1 est l'application multivoque réciproque de G.
Exemple
G = <S, A> 5
4 1
2 3
S = { 1, 2, 3, 4, 5 }
Γ(1)={5}, Γ(2)={1}, Γ(3)={1,2}, Γ(4)={2}, Γ(5)={4,5}
Théorie des Graphes et Optimisation 10
Concepts fondamentaux de la théorie des graphes II. Concepts de base de la théorie des graphes
Graphes orientés
Chemins
Chemin : c = ( s0, s1,s2, …, sk-1,sk ) où les (si-1,si) ∈ A
origine = s0
extrémité = sk
longueur = k (=le nombre d'arcs qui composent le chemin )
Exemple
c= ( 3, 1, 5, 4 ) est un chemin de longueur 3
4 1
2 3
Théorie des Graphes et Optimisation 11
Concepts fondamentaux de la théorie des graphes II. Concepts de base de la théorie des graphes
Graphes orientés
Chemins
Chemin simple: si il ne passe pas deux fois par le même arc
Chemin élémentaire: si il ne passe pas deux fois par le même
sommet
Circuit: un chemin de longueur non nulle et dont l'origine et
l'extrémité sont identiques.
identiques
Exemple
c= ( 3, 1, 5, 4 ) est un chemin simple 5
c= (1,5 ,4 ,2,1 ) est un circuit
4 1
2 3
Théorie des Graphes et Optimisation 12
Concepts fondamentaux de la théorie des graphes II. Concepts de base de la théorie des graphes
Graphes orientés
Degrés d'un sommet
degré sortant d+(x) (demi-degré extérieur ) d'un sommet
x, le nombre d'arcs dont l'extrémité initiale est x.
degré entrant d-(x) (demi-degré intérieur ) d'un sommet x,
le nombre d'arcs dont l'extrémité finale est x.
degré total d(x) d'un sommet x, le nombre d'arcs ayant une
extrémité en ce sommet.
Exemple 5
d+(1) =1
4 1
d-(1)=2
d(1)=1+2=3
2 3
Théorie des Graphes et Optimisation 13
Concepts fondamentaux de la théorie des graphes II. Concepts de base de la théorie des graphes
Graphes orientés
Propriétés : Si G = <S,A> est un graphe orienté alors
Exemple
1 x d+(x) d-(x)
1 0 2
2 1 1
2 3
3 2 0
∑ 3 3
Théorie des Graphes et Optimisation 14
Concepts fondamentaux de la théorie des graphes II. Concepts de base de la théorie des graphes
Graphes non orientés
Graphe non orienté G = <S, A>
S ensemble fini des sommets
A ⊆ S x S ensemble des arêtes (a1=(x,y) =a2=(y,x) )
Exemple
S = { 1, 2, 3, 4, 5 }
A = {(5, 5), (1, 5) , (5, 4), (4, 2), (2, 1), (3, 1), 3, 2) }
4 1
2 3
Théorie des Graphes et Optimisation 15
Concepts fondamentaux de la théorie des graphes II. Concepts de base de la théorie des graphes
Graphes non orientés
Terminologie : pour une arête a = (x, y)
x , y sont les deux extrémités de a
x et y sont adjacents (ou voisins)
Exemple
arête a= (1, 5) = (5, 1)
extrémité
5
4 1 extrémité
2 3
Théorie des Graphes et Optimisation 16
Concepts fondamentaux de la théorie des graphes II. Concepts de base de la théorie des graphes
Graphes non orientés
Chaîne
Chaîne : c = ( s0, s1,s2, …, sk-1,sk ) où les (si-1,si) ∈ A
Longueur = k (=le nombre d'arêtes qui composent la chaîne )
Cycle: chaîne de longueur non nulle et dont les extrémités sont
identiques.
Exemple
5
c= ( 3, 1, 5, 4 ) est une chaîne de longueur 3
c= (1,5 ,4 ,2,1 ) est un cycle 4 1
2 3
Théorie des Graphes et Optimisation 17
Concepts fondamentaux de la théorie des graphes II. Concepts de base de la théorie des graphes
Graphes non orientés
Terminologie orienté VS non orienté
Orienté non orienté
arc ↔ arête
chemin ↔ chaîne
circuit ↔ cycle
Théorie des Graphes et Optimisation 18
Concepts fondamentaux de la théorie des graphes II. Concepts de base de la théorie des graphes
Graphes non orientés
Degrés d'un sommet
degré d(x) d'un sommet x est comme le nombre d'arêtes ayant x
pour extrémité.
Propriétés : Si G = <S,A> est un graphe non orienté alors
Exemple
x d(x)
1
1 2
2 1
2 3 3 1
∑ 4
Théorie des Graphes et Optimisation 19
Concepts fondamentaux de la théorie des graphes II. Concepts de base de la théorie des graphes
Définitions
P-Graphe
Graphe dans lequel il n’existe jamais plus de p arcs entre deux
sommets quelconques
Exemple :2 -Graphe
1
4
2 3
Théorie des Graphes et Optimisation 20
Concepts fondamentaux de la théorie des graphes II. Concepts de base de la théorie des graphes
Définitions
Graphe simple
Un graphe est dit simple si et seulement si il ne comporte pas de
boucle et s'il n'y à pas plus d'une arête (ou arc) entre deux
sommets quelconques.
Exemple
Graphe simple Graphe non simple
1
1
2 3
2 3
Théorie des Graphes et Optimisation 21
Concepts fondamentaux de la théorie des graphes II. Concepts de base de la théorie des graphes
Définitions
Graphe partiel
Soit G = <S,A> un graphe (orienté ou non). Un graphe partiel de
G est un graphe G' = <S,A’> tel que A’ ⊆ A .
Exemple
5
5
4 1
4 1
2 3
2 3
Théorie des Graphes et Optimisation 22
Concepts fondamentaux de la théorie des graphes II. Concepts de base de la théorie des graphes
Définitions
Sous graphe
Soit G = <S,A> un graphe (orienté ou non). Un sous-graphe de G
est un graphe G' = <S’,A’> tel que A ⊆ A’ et S ⊆ S’
Exemple
5
1
4 1
2 3
2 3
Théorie des Graphes et Optimisation 23
Concepts fondamentaux de la théorie des graphes II. Concepts de base de la théorie des graphes
Définitions
Sous graphe couvrant
Un sous-graphe G’ = (S’,A’) d’un graphe G = (S,A) est couvrant
s’il contient tous les sommets de G : S’ = S.
Exemple
5 5
4 1 4 1
2 3 2 3
Théorie des Graphes et Optimisation 24
Concepts fondamentaux de la théorie des graphes II. Concepts de base de la théorie des graphes
Définitions
Graphe valué
Un graphe dans lequel chacune des arêtes (ou arcs), a, est associée
à une valeur, appelée poids, p(a).
Exemple
5
8 7
1
4 2 -13
1
2 3
11
Théorie des Graphes et Optimisation 25
Concepts fondamentaux de la théorie des graphes II. Concepts de base de la théorie des graphes
Définitions
Fermeture transitive d’un graphe
La fermeture transitive d'un graphe G = <S,A> est un graphe
Ĝ=<S, Â >, où Â est défini par la relation suivante :
(x, y)∈Â ⇔ il existe dans G un chemin de x vers y.
Exemple
a
a
b
Fermeture transitive b
c
c
d
d
Théorie des Graphes et Optimisation 26
Concepts fondamentaux de la théorie des graphes II. Concepts de base de la théorie des graphes
Définitions
Graphe symétrique :
∀ (x,y) ∈ A ⇒ (y, x) ∈ A
Graphe anti-symétrique :
∀ (x,y) ∈ A ⇒ (y, x) ∉ A
Graphe réflexif :
(x,x) ∈ A, ∀ x ∈ A
Graphe transitif :
∀ (x,y) ∈ A, (y,z) ∈ A ⇒ (x,z) ∈ A.
Graphe complet
∀ (x,y)∉A ⇒ (y,x) ∈ A
Théorie des Graphes et Optimisation 27
Concepts fondamentaux de la théorie des graphes II. Concepts de base de la théorie des graphes
Définitions
Exemple
Graphe réflexif, anti symétrique, transitif et complet
1 2
3 4
Théorie des Graphes et Optimisation 28
Concepts fondamentaux de la théorie des graphes III. Représentation des graphes
Matrice d’adjacence
Soit G = <S,A> un 1-graphe la matrice d'adjacence de G est la
matrice carrée M de taille n x n, définie par :
M [ i, j ] = 1 s’il existe un arc (i, j) sinon 0
)
1 2 3
(
1
1 1 1 1
2 1 0 0
2 3
3 0 1 0
Théorie des Graphes et Optimisation 29
Concepts fondamentaux de la théorie des graphes III. Représentation des graphes
Matrice d’adjacence
Soit G = <S,A> un 1-graphe valué, la matrice d’adjacence de
G est la matrice carrée M de taille n x n, définie par :
M [ i, j ] = p(i,j) s’il existe un arc (i, j) sinon ∞
)
1 2 3
(
1
8 1 2 8 5
5
3 2 3 ∞ ∞
2 3 3 ∞ 9 ∞
9
Théorie des Graphes et Optimisation 30
Concepts fondamentaux de la théorie des graphes III. Représentation des graphes
Matrice d’incidence
Soit G = <S,A> un graphe orienté sans boucle , la matrice
d‘incidence sommet-arcs de G est la matrice M, définie par :
Si a = (i,j) ∈ A, alors M[i,a] = 1 : M[j,a] = -1 ; sinon 0
)
1 a1 a2 a3 a4
(
a1 a3
a2
1 1 -1 1 0
2 3
2 -1 1 0 -1
a4 3 0 0 -1 1
Théorie des Graphes et Optimisation 31
Concepts fondamentaux de la théorie des graphes III. Représentation des graphes
Matrice d’incidence
Soit G = <S,A> un graphe non orienté, la matrice d’incidence
sommet-arcs de G est la matrice M, définie par :
Si a = (i,j) ∈ A, alors M[i,a] = 1 : M[j,a] = 1 ; sinon 0
)
1 a1 a2 a3 a4
(
a1 a3
a2
1 1 1 1 0
2 3
2 1 1 0 1
a4 3 0 0 1 1
Théorie des Graphes et Optimisation 32
Concepts fondamentaux de la théorie des graphes III. Représentation des graphes
Liste de suivants/précédents
Associer à chaque sommet la liste de ses
suivants/précédents. Ces listes sont accessibles à partir d'un
tableau S, qui contient pour chaque sommet, un pointeur
vers le début de sa liste.
1 1 1 2 3
2 1
2 3 3 2
2
1 1 2 2 8 3 5
8 1
5
3 2 1 3
2 3 3
9 2 2
Théorie des Graphes et Optimisation 33
Concepts fondamentaux de la théorie des graphes III. Représentation des graphes
Comparaison des tailles
Graphe à n sommets et m arcs.
Matrice d'adjacence : n2
Matrice d'incidence : n.m
Liste des suivants/précédents: n + m
Théorie des Graphes et Optimisation 34
Concepts fondamentaux de la théorie des graphes IV. La connexité dans un graphe
Connexité par l’exemple
Plan de circulation dans une ville des rues à double sens
Graphe non orienté : la circulation est autorisée de n'importe
quel point de la ville vers un autre
1 2
3 4 5 6
7 8 9 10
11 12
Il existe une chaîne entre tout couple de sommets.
Graphe connexe
Théorie des Graphes et Optimisation 35
Concepts fondamentaux de la théorie des graphes IV. La connexité dans un graphe
Connexité par l’exemple
Plan de circulation dans une ville des rues avec des sens interdits,
Graphe orienté : la circulation est autorisée de n'importe quel
point de la ville vers un autre
1 2
3 4 5 6
7 8 9 10
11 12
Il existe un chemin entre tout couple de sommets.
Graphe fortement connexe
Théorie des Graphes et Optimisation 36
Concepts fondamentaux de la théorie des graphes IV. La connexité dans un graphe
Graphe connexe
Un graphe non orienté G = <S,A> est connexe si ∀ x,y ∈ S ,
il existe une chaîne reliant x à y
Exemple
Graphe connexe Graphe non connexe
E D E D
C F C F
A B A B
Théorie des Graphes et Optimisation 37
Concepts fondamentaux de la théorie des graphes IV. La connexité dans un graphe
Graphe connexe
Une composante connexe d'un graphe G=<S,A> est un sous-
graphe G'=<S',A‘> connexe maximal.
∀ x, ∈ S \A’, y ∈ A’, il n'existe pas une chaîne reliant x et y
Les composantes connexes de G définissent une partition de S.
Exemple
.
{ E,A,C,B } D { D,F }
E
F
C
A B
Théorie des Graphes et Optimisation 38
Concepts fondamentaux de la théorie des graphes IV. La connexité dans un graphe
Graphe fortement connexe
Un graphe orienté G = <S,A> est fortement connexe si ∀ x,y
∈ S , il existe un chemin reliant x et y
Exemple
Graphe fortement connexe Graphe non connexe
a a
g g
c c
d d
e e
b b
f f
Théorie des Graphes et Optimisation 39
Concepts fondamentaux de la théorie des graphes IV. La connexité dans un graphe
Graphe fortement connexe
Une composante connexe d'un graphe orienté G=<S,A> est un
sous-graphe G'=<S’,A‘> fortement connexe maximal.
∀ x, ∈ S \A’, y ∈ A’, il n'existe pas un chemin reliant x et y
Les composantes connexes de G définissent une partition de S.
Exemple
a
{a,c,g}
g
c
d
e {f,d,e,b}
b
f
Théorie des Graphes et Optimisation 40
Concepts fondamentaux de la théorie des graphes IV. La connexité dans un graphe
Graphe fortement connexe
Graphe réduit d'un graphe orienté admettant p composantes
fortement connexes{C1, C2, …, Cp} est défini par Gr=< Sr, Ar >
Sr={C1, C2, …, Cp}
Ar={(xi, xj) |∃ xi ∈ Ci , xj ∈ Cj tel que (xi, xj) ∈A}
Exemple
a C1
g
c
Graphe réduit
d
e
b C2
f
Théorie des Graphes et Optimisation 41
Concepts fondamentaux de la théorie des graphes V. Graphes particuliers
Graphe eulérien
Un chemin Eulérien (chaîne) est un chemin (une chaîne) passant
une et une seule fois par chaque arc( arête) du graphe.
Chaîne Eulérienne = (A,F,E,D,C,E,B,F,C,B)
A
F
B
E
C
Théorie des Graphes et Optimisation 42
Concepts fondamentaux de la théorie des graphes V. Graphes particuliers
Graphe eulérien
Un graphe non oriente (respectivement orienté) est dit un graphe
Eulérien s’il ait un cycle (resp. circuit) Eulerien.
graphe eulérien graphe non eulérien
.
A
A
F
B F
B
E
C E
C
Théorie des Graphes et Optimisation 43
Concepts fondamentaux de la théorie des graphes V. Graphes particuliers
Graphe eulérien
Théorème d'Euler 1: Un graphe non orienté est eulérien si et
seulement si et seulement s’il soit connexe et tous les sommets
sont de degré pair.
A A
F F
B B
E E
C C
D
Théorème d'Euler 2: Un graphe orienté est eulérien si et
seulement si et seulement :
G est fortement connexe
d+(x) =d-(x) ∀x∈S
Théorie des Graphes et Optimisation 44
Concepts fondamentaux de la théorie des graphes V. Graphes particuliers
Graphe hamiltonien
Un chemin Hamiltonien (chaîne) dans un graphe G est un
chemin (une chaîne) passant une et une seule fois, par chaque
sommets de G.
Exemple
Chaîne hamiltonienne = (1,2,5,4,3)
2
5 3
1
Théorie des Graphes et Optimisation 45
Concepts fondamentaux de la théorie des graphes V. Graphes particuliers
Graphe hamiltonien
Un graphe G est Hamiltonien s’il contient un cycle
Hamiltonien (cas non-orienté) ou un circuit Hamiltonien (cas
orienté).
Exemple
Cycle hamiltonien= (1,2,5,3,4,1)
2
1 5 3
4
Théorie des Graphes et Optimisation 46
Concepts fondamentaux de la théorie des graphes V. Graphes particuliers
Graphe hamiltonien
Théorème : Soit G un graphe simple, non-orienté, ayant n
sommets, n ≥ 3. Si , pour toute paire (x,y) de sommets non
adjacents, on a :
d(x) + d(y) ≥ n
Alors, G est Hamiltonien.
Corollaire: Soit G un graphe simple, non orienté ayant n
sommets, n ≥ 3. Si tous les sommets sont à degré ≥ n/2, alors G
est Hamiltonien.
Théorie des Graphes et Optimisation 47
Concepts fondamentaux de la théorie des graphes V. Graphes particuliers
Graphe complet
Dans un graphe complet, on a :
(x,y)∉A ⇒ (y,x) ∈ A
Théorie des Graphes et Optimisation 48
Concepts fondamentaux de la théorie des graphes V. Graphes particuliers
Graphe complémentaire, clique, stable
Théorie des Graphes et Optimisation 49
Concepts fondamentaux de la théorie des graphes V. Graphes particuliers
Graphe k-parti
Soit k ≥ 1 un entier.
Un graphe simple G = (V ;E) est dit k-parti s’il existe une
partition de l’ensemble de ses sommets V = V1+…+Vk (+ :
Union disjointe) telle que aucun des sous-graphes induits : G(Vi),
i = 1, . . . , k, ne contienne d’arête.
Un graphe 1-parti
1 est donc simplement un graphe sans arêtes.
arêtes
Les parties Vi, i = 1, . . . , k, forment une k-partition, associée au
graphe k-parti G.
Rappel : Un stable est un ensemble de sommets induisant un sous-
graphe sans arête.
Les Vi ne sont rien d’autres que des stables de G
Théorie des Graphes et Optimisation 50
Concepts fondamentaux de la théorie des graphes V. Graphes particuliers
Graphe k-parti
Un graphe k-parti est dit complet si
∀i, j ∈ {1, . . . , k}, i ≠j, ∀x ∈ Vi, ∀y ∈ Vj ,
on a {x, y} ∈ E.
Soit |Vi| = ni, 1 ≤ i ≤ k, on notera Kn1,n2,...,nk un modèle du
graphe k-parti correspondant
Théorie des Graphes et Optimisation 51
Concepts fondamentaux de la théorie des graphes V. Graphes particuliers
Graphe k-parti
Pour k = 2, nous obtenons une classe importante de graphes, les
graphes bipartis.
Les graphes K1,n sont appelés étoiles
Théorie des Graphes et Optimisation 52
Concepts fondamentaux de la théorie des graphes V. Graphes particuliers
Propriétés des graphes bipartis
Proposition [König, 1916]
Un graphe est biparti ssi il ne contient pas de cycle de
longueur impaire
Théorie des Graphes et Optimisation 53
Concepts fondamentaux de la théorie des graphes V. Graphes particuliers
Graphe planaire
Théorie des Graphes et Optimisation 54
Concepts fondamentaux de la théorie des graphes V. Graphes particuliers
Propriétés des graphes planaires
Théorie des Graphes et Optimisation 55
Concepts fondamentaux de la théorie des graphes V. Graphes particuliers
Propriétés des graphes planaires
Théorie des Graphes et Optimisation 56
Concepts fondamentaux de la théorie des graphes V. Graphes particuliers
Propriétés des graphes planaires
Théorie des Graphes et Optimisation 57
Concepts fondamentaux de la théorie des graphes V. Graphes particuliers
Isomorphisme de graphe
Deux graphes G = (S,A) et G’ = (S’,A’) sont isomorphes s’il
existe une bijection
Exemple :
Théorie des Graphes et Optimisation 58
Concepts fondamentaux de la théorie des graphes V. Graphes particuliers
Isomorphisme de graphe
Théorie des Graphes et Optimisation 59