Vous êtes sur la page 1sur 44

Introduction à la théorie des graphes

AZOUGAGHE Es-said

ESEF-Beni Mellal
MATH-S4

2022/2023
Introduction

Graphes non orientés

Définition
Un graphe non orienté G = (V, E) est la donnée :
D’un ensemble V dont les éléments sont appelés les sommets du
graphe.
D’un ensemble E dont les éléments sont des parties à un ou deux
éléments de V , et sont appelés les arêtes du graphe.

1/28

Introduction à la théorie des graphes


Introduction

Graphes non orientés

Définition
Un graphe non orienté G = (V, E) est la donnée :
D’un ensemble V dont les éléments sont appelés les sommets du
graphe.
D’un ensemble E dont les éléments sont des parties à un ou deux
éléments de V , et sont appelés les arêtes du graphe.

Exemple : Soit G le graphe non orienté tel que l’ensemble de ses sommets
est :
V = {A, B, C, D, E}
et l’ensemble de ses arêtes est :

E = {{A, B}, {B}, {B, C}, {B, D}, {C, D}, {E, C}}

On note par |E| = Card(E) = nombres d’éléments de l’ensemble E.


1/28

Introduction à la théorie des graphes


Introduction

Quelques exemples

Exemple : Reprenons le graphe G de l’exemple précédent. Sa


représentation sagittale va donc comporter cinq noeuds et six arêtes :

2/28

Introduction à la théorie des graphes


Introduction

Graphes non orientés pondéré

Définition
On appelle graphe étiqueté un graphe où toutes les arêtes portent
une étiquette.
Un graphe non orienté pondéré est un graphe dont toutes les
étiquettes sont des nombres réels positifs ou nuls. Ces nombres sont
les poids des liaisons.

3/28

Introduction à la théorie des graphes


Introduction

Graphes non orientés pondéré

Définition
On appelle graphe étiqueté un graphe où toutes les arêtes portent
une étiquette.
Un graphe non orienté pondéré est un graphe dont toutes les
étiquettes sont des nombres réels positifs ou nuls. Ces nombres sont
les poids des liaisons.

Exemple :

3/28

Introduction à la théorie des graphes


Introduction

Exercice
Trois professeurs P 1 , P 2 , P 3 devront donner lundi prochain un certain
nombre d’heures de cours à trois classes C1 , C2 , C3 :
P 1 doit donner 2 heures de cours à C1 et 1 heure à C2 ;
P 2 doit donner 1 heure de cours à C1 , 1 heure à C2 et 1 heure à C3 ;
P 3 doit donner 1 heure de cours à C1, 1 heure à C2 et 2 heures à C3.
Comment représenter cette situation par un graphe ?

4/28

Introduction à la théorie des graphes


Introduction

Exercice
Trois professeurs P 1 , P 2 , P 3 devront donner lundi prochain un certain
nombre d’heures de cours à trois classes C1 , C2 , C3 :
P 1 doit donner 2 heures de cours à C1 et 1 heure à C2 ;
P 2 doit donner 1 heure de cours à C1 , 1 heure à C2 et 1 heure à C3 ;
P 3 doit donner 1 heure de cours à C1, 1 heure à C2 et 2 heures à C3.
Comment représenter cette situation par un graphe ?

4/28

Introduction à la théorie des graphes


Introduction

Graphes orientés
Ce qui va différer avec les graphes orientés est que l’on va imposer une
direction sur les liaisons entre sommets.
Définition
Un graphe orienté G = (V, E) est la donnée :
D’un ensemble V dont les éléments sont appelés les sommets du graphe.
D’un ensemble E dont les éléments sont des couples d’éléments de V ,
et sont appelés les arcs du graphe.

5/28

Introduction à la théorie des graphes


Introduction

Graphes orientés
Ce qui va différer avec les graphes orientés est que l’on va imposer une
direction sur les liaisons entre sommets.
Définition
Un graphe orienté G = (V, E) est la donnée :
D’un ensemble V dont les éléments sont appelés les sommets du graphe.
D’un ensemble E dont les éléments sont des couples d’éléments de V ,
et sont appelés les arcs du graphe.
Exemple : Soit G le graphe orienté défini par V = A, B, C, D, E et
l’ensemble de ses arcs :
E = (A, A), (A, B), (B, D), (C, B), (C, D), (D, C), (E, A)

