Vous êtes sur la page 1sur 67

Chapitre I.

Introduction à la
théorie des graphes
Introduction
❑La théorie des graphes est un corpus de connaissances très marquant dans le
domaine des mathématiques discrètes. Néanmoins, la communauté
mathématique ne l'a accordé de l'attention que tardivement. Issue de l'analyse
combinatoire, la théorie des graphes permet de modéliser des problèmes
complexes d'une manière simplifiée et intuitive.
❑Il s'agit d'une tentative de visualisation concrète des faits, au moyen d'un
schéma permettant d'exprimer commodément le problème posé et parfois
même d'en suivre aisément la solution par un algorithme approprié.
❑Exemples d’applications pouvant être traduites en graphe :
- Réseau routier ou ferroviaire ;
- Réseau téléphonique (en général, réseaux de télécommunications) ;
- Molécules chimiques ;
- Expédition du pétrole brut depuis les régions productrices jusqu'aux
raffineries de régions consommatrices, etc . . .
Définition d’un graphe
Un graphe G est constitué de deux ensembles :

Un ensemble « V » d’élèments appelés sommets (nœuds) matérialisés par des points (en anglais vertices)

Un ensemble « E » de lignes reliant chacune deux sommets.

→ Un graphe est donc noté : G = (V,E).

Si les lignes de E sont orientées, on les appelle alors des arcs et G prend le nom de graphe orienté (appelé

aussi digraphe "directed graph").

Si les lignes de E ne sont pas orientées, on les appelle alors des arêtes et G devient un graphe non orienté.
Remarque:

• A tout graphe orienté, on peut associer un graphe non orienté en supprimant


l'orientation des arcs. De même, à tout graphe non orienté, on peut associer un
graphe orienté en remplaçant chaque arête par deux arcs en sens inverses.
Relation binaire

▪ Un graphe peut être défini de manière plus abstraite comme la donnée d'une
relation binaire sur l'ensemble des sommets :
"xi est en relation avec xj" est équivalent à "(xi,xj) est un arc »

▪ Pour un graphe non orienté, la relation binaire ainsi définie est symétrique
puisque si (xi,xj) est un arc, (xj,xi) l'est aussi
Dans un graphe orienté G = (V,E), on notera pour un sommet x :

E−(x) = {y ∈ V / (y,x) ∈ E } = ensemble des antécédents du sommet x.

E+(x) = {z ∈ V / (x,z) ∈ E } = ensemble des successeurs du sommet x.

