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