Vous êtes sur la page 1sur 16

École Supérieure Privée d’Ingénierie et de Technologies

Mathématiques de base I
PEG 5 : Introduction à la théorie des graphes

Niveau : 1ère année Année universitaire : 2021-2022

I Activité introductive
Le problème des sept ponts de Königsberg

Figure 1 – Plan de la ville de Königsberg (Kaliningrad d’aujourd’hui)

La ville de Königsberg est une ville bâtie autour de la rivière Pregel. Comme montré dans la figure
1, cette dernière divise la ville en quatre rives, dont deux ı̂lots, connectées entre elles par sept ponts.
Sachant qu’on ne peut traverser la rivière que via les ponts, le problème de la ville de Königsberg
consistait à trouver une promenade dans ses rues tout en commençant par un point de départ donné
et y revenir en passant une et une seule fois par chaque pont. Comment en faire ?

Ce problème est resté irrésolu jusqu’à 1735, le mathématicien suisse Leonhard Euler a trouvé la
solution. En représentant la ville de Königsberg par le schéma illustré dans la figure 2, Euler a
modélisé les différentes rives de la ville en tant que noeuds, nommés A, B, C et D, et il les a inter-
connecté par des liens représentant les ponts, nommés a, b, c, d, e, f et g. Il a ensuite associé à ce
schéma le graphe donné par la figure 3.

1
Figure 2 – Extrait du livre ” Solutio problematis ad geometriam situs pertinentis” de Leonhard
Euler, 1759.

C
g
c d

A e D

a b
f
B

Figure 3 – Représentation graphique de la ville de de Königsberg

Ainsi, Euler a transformé le problème qu’on peut l’appeler ”touristique” au problème mathématique
suivant : à partir d’un nœud donné, peut-on y revenir en parcourant les autres nœuds et en passant
par tous les liens une seule fois ?

La solution d’Euler à ce problème était simplement qu’il n’y a pas de solution.

Ce qui est fascinant dans cette histoire ce n’est pas la solution en elle même mais c’est l’analyse
qu’Euler a utilisé pour y arriver. Il s’agit de la théorie des graphes. La théorie des graphes qu’Euler
est à l’origine est devenue maintenant une théorie derrière la résolution de multiples problèmes liés
à la notion de réseau (urbain, social, de télécommunication, ...). D’où vient l’intérêt de l’étudier,
de la comprendre, et de l’appliquer pour résoudre certains problèmes : c’est l’objectif de ce cours.

Á l’issu de ce cours, l’étudiant sera appelé à :

1. Distinguer entre un graphe orienté et non-orienté.


2. Déterminer le degré d’un sommet d’un graphe orienté et non-orienté.

2
3. Déterminer des chaı̂nes (resp. des chemins) d’un graphe non-orienté (resp. d’un graphe
orienté).
4. Manipuler les différentes formes de graphes.
5. Représenter matriciellement un graphe.
6. Résoudre certains problèmes en les modélisant par des graphes.

II Notions de base
II.1 Graphe non-orienté

Définition 1 Un graphe non-orienté est défini par deux ensembles disjoints : un ensemble S
N
dont les éléments {s1 , s2 , · · · , sn }, n ∈ ∗ , sont appelés des sommets et un ensemble E dont les
N
éléments {e1 , e2 , · · · , ep }, p ∈ , sont appelés des arêtes. Un graphe est noté par G = (S, E).
Une arête e est définie par ses extrémités si et sj , 1 ≤ i, j ≤ n,
désignant les deux sommets qu’elle relie, comme illustré dans la
figure ci-contre. On note e = (si , sj ). si e sj

Les sommets si et sj sont dits adjacents dans G.


si
Les arêtes e1 = (si , sj ) et e2 = (sj , sk ), 1 ≤ i, j, k ≤ n sont dites e1
adjacentes si elles ont un sommet en commun : comme illustré sj
dans l’exemple ci-contre, e2
sk

L’arête e = (si , si ), 1 ≤ i, j ≤ n, ci-contre, forme une boucle. si e

Un graphe non-orienté est dit :


— Simple s’il ne contient ni de boucles ni de liens multiples entre n’importe quels deux de
ses sommets.
— Un multigraphe s’il n’admet pas de boucles mais peut en admettre des liens multiples.
— Un pseudographe s’il contient des liens multiples et/ou des boucles.
Application 1 Déterminer le nombre de sommets et d’arêtes de chacun des graphes suivants
et préciser s’il s’agit d’un graphe simple, d’un mutligraphe, ou d’un pseudographe :

