Vous êtes sur la page 1sur 29

(Chapter head:)*

Chapitre 1: Concepts fondamentaux de la théorie des


graphes
Préliminaires et vocabulaire de base
Un petit dessin vaut mieux
qu’un grand discours,
Napoléon.

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 2 L’ordre d’un graphe est le nombre de ses sommets.

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 6 La boucle est un circuit de longueur 1.

Dé…nition 7 Le chemin élémentaire est un chemin tel qu’en le parcourant on ne rencontre


pas deux fois le même sommet.

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.

Dé…nition 11 Un graphe est dit symétrique lorsque

(xi ; xj ) 2 A () (xj ; xi ) 2 A:

Un graphe symétrique est dit aussi graphe non orienté.

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).

Remarque 4 Les graphes représentent un outil mathématique simple permettant de mod-


éliser des situations di¤érentes. Citons par exemple :
-) circulation dans une ville : sommets !carrefour; arêtes !vols existants.
-) réseau informatique : sommets !ordinateurs; arêtes !connexions physiques.

Exemple 2 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)

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.

Exemple 4 Dans le graphe G1 de l’exemple 1 : s1 est de degré 5, s2 de degré 3, s4 de


degré 0.
Les sommets du graphe complet d’ordre n sont tous de degré (n 1).

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) :

Exemple 5 Dans le graphe G1 on a :

de (A) = 1; ds (A) = 1; d (A) = de (A) + ds (A) = 1 + 1 = 2;

le sommet A est un puit. Mais le graphe G1 n’est pas complet car

(A; C) 2
= A et (C; A) 2
= A:

On prouve facilement le théorème suivant :

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 hamiltoniens- Graphes eulériens

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.

Remarque 9 Un graphe possédant un sommet de degré 1 ne peut pas être hamiltonien.

Remarque 10 Les graphes complets sont hamiltoniens.

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.

Preuve 2 Preuve par l’absurde.

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.

Preuve 3 Conséquence du théorème précédent.

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.

Modes de représentation d’un graphe


Plusieurs modes de représentations peuvent être envisagés selon la nature des traitements
que l’on souhaite appliquer au graphe considéré a…n de représenter ces graphes au sein d’un
ordinateur.

Tableaux des prédécesseurs et des successeurs


Soit G2 = (S; A) le graphe suivant

1 ! 5
# & & &
2 ! 3 ! 4

Tableau des successeurs de G2 :


1 2; 3; 4; 5
2 3
3 4
4
5 1; 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.

Dé…nition 16 Soit G = (S; A) un graphe comportant n sommets la matrice d’adjacence de


G est U = (uij )1 i;j n telle que

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:

Exemple 6 Soit G2 = (S; A) le graphe suivant


1 ! 5
# & & &
2 ! 3 ! 4
La matrice d’adjacence de ce graphe est
0 1
0 1 1 1 1
B 0 0 1 0 0 C
B C
U =B
B 0 0 0 1 0 C
C
@ 0 0 0 0 0 A
1 0 0 1 0

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".

Théorème 6 Soient G = (S; A) et G0 = (S 0 ; A0 ) deux graphes et

f : S ! S0

un isomorphisme. Soient x; y deux sommets de G alors :


i) deg(x) = deg(f (x)):
ii) d(x; y) = d(f (x) ; f (y)):

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.

Exemple 7 a; b; c; b; e est une chaîne de longueur 5 dans le graphe suivant

b; e; d ainsi que a; b; c; sont des 3-cycles du graphe ci-dessus.

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

Graphe et sous-graphes connexes


Dé…nition 20 Soit G = (S; A) un graphe non orienté. On dit que G est connexe lorsqu’il
existe au moins une chaîne entre une paire quelconque de sommets de G: En d’autres termes,
8 (x; y) 2 S 2 ; x 6= y; 9 (x; y) :
Un graphe G orienté est connexe lorsque le graphe non orienté associé est connexe.

Proposition 1 La relation binaire R dé…nie par :


soit x=x
xRy ()
soit 9 (x,y)
est une relation d’équivalence.

Preuve 4 Elle est re‡exive car xRx:


Elle est symétrique : xRy =) yRx car il su¢ t d’inverser la chaîne.
Elle est transitive : xRy et yRz =) xRz car il su¢ t de concaténer les deux chaînes.

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)

Proposition 2 La relation binaire R dé…nie par :


8
< soit x=y
xR0 y () 9 à la fois un chemin joignat x à y
: soit
et un chemin joignant y à x
soit x=y
()
soit 9 (x; y) et 9 (y; x)

est une relation d’équivalence.

Preuve 5 Elle est re‡exive car xR0 x:


