Académique Documents
Professionnel Documents
Culture Documents
opérationnelle
Pr.
Abdessamad
Kamouss
149
Introduction et
exemples
Définition d’un
graphe
Représentation
d’un graphe par
Recherche Opérationnelle
une matrice
R.O.
Graphe eulérien
et graphe
hamiltonien
Partie 4: Théorie des graphes
Cycle Ingénieur
ENSAM Casablanca
Introduction
Recherche
opérationnelle
Pr.
Abdessamad Théorie des graphes
Kamouss
150
La théorie des graphes étudie des structures discrètes (en forme
Introduction et
exemples
de «réseaux») caractérisées par la donnée de deux ensembles
Définition d’un
d’objets :
graphe
L’ensemble des sommets ou noeuds (noté V , en anglais,
Représentation
d’un graphe par nodes), vus comme les agents, les personnes, les sociétés,
une matrice
les services, les villes, les ordinateurs/routeurs, les tâches,
Graphe eulérien
et graphe etc....
hamiltonien
L’ensemble des arêtes ou arcs (noté E, en anglais, edges),
qui symbolisent une connexion, une route, une liaison, une
intéraction entre les sommets, etc...
Introduction suite
Recherche
opérationnelle
Pr.
Abdessamad
Kamouss
151
Théorie des graphes
Introduction et
exemples
Dans la modélisation, il s’agit de faire aussi attention si les
Définition d’un
graphe connexions entre les sommets sont en réalité des :
Représentation arêtes symbolisant une relation symétrique,
d’un graphe par
une matrice ou
Graphe eulérien
et graphe des arcs pour lesquels le sens est particulièrement important
hamiltonien
(nous parlons d’orientation).
Introduction suite
Recherche
opérationnelle
Pr.
Abdessamad Nous pouvons alors distinguer deux familles de graphes :
Kamouss
152 les graphes dirigés (en anglais, directed graphs ou digraph) ;
Introduction et
exemples
les graphes symétriques (en anglais, undirected graphs).
Définition d’un
graphe
Représentation
d’un graphe par
une matrice
Graphe eulérien
et graphe
hamiltonien
Utilisations des graphes
Recherche
opérationnelle
Projet de construction d’une maison
Pr.
Abdessamad
Kamouss a) Faire les fondations + Sécher : 15 semaines ;
153
b) Monter les murs : 3 semaines ;
Introduction et
exemples c) Poser le toit : 4 semaines ;
Définition d’un
graphe d) Monter la menuiserie : 4 semaines ;
Représentation
d’un graphe par
e) Poser l’électricité : 2 semaines ;
une matrice
f) Plâtrer + séchage plâtres : 5 semaines ;
Graphe eulérien
et graphe
hamiltonien
g) Carreler, poser moquettes : 3 semaines ;
h) Tapisser et peindre : 2 semaines ;
i) Crépir : 1 semaine ;
j) Aménager l’extérieur : 3 semaines ;
k) Fini.
Utilisations des graphes
Recherche
opérationnelle
Pr.
Abdessamad
Kamouss
154
Le graphe représentant les étapes de construction de la maison
Introduction et
exemples
Définition d’un
graphe
Représentation
d’un graphe par
une matrice
Graphe eulérien
et graphe
hamiltonien
Utilisations des graphes
Recherche
opérationnelle
Pr. Les graphes sont des outils qui servent à modéliser de nombreux
Abdessamad
Kamouss problèmes :
155
Introduction et
Exemple (Le problème d’Euler)
exemples
Définition d’un
graphe
Représentation
A C
d’un graphe par
une matrice
Graphe eulérien
et graphe
hamiltonien
B D
Recherche
opérationnelle Exemple ( Graphe du Web)
Pr.
Abdessamad
Kamouss
156
Introduction et
exemples
Définition d’un
graphe
Représentation
d’un graphe par
une matrice
Graphe eulérien
et graphe
hamiltonien
Utilisations des graphes
Recherche
opérationnelle
Pr.
Abdessamad
Exemple ( Graphe d’un réseau routier)
Kamouss
157
Introduction et
exemples
Définition d’un
graphe
Représentation
d’un graphe par
une matrice
Graphe eulérien
et graphe
hamiltonien
Recherche
opérationnelle
Exemple (Réseaux informatiques)
Pr.
Abdessamad
Kamouss
158
Introduction et
exemples
Définition d’un
graphe
Représentation
d’un graphe par
une matrice
Graphe eulérien
et graphe
hamiltonien
Recherche
opérationnelle
Pr.
Abdessamad
Kamouss
Exemple (Schéma électronique)
159
Introduction et
exemples
Définition d’un
graphe
Représentation
d’un graphe par
une matrice
Graphe eulérien
et graphe
hamiltonien
Recherche
opérationnelle
Pr.
Abdessamad
Kamouss
160
Exemple (Logistique)
Introduction et
exemples
Définition d’un
graphe
Représentation
d’un graphe par
une matrice
Graphe eulérien
et graphe
hamiltonien
Recherche
opérationnelle
Pr.
Abdessamad Exemple (Réseaux sociaux)
Kamouss
161
Introduction et
exemples
Définition d’un
graphe
Représentation
d’un graphe par
une matrice
Graphe eulérien
et graphe
hamiltonien
Recherche
opérationnelle
Définitions
Pr.
Abdessamad
Kamouss Un graphe dirigé (ou orienté) est une relation binaire G sur un
162
ensemble V , notée G = (V, E) où V est l’ensemble des
Introduction et
exemples sommets et E est formé de l’ensemble des couples
Définition d’un (x, y) ∈ V × V qui sont en relation, il est appelé l’ensemble
graphe
des arcs.
Représentation
d’un graphe par
une matrice
L’ordre d’un graphe est son nombre n de sommets et la taille
Graphe eulérien
d’un graphe est son nombre m d’arcs.
et graphe
hamiltonien Si (x, y) ∈ E, on dit que x et y sont adjacents et que x est l’
origine de l’arc (x, y) et y son extrémité.
L’arc (x, y) part de x et arrive en y donc y est un successeur
(ou suivant) de x et x est un prédécesseur (ou précédent) de
y.
Graphe non-orienté
Recherche
opérationnelle
Pr.
Abdessamad
Kamouss
163 Définitions
Introduction et
exemples Un graphe non-orienté (ou symétrique) est une relation
Définition d’un binaire G symétrique sur un ensemble V .
graphe
Représentation
De la même manière que pour les digraphes, on le note
d’un graphe par
une matrice
G = (V, E) où V est l’ensemble des sommets et E est
Graphe eulérien
l’ensemble des arêtes (ou des arcs non orientés).
et graphe
hamiltonien Si {x, y} est une arête, x et y sont voisins. Ils sont les
extrémités de l’arête (x, y).
Graphe - Dictionnaire
Recherche
opérationnelle
Pr.
Abdessamad
Kamouss
164 Dictionnaire dans un graphe
Introduction et
exemples On désignera dans le cas d’un digraphe par S(x) l’ensemble
Définition d’un des suivants de x et par P(x) l’ensemble des précédents de x.
graphe
Recherche
opérationnelle
Pr.
Abdessamad Exemple
Kamouss
165
Donner le dictionnaire des suivants, en déduire le dictionnaire des
Introduction et
exemples
précédents du graphe :
Définition d’un
graphe
Représentation
d’un graphe par
une matrice
Graphe eulérien
et graphe
hamiltonien
Graphe - Dictionnaire
Recherche
opérationnelle
Pr.
Abdessamad
Kamouss Les deux dictionnaires
166
Définition d’un
1 {2, 5}
1 {3}
graphe
2 {6, 7}
2 {1}
Représentation
d’un graphe par
3 {1, 5, 4}
3 0/
une matrice
4 {5, 6}
4 {3}
Graphe eulérien
et graphe
5 0/
5 {1, 3, 4, 6}
hamiltonien
6 {5}
6 {2, 4, 7}
7 {6}
7 {2}
Graphe - Dictionnaire
Recherche
opérationnelle
Pr.
Abdessamad
Kamouss Les deux dictionnaires
166
Définition d’un
1 {2, 5}
1 {3}
graphe
2 {6, 7}
2 {1}
Représentation
d’un graphe par
3 {1, 5, 4}
3 0/
une matrice
4 {5, 6}
4 {3}
Graphe eulérien
et graphe
5 0/
5 {1, 3, 4, 6}
hamiltonien
6 {5}
6 {2, 4, 7}
7 {6}
7 {2}
Graphe - Matrice d’adjacence
Recherche
opérationnelle
Pr.
Abdessamad
Kamouss
Matrice d’adjacence d’un graphe non orienté
167
Un graphe symétrique peut être représenté par une matrice carrée
Introduction et
exemples M d’ordre n2 où n = |V|, dite d’adjacence. Chaque ligne et chaque
Définition d’un colonne de la matrice représentent un sommet. Ainsi, une case
graphe
indique la relation qu’il existe entre deux sommets.
Représentation
d’un graphe par
une matrice
0 si les deux sommets ne sont pas reliés par une arête,
Graphe eulérien 1 si les deux sommets sont reliés par une arête.
et graphe
hamiltonien
Remarque
La matrice d’adjacence d’un graphe symétrique est symétrique
Graphe - Matrice d’adjacence
Recherche
opérationnelle
Pr. Exemple
Abdessamad
Kamouss
168
Introduction et
exemples
Définition d’un
graphe
Représentation
d’un graphe par
une matrice
Graphe eulérien
et graphe
hamiltonien
Graphe - Matrice d’adjacence
Recherche
opérationnelle
Pr.
Exemple
Abdessamad
Kamouss
169
Introduction et 2 4
exemples
Définition d’un
graphe
Représentation 1
d’un graphe par
une matrice
Graphe eulérien
et graphe
0 1 1 0 0
hamiltonien 3 5
1 1 1 1 1
MA =
1 1 1 0 1
0 1 0 0 1
0 1 1 1 0
Graphe - Matrice d’adjacence
Recherche
opérationnelle
Pr. Exercice
Abdessamad
Kamouss
170
Introduction et
exemples
Définition d’un
graphe
Représentation
d’un graphe par
une matrice
Graphe eulérien
et graphe
hamiltonien
Graphe - Matrice d’adjacence
Recherche
opérationnelle
Exercice - Correction
Pr.
Abdessamad
Kamouss
171
Introduction et
exemples
Définition d’un
graphe
Représentation
d’un graphe par
une matrice
Graphe eulérien
et graphe
hamiltonien
Graphe orienté - Matrice d’adjacence
Recherche
opérationnelle
Remarque
La matrice d’adjacence d’un digraphe n’est pas nécessairement
symétrique.
Graphe orienté - Matrice d’adjacence
Recherche
opérationnelle
Pr.
Exemple
Abdessamad
Kamouss
173
Introduction et 2 4
exemples
Définition d’un
graphe
Représentation 1
d’un graphe par
une matrice
Graphe eulérien
et graphe
0 1 1 0 0
hamiltonien 3 5
0 1 0 1 0
MA =
0 1 1 0 0
0 1 0 0 1
0 1 1 0 0
Graphe orienté - Matrice d’adjacence
Recherche
opérationnelle
Pr.
Exercice
Abdessamad
Kamouss
174
Introduction et
exemples
Définition d’un
graphe
Représentation
d’un graphe par
une matrice
Graphe eulérien
et graphe
hamiltonien
Graphe - Matrice d’adjacence
Recherche
opérationnelle
Introduction et
exemples
Définition d’un
graphe
Représentation
d’un graphe par
une matrice
Graphe eulérien
et graphe
hamiltonien
Graphe orienté - Matrice d’adjacence
Recherche
opérationnelle
Pr. Exercice
Abdessamad
Kamouss
176
Introduction et
exemples
Définition d’un
graphe
Représentation
d’un graphe par
une matrice
Graphe eulérien
et graphe
hamiltonien
Graphe orienté - Matrice d’adjacence
Recherche
opérationnelle
Exercice - Correction
Pr.
Abdessamad
Kamouss
177
Introduction et
exemples
Définition d’un
graphe
Représentation
d’un graphe par
une matrice
Graphe eulérien
et graphe
hamiltonien
Graphe valué - Matrice d’adjacence
Recherche
opérationnelle
Pr.
Abdessamad Définition
Kamouss
178 Soit G = (V, E) un graphe simple
valué
non orienté d’ordre n.
Introduction et
exemples
La matrice des valuations A = aij de G se rapportant à cet
Définition d’un ensemble de sommets est la matrice n × n définie par :
graphe
Représentation
d’un graphe par
une matrice
Graphe eulérien
et graphe
hamiltonien p si elle existe une arête entre les sommets i et j.
aij = 0 si i = j et le sommet i est sans boucle.
+∞ si elle n’existe aucune arête entre les sommets i et j.
Graphe valué - Matrice d’adjacence
Recherche
opérationnelle
Pr. Exemple
Abdessamad
Kamouss
179
Introduction et
exemples
Définition d’un
graphe
Représentation
d’un graphe par
une matrice
Graphe eulérien
et graphe
hamiltonien
Matrice d’adjacence
Recherche
opérationnelle
Pr. Exercice
Abdessamad
Kamouss
180
Introduction et
exemples
Définition d’un
graphe
Représentation
d’un graphe par
une matrice
Graphe eulérien
et graphe
hamiltonien
Graphe valué - Matrice d’adjacence
Recherche
opérationnelle
Pr.
Abdessamad Définition
Kamouss
181 Soit G = (V, E) un graphe valué orienté d’ordre n.
Introduction et
exemples
On peut le représenter par sa matrice des valuations A = aij ,
Définition d’un qui est une matrice carrée d’ordre n × n définie de la façon
graphe
suivante :
Représentation
d’un graphe par
une matrice
Graphe eulérien
et graphe
hamiltonien
p si elle existe un arcs entre les sommets i et j.
aij =
+∞ si elle n’existe aucun arc entre les sommets i et j.
Graphe valué - Matrice d’adjacence
Recherche
opérationnelle
Pr.
Abdessamad
Exemple
Kamouss
182
Introduction et
exemples
Définition d’un
graphe
Représentation
d’un graphe par
une matrice
Graphe eulérien
et graphe
hamiltonien
Graphe valué - Matrice d’adjacence
Recherche
opérationnelle Exercice
Pr.
Abdessamad
Kamouss
183
Introduction et
exemples
Définition d’un
graphe
Représentation
d’un graphe par
une matrice
Graphe eulérien
et graphe
hamiltonien
Graphe valué - Matrice d’adjacence
Recherche
opérationnelle
Exercice - Correction
Pr.
Abdessamad
Kamouss
184
Introduction et
exemples
Définition d’un
graphe
Représentation
d’un graphe par
une matrice
Graphe eulérien
et graphe
hamiltonien
Graphe - Chaîne
Recherche
opérationnelle
Chaîne dans un graphe symétrique
Pr.
Abdessamad
Kamouss Une chaîne dans un graphe G est une suite ayant pour
185
éléments alternativement des sommets et des arêtes,
Introduction et
exemples commençant et se terminant par un sommet et telle que
Définition d’un chaque arête est encadré par ses extrêmités.
graphe
Représentation
On dit que la chaîne relie le premier sommet et le dernier
d’un graphe par
une matrice
sommet.
Graphe eulérien La longueur d’une chaîne C est son nombre d’arêtes. On la
et graphe
hamiltonien note l(C )
Distance entre deux sommets x et y est la longueur de la plus
petite chaîne les reliant. On la note d(x, y)
Diamètre d’un graphe G est la plus grande distance entre
deux sommets. On le note δ(C ).
Graphe - Chaîne
Recherche
opérationnelle Exemple
Pr.
Abdessamad Dans le graphe G suivant :
Kamouss
186
e4
v2 v4
Introduction et
exemples e1
Définition d’un
graphe e5
Représentation
v1 e3
d’un graphe par
une matrice
e2
Graphe eulérien
e6
et graphe
hamiltonien
v3 v5
Recherche
opérationnelle
Pr.
Abdessamad Les graphes de diamètre 0 sont les graphes stables (sans arête)
Kamouss
187
Introduction et
v2 v4
exemples
Définition d’un
graphe
Représentation v1
d’un graphe par
une matrice
Graphe eulérien
et graphe
hamiltonien v3 v5
Recherche
opérationnelle
Pr.
Abdessamad
Kamouss
188 Graphes de diamètre 1
Introduction et
exemples v2 v4 v2 v4
Définition d’un
graphe
Représentation
d’un graphe par v1 v1
une matrice
Graphe eulérien
et graphe
hamiltonien
v3 v5 v3 v5
Graphe - Chaîne
Recherche
opérationnelle
Pr.
Abdessamad
Kamouss
189 Chaîne élémentaire et chaîne simple
Introduction et
exemples Une chaîne est dite élémentaire si chaque sommet apparaît
Définition d’un au plus une fois.
graphe
Représentation
Une chaîne est dite simple si chaque arête apparaît au plus
d’un graphe par
une matrice
une fois.
Graphe eulérien Une chaîne dont les extrêmités sont les mêmes est appelée
et graphe
hamiltonien chaîne fermée.
Une chaîne simple et fermée est appelée cycle.
Graphe - Chaîne
Recherche
opérationnelle
Pr.
Abdessamad
Kamouss
190
Dans un digraphe
Introduction et
exemples
Un chemin de x à y est une séquence d’arcs
Définition d’un
graphe
Représentation
(x0 , x1 ), (x1 , x2 ), ..., (xi , xi+1 ), ..., (xn−1 , xn )
d’un graphe par
une matrice
où x = x0 et y = xn . On le note aussi (x0 , x1 , ..., xn ). L’entier n
Graphe eulérien
et graphe est la longueur de ce chemin.
hamiltonien
Un circuit est un chemin (x0 , x1 , ..., xn ) tel que x0 = xn .
Graphe - Chaîne
Recherche
opérationnelle
Pr.
Abdessamad Exemple
Kamouss
191
x5
Introduction et
exemples
Définition d’un
graphe
x1 x3
Représentation
d’un graphe par
une matrice
Graphe eulérien
et graphe x0 x2 x4
hamiltonien
Recherche
opérationnelle
Pr.
Abdessamad
Kamouss Graphe eulérien et graphe semi-eulérien
192
Introduction et
Un graphe symétrique est dit eulérien s’il abrite un cycle
exemples
(chaîne simple férmée) passant une et une seule fois par
Définition d’un
graphe
toutes les arêtes.
Représentation Un graphe symétrique est dit semi-eulérien s’il abrite une
d’un graphe par
une matrice chaîne simple passant une et une seule fois par toutes les
Graphe eulérien arêtes.
et graphe
hamiltonien
Intuitivement : Un graphe est eulérien (ou semi-eulérien) s’il
est possible de le dessiner sans lever le crayon et sans
passer deux fois par le même trait ! ! !
Graphe eulérien
Recherche
opérationnelle
Pr.
Abdessamad
Kamouss
193 x5
Introduction et
exemples
x1 x3 x1 x3
Définition d’un
graphe
Représentation
d’un graphe par
x0 x2 x4 x0 x2 x4
une matrice
Graphe eulérien
et graphe
hamiltonien
Graphe eulérien Graphe semi-eulérien
Graphe hamiltonien
Recherche
opérationnelle
Pr.
Abdessamad
Kamouss
194
Graphe hamiltonien et graphe semi-hamiltonien
Introduction et
exemples
Un graphe symétrique est dit hamiltonien s’il abrite un cycle
Définition d’un
graphe (chaîne élémentaire fermée) passant une et une seule fois
Représentation par tous les sommets.
d’un graphe par
une matrice
Un graphe symétrique est dit semi-hamiltonien s’il abrite une
Graphe eulérien
et graphe chaîne (chaîne élémentaire) passant une et une seule fois
hamiltonien
par tous les sommets.
Graphe eulérien/hamiltonien - Exemples
Recherche
opérationnelle
Pr.
Abdessamad
Kamouss x5 x5 x5 x5
195
Introduction et
exemples
x1 x3 x1 x3 x1 x3 x1 x3
Définition d’un
graphe
Représentation
d’un graphe par
une matrice
Graphe eulérien
x0 x4 x0 x4 x0 x4 x0 x4
et graphe
hamiltonien
H et E H et E H et E H et E
Graphe eulérien/hamiltonien - Exemples
Recherche
opérationnelle
Pr.
Abdessamad
Kamouss x5 x5 x5 x5
195
Introduction et
exemples
x1 x3 x1 x3 x1 x3 x1 x3
Définition d’un
graphe
Représentation
d’un graphe par
une matrice
Graphe eulérien
x0 x4 x0 x4 x0 x4 x0 x4
et graphe
hamiltonien
H et E H et E H et E H et E
Graphe eulérien/hamiltonien - Exemples
Recherche
opérationnelle
Pr.
Abdessamad
Kamouss x5 x5 x5 x5
195
Introduction et
exemples
x1 x3 x1 x3 x1 x3 x1 x3
Définition d’un
graphe
Représentation
d’un graphe par
une matrice
Graphe eulérien
x0 x4 x0 x4 x0 x4 x0 x4
et graphe
hamiltonien
H et E H et E H et E H et E
Graphe eulérien/hamiltonien - Exemples
Recherche
opérationnelle
Pr.
Abdessamad
Kamouss x5 x5 x5 x5
195
Introduction et
exemples
x1 x3 x1 x3 x1 x3 x1 x3
Définition d’un
graphe
Représentation
d’un graphe par
une matrice
Graphe eulérien
x0 x4 x0 x4 x0 x4 x0 x4
et graphe
hamiltonien
H et E H et E H et E H et E
Graphe eulérien
Recherche
opérationnelle
Pr.
Abdessamad
Kamouss Proposition
196
Introduction et
Soit G = (V, E) un graphe symétrique. Notons par d(x) le degré
exemples
de x, i.e., le nombre d’arêtes incidentes à x.
Définition d’un
graphe (i) Si d(x) est pair pour tout x ∈ V , alors G admet un cycle
Représentation eulérien.
d’un graphe par
une matrice
(ii) Si il existe deux sommets distincts x1 et x2 tels que d(x1 ) et
Graphe eulérien
et graphe d(x2 ) sont impairs et d(x) est pair pour tout x ∈ V \ {x1 , x2 },
hamiltonien
alors G abrite une chaîne eulérienne d’extrémités x1 et x2 .
(iii) Dans tous les autres cas G n’abrite pas de chaîne eulérienne.
Graphe eulérien
Recherche
opérationnelle
Pr.
Abdessamad
Kamouss Proposition
196
Introduction et
Soit G = (V, E) un graphe symétrique. Notons par d(x) le degré
exemples
de x, i.e., le nombre d’arêtes incidentes à x.
Définition d’un
graphe (i) Si d(x) est pair pour tout x ∈ V , alors G admet un cycle
Représentation eulérien.
d’un graphe par
une matrice
(ii) Si il existe deux sommets distincts x1 et x2 tels que d(x1 ) et
Graphe eulérien
et graphe d(x2 ) sont impairs et d(x) est pair pour tout x ∈ V \ {x1 , x2 },
hamiltonien
alors G abrite une chaîne eulérienne d’extrémités x1 et x2 .
(iii) Dans tous les autres cas G n’abrite pas de chaîne eulérienne.
Graphe eulérien
Recherche
opérationnelle
Pr.
Abdessamad
Kamouss Proposition
196
Introduction et
Soit G = (V, E) un graphe symétrique. Notons par d(x) le degré
exemples
de x, i.e., le nombre d’arêtes incidentes à x.
Définition d’un
graphe (i) Si d(x) est pair pour tout x ∈ V , alors G admet un cycle
Représentation eulérien.
d’un graphe par
une matrice
(ii) Si il existe deux sommets distincts x1 et x2 tels que d(x1 ) et
Graphe eulérien
et graphe d(x2 ) sont impairs et d(x) est pair pour tout x ∈ V \ {x1 , x2 },
hamiltonien
alors G abrite une chaîne eulérienne d’extrémités x1 et x2 .
(iii) Dans tous les autres cas G n’abrite pas de chaîne eulérienne.
Graphe eulérien
Recherche
opérationnelle
Graphe eulérien
et graphe
hamiltonien
B D
Recherche
opérationnelle
Pr.
Abdessamad
Kamouss
198
Théorème de Dirac
Introduction et
exemples
Un graphe simple à n sommets (n ≥ 3) dont chaque sommet est
n
Définition d’un au moins de degré est hamiltonien.
graphe 2
Représentation
d’un graphe par
une matrice Théorème de Ore
Graphe eulérien
et graphe
Un graphe simple à n sommets (n ≥ 3) tel que la somme des
hamiltonien
degrés de toute paire de sommets non adjacents vaut au moins n
est hamiltonien.