Le théorème de Perron-Frobenius - préparation à l`agrégation de

Transcription

Le théorème de Perron-Frobenius - préparation à l`agrégation de
Le théorème de Perron-Frobenius, les chaines
de Markov et un célèbre moteur de recherche
Bachir Bekka
Février 2007
Le théorème de Perron-Frobenius a d’importantes applications en probabilités (chaines de Markov) et en théorie des graphes. Une belle et récente
application est l’algorithme PageRank avec lequel Google classe les pages
web.
1
Le théorème de Perron-Frobenius
Une matrice A = (aij )1≤i,j≤n ∈ Mn (R) est dite positive et on écrit A ≥ 0
(respectivement strictement positive et on écrit A > 0) si aij ≥ 0 (respectivement aij > 0) pour tous 1 ≤ i, j ≤ n. On parle de même d’un vecteur positif
(respectivement strictement positif) x ∈ Rn . Pour x, y ∈ Rn , on écrit x ≥ y
(respectivement x > y) si x − y ≥ 0 (respectivement x − y > 0)
La preuve du lemme suivant est un exercice facile.
Lemme 1 Pour une matrice A = (aij )1≤i,j≤n ∈ Mn (R), on a :
(i) A ≥ 0 si et seulement si Ax ≥ 0 pour tout x ∈ Rn tel que x ≥ 0;
(ii) A > 0 si et seulement si Ax > 0 pour tout x ∈ Rn \ {0} tel que x ≥ 0
On note σ(A) le spectre de A, c-à-d l’ensemble des valeurs propres (complexes) de A. Le rayon spectral r(A) de A est maxλ∈σ(A) |λ|.
Une valeur propre λ de A est simple si dimC ker(A − λIn ) = 1. Elle est
dite dominante si, pour tout α ∈ σ(A) \ {λ}, on a |λ| > |α|.
Définition 2 Soit A ∈ Mn (R), A ≥ 0.
(i) A est dite primitive s’il existe k ∈ N tel que Ak > 0.
(ii) A est dite irréductible si, pour tout couple (i, j), il existe k ∈ N tel
que (Ak )ij > 0.
1
Il est clair qu’une matrice primitive est irréductible. L’exemple A =
0 1
1 0
montre que la réciproque est fausse.
P
Dans la suite, Cn sera muni de la norme kxk1 = ni=1 |xi | et Mn (C) de
la norme d’opérateur associée.
Théorème 3 Soit A = (aij )1≤i,j≤n ∈ Mn (R) une matrice positive et r =
r(A) son rayon spectral.
(i) (Perron) Supposons que A est primitive. Alors r > 0, r est une
valeur propre dominante et simple de A et il existe un unique vecteur x+
strictement positif tel que Ax+ = rx+ et kx+ k1 = 1.
(ii) (Frobenius) Supposons que A est irréductible. Alors r > 0, r est
une valeur propre simple de A et il existe un unique vecteur x+ strictement
positif tel que Ax+ = rx+ et kx+ k1 = 1.
La seule différence entre les cas (i) et (ii) est que, dans le deuxième cas,
r n’est pas nécessairement une valeur propre dominante: il peut y avoir
d’autres valeurs propres de même module (comme dans l’exemple de la matrice A ci-dessus). Le vecteur propre x+ est appelé le vecteur de PerronFrobenius de A.
Nous nous contenterons de donner une preuve de la partie (i) due à Perron
qui est souvent suffisante pour les applications.
Preuve de (i)
Comme A est primitive, il existe k ∈ N tel que Ak > 0.
• 1ère etape: On peut supposer que A > 0. En effet, supposons le théoréme
prouvé pour B = Ak . Le spectre de B est σ(B) = {λk : λ ∈ σ(A)} et un
vecteur propre de A pour une valeur propre λ est un vecteur propre de B
pour la valeur propre λk . Le rayon spectral de B est s = rk . Donc r > 0
et r est une valeur propre de A. C’est une valeur propre simple de A : si
x, y ∈ Cn sont tels que Ax = rx et Ay = ry, alors Bx = rk x et By = rk y.
C’est une valeur propre dominante de A: si λ est une valeur propre de A de
module r, alors λk est une valeur propre de B de module rk = s, et donc
λk = s. Il s’ensuit que λ = r. L’unique vecteur propre x+ > 0 de B avec
kx+ k1 = 1 pour la valeur propre rk est l’unique vecteur propre x+ > 0 de A
avec kx+ k1 = 1 pour la valeur propre r.
On suppose, à partir de maintenant que A > 0. Par le Lemme 1, on a
Ax > 0 pour tout x ≥ 0, x 6= 0. On observera que ceci implique que, si
x ∈ Rn avec x ≥ 0 est un vecteur propre A, alors x > 0.
On considère le compact X = {x ∈ Rn : x ≥ 0, kxk1 = 1} de Rn . Pour
tout x ∈ X, l’ensemble {t ∈ R+ : tx ≤ Ax} est non vide, borné (par kAk)
Bachir Bekka, février 2007
2
et fermé. On définit une fonction θ : X → R+ par
θ(x) = max{t ∈ R+ : tx ≤ Ax},
x ∈ X.
On observera que θ(x) > 0 car Ax > 0.
La fonction θ est bornée (par kAk); soit r0 = supx∈X θ(x) ∈]0, +∞[.
• 2ème etape: Tout x ∈ X tel que θ(x) = r0 est un vecteur propre de A
de valeur propre r0 . En effet, supposons, par l’absurde, que Ax 6= r0 x. Par
définition de θ(x), on a Ax − r0 x = Ax − θ(x)x ≥ 0. D’où A(Ax − r0 x) > 0
car A > 0. Alors A(Ax − (r0 + ε)x) ≥ 0 pour ε > 0 suffisamment petit. Soit
1
y=
Ax ∈ X. Alors
kAxk1
Ay − (r0 + ε)y =
1
A(Ax − (r0 + ε)x) ≥ 0
kAxk1
et donc θ(y) ≥ r0 + ε. Ceci contredit la définition de r0 .
• 3ème etape: Il existe un vecteur x+ ∈ X tel θ(x+ ) = r0 . En effet, soit
(x(k) )k une suite dans X telle que limk θ(x(k) ) = r0 . Comme X est compact,
(x(k) )k possède une sous-suite convergente, notée de nouveau (x(k) )k . Soit
x+ = limk x(k) ∈ X. On a θ(x(k) )x(k) ≤ Ax(k) , par définition de θ. D’où, par
passage à la limite r0 x+ ≤ Ax+ et donc r0 ≤ θ(x+ ). Il s’ensuit, par définition
de r0 , que θ(x+ ) = r0 .
• 4ème etape: Pour toute valeur propre λ ∈ C de A, on a |λ| ≤ r0 ; en particulier r0 est égal au rayon spectral r = r(A). En effet, soit v = (v1 , . . . , vn )t ∈
Cn un vecteur
Pn propre pour λ avec kvk1 = 1. Alors, pour tout i ∈ {1, . . . , n},
on a λvi = j=1 aij vj et donc
|λ||vi | ≤
n
X
aij |vj |.
j=1
Pour le vecteur |v| = (|v1 |, . . . , |vn |)t ∈ X, on a donc |λ||v| ≤ A|v|. Ceci
implique que |λ| ≤ θ(|v|) et donc |λ| ≤ r0 , par définition de r0 .
• 5ème etape: r est une valeur propre dominante et simple. En effet, soit
λ ∈ C une valeur propre de A avec |λ| = r. Soit v = (v1 , . . . , vn )t ∈ Cn
un vecteur propre pour λ avec kvk1 = 1. Il suffit de montrer que v est un
multiple du vecteur x+ introduit plus haut; par la 2ème étape, x+ est un
vecteur propre de valeur propre r.
Bachir Bekka, février 2007
3
Comme plus haut, pour |v| = (|v1 |, . . . , |vn |)t ∈ X, on a r = |λ| ≤ θ(|v|)
et ainsi θ(|v|) = r. Par la 2ème étape, |v| est donc un vecteur
P propre de valeur
propre r, c-à-d, pour tout i ∈P{1, . . . , n}, on a r|vi | = nj=1 aij |vj |. D’autre
part, Av = λv implique que | nj=1 aij vj | = r|vi |; il s’ensuit que
|
n
X
j=1
aij vj | =
n
X
aij |vj |,
1 ≤ i ≤ n.
(∗)
j=1
Comme aij > 0, cette égalité, pour i = 1 par exemple, ne peut avoir lieu
n
que si les vecteurs v et |v|
colinéaires (écrire
vj = eiθj |vj | avec
P
Pnde C sont
θj ∈ [0, 2π[, développer | j=1 a1j vj |2 et comparer avec ( nj=1 a1j |vj |)2 ).
Il nous reste à montrer que |v| et x+ = (x1 , . . . , xn ) sont colinéaires. Soit
t = max1≤j≤n {−xj /|vj |}. Alors, pour le vecteur y = x+ + t|v|, on a y ≥ 0
et yi = 0 pour un i tel que t = −xi /|vi |. Comme y est un vecteur propre de
A, on a nécessairement y = 0 (car, comme y est positif, y 6= 0 impliquerait
y > 0). Donc |v| et x+ , sont colinéaires. 2
Matrices stochastiques, chaines de Markov
et graphes
Une matrice
positive P = (pij )1≤i,j≤n est dite stochastique si, pour 1 ≤ i ≤ n,
P
on a 1≤j≤n pij = 1.
Un graphe (stochastique) fini G = (E, P ) est la donnée d’un ensemble
fini E = {x1 , . . . , xn } de sommets et d’une fonction P : V × V → R+ telle
que la matrice (P (xi , xj )ij )1≤i,j≤n soit stochastique. Les arêtes de G sont les
couples (xi , xj ) tels que P (xi , xj ) > 0.
Réciproquement, à une matrice stochastique P = (pij )1≤i,j≤n ∈ Mn (R)
est associé un graphe G(P ) avec E = {1, 2, . . . , n} comme ensemble de sommets et l’ensemble des couples (i, j) ∈ V × V avec pij 6= 0 comme ensemble
d’arêtes.
Soit (Xn )n une chaı̂ne de Markov homogène avec ensemble d’états E =
{x1 , . . . , xn } et matrice de transition P = (pij )1≤i,j≤n ; on rappelle que ceci
signifie que la probabilité de transition P(Xn+1 = xj |Xn = xi ) est égale à
pij .
Soit µ une mesure de probabilité sur E. On écrit µi pour µ(xi ). On dit
que µ est invariante pour P si le vecteur ligne µ = (µ1 , . . . , µn ) satisfait à
Bachir Bekka, février 2007
4
l’équation µ = µP, c-à-d si le vecteur colonne µ est un vecteur propre de
P t pour la valeur propre 1. Les mesures invariantes représentent les états
d’équilibre du système.
Comme P est stochastique, 1 est valeur propre de P (le vecteur (1, . . . , 1)
est vecteur propre); donc 1 est valeur propre de P t également. Comme
kP t k = 1, le rayon spectral de P t est 1.
Supposons que P est irréductible; remarquons que cette condition équivaut
à la connectivité du graphe G(P ) associé à P : étant donnés 2 états xi , xj , il
existe un chemin dans le graphe G(P ) allant de xi vers xj . Par le théorème de
Perron-Frobenius, il existe alors une unique mesure de probabilité invariante
µ sur E telle que µi > 0 pour tout i.
Si P est primitive, alors, pour tout mesure de probablité µ0 sur E (représentant l’état initial), on a limk kµ0 P k − µk1 = 0 avec vitesse exponentielle;
plus précisément, on a kµ0 P k − µk1 = O(ρk ), où ρ = max{|λ| : λ ∈ σ(P ), λ 6=
1}; voir le document “Sur les matrices stochastiques” par Françoise Guimier
(Documents pédagoqiques pour l’agrégation, Compléments d’analyse).
3
L’algorithme PageRank de Google
Le graphe du web est le graphe est le suivant:
• L’ensemble des sommets E = {x1 , . . . , xN ) est l’ensemble des N pages
web (actuellement, N ∼ 25.109 d’après Google)
• Une arête part de xi vers xj si la page web xi possède un lien pointant
vers xj .
L’algorithme PageRank de Google, développé en 1998 par S. Brin et L. Page
(le “Page” de PageRank a un double sens!), classe ces pages en leur attribuant des poids pour en mesurer l’importance. L’importance d’une page
xi est établie en fonction du nombre et de l’importance (sic!) des pages xj
qui pointent vers xi . Plus précisément, imaginons-nous en train de naviguer
(“surfer”) au hasard sur le web: ayant choisi une page initiale au hasard,
nous navigons vers un des liens disponibles, en le choisissant aléatoirement
et de manière équiprobable. Arrivés sur la nouvelle page, nous procédons
de la même manière, et ainsi de suite. Ceci définit une chaı̂ne de Markov
et l’espoir est qu’à la longue nous convergerons vers un état d’équilibre. La
mesure de probabilité invariante correspondante (qui attribut des poids à
Bachir Bekka, février 2007
5
toutes les pages web) est le classement voulu: le poids d’une page est proportionnel au nombre de fois où cette page a été visitée et ceci détermine son
importance.
La matrice des liens L = (lij )1≤,i,j≤N est définie par
(
1/di si xi pointe vers xj
lij =
0
sinon,
où di est le nombre de liens sur la page xi . Malheureusement, L n’est pas
stochastique: il y a des pages qui ne pointent vers aucune autre page! Pour
pallier à ce défaut, on modifie L en définissant lij = 1/N pour une telle page
xi .
Même ainsi modifiée, la matrice L n’est pas irréductible et, encore moins,
primitive. Brin et Page ont introduit la matrice de Google pour un paramètre
α ∈]0, 1[:
G = αL + (1 − α)E,
où E = (eij )1≤,i,j≤N est la matrice avec eij = 1/N. La matrice G est stochastique et trivialement primitive (car G > 0). Il y a donc une unique mesure
de probabilité invariante µ = (µ(x1 ), . . . , µ(xN )) pour G, appelé le vecteur de
Google, qui est tout simplement le vecteur de Perron-Frobenius de Gt . C’est
ce vecteur qui détermine le classement de votre page web.
Bien sûr, l’aspect crucial est le calcul effectif du vecteur µ. Rappelons
que G est une matrice avec plusieurs milliards de coefficients. Le calcul de µ
est fait au moyen d’une itération µn+1 = µn G avec une distribution initiale
µ0 quelconque. Comme G est primitive, cette itération converge avec une
vitesse de l’ordre de αn (voir la section précédente).
D’une part, le paramètre artificiel α doit être choisi proche de 1 pour
mieux refléter la structure du web; d’autre part, si α est trop proche de 1,
la convergence est fortement ralentie. Il semble qu’un bon compromis soit la
valeur expérimentale α = 0, 85 utilisée actuellement par Google.
Bibliographie: Pour la preuve de (ii) du Théorème 3, on pourra consulter
les ouvrages “The theory of matrices. Volume 2” de F. R. Gantmacher,
Chelsea Publ.Co 1959, ou “Les matrices: théorie et pratique” de D. Serre,
Dunod 2001.
Pour plus de détails sur les algorithmes des moteurs de recherche, voir le
livre “Google’s PageRank and beyond: the science of search engine rankings”
de A.N. Langville et C. D. Meyer , Princeton University Press 2006.
Bachir Bekka, février 2007
6

Documents pareils