Elle est symétrique : xR0 y =) yR0 x car il su¢ t d’inverser la chaîne.
Elle est transitive : xR0 y et yR0 z =) xR0 z car il su¢ t de concaténer les deux chaînes.

Exemple 8
1 ! 3 ! 5
#" # % #
2 4 ! 7 ! 6
& # .
8

Ici, C1 = f1; 2; 3; 4; 5g ; C1 = f6; 7g ; C3 = f8g :

Dé…nition 22 On appelle graphe réduit Gr le quotient du graphe G par la relation forte-


ment connexe. Ainsi Gr = G R : Les sommets de Gr sont donc les composantes fortement
connexes et il existe un arc entre Ci et Cj lorsqu’il existe au moins un arc entre un sommet
de Ci et un sommet de Cj :

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.

Exemple 9 Le graphe réduit de l’exemple précédent est :

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

METHODES DE PARCOURS DE GRAPHE


PARCOURS EN PROFONDEUR D’UN GRAPHE
Principe : on part d’un sommet S0 du graphe et on s’éloigne le plus loin possible en cheminant
le long des arcs (en choisissant le premier dans l’ordre lexicologique). Si on rencontre un cul
de sac on revient en arrière et on repart. On s’arrête lorsque tous les chemins du graphe ont
été employés.
S7 S1 ! S5 S8
# .& # & . #
S6 S3 ! S2 S4
#
S9
On a donc :
S1 ! S3 ! S2
! S6
! S5
! S7
S4 ! S9
S8

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.

PROCEDURE PROFONDEUR(S) Début


L[S] = VRAI
Pour i allant de 1 à N faire
Si M [S; i] 6= 0 et L[i] FAUX alors
profondeur(i)
Fin si

12
Fin pour
Fin

PROGRAMME PRINCIPAL Début


Pour i allant de 1 à N faire
L[i] = FAUX
Fin pour
Pour i allant de 1 à N faire
Si L[i] = FAUX alors
profondeur (i)
Fin si
Fin pour
Fin

Méthodes de recherche de chemins


En théorie de graphe, il existe un problème important qui consiste en la recherche du chemin
le plus court, entre deux points donnés en tenant compte de ce marquage. Par exemple, un
chemin minimal entre P et Q dans la …gure suivante est :(P; A1 ; A2 ; A5 ; A3 ; A6 ; Q) dont la
longueur est 14:
A1 3 A 2 6 A 3
3 4
P 2 1 Q
4 2
A4 6 A5 A6
Existe-t-il un autre chemin?

Opérations booléennes sur les matrices


Rappelons brièvement les deux opérations d’addition et de multiplication booléenne notées
et : Soient A et B deux variables booléennes (ne prennent que les valeurs 0 et 1)

A B A B A B
0 0 0 0
0 1 1 0
1 0 1 0
1 1 1 1

Remarque 19 Si G1 et G2 deux graphes de mêmes sommets et de matrices d’adjacence


respectives U1 et U2 ; alors:
-G3 le graphe associé à la matrice booléenne U3 = U1 U2 dé…nie par :

(U3 )i;j = (U1 )ij (U2 )ij ;

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 .

Rappelons que Si G1 et G2 deux graphes de mêmes sommets et de matrices d’adjacence


respectives U1 et U2 ; alors:

On dé…nit également U 2 = (u2ij ) par

X
n
u2ij = uik ukj
k=1

Ainsi, uik ukj = 1 , il existe un chemin de xi à xj de longueur 2 transitant par xl . De ce fait,


le terme u2ij représente le nombre de chemins de longueur 2 avec xi pour extrémité initiale
et xj pour extrémité terminale. De la même manière, on dé…nit U k = (ukij ) par

X
n
ulij = ulik 1 ukj
k=1

Ainsi, ulik 1 ukj = 1 , il existe un chemin de xi à xj de longueur 2 transitant par xl . De


ce fait, le terme u2ij représente le nombre de chemins de longueur l avec xi pour extrémité
initiale et xj pour
extrémité terminale.

On notera que les boucles sont prises en compte. On peut donc repérer sur la diagonale
les nombres de circuits de longueur l.

Théorème 7 Soit G = (X; A) un graphe orienté (respectivement non orienté) d’ordre n,


avec S = fx1 ; x2 ; ; xn g; de matrice d’adjacence U = (uij ): Pour tout entier naturel k;
non nul notons
(k)
U k = uij :
(k)
Alors uij est égal au nombre de chemins (respectivement chaînes) de longueur k du sommet
xi au sommet xj :
(1)
Preuve 6 E¤ectuons une récurrence sur k : uij = uij désigne bien le nombre de chemins
allant du sommet xi au sommet xj :
Supposons le résultat vrai pour l’entier k 1; comme

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 :