5/28

Introduction à la théorie des graphes


Introduction

Exercice
Construire un graphe orienté dont les sommets sont les entiers compris
entre 1 et 6 et dont les arcs i → j représentent la relation « i est un diviseur
de j».

6/28

Introduction à la théorie des graphes


Introduction

Exercice
Construire un graphe orienté dont les sommets sont les entiers compris
entre 1 et 6 et dont les arcs i → j représentent la relation « i est un diviseur
de j».

Remarque
De la même manière on peut définir un graphe orienté pondéré. 6/28

Introduction à la théorie des graphes


Introduction

Vocabulaire complémentaire

Définitions
Deux sommets reliés par une arête (arc) sont dits adjacents.
L’ordre d’un graphe est le nombre de ses sommets.
Une boucle (cycle) est une arête (arc) ne possédante qu’un seul
élément.
Un graphe ne comportant pas de boucles est un graphe simple.
En présence d’un arc de la forme (x, y), on dit que y est un successeur
(extrémité) de x et que x est un prédécesseur (origine) de y.

7/28

Introduction à la théorie des graphes


Introduction

Autres définitions

Degré d’un sommet


Cas des graphes non orientés

Définition (Degré)
Soit G = (V, E) un graphe non orienté et x ∈ V l’un de ses sommets.
On appelle degré de x, noté d(x), le nombre d’arêtes ayant x pour
extrémité, une boucle étant comptée deux fois.

d(A) = 1, d(B) = 5, d(C) = 3, d(D) = 2, d(E) = 1


8/28

Introduction à la théorie des graphes


Introduction

Autres définitions
Degré d’un sommet
Cas des graphes orientés

Définition (Degré)
Soit G = (V, E) un graphe orienté et x ∈ V l’un de ses sommets.
On appelle degré sortant de x, noté d+ (x), le nombre d’arcs ayant x pour
origine.
On appelle degré entrant de x, noté d− (x), le nombre d’arcs ayant x pour
extrémité.
On appelle degré de x, noté d(x), le nombre d’arcs ayant x pour origine ou
extrémité. On a naturellement d(x) = d+ (x) + d− (x).

9/28

Introduction à la théorie des graphes


Introduction

Quelques propriétés

Lemme : handshake lemma


Soit G = (V, E) un graphe non orienté. On a
X
d(x) = 2 × |E|.
x∈V

10/28

Introduction à la théorie des graphes


Introduction

Quelques propriétés

Lemme : handshake lemma


Soit G = (V, E) un graphe non orienté. On a
X
d(x) = 2 × |E|.
x∈V

Lemme : handshake lemma


Soit G = (V, E) un graphe orienté. On a
X + X −
d (x) = d (x) = |E|.
x∈V x∈V

10/28

Introduction à la théorie des graphes


Introduction

Exercice

Peut-on avoir un graphe non orienté d’ordre 4 (resp. 5 et 6) dont tous les
sommets sont de degré trois ?

11/28

Introduction à la théorie des graphes


Introduction

Exercice

Peut-on avoir un graphe non orienté d’ordre 4 (resp. 5 et 6) dont tous les
sommets sont de degré trois ?
Réponse :
4 : OUI
5 : NON
6 : OUI

11/28

Introduction à la théorie des graphes


Introduction

Exercices

On souhaite organiser un tournoi de handball entre 7 équipes. Pour des


raisons d’organisation, on doit limiter le nombre de matchs.
1 Est-il possible de faire jouer à chaque équipe exactement 5 matchs ?

12/28

Introduction à la théorie des graphes


Introduction

Exercices

On souhaite organiser un tournoi de handball entre 7 équipes. Pour des


raisons d’organisation, on doit limiter le nombre de matchs.
1 Est-il possible de faire jouer à chaque équipe exactement 5 matchs ?
Ce problème se modélise par un graphe non orienté dont les sommets
correspondent aux équipes, et les arêtes aux matchs. La question se
ramène donc à l’existence d’un graphe non orienté à 7 sommets dont
tous les sommets sont de degré 5. Or un tel graphe ne peut exister
d’après le lemme des poignées de main.
7
X 35
d(xk ) = 2|E| → 35 = 2 × |E| → |E| = ∈
/N
2
k=1

12/28

Introduction à la théorie des graphes


Introduction

Exercices

1 Est-il possible de faire jouer à chaque équipe exactement 4 matchs ?