s4 s4 s4
s5 s5 s5
s3 s3 s3

s1 s2 s1 s2 s1 s2

G1 G2 G3

3
n(n−1)
Propriété 1 Un graphe simple formé de n-sommets. contient au plus 2 arêtes.

II.2 Graphe Complet

Définition 2 Un graphe non-orienté est dit complet s’il est simple et dont chacun de ses sommets
N
est relié à tous les autres sommets. On note par Kn , n ∈ ∗ , le graphe complet à n sommets.

s2 s2
s2
s1 s3
s1 s1 s2 s1 s3
s1 s3 s5 s4
s4

Exemple 1 (Graphes complets K1 , K2 , K3 , K4 et K5 )

n(n−1)
Remarque 1 Un Graphe complet à n sommets est un graphe simple qui contient 2 arêtes

II.3 Graphe Cn

Définition 3 Un graphe non-orienté Cn , n ≥ 3, est un graphe simple dont tous les sommets sont
reliés entre eux en formant une suite d’arêtes consécutives avec les deux sommets extrémités sont
identiques.

s1 s1
s2 s1 s2 s2 s2
s6
s5 s3
s3
s1 s3 s4 s3 s5
s4 s4

Exemple 2 (Graphes C3 , C4 , C5 et C6 )

Remarque 2 Un graphe non-orienté Cn , n ≥ 3, est un graphe simple qui contient exactement


n arêtes

4
II.4 Graphe biparti

Définition 4 Un graphe simple non-orienté est dit biparti si ses sommets peuvent être divisés
en deux ensembles, de sorte que :
i) Les sommets d’un même ensemble ne sont pas reliés entre eux,
ii) Toutes les arêtes du graphe relient un sommet du premier ensemble à au moins un sommet
du deuxième ensemble.

D E

A B C

Exemple 3 (Graphe biparti)

Application 2 Montrer que le graphe ci-dessous est biparti.

E F

A B

D C

H G

Définition 5 Un graphe simple non-orienté biparti complet, noté Kn,m est un graphe biparti
composé de deux ensembles dont chacun des n sommets du premier est relié à tous les m sommets
du deuxième.

E F G

A B C D

Exemple 4 (Graphe biparti complet K3,4 )

Remarque 3 Un Graphe biparti complet Kn,m est un graphe simple qui contient n × m arêtes

5
II.5 Degré d’un sommet

Définition 6 Le degré d’un sommet s d’un graphe non-orienté, noté d(s), est le nombre d’arêtes
incidentes à s.

Attention ! Une boucle sur un sommet compte double.

Application 3 Déterminer le degré de chaque sommet du graphe suivant :

E D

F C

A B

Théorème 1 (Théorème des poignées de mains) La somme des degrés des sommets d’un
graphe non-orienté G = (S, E) est égale à deux fois le nombre de ses arêtes :
X
d(si ) = 2card(E), 1 ≤ i ≤ card(S).
si ∈S

Lemme 1 Dans un graphe simple, le nombre de sommet de degré impair est pair.

Application 4 Est-il possible de relier 15 ordinateurs de sorte que chaque appareil soit relié avec
exactement trois autres ?

II.6 Graphe orienté

Définition 7 En donnant un sens aux arêtes d’un graphe non-orienté G = (S, E), on obtient un
N
graphe orienté. Les arêtes de G sont appelées des arcs. Dans ce cas, un arc e = (si , sj ) ,i, j ∈ ∗
est défini par son extrémité initiale si et de son extrémité finale sj .

A B

Exemple 5 (Graphe orienté)

6
Définition 8 (Degré d’un sommet d’un graphe orienté) Le degré d’un sommet s, d’un
graphe orienté est donné par :
d(s) = d+ (s) + d− (s),
où d+ (s) (resp. d− (s)) est le degré extérieur du sommet s, désignant le nombre d’arcs ayant s
comme extrémité initiale (resp. est le degré intérieur du sommet s, désignant le nombre d’arcs
ayant s comme extrémité finale).

Remarque 4 Les définitions d’un graphe simple orienté et d’un graphe complet orienté sont légèrement
différentes : une arête d’un graphe non-orienté est considérée comme deux arcs de sens différents
dans un graphe orienté.