E(x) = E−(x) [ E+(x) = ensemble des sommets adjacents à x.

On peut définir entièrement un graphe en se donnant pour chaque sommet,


l'ensemble de ses successeurs ou de ses antécédents.
Exercice:

Soit G = (V,E) avec V = {x1; x2; x3; x4; x5} et


E+(x1) = {x3; x4}
E+(x2) = {x1; x3; x5}
E+(x3) = ;
E+(x4) = {x4; x5}
E+(x5) = {x3; x4; x5}
Degré d’un sommet dans un graphe non orienté

▪On appelle degré d'un sommet le nombre d'arêtes dont ce sommet est une extrémité
(les boucles étant comptées deux fois). Ce degré vaut 0 si le sommet est isolé. Le degré
d’un sommet x est noté d(x).

▪Dans le graphe ci-contre, les degrés des sommets sont :

Sommets S1 S2 S3 S4 S5 S6 S7
Degrés 2 4 3 2 2 1 0
Degré d’un sommet dans un graphe orienté

Soit s un sommet d'un graphe orienté G.

•On note d+ (s), le degré extérieur du sommet s, c'est-à-dire le nombre d'arcs


ayant s comme extrémité initiale.

•On note d-(s), le degré intérieur du sommet s, c'est-à-dire le nombre d'arcs


ayant s comme extrémité finale.

Le degré du sommet s est : d(s)=d+ (s)+d-(s)


Example
EXEMPLE

•d+(s1)=2, et d-(s1)=1 d'où d(s1)=3

•d+ (s2)=3 et d- (s2)=2 d'où d(s2)=5

•d+ (s3)=1 et d- (s3)=4 d'où d(s3)=5

•d+ (s4)=2 et d- (s4)=1 d'où d(s4)=3

•d+ (s5)=2 et d- (s5)=1 d'où d(s5)=3

•d+ (s6)=1 et d- (s6)=0 d'où d(s6)=1


Lemme des poignées de mains

(a) La somme de tous les degrés est un nombre pair. C'est le double du nombre
d'arêtes.
(b) Le nombre de sommets de degré impair est pair.
Degré d’un graphe

▪Le degré d'un graphe est le degré maximum de tous ses sommets. Dans

l'exemple ci-dessous, le degré du graphe est 3, à cause du sommet a.


Représentation matricielle d’un graphe
Les matrices sont l’une des structures de données utilisées en informatique pour
représenter les graphes et les relations.

Soit le graphe orienté G = (E, V), où V= {v1, . . . , vn} .

La matrice d’adjacence M de G est une matrice booléenne telle que M[i, j] ≡ (vi,
vj)∈ E
Voici un graphe et sa matrice d’adjacence (on suppose que les sommets sont ordonnés dans
l’ordre a, b, c, d, e). La deuxième matrice utilise la notation usuelle, où 0 et 1 représentent faux
et vrai, respectivement. Nous utiliserons la notation usuelle.
Représentation d’un graphe par un
dictionnaire
C'est un tableau qui pour chaque sommet énumère les suivants et les précédents:
Terminologies
▪Une boucle (x,x) est un arc dont l’extrémité initiale coïncide avec son extrémité
terminale.

▪Deux sommets x et y sont adjacents s’il existe un arc (arête) (x,y) les reliant. Les
sommets x et y sont alors dits voisins.

▪Arcs multiples : les sommets adjacents xi et xj sont reliés par deux ou plusieurs
arcs. .
Terminologies
▪Sous-graphe : Une partie du graphe dont le nombre de sommets et d'arcs peut
être différent du graphe initial

▪Le cardinal : Le cardinal card (V ) est l'ordre du graphe G ou nombre de


sommets de G. On rappelle que l'ensemble des sommets V est fini et que la
famille E est une séquence finie.

▪Le chemin : Un chemin est défini comme étant une suite d'arcs dont l'extrémité
terminale de chacun est l'extrémité initiale du suivant, sauf pour le dernier.
▪Un circuit (orienté)/ cycle (non orienté): est un chemin/chaine dont
les extrémités sont confondus.

▪Un sommet est pendant s'il est de degré 1. Aussi appelé feuille si le
graphe est un arbre.
Racine et anti-racine
Un sommet s d’un graphe G est une racine (resp. une anti − racine) s’il existe un
chemin joignant s à chaque sommet du graphe G (resp. Joignant chaque
sommet de G à s) à l’exception du sommet lui-même.
Graphes isomorphes

Deux graphes isomorphes ont la même structure : peu importe la façon dont ils sont dessinés, il
est possible de déplacer les sommets pour que l'un soit la copie conforme de l'autre.

EXEMPLE: Considérons les trois graphes ci-dessous :


Graphes isomorphes

Trois conditions nécessaires et non suffisantes pour que deux graphes G1 et G2


soient isomorphes :
1. Même nombre de sommets
2. Même nombre d’arêtes
3. ∀ d ∈ D (D : ensemble de degrés des sommets) → Le nombre de sommets de
degré d dans G1 et G2 est le même.
Les trois graphes ont le même nombre d'arêtes (9), le même nombre de sommets (6) et les
sommets des trois graphes sont tous de degré 3.

Or dans B il y a deux sous graphes complets d'ordre 3 ce qui n'est pas le cas pour les
graphes A et C. Donc B n'est pas isomorphe à A et C.

Montrons que les graphes A et C sont isomorphes.


Les sommets étant numérotés comme indiqué ci-dessus les deux graphes ont la même matrice
d'adjacence : MA=M C=

Donc les graphes A et C sont isomorphes.


Types particuliers de graphe

A. Graphe simple et multigraphe


Un graphe est simple s'il ne contient ni boucle ni arêtes multiples.
Un multi-graphe est un graphe qui n'est pas simple

Graphe simple Graphe multiple


Types particuliers de graphe

B. Graphe Complet
Un graphe complet est un graphe où chaque sommet est relié á tous les autres.
Le graphe complet d'ordre n est noté Kn. Dans ce graphe chaque sommet est de
degré n-1.
Types particuliers de graphe

C. Graphe partiel
Tout graphe obtenu en tenant compte de tous les sommets du graphe complet,
mais en supprimant les arcs entre certains sommets seulement.

D. Graphe régulier
On dit qu'un graphe G est régulier si tous ses sommets ont le même degré. En
particulier, si le degré de chaque sommet est r, alors G est régulier de degré r.
Types particuliers de graphe

E. Graphe Biparti
Graphe G = (V,E) admettant une partition de V en deux classes V1 et V2, telles
que tout arc ait une de ses extrémités dans V1 et l'autre dans V2.

Les éléments de V1 ne sont reliés entre eux par aucune arête et les éléments

de V2 ne sont reliés entre eux par aucune arête.


Les chaînes
▪Une chaîne élémentaire est une chaîne ne passant pas deux fois par un même
sommet, c'est-à-dire dont tous les sommets sont distincts.

▪Une chaîne simple est une chaîne ne passant pas deux fois par une même
arête, c'est-à-dire dont toutes les arêtes sont distinctes.
Chaine et cycle Eulérien/ Hamiltonien
▪ Un chemin Eulérien est un chemin dans le graphe qui passe par toutes les
arêtes juste une seule fois. Si ce chemin est fermé, on parlera de cycle eulérien.

▪ Un chemin Hamiltonien est un chemin dans le graphe qui passe par tous les
sommets une et une seule fois. Si ce chemin est fermé (i.e. il existe une arête
reliant le sommet de départ au sommet d'arrivée), on parlera de cycle
hamiltonien.
Graphe hamiltonien
▪Le cycle hamiltonien un cycle élémentaire de longueur n. Un graphe possédant
un cycle ou une chaine hamiltonien sera dit graphe hamiltonien.
▪Par exemple, le graphe suivant possède un cycle hamiltonien
(< a, e, b, d, c, a >) qui passe par tous les sommets
Une seule fois.
Graphe Eulérien
Dans un graphe non orienté, une chaine eulérienne est une chaine qui
emprunte une et une seule fois chaque arête du graphe. De même, un cycle
eulérien est un cycle qui emprunte une et une seule fois chaque arête du
graphe.

Enfin, un graphe comportant une chaine ou un cycle eulérien est appelé graphe
eulérien.
Graphe Eulérien
Théorème (∃ cycle eulérien) :
Un graphe connexe admet un cycle eulérien si et seulement s’il n’a pas de
sommet de degré impair.

En effet, supposons qu’un graphe G = (V, E) admette un cycle eulérien. Chaque


fois que ce cycle passe par un sommet, il contribue pour 2 dans le degré de ce
sommet. Par conséquent, chaque sommet doit avoir un degré pair.
Graphe Eulérien
Théorème (∃ chaine eulérienne) :

Un graphe connexe admet une chaine eulérienne entre deux sommets u et v si


et seulement si le degré de u et le degré de v sont impairs, et les degrés de tous
les autres sommets du graphe sont pairs.
Graphe Connexe: Définition
▪Un graphe G(S, A) non orienté est "connexe" si :
∀ x ∈ S, ∀ y ∈ S, si x ≠ y alors il existe une chaîne entre x et y.

▪Un graphe non orienté est connexe s'il est en un seul morceau: On ne
peut pas trouver de représentation graphique de ce graphe en plusieurs
parties.

▪Le graphe est dit non connexe si on peut constituer des sous-
représentations graphiques indépendantes les unes des autres.
Exemples

Graphe Connexe Les sommets 5, 7 et 8 sont "isolés" des autres.


Graphe fortement connexe
▪Un graphe orienté est "fortement connexe" si :

∀ x ∈ S, ∀ y ∈ S, si x ≠ y alors il existe un chemin de x vers y et un chemin de y à x.

→Un graphe orienté est dit fortement connexe si ses sommets sont tous accessibles entre
eux.

→Dans un graphe fortement connexe, il existe un circuit passant par tout sommet x
(puisque quelque soit x et y il existe un chemin de x à y et un chemin de y à x)
Exemples

Graphe fortement connexe Il n'existe aucun chemin partant du sommet 3 et


allant vers les autres.
Composante fortement connexe (c.f.c)
Soit xRy la relation d'équivalence définie sur l'ensemble S des sommets d'un graphe
G (S,A) par:

xRy ⇔ il existe (1) un chemin de x à y et un chemin de y à x

ou (2) x=y.

Les classes de la relation d'équivalence R sont appelées les composantes fortement


connexes du graphe, noté c.f.c
Remarques:

❑Un graphe est dit fortement connexe s'il est formé d'une seule
composante fortement connexe.

❑On peut désigner une composante fortement connexe par un de


ses points (n'importe lequel).
Graphe réduit

On appelle "graphe réduit" de G le graphe 𝐺෨ = (𝑆,


ሚ 𝐴)
ሚ défini de la façon
suivante:

𝑆ሚ : Ensemble des sommets représentants des c.f.c de G


ሚ 𝑎෤ ∈ A ((𝑎෤ = (𝑥෤ , 𝑦)
𝐴: ෤ ) ssi il existe au moins un arc d’un sommet de 𝑥෤ à un
sommet de 𝑦෤
Application 1
Soit le graphe G1(S, A) suivant:

▪ G1 n’est pas fortement connexe car il admet deux


a b cfc:
𝑎={a,
෤ b, d, e} et 𝑐ǁ = {c}
c

e d ▪ Le graphe réduit 𝐺1 ෪ = (𝑆෪1, 𝐴1)


෪ est définit comme suit:
𝑆෪1 ={𝑎, ෪ 𝑎,
෤ 𝑐ǁ } et 𝐴1={( ෤ 𝑐)}
ǁ
Application 2
Soit le graphe G2(S, A) suivant:

▪ G1 est fortement connexe car il admet un seul cfc:


a b 𝑎={a,
෤ b, c, d, e}
c

e d ෪ = (𝑆෪2, 𝐴2)
▪ Le graphe réduit 𝐺2 ෪ est définit comme suit:
𝑆෪2={𝑎} ෪2= ensemble vide
෤ et 𝐴
Algorithme de recherche de c.f.c
contenant un sommet x
Initialisation: Donner à x les signes (+) et (-)

(1) Si (xy) ∈ E tel que x est marqué par (+) → marquer y par (+)
(2) Si (yx) ∈ E tel que x est marqué par (-) → marquer y par (-)

→ L’ensemble des sommets marqués par (+) et (-) forme la c.f.c


contenant le sommet x
Application
Soit le graphe orienté suivant:

a b c g

f e d
Application
Donner à x les signes (+) et (-), on cherche la cfc du sommet a (x=a)
+
− a b c g

f e d
Application
Si (x,y) ∈ E tel que x est marqué par (+) → marquer y par (+)
Soit x=a
+ +
− a b c g

f e d
Application

+ + +
− a b c g

f e d
+ +
Application

+ + +
+
− a b c g

f e d
+ +
Application

+ + +
+
− a b c g

f e d
+ + +
Application

+ + +
+
− a b c g

f e d
+ + +
Application
Si (yx) ∈ E tel que x est marqué par (-) → marquer y par (-)

+ + +
+
− a b c g

f e d
+
+ +

Application

+ +
− − + +
a b c g

f e d
+
+ +

Application
Aucun arc entrant à b non encore marqué → On forme la cfc du sommet a:
𝑎={a,
෤ b, f}
+ +
− − + +
a b c g

f e d
+
+ +

Application
On cherche la cfc du sommet c → marquer c par (-)

+ + +
− − − +
a b c g

f e d
+
+ +

Application

+ + +
− − − +
a b c g

f e d
+ +
+
− −
Application

+ + +
− − − +
a b c g

f e d
+ + +
− − −
Application
Aucun arc entrant à e non encore marqué → On forme la cfc du sommet c:
𝑐={c,
ǁ d, e}
+ + +
− − − +
a b c g

f e d
+ + +
− − −
Application
On cherche la cfc du sommet g → marquer g par (-)

+ + + +
− − − −
a b c g

f e d
+ + +
− − −
Application
Aucun arc entrant à g non encore marqué → On forme la cfc du sommet g:
𝑔={g}

+ + + +
− − − −
a b c g

f e d
+ + +
− − −
Le graphe G admet 3 cfc:
▪𝑎={a,
෤ b, f}
▪ 𝑐={c,
ǁ d, e}
▪𝑔={g}

→ G n’est pas fortement connexe
Le graphe réduit de G est le suivant:

𝑎෤ 𝑔෤

𝑐ǁ
Exercice

Soit le graphe suivant:


chercher les cfc existantes

Vous aimerez peut-être aussi