Exemple 13 Déterminons le nombre de chemins de longueur 4 allant de a à b dans le


graphe G1 :

La matrice d’adjacence de G est


0 1
0 0 1 1
B 0 0 1 1 C
U =B
@ 1
C
1 0 0 A
1 1 0 0

Le nombre de chemins cherché est le terme (1; 2) de la matrice


0 1
8 8 0 0
B 8 8 0 0 C
U4 = B@ 0 0
C
8 8 A
0 0 8 8

ie 8:

15
Déterminons le nombre de circuits de longueur 4 dans le graphe G2 :

La matrice d’adjacence de G2 est :


0 1
0 1 1
U =@ 1 0 1 A
0 1 1

Le nombre de circuits de longueur 4 dans G2 est égale à la trace de U 4 :


0 1
3 5 8
U4 = @ 2 6 8 A
3 5 8

et tr(U 4 ) = 17:

Exercice 2 Soit G un graphe simple orienté d’ordre n; de matrice d’adjacence U . Montrer


que si U n n’est pas nulle, alors le graphe G contient des cycles. Étudier la réciproque.
(n)
Solution 2 Si U n n’est pas la matrice nulle, il existe (i; j) 2 f1; 2; : : : ; ng2 ; tel que uij 6= 0:
Il existe donc au moins un chemin de longueur n de xi à xj : Or un chemin de longueur n
dans un graphe d’ordre n passe au moins deux fois par le même sommet, c’est qu’il existe
un cycle dans G. Réciproquement; si G contient un cycle, alors on peut trouver un chemin
de longueur arbitraire dans le graphe, en particulier un chemin de longueur n. On en déduit
que U n 6= 0.

16
Coloration des graphes

Soit G = (S; A) un graphe. Un sous-ensemble S 0 de S est un stable s’il ne comprend que


des sommets non adajacents deux à deux. Le nombre de stabilité de G; noté (G), est
le cardinal du plus grand stable.
Une clique, C, dans G est un sous ensemble de C S tel que tous les deux sommets distincts
sont adjacents. En d’autre termes, le sous graphe induit de G par C est complet.

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

Exemple 14 Soit le graphe


x1
j
x3 j x5
j j
x2 x4

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 :

Encadrement du nombre chromatique


Proposition 3 On a :
(G) r+1
où r est le plus grand degré des sommets de 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.

Proposition 4 Notons n = jGj. Alors


(G) n+1 (G)
où (G) ;est le cardinal du plus grand stable G:

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:

Algorithme de coloration de Welsh-Powell


Cet algorithme permet d’avoir une coloration des graphes avec une assez bonne coloration.
Cependant, cet algorithme n’assure pas l’optimum.
Etape 1 :
Classer les sommets dans l’ordre décroissant de leurs degré et attribuer à chaque sommet un
numéro d’ordre dans la liste obtenue.
Etape 2 :
En parcourant la liste dans l’ordre, attribuer une couleur non encore utilisée au premier
sommet non encore coloré et attribué cette même couleur à chaque sommet non encore
coloré et non adjacent à un sommet de cette couleur
Etape 3 :
S’il reste des sommets non colorés dans le graphe, revenir à l’étape 2, sinon Fin

Théorème 8 (Théorème des quatre couleurs)


On peut colorer les sommets d’un graphe planaire ( sans boucles) en utilisant au plus quatre
couleurs de telle sorte que toutes les arêtes aient des extrémités de couleurs di¤érentes.

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.

Introduction : Rappels et compléments


Valeurs propres et vecteurs propres
Soient n 2 N et A 2 Mn (R) .

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 :

9X 2 Mn;1 (K) ; (X 6= 0 et AX = X):


! de (ou : pour)
–Soit X 2 Mn;1 (K). On dit que x est un vecteur propre (en abrégé : vp)
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

2 SpK (A) () ker (A In ) 6= f0g () A In 2


= GLn (K)
() rg (A In ) < n

Remarque 22 Soient n 2 N et A 2 Mn (K)

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

1. Déterminer le polynôme caractéristique PA de A.

2. Véri…er que A est diagonalisable sur R:

3. La matrice A est-elle inversible?


1
4. Trouver une matrice inversible P tel que A = P DP :

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

Soit A 2 Mn (K). L’application

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

a11 a12 a1n


a21 a22 a2n
A ( ) = det (A In ) = .. .. .. ..
. . . .
an1 an2 ann

Proposition 5 Soient n 2 N f0; 1g et A 2 Mn (K) : On a :8 2 K

A ( ) = ( 1)n n
+ ( 1)n 1
tr (A) n 1
+ + det (A) :

Valeurs propres d’un graphe

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.

Remarque 23 En se rappelant quelques résultats du cours d’algèbre de première année,