A B

Exemple 6 (Graphe orienté simple et complet)

III Représentation matricielle d’un graphe


III.1 Cas d’un graphe non-orienté

Définition 9 (Matrice d’adjacence d’un graphe non-orienté) Soit G = (S, E) un graphe


simple non-orienté avec card(S) = n. La matrice d’adjacence de G, notée par A(G) = (ai,j )1≤i,j≤n ,
est définie comme suit :

1, si (si , sj ) est une arête.
ai,j = ∀1 ≤ i, j ≤ n.
0, sinon.

Exemple 7 La matrice d’adjacence associée au graphe G ci-dessous :

E D  
0 1 0 0 0
C  1 0 1 1 1 
 
est A(G) =  0 1 0 1 1 
B
 
 0 1 1 0 1 
0 1 1 1 0
A
L’ordre des sommets suivi est ABCDE.

Propriétés 1 La matrice d’adjacence d’un graphe simple non-orienté est :


— carrée.
— symétrique.
— de diagonale nulle.
— unique.

7
Remarque 5 (Matrice d’adjacence d’un multigraphe ou d’un pseudographe) Dans le cas
d’un multigraphe ou d’un pseudographe G = (S, E), A(G) est définie par :

ai,j =

p, s’il existe p arêtes entre les sommets si et sj , p ∈ N∗. ∀1 ≤ i, j ≤ card(S)
0, sinon.

Dans ce cas, A(G) est aussi carrée, symétrique, unique mais pas forcément
de diagonale nulle.

Application 5 Donner le graphe G dont la matrice d’adjacence est représentée ci-dessous :


 
0 3 0 2
 3 0 0 1 
A(G) =   0 0

1 2 
2 1 2 0

III.2 Cas d’un graphe orienté

Définition 10 Soit G = (S, E) un graphe orienté avec card(S) = n. La matrice d’adjacence de G,


A(G) = (ai,j )i,j∈N∗ est définie comme suit :

ai,j =

N
p, s’il existe p arcs de si à sj , p ∈ ∗ .
∀1 ≤ i, j ≤ n.
0, sinon.

Remarque 6 Dans le cas où le graphe orienté est simple, le nombre p d’arcs reliant deux sommets,
sera égal à 1.

La matrice d’adjacence d’un graphe orienté n’est pas forcément symétrique


et de diagonale nulle.

Application 6 Déterminer les matrices d’adjacence des deux graphes suivants (l’ordre des som-
mets à suivre est ABCDE) :

C D E
C D E

A B
A B

8
III.3 Dénombrement de chemins de longueur fixée

Définition 11 (Chaı̂ne / Chemin) On appelle chaı̂ne (resp. chemin), une suite de sommets
reliés par des arêtes (resp. arcs) dans un graphe non orienté (resp. orienté).

Une chaı̂ne (resp. un chemin) est simple si chaque arête (resp. arc) apparaı̂t au plus une fois.

On appelle longueur d’une chaı̂ne (resp. d’un chemin), le nombre d’arêtes (resp. arcs) qui le
composent.

On appelle cycle (resp. circuit) toute chaı̂ne (resp. chemin) simple fermée : le sommet de départ
et de fin sont les mêmes.

Exemple 8

1. La liste de sommets C,B,D,E,D est une chaı̂ne de longueur 4

C D E

A B

" La liste de sommets A, C, B, D, A est un cycle.


2. La liste de sommets C,B,D,E,B est un chemin de longueur 4.

C D E

A B

" La liste de sommets A, C, B, D, A est un circuit.

Théorème 2 Soit G = {S, E} un graphe orienté (resp. non-orienté) avec une matrice d’adjacence
A(G). Le nombre de chemins (resp. de chaı̂nes) différents de longueur r de si à sj , 1 ≤ i, j ≤ n, où
(r) (r)
n = card(S) et r est un nombre entier non nul, est égal à l’élément ai,j de A(G)r = (ai,j )1≤i,j≤n .

9
Application 7 On considère le graphe G de matrice d’adjacence :
 
0 1 0 1
 0 0 1 1 
A(G) =  0 0

0 0 
0 0 1 0

L’ordre des sommets suivi est A B C D.


1. Tracer le graphe assosié au matrice A(G)
2. Le graphre G possède t-il un circuit ?
3. Calculer A2 (G), A3 (G) et A4 (G).
4. Déduire le nombre de chemins de A à C qui sont de longueur : 2, 3 et 4. Trouver tous ces
chemins ?

