Académique Documents
Professionnel Documents
Culture Documents
Introduire une nouvelle matière n’est pas toujours chose plaisante car il s’agit souvent d’une
accumulation de dé…nitions ! Et c’est hélàs la situation rencontrée ici. Nous allons donc
agrémenter cette présentation, autant que faire se peut, d’exemples mettant en lumière
l’intérêt pratique de la théorie des graphes.
Le graphe est l’un des concepts mathématiques les plus simples qui soient : des points,
que l’on appelle « sommets » , reliés entre eux par des lignes, les « arêtes » la notion
de « graphique » n’a rien à voir. Étrangement, la forme des lignes du graphe n’a aucune
importance; ce qui compte, c’est qu’elles relient deux sommets donnés. De même, la position
des sommets est sans e¤et sur les propriétés du graphe.
L’avènement des graphes, au XV IIIe siècle, fut une révolution conceptuelle qui …t voler en
éclats plus de deux millénaires de géométrie : en théorie des graphes, la « forme » n’a plus
de réalité, c’est-à-dire que tous les repères géométriques hérités de la géométrie euclidienne
classique deviennent caducs, au pro…t d’une notion unique, celle de « lien » entre les points.
Dans la représentation d’un graphe, les arêtes peuvent se croiser, mais l’intersection n’est
associée à aucune propriété particulière : c’est comme si elle n’existait pas. Aussi, quand
on représente un graphe, évite-t-on de se faire croiser les arêtes - ce qui n’est pas toujours
possible.
Continuons par le problème suivant, qui est un classique : proposé en 1736 par Leonhart
Euler, c’est le premier problème de la théorie des graphes. Il est aujourd’hui parfaitement
résolu, mais les habitants de Koenigsberg (aujourd’hui Kaliningrad, ville russe enclavée entre
la Pologne et la Lituanie) ne voyaient pas comment faire.
Dé…nition 1 Un graphe G (non orienté) est constitué d’un ensemble S = fx1 ; x2 ; :::; xn g de
points appelés sommets (ou noeuds), et d’un ensemble A = fa1 ; a2 ; :::; am g d’arêtes, tels
qu’ à chaque arête ai sont associés deux éléments de S, appelés ses extrémités, et que nous
noterons (xi ; xj ) où xi est un prédécesseur de xj et xj est un successeur de xi :
Un graphe est un ensemble de noeuds (ou sommets) qui sont reliés entre eux par des arcs.
Mathématiquement, un graphe est représenté par un couple de deux ensembles G = (S; A)
où S est l’ensemble des noeuds (ou sommets) et A l’ensemble des arêtes (graphe non orienté)
ou arcs (orienté).
Le nombre de sommets présents dans un graphe est l’ordre du graphe qu’on note o(g) ou
bien jGj.
1
Remarque 1 Les deux extrémités peuvent être distinctes ou confondues ; dans ce dernier
cas, l’arête s’appelle une boucle. Une première manière d’evaluer la complication d’un graphe
est de compter le nombre de ses sommets; les mathématiciens ont donné à ce nombre un nom
particulier (que l’on retrouve dans d’autres domaines, par exemple en théorie des groupes).
Un arc relie deux noeuds entre eux, il sera donc représenté par un couple (x; y) où x et y
sont des noeuds.
Un arc peut être orienté, c’est-à-dire que l’ordre de x et de y est important dans le couple
(x; y). Un arc peut ne pas être orienté et dans ce cas, l’ordre de x et de y dans le couple
(x; y) n’a aucune importante, donc (x; y) = (y; x).
Dé…nition 3 Le chemin est une suite de sommets reliés par des arcs en respectant leurs
sens.
Dé…nition 4 La longueur d’un chemin est le nombre d’arc qui compose un chemin.
Dé…nition 5 Le circuit d’un graphe orienté est un chemin particulier d’un sommet vers
lui-même.
Dé…nition 8 Le chemin simple est un chemin qui ne passe pas plus d’une fois par le même
arc.
Dé…nition 9 Un graphe est complet si chaque sommet possède un arc vers tout autre sommet
y compris lui-même. Si n sommet alors n2 arcs.
Dé…nition 10 Etant donnée une arête a associée à (x1 ; x2 ), on dit que les sommets x1 et
x2 sont les extrémités de l’arête a, et x1 et x2 sont dits adjacents. Lorsque x1 = x2 , on dit
que a est une boucle.
Un graphe est dit simple si deux sommets distincts sont joints par au plus une arête et s’il
est sans boucle (c-à-d ne contient pas d’arête de la forme (xi ; xi ) ).
Remarque 2 Deux arêtes sont dites parallèles lorsqu’elles ont mêmes extrémités. Dans
certaines circonstances, il est naturel de considérer des graphes avec des arêtes parallèles (par
exemple pour le problème des ponts de Koenigsberg). Cependant, la très grande majorité des
problèmes que nous rencontrerons concerne des graphes simples, c’est-à-dire sans boucles ni
arêtes parallèles. Il n’est donc pas utile d’introduire cette terminologie en cours.
(xi ; xj ) 2 A () (xj ; xi ) 2 A:
2
Exemple 1 Considérons le graphe G1 d’ordre 4 dé…ni par : Soit S = fs1 ; s2 ; s3 ; s4 g et A =
fa; b; c; d; eg tel qu’aux arêtes a; b; c; d; e soient respectivement associés (s1 ; s1 ) ; (s1 ; s2 ) ; (s1 ; s2 ) ; (s1 ; s3 ) ; (s2 ;
Une représentation possible de ce graphe est :
Le point s4 est un point isolé , l’arête a est une boucle, b et c sont des arêtes ayant mêmes
extrémités, (s1 ; s2 ) est une arête multiple, les sommets s1 et s2 sont adjacents, ainsi que s1
et s3 , puisqu’ils sont reliés par une arête.
Dé…nition 12 Un graphe G orienté ( appelé aussi digraphe : directed graphe) est consti-
tué d’un ensemble S = fx1 ; x2 ; :::; xn g de points appelés sommets, et d’un ensemble A =
fa1 ; a2 ; :::; am g d’arcs, tels qu’à chaque arête ai sont associés deux éléments de S, appelés ses
extrémités, et que nous noterons (xi ; xj ) où xi est l’extrémité initiale et xj est l’extrémité
terminale de l’arc ai = (xi ; xj ) : On dit aussi que xi et xj sont adjacents.
Remarque 3 Dans un graphe orienté, chaque arête orientée possède un début et une …n.
Toutes les notions que nous avons dé…nies pour un graphe ont un équivalent pour un graphe
orienté. Nous nous contenterons de rajouter le mot “orienté” pour préciser ; le contexte
rendra évidente l’interprétation à donner. En particulier, une chaîne orientée est une suite
d’arêtes telle que l’extrémité …nale de chacune soit l’extrémité initiale de la suivante. On
prendra garde au fait que l’on peut dé…nir et utiliser des chaînes (non orientées) sur un
graphe orienté. Par exemple, sur un plan de ville où toutes les rues sont en sens unique,
un parcours de voiture correspond à une chaîne orientée, un parcours de piéton correspond
à une chaîne (non orientée).
x1 ! x2
.
x4 x3
G1 = (S; A)
Dé…nition 13 L’ensemble des successeurs d’un sommet x 2 S est noté (x) : L’application
: S ! P (S)
x 7 ! (x)
est appelée une application multivoque (qui à un élément de l’ensemble de départ associe un
ou plusieurs éléments de l’ ensemble d’arrivé). Par ailleurs, l’ensemble des prédécesseurs
1
d’un sommet x 2 S est noté (x) :
3
Exemple 3 Soit S = fx1 ; x2 ; x3 ; x4 g et A = f(x1 ; x2 ) ; (x2 ; x1 ) ; (x2 ; x4 ) ; (x3 ; x3 ) ; (x3 ; x4 )g
x1 ! x2
.
x4 x3
G1 = (S; A)
1
Dans ce cas, (x2 ) = fx1 ; x4 g et (x2 ) = fx1 g :
Dé…nition 14 On appelle degré sortant (resp. degré rentrant) d’un sommet x le nombre
1
d’éléments de (x)nfxg (resp. (x)nfxg ), noté ds (x) (resp. de (x) ). On appelle degré de x
qu’on note d (x) la quantité
d (x) = ds (x) + de (x) :
Remarque 5 Ainsi le degré d’un sommet est le nombre d’arêtes dont ce sommet est une
extrémité ( les boucles étant comptées deux fois ). Un sommet est pair (respectivement
impair) si son degré est un nombre pair (respectivement impair) ç-à-d le degré d’un sommet
x est le nombre d’arêtes, noté d(x), qui ont pour extrémité x.
Remarque 6 Un sommet de degré entrant non nul et de degré sortant nul est appelé puit,
alors qu’un sommet de degré entrant nul et de degré sortant non nul est applé source. D’autre
part, un graphe G = (S; A) est dit complet lorsque pour toute paire (x; y) 2 S S il existe
au moins un arc de la forme (x; y) ou (y; x) :
(A; C) 2
= A et (C; A) 2
= A:
Théorème 1 La somme des degrés de tous les sommets d’un graphe est égale à deux fois
le nombre d’arêtes de ce graphe; c’est donc un nombre pair. En d’autres termes, pour tout
graphe G, on a : X
d (x) = 2Card (A) :
x2S
Preuve 1 Il su¢ t de voir que chaque arête relie deux sommets du graphe, et donc qu’elle est
comptée exactement deux fois dans la somme de gauche. les sommets autres que lui-même,
et en particulier à A. Contradiction.
4
Exercice 1 C’est la fête de l’aïd El Khebir. La population d’un village se réunit le matin.
Chaque personne serre la main d’un certain nombres d’autres : 0; 1; : : : ; etc mains. Prouver
que le nombre de personnes ayant serré la main d’un nombre impair de personnes est pair.
Solution 1 On considère le graphe simple non orienté G, dont les sommets sont les villa-
geois, deux quelconques étant P
reliés par une arête si et seulement s’ils se sont serré la main.
Il s’agit alors de prouver que d(x)impair d (x) est un nombre pair.
Or, on a : X X X
2Card (A) = d (x) = d (x) + d (x)
x2S d(x)pair d(x)impair
donc X X
d (x) = 2Card (A) d (x)
d(x)impair d(x)pair
P P
Mais, d (x) est pair puisque c’est une somme de nombres pairs, donc d (x) est
d(x)pair d(A)impair
pair.
Graphes eulériens
Dé…nition 15 Soit G un graphe. Une chaîne eulérienne de G est une chaîne de G qui
contient une fois et une seule chaque arête de G.
) Un cycle eulérien de G est une chaîne eulérienne de G qui est un cycle, c’est-à-dire une
chaîne eulérienne dont les extrémités sont confondues.
) Le graphe G est un graphe eulérien si et seulement si il admet un cycle eulérien.
Théorème 2 Un graphe connexe G admet un cycle eulérien si et seulement si tous ses
sommets sont de degré pair.
Théorème 3 Un graphe connexe G admet une chaîne eulérienne distincte d’un cycle si et
seulement si le nombre de sommets de G de degré impair est égal à 2. Dans ce cas, si A et B
sont les deux sommets de G de degré impair, alors le graphe G admet une chaîne eulérienne
d’extrémités A et B.
Remarque 7 En d’autres termes, un graphe est eulérien s’il est possible de parcourir toutes
les arêtes de G sans lever la main.
Graphes hamiltoniens
On appelle cycle hamiltonien d’un graphe G passant une et une seule fois par chacun des
sommets de G:
Un graphe est dit hamiltonien s’il possède un cycle hamiltonien.
Une châine hamiltonienne d’un graphe G est une chaîne passant une et une seule fois par
chacun des sommets de G:
5
Remarque 8 En d’autres termes, un graphe est hamiltonien s’il est possible de visiter tous
les sommets de G sans lever la main.
Théorème 4 (Ore) Soit G = (S; A) un graphe simple avec jGj = n 3: Supposons que
pour tout couple (x; y) de sommets non adjacents, on ait
d(x) + d(y) n
(où d désigne le degré (le nombre d’arêtes issus du point ). Alors G est hamiltonien.
Théorème 5 (Dirac) Soit G = (S; A) un graphe simple avec jGj = n 3: Supposons que
pour tout sommet x on ait
n
d(x)
2
(où d désigne le degré (le nombre d’arêtes issus du point ). Alors G est hamiltonien.
Remarque 11 Les problèmes du cycle ou du circuit hamiltonien dans les graphes orientés
ou non sont deux des problèmes parmi les 21 problèmes NP-complets de Karp. Le problème
dans le graphe non orienté se ramène au problème dans le graphe orienté. Le cas dans le
graphe orienté se ramène au problème de couverture par sommets.
1 ! 5
# & & &
2 ! 3 ! 4
6
Tableau des prédécesseurs de G2 :
1 5
2 1
3 1; 2
4 1; 3; 5
5 1;
Matrice d’adjacence
Il est parfois pratique de représenter un graphe G d’arêtes a1 ; : : : ; an et de sommets s1 ; : : : ; sm
par une matrice.
1 si (i; j) 2 A
uij =
0 sinon
En d’autres termes, uij = A (i; j) : Une telle matrice est booléenne puisqu’elle ne contient
que des 0 et des 1:
Remarque 12 La somme des éléments de la ieme ligne de la matrice U est égale au degré
sortant du ieme sommet de G: De même, la somme des éléments de la j eme colonne de la
matrice U est égale au degré entrant du j eme sommet de G:
Graphes isomorphes
Dé…nition 17 Soient G = (S; A) et G0 = (S 0 ; A0 ) deux graphes non orientés et
f : S ! S0
une application. On dit que f est un homomorphisme de G dans G0 lorsque
(x; y) 2 A =) (f (x) ; f (y)) 2 A0
En d’autres termes, si deux sommets de S sont adjacents alors leurs images par f le sont
aussi.
7
Dé…nition 18 Soient G = (S; A) et G0 = (S 0 ; A0 ) deux graphes non orientés. On dit que G
et G0 sont isomorphes lorqu’il existe une bijection
f : S ! S0
telle que
(x; y) 2 A =) (f (x) ; f (y)) 2 A0
En d’autres termes, deux graphes isomorphes ont "la même forme".
f : S ! S0
Remarque 13 Décider si deux graphes sont isomorphes est un problàme di¢ cile ("NP-
complet")
Etude de la connexité
Chaîne et cycle
Dans bien des problèmes de graphes, il est naturel de considérer ce que l’on peut appeler,
de façon informelle, des “parcours”ou “chemins”. Le mot utilisé en théorie des graphes est
“chaîne”.
La notion intuitive de chaîne, ou plus tard de chaîne orientée, se comprend bien sur un
dessin, et il est essentiel que les élèves sachent reconnaître si un ensemble donnée d’arêtes
est une chaîne.
Il est moins facile d’en donner une dé…nition e¤ective.
Dé…nition 19 Une chaîne dans un graphe G est une suite …nie : s0 ; a1 ; s1 ; a2 ; s2 ; a3 ; s3 ::::an ; sn
débutant et …nissant par un sommet, alternant sommets et arêtes de telle manière que chaque
arête soit encadrée par ses sommets extrémités. La longueur de la chaîne est égale au nombre
d’arêtes qui la constituent ; la chaîne est fermée si s0 = sn , si de plus toutes ses arêtes sont
distinctes on dit alors que c’est un cycle. Un k cycle est un cycle de longueur k.
-) La longueur de la chaîne est égale aux nombres d’arêtes qui la composent.
-) Si aucun des sommets composants la séquence n’apparaît plus d’une fois est dite chaîne
élémentaire.
-) Un cycle est une chaîne dont les extrémités coïncident. Dans le cas des graphes orientés
on appellera chemin au lieu de chaîne et circuit à la place de cycle.
Remarque 14 Une chaîne est dite elémentaire si elle ne passe jamais deux fois par le même
sommet. Une chaîne est dite simple si elle ne passe jamais deux fois par la même arête.
8
-) Dans un graphe simple, si une chaîne est élémentaire, alors elle est simple.
-) Dans le cas d’un graphe simple, une chaîne est parfaitement caractérisée par la suite des
sommets qu’elle rencontre ou par l’extrémité initiale de la chaîne et la suite d’arêtes.
-) Une chaîne simple de longueur m (i.e. maximale) est une chaîne eulérienne.
-) Un cycle est une chaîne dont les extrémités initiale et terminale coïncident. Un cycle
elémentaire est un cycle minimal, au sens de l’inclusion, i.e. ne contenant strictement aucun
cycle.
-) Un chemin elémentaire de longueur n 1(i.e. maximale) est un chemin hamiltonien.
-) Un circuit est un chemin dont les extrémités initiale et terminale coïncident. Un circuit
elémentaire est un circuit minimal, au sens de l’inclusion, i.e. ne contenant strictement aucun
circuit.
Remarque 15 Les notions correspondantes existent pour les graphes non orientés. On
utilise alors plutôt le vocabulaire suivant :
Oriente N on oriente
arc ! arête
chemin ! chaîne
circuit ! cycle
Remarque 16 Les classes d’équivalence induites sur S par cette relation forment une par-
tition de S en S1 ; : : : ; Sp : Le nombre p des classes d’équivalence distinctes est appelé nombre
de connexité du graphe et les graphes G1 ; : : : ; Gp engendrés par S1 ; : : : ; Sp sont appelés les
composantes connexes du graphe. Notons que lorsque p = 1 le graphe est connexe.
9
1 7
#" &- ; 4 #"
2 ! 3 5 ! 6
Le nombre de connexité du graphe est 3. Les composantes connexes du graphe sont S1 =
f1; 2; 3g ; S2 = f4g ; S3 = f5; 6; 7g :
Dé…nition 21 Un graphe orienté est dit fortement connexe s’il existe un chemin joignant
deux sommets quelconque. En d’autres termes,
8 (x; y) 2 S 2 ; x 6= y; 9 (x; y)
Exemple 8
1 ! 3 ! 5
#" # % #
2 4 ! 7 ! 6
& # .
8
Remarque 17 Les classes d’équivalence induites sur S par cette relation forment une par-
tition de S en S1 ; : : : ; Sp : Le nombre p des classes d’équivalence distinctes est appelé nombre
de connexité du graphe et les sous- graphes G1 ; : : : ; Gp engendrés par S1 ; : : : ; Sp sont appelés
les composantes fortement connexes du graphe.
C1 ! C2
& #
C3
10
Graphes valués
Dé…nition 23 Soit G = (S; A) un graphe (orienté ou non). On dit que G est valué lorsqu’il
est muni d’une application
V : A ! R
(x; y) 7 ! V (x; y)
qui sera appelée valuation. On notera G = (S; A; V ) un graphe valué
On peut étendre la valuation en une fonction
V : S S ! R
V (x; y) si (x; y) 2 A
(x; y) 7 !
+1 si (x; y) 2
=A
Dans le cas où le graphe n’est pas valué on convient que
V (x; y) = 1 8 (x; y) 2 A
Dé…nition 24 Soit C(x; y) un chemin dans G du sommet x vers le sommet y. La valuation
ou poids du chemin C(x; y) est
X
V (C (x; y)) = V (u) :
u2C(x;y)
La valuation d’un chemin ne comportant pas d’arc (i:e: de longueur 0) est égale à 0: La
valuation d’un chemin ne comportant pas d’arc (i.e. de longueur 0) est égale à 0.
Remarque 18 Le nombre réel associé à chaque arc peut représenter bien autre chose qu’une
longueur au sens géométrique du terme. Par exemple, un temps, un coût, ... c’est pourquoi
il peut être négatif. Dans certains ouvrages, on utilise le mot "poids" plutôt que "longueur".
Exemple 10
B ! C
A D
F E
Exemple 11
A ! B
l & #
E C
& %
D
Exemple 12 Signalons que
Vocabulaire des graphes Vocabulaire routier
Graphe Réseau routier
Sommet ou noeud Ville, ou intersection de routes
a
Arête Route
Arc Route à sens unique
Poids Distance, durée ou coût
11
Représentation matricielle
Par analogie avec la matrice d’adjacence, on peut représenter un graphe valué par une matrice
carrée dont les coe¢ cients correspondent à la valuation des arcs.
Dé…nition 25 Soit G = (S; A; V ) un graphe valué (marqué) dont on a numéroté les som-
mets de 1 à n: La matrice de valuation de G est la matrice carrée U = (uij ) de taille n n
dé…nie par :
V (i; j) si (i; j) 2 A
uij =
+1 sinon
ALGORITHME
M la matrice d’adjacence du graphe.
L la liste contenant l’état de chaque sommet.
VRAI si sommet a été visité.
FAUX si sommet n’a pas été visité.
S le sommet en train d’être traité.
N le nombre de sommet.
12
Fin pour
Fin
A B A B A B
0 0 0 0
0 1 1 0
1 0 1 0
1 1 1 1
13
contient les mêmes sommets que G1 et G2 et comporte à la fois les arcs de G1 et G2 :
-G4 le graphe associé à la matrice booléenne U4 = U1 U2 dé…nie par :
X
n
(U4 )i;j = (U1 )ik (U2 )kj ;
k=1
(i; j) est un arc de G4 ssi 9 un sommet k tel que (i; k) est un arc de G1 et (k; j) est un arc
de G2 .
X
n
u2ij = uik ukj
k=1
X
n
ulij = ulik 1 ukj
k=1
On notera que les boucles sont prises en compte. On peut donc repérer sur la diagonale
les nombres de circuits de longueur l.
U k = U (k 1)
U
14
on a :
(k)
X
n
(k 1)
uij = uil ulj
l=1
(k 1)
Par hypothèse de récurrence, uil est le nombre de chemins de longueur k 1 allant de xi
à xl et ulj est égal à 1 si (xl ; xj ) est une arête de G et à 0 sinon.
(k 1)
Ainsi uil ulj est donc le nombre de chemins de longueur k allant du sommet xi au
sommet xj dont la dernière arête est (xl ; xj ); la somme de ces termes est donc bien le
nombre dechemins de longueur k allant du sommet xi au sommet xj :
ie 8:
15
Déterminons le nombre de circuits de longueur 4 dans le graphe G2 :
et tr(U 4 ) = 17:
16
Coloration des graphes
Dé…nition 26 Une coloration avec k couleurs d’un graphe G = (S; A) est une partition de
l’ensemble de ses sommets en k stables. Le nombre chromatique du graphe G; noté (G) ;
est le plus petit entier k pour lequel il existe une partition de S en k sous ensembles stables.
Remarque 20 La coloration des sommets d’un graphe consiste à a¢ cher à tous les sommets
de ce graphe une couleur de telle sorte que deux sommets adjacents ne portent pas la même
couleur
Alors, les un stable sont fx1 ; x2 g ; fx5 ; x2 g ; fx3 ; x5 g ; fx4 ; x2 g : Ici (G) = 2:En outre on a
besoin de 3 couleurs pour colorier les sommets du graphe ci-dessus. Ainsi on a 3 stables
fx1 ; x2 g ; fx5 ; x3 g ; fx4 g : Notons qu’il est impôssible de choisir moins de couleurs à cause des
cliques fx1 ; x3 ; x4 g ; fx1; x5 ; x4 g :
Preuve 7 Notons le plus grand degré des sommets de G: Donnons nous une palette de
(r + 1) couleurs. Pour chaque sommet est adjacent à r sommets au plus et le nombre de
couleurs déjà utilisées pour colorer ces sommets est donc inférieur ou égal à r: Il reste donc
au moins une couleur non utilisée dans la palette, avec laquelle nous pouvons colorer notre
sommet.
17
Preuve 8 Considérons S 0 S; de cardinalité (G) : Une coloration possible de G consiste à
colorer les sommets de S 0 d’une même couleur et les [n (G)] autres sommets de couleurs
toutes di¤érentes. Donc (G) 1 + (n (G)) :
Minoration
Le nombre chromatique d’un graphe est supérieur ou égal à chacun de ses sous- graphes
Le nombre chromatique d’un graphe est supérieur ou égal à la valeur de plus grande
clique, que l’on note ! (G) :Autrement dit
! (G) (G)
En e¤et, on sait que dans une clique d’ordre m tous les sommets sont adjacents donc
il faut au moins m couleurs. Par conséquent, il faut au moins ! (G) couleurs pour
colorier G:
Graphes bipartis
Ces graphes ont la particularité qu’il existe une partition de leurs sommets en deux ensembles
disjoints tel que chaque arête relie un sommet du premier ensemble à un sommet du deuxième
18
ensemble de la partition. À titre d’illustration, le graphe dessiné ci-dessus est biparti
puisque chaque arête relie l’un des trois sommets à gauche à l’un des trois sommets à droite.
Théorème 9 Étant donné trois sommets dans un graphe biparti, il existe nécessairement
au moins deux de ces trois sommets qui ne sont pas reliés par une arête.
Preuve 9 La preuve de la validité de cette propriété peut par exemple être donnée en con-
sidérant un triplet quelconque fA; B; Cg de sommets dans un graphe biparti et en supposant
que des arêtes relient le sommet A aux sommets B et C. Il reste alors à démontrer qu’il
n’existe pas d’arête reliant B à C. Puisque chaque arête relie un sommet d’un ensemble de
la partition à un sommet de l’autre ensemble, les arêtes reliant A à B et C nous indiquent
que A fait partie de l’un des deux ensembles de la partition alors que B et C font partie de
l’autre ensemble. Ainsi, puisque B et C font partie du même ensemble de la partition, ils ne
peuvent pas être reliés par une arête.Dans ce chapitre, nous ne faisons qu’esquisser quelques
résultats mettant en évidence les liens entre la théorie des graphes et l’algèbre linéaire (par
exemple, on étudie le spectre des graphes réguliers ou bipartis). On y présente de manière
détaillée la théorie de Perron-Frobenius (sans démonstration du théorème principal) avec
comme application directe, l’estimation du nombre de chemins de longueur n que l’on peut
trouver dans un graphe à composantes connexes primitives.
Dé…nition 27 –Soit 2 K. On dit que est une valeur propre (en abrégé : vp) de (ou
: pour) A si, et seulement si :
X 6= 0 et (9 2 K; AX = X):
Les valeurs propres et vecteurs propres sont globalement appelés éléments propres. On
appelle spectre de A, et on note SpK (A) (ou : Sp(A)) l’ensemble des valeurs propres de A.
19
Remarque 21 Par dé…nition, un vecteur propre n’est jamais nul.
Soient n 2 N et A 2 Mn (K) et 2 K on a
A2
= GLn (K) () 0 2 SpK (A)
Les valeurs propres et vecteurs propres sont globalement appelés éléments propres. On
appelle spectre de A, et on note SpK (A) (ou : Sp(A)) l’ensemble des valeurs propres de A.
Exercice 3 Soit 0 1
0 1 0
A = @ 1 0 1 A 2 M3 (R) :
0 1 0
20
Solution 3 Soit 0 1
0 1 0
A = @ 1 0 1 A 2 M3 (R) :
0 1 0
X 1 0
1. On a PA (X) = 1 X 1 = X(X 2 1) + X = X(1 X 2 + 1) = X(2 X 2 ):
0 1 X
p p
D’où Sp(A) = 0; 2; 2
2. On a PA est scindé et les racines de A sont simples donc A est diagonalisable sur R:
3. On a 0 2 Sp(A); donc A n’est pas inversible.
1
4. A…n de trouver une matrice inversible P tel que A = P DP , cherchons E0 ; Ep2 et
E p2 :
On a
8 0 1 9
< x =
E0 = ker A = X = @ y A 2 M3;1 (R) =AX = 0
: ;
z
8 0 1 8 9
< x < y = 0 =
= X = @ y A 2 M3;1 (R) = x + z = 0
: : ;
z y = 0
8 0 1 8 9
< x < y = 0 =
= X = @ y A 2 M3;1 (R) = z = x = Vect(v1 )
: : ;
z x 2 R
01
1
avec v1 = @ 0 A :
1
D’autre part,
De même
8 0 1 9
p < x p =
E p
2 = ker A + 2I3 = X = @ y A 2 M3;1 (R) = A+ 2I3 X=0
: ;
z
8 0 1 8 p 9
< x < p2x + y = 0 =
= X = @ y A 2 M3;1 (R) = x 2y p +z = 0
: : ;
z y 2z = 0
8 0 1 8 p 9
< x < y = 2x =
= X = @ y A 2 M3;1 (R) = z = x = Vect(v3 )
: : ;
z x 2 R
0 1
1
p
avec v3 = @ 2 A:
1
21
0 1 0 1
1 p1 1
p 0 p0 0
Ainsi P = @ 0 2 2 A et D = @ 0 2 0 A avec A = P DP 1
:
p
1 1 1 0 0 2
R ! R
7 ! det (A In )
est un polynôme, appelé polynôme caractéristique de A, et noté A . Ainsi si A =
(aij )1 i;j n alors
A ( ) = ( 1)n n
+ ( 1)n 1
tr (A) n 1
+ + det (A) :
Soit G = (S; A) un multi-graphe non orienté dont les sommets sont ordonnés par S =
fx1 ; ; xn g. La matrice d’adjacence de G est la matrice A(G) dont l’élément [A(G)]i;j est
égal au nombre d’arêtes fxi ; xj g présentes dans A, 1 i; j n. (Pour rappel, A est en
général un multi-ensemble.) Il s’agit donc d’une matrice symétrique à coe¢ cients entiers
naturels. Le polynôme caractéristique de G, noté A(G) , est le polynôme caractéristique
de sa matrice d’adjacence A(G). Par abus de langage, on parlera des valeurs propres de
G, étant sous-entendu qu’il s’agit des valeurs propres de A(G). On parlera donc aussi du
spectre de G. On peut remarquer que les éléments de la matrice d’adjacence d’un graphe
simple appartiennent à f0; 1g et que la trace de cette matrice vaut 0.
x3
Alors 0 1
0 1 1
A(G) = @ 1 0 1 A
1 1 0
22
et donc
A(G) = det (A(G) I3 )
1 1 +2 1 1
C1 C1 +C2 +C3
= 1 1 = +2 1
1 1 +2 1
+2 1 1
= 0 1 0 =( + 2) ( + 1)2
0 0 1
D’où Sp (G) = f 1; 2g :
Théorème 10 Deux graphes G1 et G2 sont isomorphes si et seulement si ils ont, à une
permutation près, la même matrice d’adjacence. En d’autres termes, il existe une matrice
de permutation P telle que
A(G1 ) = P 1 A(G2 )P:
Dé…nition 28 Dans un graphe simple, on appelle triangle, tout triplet d’arêtes distinctes
deux à deux de la forme fa; bg, fb; cg, fc; ag (i.e., tout circuit de longueur trois formé d’arêtes
distinctes).
Proposition 6 Si le polynôme caractéristique de G = (S; A) est de la forme
G ( ) = ( 1)n n
+ c1 ( 1)n 1 n 1
+ c2 ( )n 2
+ cn :
alors certains coe¢ cients de G sont en relation directe avec G :
c1 est le nombre de boucles de G, en particulier, si G est simple, c1 = 0.
Si G est simple, alors ( c2 ) est le nombre d’arêtes de G.
Si G est simple, alors (c3 ) est le double du nombre de triangles de G.
Preuve 10 Le premier point est immédiat. Le coe¢ cient c1 est la somme des éléments
diagonaux de A(G). Si G est simple, les sous-matrices diagonales 2 de A (G) de dimension
2 sont de la forme
0 1 0 0
ou
1 0 0 0
Le coe¢ cient c2 étant la somme des déterminants de ces sous-matrices ceux ci valant respec-
tivement 1 et 0, il est clair que c2 = Card (A) . Pour le dernier point, on raisonne de la
même façon. Les sous-matrices diagonales non nulles de A (G) de dimension 3 sont d’une
des formes suivantes (à une permutation des lignes et des colonnes près, ce qui ne change
pas la valeur du déterminant)
0 1 0 1 0 1
0 1 1 0 1 1 0 1 1
@ 1 0 1 A ; @ 1 0 0 A ou @ 1 0 1 A
1 1 0 1 0 0 1 1 0
Les deux premières ont un déterminant nul et la troisième a un déterminant égal à 2. Le
coe¢ cient c3 étant la somme des déterminants de ces sousmatrices et la dernière matrice
correspondant à la présence d’un triangle dans G, on obtient le résultat annoncé.
Remarque 24 On voit donc que le polynôme caractéristique de A(G) fournit des renseigne-
ments sur le graphe G. Cependant, deux graphes non isomorphes peuvent avoir le même
polynôme caractéristique. On parle alors de graphes cospectraux.
23
Graphes bipartis
Dé…nition 29 Un graphe est dit biparti si on peut partager son ensemble de sommets en
deux parties A et B tels qu’il n’y ait aucune arête entre éléments de A et aucune arête entre
éléments de B. Autrement dit, les graphes bipartis sont ceux que l’on peut colorer en utilisant
au plus deux couleurs.
Théorème 11 Un graphe est biparti si et seulement s’il ne contient pas de cycles de longueur
impaire.
Rappelons que la longueur d’un cycle est égale au nombre d’arêtes qu’il contient. En parti-
culier, d’après le théorème précédent, les arbres sont des graphes bipartis.
[A(G)n ]i;j
X
k
[A(G)n+1 ]i;j = [A(G)n ]i;s [A(G)]s;j :
s=1
Théorie de Perron-Frobenius
La connexité d’un graphe se traduit par une propriété immédiate de sa matrice d’adjacence.
On peut même, dans certains cas, obtenir des renseignements plus …ns sur la longueur
des chemins joignant deux sommets quelconques d’une composante connexe. Donnons tout
d’abord deux dé…nitions concernant les matrices ‘a coe¢ cients positifs ou nuls (faites atten-
tion dans les deux énoncés à l’ordre des quanti…cateurs). Nous verrons ensuite le rapport
entre ces matrices et les graphes.
24
Dé…nition 30 Une matrice carrée A = (aij )1 i;j n à coe¢ cients (réels) positifs ou nuls est
irréductible si pour tous i; j 2 f1; ; ng, il existe un entier N (i; j) 0 tel que
AN (i;j) i;j
> 0:
Dé…nition 31 Une matrice carrée A = (aij )1 i;j n à coe¢ cients (réels) positifs ou nuls est
primitive s’il existe N > 0 tel que pour tous i; j 2 f1; ; ng,
AN i;j
> 0:
ce que l’on note aussi AN > 0 étant sous-entendu que les inégalités sont interprétées com-
posante à composante.
Théorème 13 Un multi-graphe orienté (resp. non orienté) est fortement connexe (resp.
connexe) si et seulement si sa matrice d’adjacence est irréductible.
Remarque 26 Si la matrice d’adjacence d’un graphe (orienté ou non) est primitive, cela
entraine que le graphe est non seulement connexe mais qu’il existe N tel que, quelle que soit
la paire de sommets considérée, il existe un chemin de longueur N les joignant. Par abus de
langage, on s’autorisera alors à parler de graphe primitif.
AvA = A vA
) Cette valeur propre A possède une multiplicité algébrique (et géométrique) simple.
) Tout vecteur propre de A dont les composantes sont strictement positives est un multiple
de A .
) Toute autre valeur propre 2 C de A est telle que j j A.
)Si est une valeur propre de A telle que j j = A , alors
2ik
= Ae d
25
Remarque 28 Ainsi, la valeur propre de Perron A est l’unique valeur propre dominante.
Toute autre valeur propre de A a un module strictement inférieur à A . On a donc un
résultat plus fort que dans le cas irréductible (c’est assez naturel puisque les hypothèses sont
plus fortes).
Remarque 29 Soit B une matrice réelle à coe¢ cients positifs ou nuls de même dimension
que A. Si B A, alors pour toute valeur propre de B, on a j j A et l’égalité a lieu
si et seulement si A = B. La valeur propre A est appelée la valeur propre de Perron de A.
Autrement dit, ce théorème stipule qu’une matrice irréductible possède toujours une valeur
propre réelle dominante A . Cependant, on peut avoir d’autres valeurs propres de module
égal à A mais dans ce cas, celles-ci sont exactement obtenues par multiplication de A par
les racines diemes de l’unité.
26
Exemple 17 Considèrons à présent le graphe G = (S; A)
x1 ! ! ! x2
- .
x3
Alors 0 1
0 1 0
A(G) = @ 0 0 1 A
1 0 0
Il est clair que le graphe G = (S; A) est fortement. connexe et donc, la matrice A(G)
est au moins irréductible.Cependant, un chemin de longueur k joint les sommets 1 et 2 si
et seulement si un chemin de longueur (k + 1) joint les sommets 1 et 3. Il n’existe donc
pasd’entier n pour lequel tout sommet peut être joint à tout autre sommet parun chemin de
longueur n. La matrice A(G) n’est donc pas primitive. On pourrait aussi s’en convaincre en
montrant que, pour tout n,
0 1 0 1 0 1
1 0 0 1 1 0 0 0 1
(A(G))3n = @ 0 1 0 A ; (A(G))3n+1 = @ 0 0 1 A et (A(G))3n+2 = @ 1 0 0 A
0 0 1 1 0 0 0 1 0
Les valeurs propres sont ici les racines cubiques de l’unité
2i 4i
1; e 3 ; e 3
et donc, on a ici, par opposition avec l’exemple précédent, plusieurs valeurs propres de mod-
ule maximum (= 1). Il est aussi intéressant de noter que pour joindre deux sommets …xés,
uniquement certaines longueurs de chemin peuvent être considérèes. Par exemple, pour join-
dre les sommets 2 et 3, uniquement des chemins de longueur congrue à 1 modulo 3 peuvent
être envisagés.
Théorème 15 Soit A 0 une matrice carrée. Les assertions suivantes sont équivalentes.
i) A est primitive,
ii) il existe N 1 tel que AN > 0,
iii) il existe N 1 tel que An > 0 pour tout n N .
En e¤et, par dé…nition,i) =) ii) et ii) =) i). Montrons que ii) =) iii). Puisque AN > 0,
on en déduit que toute colonne de A contient au moins un élément strictement positif. Par
conséquent, si Ak > 0, alors Ak :A > 0 et de proche en proche, Ak+i > 0 pour tout i 0.
En…n, il est immédiat que iii) =) ii):
27
on accorde plus d’importance, i.e., un score de “PageRank” plus élevé, aux pages
référencées par des pages qui font elles-mêmes autorité dans le domaine, c’est-à-dire
qui ont un PageRank élevé ;
on accorde d’autant moins de crédit à une citation si elle provient d’une page qui
dispose de nombreux liens.
l’existence,
l’unicité,
i =1
i=1
= H (3)
où 8
< [A (G)]ij
si d+ (i) > 0
Hij = d+ (i)
:
0 si d+ (i) =
avec A(G) la matrice d’adjacence du graphe G:
Dé…nition 32 Une matrice est dite stochastique lorsque la somme des éléments d’une ligne
quelconque vaut 1.
Pour se débarrasser des “puits”, i.e., des pages ne pointant vers aucune autre page et pour
obtenir une matrice stochastique, on introduit une matrice S (“S” comme “stochastique”)
dé…nie par 8
> [A (G)]ij
<
+ (i)
si d+ (i) > 0
Sij = d
>
: 1
si d+ (i) =
n
Pour assurer la forte connexité du graphe, on construit une matrice G (“G”comme Google)
donnée par la combinaison a¢ ne (et même convexe) suivante avec un réel 2 [0; 1] …xé
J
G = S + (1 )
n
28
où
J = (1)1 i;j n :
L’équation initiale (3) est remplacée par
= G:
J
(La matrice est parfois appelée matrice de téléportation).
n
Remarque 30 Google attribue à une valeur de 0; 85. Ce choix n’est pas arbitraire. Au
plus est proche de 1, au mieux on approche le modèle “naturel” (3) proposé initialement :
on diminue le rôle arti…ciel de la matrice de téléportation. Cependant, on peut montrer que
ce paramètre contrôle la vitesse de convergence de la méthode de calcul développée et donc
le nombre d’itérations à e¤ectuer pour obtenir une estimation du vecteur :
Par ailleurs, = 0; 85 semble un bon compromis entre le caractère arti…ciel introduit par la
matrice de téléportation et la masse de calculs à réaliser. Par une discussion plus …ne sur
les valeurs propres : au plus est proche de 1, au plus est sensible aux petites pertubations
de la matrice H (gênant vu la grande volatilité du web et de sa structure) C’est un choix
heuristique.
29