on remarque que la matrice d’adjacence d’un graphe non orienté est toujours diagonalis-
able par une matrice orthogonale (pour chaque valeur propre, les multiplicités algébrique et
géométrique coincident) et que ses valeurs propres sont réelles.

Exemple 15 Soit le graphe


x1 x2

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.

Le théorème suivant, dû à König en 1916, caractérise les graphes bipartis :

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.

Proposition 7 Soit G = (S; A) un graphe biparti. Si est valeur propre de G, alors ( )


l’est aussi. Autrement dit, le spectre d’un graphe biparti est symétrique par rapport à 0.

Théorème 12 Soit G = (S; A) un multi-graphe (orienté ou non) tel que S = fx1 ; ; xn g.


Pour tous i; j 2 f1; ; kg et pour tout n > 0,

[A(G)n ]i;j

est exactement le nombre de chemins de longueur n joignant xi à xj .

Preuve 11 On procède par récurrence sur n. Le cas de base n = 1 d´ ecoule de la dé…nition


même de la matrice d’adjacence. Supposons le résultat véri…é pour n > 0 et véri…ons-le pour
(n + 1). On a bien sûr

X
k
[A(G)n+1 ]i;j = [A(G)n ]i;s [A(G)]s;j :
s=1

Par hypothèse de récurrence,[A(G)n ]i;s compte le nombre de chemins de longueur n joignant


xi à xs . De plus, [A(G)]s;j compte le nombre d’arcs/arêtes joignant xs à xj . Par conséquent,
[A(G)n ]i;s [A(G)]s;j compte le nombre de chemins de longueur (n + 1) joignant xi à xj en
passant par xs , d’où la conclusion.

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.

Remarque 25 On remarque aussi que toute matrice primitive est iréductible.

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.

Remarque 27 Pour deux matrices réelles A et B de même dimension, il sera commode


d’écrire A < B (resp. ; ; > ) si l’inégalité a lieu composante à composante. Cela n’entraine
pas d’ambiguité particulière à priori.

Théorème 14 (Perron-Frobenius). Soit A 0 une matrice carrée irréductible de dimen-


sion n.
) La matrice A possède un vecteur propre vA 2 Rn dont les composantes sont toutes stricte-
ment positives et correspondant à une valeur propre A > 0 ,

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

pour un certain d 1 et k 2 f0; ;d 1g. De plus, pour tout


2ik
k 2 f0; ;d 1g ; Ae d

est une valeur propre de A.

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é.

Exemple 16 Considèrons le graphe G = (S; A) dont la matrice d’adjacence correspondante


0 1
1 1 0
A(G) = @ 1 0 1 A
1 0 0

La matrice A(G) est primitive. En e¤et, on a


100 1
1 1 0 1 1 0
(A(G))2 = A(G) A(G) = @ 1 0 1 A @ 1 0 1 A
1 0 0 1 0 0
0 1
2 1 1
= @ 2 1 0 A
1 1 0
et
0
10 1
1 1 0 2 1 1
(A(G))3 = A(G) (A(G))2 = @ 1 0 1 A @ 2 1 0 A
1 0 0 1 1 0
0 1
4 2 1
= @ 3 2 1 A
2 1 1
Il existe donc un chemin de longueur 3 joignant toute paire de sommets. Par exemple, on a
les chemins suivants :
1 !1 !1 !1 1 !1 !1 !2 1 !1 !2 !3
2 !1 !1 !1 2 !1 !1 !2 2 !1 !2 !3
3 !1 !1 !1 3 !1 !1 !2 3 !1 !2 !3

Les valeurs approchées de valeurs propres de A(G) sont

A ' 1:83929; 2 ' 0:41964 + i0:60629; et 3 = 2 ' 0:41964 i0:60629;

Il est clair que


j 3j = j 2j A

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):

ALGORITHME DE PAGE-RANK : SERGEY BRIN,


LARRY PAGE
Lorsqu’on e¤ectue une recherche sur un mot clé donné, Google trie les pages contenant ce
mot clé en se basant sur une mesure, appelée “PageRank”, destinée à quanti…er la qualité
des pages et à déterminer si elles font ou non autorité dans le domaine envisagé.

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.

G = (S; A) où les sommets 1; ; n représentent les pages de l0 Internet (en 2005; n


8:109 )etarc(i; j) SSIl a page i possède un lien pointant vers la page j:LePageRank j 0
de la page j

l’existence,

l’unicité,

le calcul e¢ cace d’une solution = ( 1; ; n) non triviale.

On peut supposer que les scores recherchés sont normalisés,


X
n

i =1
i=1

Réécriture matricielle (“H”comme “hyperlien”),

= 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

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

Vous aimerez peut-être aussi