IV Graphe connexe
IV.1 Cas d’un graphe non-orienté

Définition 12 Un graphe non-orienté est connexe s’il y a une chaı̂ne entre n’importe quelle
paire de sommets distincts du graphe.

Exemple 9 Le graphe G est connexe par contre le graphe H ne l’est pas.

f g e f

c d c d

a b a b

G H

Définition 13 Un graphe qui n’est pas connexe est l’union de deux ou de plusieurs sous-graphes
connexes, chaque paire de ceux-ci n’ayant pas de sommet en commun. Les sous-graphes connexes
disjoints sont les composantes connexes du graphe.

Exemple 10 Le graphe H de l’exemple 9 est composé de deux composantes connexes. La première


contient les sommets a, b et c, la deuxième contient les sommets d, e et f .

10
Application 8 Dans les deux graphes suivants, déterminer le nombre de composantes connexes :

g j e
i h k l
d a

a b c d e f c b

Propriétés 2 Soit G un graphe simple formé de n sommets.


1. Si G est connexe, alors il contient au moins (n − 1) arêtes.
(n−1)(n−2)
2. Si G contient au moins 2 + 1 arêtes, alors il est connexe.

Définition 14 Si le retrait d’un sommet et de toutes les arêtes incidentes à ce dernier conduit à
former un sous-graphe avec plus de composantes connexes que dans le graphe initial, alors ce sommet
est appelé un point de coupure. Le retrait d’un point de coupure à partir d’un graphe connexe
produit un sous-graphe qui n’est pas connexe. De façon similaire, une arête dont le retrait produit
un graphe avec plus de composantes connexes que dans le graphe initial est appelée un séparateur.

Exemple 11 Les sommets b, c et e représentent des points de coupure du graphe ci-dessous alors
que les arêtes (a, b) et (c, e) représentent des séparateurs de ce dernier.

a d f g

b c e h

Application 9 Trouver les points de coupure et les séparateurs des graphes F et G, représentés
ci-dessous :

a d e a f

b c f b c d e

F G

11
IV.2 Cas d’un graphe orienté

Définition 15 Un graphe orienté G = {S, E} est fortement connexe s’il existe un chemin du
sommet si au sommet sj et du sommet sj au sommet si , 1 ≤ i, j ≤ card(S), quels que soient les
sommets si et sj du graphe.

Un graphe orienté est faiblement connexe s’il y a une chaı̂ne entre n’importe quels deux sommets
du graphe si l’on ne considère plus l’orientation des arcs.

Exemple 12 Le graphe G est fortement connexe par contre le graphe H est faiblement connexe.

a b a b

c c

e d e d

G H
Remarque 7
1. Un graphe orienté fortement connexe est un graphe orienté faiblement connexe.
2. Un graphe orienté faiblement connexe est un graphe connexe si l’on ne considère pas l’orien-
tation des arcs.

Application 10 Soit G un graphe orienté simple de nombre de sommets n = 4


1. Trouver le nombre minimum d’arcs pour que G soit connexe.
2. Tracer un tel graphe, que peut-on conclure ?

Propriété 2 Un graphe simple à n sommets où le degré de chacun d’eux est supérieur ou égal à
n−1
est connexe.
2

V Graphe planaire
Dans cette partie du cours, nous ne considérons que des graphes non-orientés simples.

Définition 16 Un graphe est planaire s’il peut être tracé dans un plan sans qu’aucune de ses
arêtes en croise une autre. Un tel tracé est appelé une représentation planaire du graphe.

Exemple 13 Le graphe K4 est un graphe planaire.

12
c d

c d

a b

a b

Définition 17 Soit G un graphe planaire. Une face F de G est une région maximale du plan
délimitée par un ensemble d’arêtes de G, et qui n’en contient aucune. Le degré de F , noté deg(F),
est le nombre d’arêtes de G qui bordent F .

Exemple 14 Dans la représentation planaire précédente du graphe de K4 , nous avons exactement


4 faces, numérotées de F1 à F4 comme suit :

F3

c d
F2
F4
F1
a b

Toutes les faces sont bordées exactement par 3 arêtes :

deg(F1 ) = deg(F2 ) = deg(F3 ) = deg(F4 ) = 3