13/28

Introduction à la théorie des graphes


Introduction

Exercices

1 Est-il possible de faire jouer à chaque équipe exactement 4 matchs ?


Cette fois le lemme n’apporte alors aucune contre-indication. Pour ce
faire, il faut en exhiber un, comme celui-ci :

13/28

Introduction à la théorie des graphes


Introduction

Représentations des graphes


Considérons un graphe orienté ou non d’ordre n dont on a numéroté les n
sommets.
Définition (Matrice d’adjacence)
On peut le représenter par sa matrice d’adjacence, qui est une matrice
carrée d’ordre n, Dans le cas non orienté, le coefficient de cette matrice
situé à l’intersection de la i-ème ligne et de la j-ème colonne vaut
(
1 si les i-ème et j-ème sommets sont adjacents
aij =
0 sinon

Dans le cas orienté, le coefficient de cette matrice situé à l’intersection de la


i-ème ligne et de la j-ème colonne vaut
(
1 s’il existe un arc de i vers j
aij =
0 sinon

N.B Dans le cas d’un graphe pondéré en remplace les 1 par le poids
correspondant. 14/28

Introduction à la théorie des graphes


Introduction

Matrice d’adjacence

15/28

Introduction à la théorie des graphes


Introduction

Exercice
1 Donner la matrice d’adjacence du graphe (a)
2 Tracer le graphe équivalent à la matrice M en (b)

16/28

Introduction à la théorie des graphes


Introduction

Exercice
1 Donner la matrice d’adjacence du graphe (a)
2 Tracer le graphe équivalent à la matrice M en (b)

16/28

Introduction à la théorie des graphes


Introduction

Nombre de chemins de longueur donnée

Propriété (Nombre de chemins de longueur donnée)


Soit G = (V, E) un graphe non orienté (resp. orienté) et A sa matrice
d’adjacence. Soit p un entier naturel non nul.
Alors, le coefficient situé à l’intersection de la i-ème ligne et de la j-ème
colonne de Ap est égal au nombre de chemins de longueur p, ayant
pour origine le i-ème sommet et pour extrémité le j-ème.

17/28

Introduction à la théorie des graphes


Introduction

Exemple

Sa matrice d’adjacence est


 
0 1 0 0 0
1 1 1 1 0
 
0
M = 1 0 1 1
0 1 1 0 0
0 0 1 0 0
On montre facilement que
   
1 1 1 1 0 1 4 2 2 1
1 4 2 2 1 4 9 7 6 2
M2 =  M3 = 
   
1 2 3 1 0 2 7 3 5 3
1 2 1 2 1 2 6 5 3 1
0 1 0 1 1 1 2 3 1 0 18/28

Introduction à la théorie des graphes


Introduction

Exercices

Un parcours de santé est aménagé pour les sportifs. Il est composé de


chemins à sens unique et de quatre points de repères tous distants de 500
mètres :

1 Exprimer la matrice d’adjacence de ce graphe.


2 Combien de chemins différents de 1,5 kilomètres ; 2 kilomètres peut-on
effectuer de A vers D ? Les déterminer.

19/28

Introduction à la théorie des graphes


Introduction

PARCOURS EN LARGEUR
Le parcours en largeur (ou BFS, pour Breadth-First Search en anglais)
permet le parcours d’un graphe à partir d’un sommet de départ (origine) de
la manière suivante :
"on commence par explorer le nœud source, puis ses successeurs, puis les
successeurs non explorés des successeurs, etc. "
Exemple :

20/28

Introduction à la théorie des graphes


Introduction

PARCOURS EN LARGEUR
Le parcours en largeur (ou BFS, pour Breadth-First Search en anglais)
permet le parcours d’un graphe à partir d’un sommet de départ (origine) de
la manière suivante :
"on commence par explorer le nœud source, puis ses successeurs, puis les
successeurs non explorés des successeurs, etc. "
Exemple :

A-B-D-C-E-F est un parcours en largeur à partir de A.


20/28
G-C-F-E-B est un parcours en largeur à partir de G.

Introduction à la théorie des graphes


Introduction

Exercice

Déterminer un parcours en largeur pour les deux graphes ci-dessous à partir


du sommet A.

21/28

Introduction à la théorie des graphes


Introduction

Exercice

Déterminer un parcours en largeur pour les deux graphes ci-dessous à partir


du sommet A.

Réponse :
(a) : A-B-F-C-D-G-H-E-I
(b) : A-B-C-D-E-F

21/28

Introduction à la théorie des graphes


Introduction

PARCOURS EN PROFONDEUR

Le parcours d’un graphe en profondeur (DFS) se réalise en partant d’un


sommet v à visiter, et en parcourant d’abord un de ses voisins u et
tous ses “descendants” (c’est-à-dire tous les sommets accessibles à partir
de u) avant de traiter le voisin suivant de v.
Exemple :

22/28

Introduction à la théorie des graphes


Introduction

PARCOURS EN PROFONDEUR

Le parcours d’un graphe en profondeur (DFS) se réalise en partant d’un


sommet v à visiter, et en parcourant d’abord un de ses voisins u et
tous ses “descendants” (c’est-à-dire tous les sommets accessibles à partir
de u) avant de traiter le voisin suivant de v.
Exemple :

A-B-C-F-E-D est un parcours en profondeur à partir de A.


A-D-E-B- C-F est un autre parcours en profondeur à partir de A.
22/28

Introduction à la théorie des graphes


Introduction

Exercice

Déterminer un parcours en profondeur pour les deux graphes ci-dessous à


partir du sommet A.

23/28

Introduction à la théorie des graphes


Introduction

Exercice

Déterminer un parcours en profondeur pour les deux graphes ci-dessous à


partir du sommet A.

Réponse :
(a) : A-B-C-E-I-H-F-G-D
(b) : A-D-E-F-C-B

23/28

Introduction à la théorie des graphes


Introduction

Graphes eulériens
La ville de Königsberg est traversée par un fleuve, le Pregel. Celui-ci
délimite quatre îles, et sept ponts relient entre elles . Ils sont représentés en
rouge sur la figure ci-dessous :

La question est la suivante :


peut-on effectuer un parcours dans la ville de Königsberg en 24/28
empruntant ces septs ponts une et une seule fois ?

Introduction à la théorie des graphes


Introduction

Graphes eulériens

Ce problème peut alors être modélisé par un graphe non orienté, dont les
sommets sont les rives et les îles, et dont les arêtes sont les sept ponts :

Reformulons maintenant notre question :


peut-on trouver une chaîne passant une et une seule fois par
toutes les arêtes de ce graphe ? 25/28

Introduction à la théorie des graphes


Introduction

Graphes eulériens

Définitions
Soit G = (V, E) un graphe non orienté.
Une chaîne eulérienne de G est une chaîne simple passant par toutes
les arêtes de G, c’est-à-dire une chaîne passant une et une seule fois par
toutes les arêtes de G.
Un cycle eulérien est une chaîne eulérienne ayant les mêmes extrémités.
Un graphe eulérien est un graphe possédant un cycle eulérien.

26/28

Introduction à la théorie des graphes


Introduction

Graphes eulériens
Théorème
- Un graphe admet une chaîne eulérienne s’il a zéro ou deux sommets de
degré impair.
Un graphe est eulérien si et seulement si tous ses sommets sont de
degré pair.
Application :
- Les 4 sommets du graphe de Koninberg ont des degrés impairs, il n’existe
donc ni cycle eulérien, ni chaîne eulérienne. Donc pas de solution.
- Problème du dessin d’enveloppes(ouvert et fermé).

27/28

Introduction à la théorie des graphes


Introduction

Graphe hamiltonien
Définition
Chaîne hamiltonienne : passant une seule fois par tous les sommets
d’un graphe.
Cycle hamiltonien : passant une seule fois par tous les sommets d’un
graphe et revenant au sommet de depart.
Graphe hamiltonien : Graphe qui possède au moins un cycle
hamiltonien.
Exemple

28/28

Introduction à la théorie des graphes


Introduction

Graphe hamiltonien
Définition
Chaîne hamiltonienne : passant une seule fois par tous les sommets
d’un graphe.
Cycle hamiltonien : passant une seule fois par tous les sommets d’un
graphe et revenant au sommet de depart.
Graphe hamiltonien : Graphe qui possède au moins un cycle
hamiltonien.
Exemple

le circuit 2 → 0 → 4 → 3 → 1 → 2 est circuit hamiltonien, donc ce graphe 28/28

est hamiltonien.
Introduction à la théorie des graphes

Vous aimerez peut-être aussi