Application 11 Pour chacun des graphes suivants, déterminer s’il est planaire. Si c’est le cas,
donner sa représentation planaire, le nombre de faces, le degré de chaque face ainsi que la somme
des degrés de toutes les faces.
a b c
a b

c d e
d e f
G1
G2

13
1ère propriété : Soit G un graphe simple planaire connexe avec s ≥ 3, alors le nombre de sommets
s et le nombre d’arêtes a de G vérifient la relation suivante :

a ≤ 3s − 6

2ème propriété : Soit G un graphe simple planaire connexe sans triangles (graphes C3 ) avec
s ≥ 4, alors le nombre de sommets s et le nombre d’arêtes a de G vérifient la relation suivante :

a ≤ 2s − 4
Application 12
1. Utiliser la 1ère propriété pour démontrer que K5 n’est pas un graphe planaire.
2. Utiliser la 2ème propriété pour démontrer que K3,3 n’est pas un graphe planaire.

Théorème 3 Soit G un graphe connexe et planaire et a le nombre d’arêtes de G, alors ;


X
deg(F ) = 2a,
F ∈f aces(G)

où f aces(G) désigne l’ensemble des faces de G.


Exemple 15 Dans l’exemple du graphe K4 on a deg(F1 ) = deg(F2 ) = deg(F3 ) = deg(F4 ) = 3
et le nombre d’arêtes a = 6. Ce qui donne bien
deg(F1 ) + deg(F2 ) + deg(F3 ) + deg(F4 ) = 3 × 4 = 6 × 2

Théorème 4 (Théorème d’Euler) Soit G un graphe planaire connexe. Soit s le nombre de som-
mets, a le nombre d’arêtes et f le nombre de faces. Alors

s−a+f =2
Exemple 16 Soit le graphe G suivant, connexe et planaire.

s6 s7

s5

s3 s4

s1 s2

Pour ce graphe, s = 7, a = 8 et f = 3 ce qui donne bien : s − a + f = 7 − 8 + 3 = 2


Application 13 On considère un graphe planaire connexe comprenant 20 sommets de degré 3.
Déterminer le nombre de faces de ce graphe.

14
VI Graphe eulérien
Les définitions suivantes sont valables pour les graphes non-orientés et connexes.

Définition 18 (Graphe semi-eulérien) Un graphe G est dit semi-eulérien, s’il possède une
chaı̂ne qui passe une fois et une seule par chacune de ses arêtes, dans ce cas on dit que G possède
une chaı̂ne eulérienne.

Exemple 17

A B

F C

E D

(F − A − B − E − D − B − C − D) est une chaine eulérienne.

Définition 19 (Graphe eulérien) Un graphe G est dit eulérien, s’il possède un cycle qui passe
une fois et une seule par chacune de ses arêtes.
Dans ce cas on dit que G possède un cycle eulérien.

Exemple 18

E B

D C

(A − C − E − B − D − A − B − C − D − E − A) est un cycle eulérien

Remarque 8 Plus simplement, on peut dire qu’un graphe est eulérien (ou semi-eulérien) s’il
est possible de dessiner le graphe sans lever le crayon et sans passer deux fois par la même arête.

15
Théorème 5 (Théorème d’Euler) Un graphe connexe est eulérien si et seulement s’il ne
possède que des sommets de degré pair.

Théorème 6 (Existence d’une chaı̂ne eulérienne) Un graphe connexe admet une chaı̂ne
eulérienne si et seulement si le nombre de sommets de degré impair est égale à 0 ou 2.

Application 14 À Kaliningrad, il y a aujourd’hui deux ponts de plus que les sept qui ont été
construits au XV IIIe siècle. Ces deux nouveaux ponts font la jonction respectivement entre les
régions B et C et les régions B et D de la figure 2 et 3.
Est-il possible à un promeneur de traverser les neuf ponts de Kaliningrad une fois seulement et de
revenir à son point de départ ?

Remarque 9 Les définitions précédentes sont valables aussi bien dans le cas de graphe orienté
que non orienté.

VII Application
Problème 1 Le réseau de communication informatique (Serveur – Terminaux), représenté ci-
dessous, doit être sécurisé par un cycle de secours en cas de défaillance de liens. Déterminer le
nombre minimum de liens qui faut ajouter afin de pouvoir pallier à une rupture d’un lien initial
quelconque dans le réseau. Préciser le/les liens qu’il s’agit ajouter.

16

Vous aimerez peut-être aussi