COMMENT FONCTIONNE GOOGLE?

MICHAEL EISERMANN

´ ´ R E SUM E . Le point fort du moteur de recherche Google est qu’il trie intelligemment ses r´ sultats par e ` ordre d’importance. Nous expliquons ici l’algorithme PageRank qui est a la base de ce classement. Il ´ faut d’abord etablir un mod` le qui permet de d´ finir ce que l’on entend par « importance ». Une fois ce e e mod` le formalis´ , il s’agit de r´ soudre astucieusement un immense syst` me d’´ quations lin´ aires. e e e e e e Il va sans dire que l’application pratique est devenue tr` s importante. Bien qu’´ l´ mentaires, les e ee arguments math´ matiques sous-jacents n’en sont pas moins int´ ressants : l’approche fait naturellement e e intervenir l’alg` bre lin´ aire, la « marche al´ atoire » sur un graphe et le th´ or` me du point fixe. Tout ceci e e e e e en fait un tr` s beau sujet pour la culture des math´ matiques et leurs applications. e e

` TABLE DES MATI E RES Introduction 1. Que fait un moteur de recherche ? 2. Comment mesurer l’importance d’une page web ? 3. Marche al´ atoire sur la toile e 4. Existence et unicit´ d’une solution e 5. Impl´ mentation efficace e 6. Quelques points de r´ flexion e R´ f´ rences ee 1 2 3 6 8 11 12 15

I NTRODUCTION Cet article discute les math´ matiques utilis´ es par Google, un moteur de e e recherche g´ n´ raliste qui a eu un succ` s fulgurant depuis sa cr´ ation en e e e e 1998. Le point fort de Google est qu’il trie par ordre d’importance les r´ sultats d’une requˆ te, c’est-` -dire les pages web associ´ es aux motse e a e cl´ s cherch´ s. L’´ tonnante efficacit´ de cette m´ thode a fait le succ` s de Google et la fortune de ses e e e e e e fondateurs, Sergey Brin et Lawrence Page. L’id´ e est n´ e lors de leur th` se de doctorat, puis publi´ e e e e e dans leur article [1]. Il s’agit essentiellement de r´ soudre un grand syst` me d’´ quations lin´ aires et e e e e fort heureusement l’algorithme it´ ratif qui en d´ coule est aussi simple que puissant. On s’int´ resse ici e e e ` de plus pr` s a cet algorithme, a la fois simple et ing´ nieux. En conjonction avec une habile strat´ gie e ` e e d’entreprise, on pourrait dire que Google gagne des milliards de dollars avec l’alg` bre lin´ aire ! e e Ajoutons que Google a eu la chance de naˆtre dans une situation favorable, quand la « nouvelle ı ´ ´ economie » etait encore en pleine croissance : le volume d’internet explosait et les moteurs de re` cherche de premi` re g´ n´ ration avaient du mal a s’adapter aux exigences grandissantes. Si vous voue e e lez savoir plus sur la foudroyante histoire de l’entreprise Google, ses l´ gendes et anecdotes, vous lirez e avec profit le livre de David Vise et Mark Malseed [2].
Date: 16 mai 2006. Derni` re mise a jour: 9 janvier 2008. e ` Universit´ Joseph Fourier e • Licence de Math´ matiques e
1

URL: www-fourier.ujf-grenoble.fr/~eiserm cours « Math´ matiques assist´ es par ordinateur ». e e

2

MICHAEL EISERMANN

1. Q UE FAIT UN MOTEUR DE RECHERCHE ? ` 1.1. Fouille de donn´ es. A premi` re vue, le principe d’un moteur e e de recherche est simple : on copie d’abord les pages web concern´ es e en m´ moire locale, puis on trie le contenu (les mots-cl´ s) par ordre e e alphab´ tique afin d’effectuer des recherches lexiques. Une requˆ te est e e la donn´ e d’un ou plusieurs mots-cl´ s ; la r´ ponse est une liste des e e e pages contenant les mots-cl´ s recherch´ s. C’est en gros ce que faisaient les moteurs de recherche, e e dits de premi` re g´ n´ ration, dans les ann´ es 1990. Apr` s r´ flexion, cette d´ marche simpliste n’est e e e e e e e ´ ` e ´ pas si evidente car la quantit´ des documents a g´ rer est enorme et rien que le stockage et la gestion e ˆ efficaces posent des d´ fis consid´ rables. Et cela d’autant plus que les requˆ tes doivent etre trait´ es en e e e e temps r´ el : on ne veut pas la r´ ponse dans une semaine, mais tout de suite. e e ` ´ Une impl´ mentation op´ rationnelle a cette echelle doit donc employer la force brute d’un r´ seau e e e puissant, afin de r´ partir les donn´ es et les tˆ ches sur plusieurs ordinateurs travaillant en parall` le. e e a e Plus important encore sont les algorithmes, hautement sp´ cialis´ s et optimis´ s, sans lesquels mˆ me e e e e un r´ seau de quelques milliers d’ordinateurs resterait impuissant devant cette tˆ che hercul´ enne. Pour e a e se faire une id´ e de l’ordre de grandeur, voici quelques chiffres sur l’entreprise Google : e Cerveaux: environ 6 000 employ´ s (d´ but 2006) e e Ordinateurs: plus de 60 000 PC en r´ seau sous Linux (on ignore les chiffres exacts) e M´ moire vive: plus de 130 000 Go de RAM pour les calculs (on ignore les chiffres exacts) e Disques dures: plus de 5 000 000 Go pour stocker les donn´ es (on ignore les chiffres exacts) e Trafic en ligne: quelques milliers de requˆ tes par secondes (on ignore les chiffres exacts) e ´ Part du march´ : plus de 50% aux Etats-Unis et dans de nombreux autres pays e Chiffre d’affaires: plus de $6 000 000 000 en 2005, dont $1 465 400 000 b´ n´ fices net e e Cotation boursi` re: environ $80 000 000 000 en aoˆ t 2005 e u ´ Pr´ cisons que la recherche sur Google est un service gratuit. En 1998 il n’´ tait pas du tout evident e e comment gagner de l’argent avec un produit gratuit, aussi appr´ ci´ qu’il soit. Jusqu’en 2000 l’entree e ´e prise accumulait des pertes et fut mˆ me menac´ e de faillite. L’id´ e qui l’a sauv´ e a et´ la vente de e e e e liens commerciaux et depuis 2001 ces placements publicitaires g´ n` rent de plus en plus de b´ n´ fices. e e e e 1.2. Classement des r´ sultats. L’´ norme quantit´ des donn´ es entraˆne un deuxi` me probl` me, plus e e e e ı e e d´ licat encore : les pages trouv´ es sont souvent trop nombreuses, il faut donc en choisir les plus pertie e nentes. La grande innovation apport´ e par Google en 1998 est le tri des pages par ordre d’importance. e Ce qui est frappant est que cet ordre correspond assez pr´ cis´ ment aux attentes des utilisateurs. e e ` Par exemple, si vous vous int´ ressez a la programmation et vous faites chercher les mots-cl´ s « C++ e e compiler », vous trouverez quelques millions de pages. Des pages importantes comme gcc.gnu.org se trouvent quelque part en tˆ te du classement, ce qui est tr` s raisonnable. Par contre, une petite page e e ` personnelle, o` l’auteur mentionne qu’il ne connaˆt rien du C++ et n’arrive pas a compiler, ne figurera u ı ´ que vers la fin de la liste, ce qui est egalement raisonnable. Comment Google distingue-t-il les deux ? Selon les informations fournies par l’entreprise elle-mˆ me, l’index de Google porte sur plus de 8 e milliards de documents web. Une bonne partie des informations r´ pertori´ es, pages web et documents e e annexes, changent fr´ quemment. Il est donc hors de question de les classer manuellement, par des e ˆ ` etres humains : ce serait trop coˆ teux, trop lent et jamais a jour. L’importance d’une page doit donc u ˆ etre d´ termin´ e de mani` re automatis´ e, par un algorithme. Comment est-ce possible ? e e e e

COMMENT FONCTIONNE GOOGLE?

3

2. C OMMENT MESURER L’ IMPORTANCE D ’ UNE PAGE WEB ? 2.1. Le web est un graphe. La particularit´ des documents hypertexte e est qu’ils fournissent des liens, des r´ f´ rences mutuelles pointant de l’une ee vers l’autre. Ainsi on peut consid´ rer le web comme un immense graphe, e dont chaque page web j est un sommet et chaque lien j → i est une arˆ te. e

6

1

7

8

9

10

2

3

4

5

11

12

13

14

F IG . 1. Le web vu comme un graphe ´ Dans la suite on num´ rote les pages par 1, 2, 3, . . . , n et on ecrit j → i si la page j pointe vers la e ´ page i (au moins une fois ; on ne compte pas les liens multiples). Ainsi chaque page j emet un certains ` noter que les arˆ tes sont orient´ es : si l’on a j → i, nombre j de liens vers des pages « voisines ». A e e on n’a pas forc´ ment le sens inverse i → j. Le graphe de la figure 1, par exemple, s’´ crit comme suit : e e 1 → 2, 3, 4, 5, 6 ; 2 → 1, 3 ; 3 → 1, 4 ; 4 → 1, 5 ; 9 → 8, 10 ; 10 → 6, 11, 12, 13, 14 ; 11 → 10, 12 ; 5 → 1, 3 ; 6 → 7, 8, 9 ; 7 → 8, 1 ; 8 → 6 ; 12 → 10, 13 ; 13 → 10, 14 ; 14 → 10, 11.

2.2. Comment rep´ rer des pages importantes ? Dans une premi` re approximation nous allons e e n´ gliger le contenu des pages et ne tenir compte que de la structure du graphe. e – Regardons d’abord le groupe des pages 1, 2, 3, 4, 5. Le dessin sugg` re que la page 1 sert de racine e tandis que les pages 2, 3, 4, 5 sont subordonn´ es. Dans ce sens, la page 1 sera sans doute un bon e point de d´ part si vous cherchez des informations. e – Il en est de mˆ me pour le groupe 10, 11, 12, 13, 14, o` la page 10 sert de racine alors que e u ` titre d’exemple, il pourrait s’agir d’une page d’accueil et 11, 12, 13, 14 sont subordonn´ es. A e quatre pages annexes, ou d’une introduction et quatre chapitres d’un ouvrage. ` – La structure du groupe 6, 7, 8, 9 est similaire. A noter toutefois que les pages 1 et 10, d´ j` reconea ` nues comme importantes, font toutes deux r´ f´ rence a la page 6. On pourrait ainsi soupconner ee ¸ que la page 6 contient de l’information essentielle pour tout l’ensemble. Heuristiquement, on conclut que les pages 1, 6, 10 semblent les plus importantes, avec une l´ g` re e e pr´ f´ rence pour la page 6. Soulignons toutefois que notre dessin dans le plan sugg` re une organisation ee e hi´ rarchique qui n’est qu’artificielle. Un ordinateur qui analyse cette situation n’a que l’information e brute des liens 1 → 2, 3, 4, 5, 6 ; 2 → 1, 3 ; etc. ` Question 1. Est-il possible, par un algorithme, d’associer a chaque page i = 1, . . . , n une mesure d’importance ? Plus explicitement, on souhaite que cette mesure soit un nombre r´ el µi ≥ 0 avec la e convention que plus µi est grand, plus la page i est « importante ».

4

MICHAEL EISERMANN

Remarque 2. La notion d’importance d’une page est n´ cessairement vague. Qu’est-ce que l’impore tance ? Peut-il y avoir une mesure objective ? Si oui, comment la d´ finir ? Cette question semble au e ` cœur de toute la probl´ matique. Si vous avez une nouvelle id´ e pertinente a ce sujet, impl´ mentez-la e e e et devenez riche ! (Ou bien venez en discuter avec moi.) Dans la suite notre but sera modeste : le mieux que l’on puisse esp´ rer est que notre analyse d´ gage e e un r´ sultat qui approche bien l’importance ressentie par les utilisateurs. Pour toute application profese ` ` sionnelle les r´ sultats num´ riques seront a tester et a calibrer empiriquement. e e 2.3. Premi` re id´ e : comptage des liens. Il est plausible qu’une page importante recoit beaucoup de e e ¸ liens. Avec un peu de na¨vet´ , on croira aussi l’affirmation r´ ciproque : si une page recoit beaucoup ı e e ¸ de liens, alors elle est importante. Ainsi on pourrait d´ finir l’importance µi de la page i comme suit : e

(1)

µi =

j→i

∑ 1.

´ Interpr´ tation: La somme (1) veut juste dire que µi est egal au nombre de liens j → i recus par i. e ¸ ` e ` C’est facile a d´ finir et facile a calculer : il suffit de compter. Exemple: Dans notre exemple, les pages 1 et 10 recoivent 5 liens chacune, alors que la page 6 ¸ n’en recoit que 3. Ainsi µ1 = µ10 = 5 mais seulement µ6 = 3. ¸ ` Inconv´ nient: La mesure µ ainsi d´ finie ne correspond pas a l’importance ressentie par les utilie e sateurs : elle sous-estime l’importance de la page 6. Manipulation: On peut artificiellement augmenter l’importance d’une page i en cr´ ant des pages e « vides de sens » pointant vers i. Cette faiblesse fait du comptage une approche peu fiable. ´ 2.4. Seconde id´ e : comptage pond´ r´ . Certaines pages j emettent beaucoup de liens : ceux-ci sont e e e donc moins sp´ cifiques et dans un certain sens leur poids est plus faible. Ainsi on pourrait d´ finir une e e mesure d’importance plus fine comme suit : 1
j

(2)

µi =

j→i

.

Interpr´ tation: Comme avant, la somme (2) compte les liens recus par la page i, mais maintenant e ¸ chaque lien j → i n’est compt´ qu’avec un poids 1j . Il suffit de sommer. e Exemple: Dans notre exemple, on trouve des sommes µ1 = µ10 = 2.5 et µ6 = 1.4. ` Inconv´ nient: La mesure µ ainsi d´ finie ne correspond toujours pas bien a l’importance ressentie e e ` par les utilisateurs : elle sous-estime a nouveau l’importance de la page 6. Manipulation: Comme avant, on peut artificiellement augmenter l’importance d’une page i en cr´ ant une foule de pages « vides » pointant vers i. De nouveau, la mesure n’est pas fiable. e 2.5. Troisi` me id´ e : d´ finition r´ cursive. La derni` re id´ e en date, finalement, est celle utilis´ e par e e e e e e e Google. Le principe : une page i est importante si beaucoup de pages importantes pointent vers i. Ainsi on est amen´ a d´ finir l’importance µi de mani` re r´ cursive comme suit : e` e e e

COMMENT FONCTIONNE GOOGLE?

5

(3)

µi =

j→i

1
j

µ j.

Interpr´ tation: La somme (3) compte chaque lien recu par i avec poids 1j µ j : ceci tient compte de e ¸ ´ l’importance µ j de la page d’origine j, et du nombre j des liens qui en sont emis. Exemple: Dans notre exemple, on trouve, apr` s calcul, les valeurs µ6 = 6 et µ1 = µ10 = 5 puis e ´ µ8 = 4. Les autres pages suivent avec un grand ecart et n’obtiennent que µi = 2. Plausibilit´ : Les pages 6, 1, 10, 8 sont effectivement rep´ r´ es comme les plus importantes. Ceci e ee ` veut dire que la mesure µ ainsi obtenue correspond assez bien a l’importance ressentie par les utilisateurs, comme motiv´ e ci-dessus. (On discutera pourquoi au §6.) e Robustesse: Si l’on ajoute des pages « vides de sens » elles recevront l’importance 0 et ne contri´ bueront pas au calcul. Ainsi la manipulation evidente n’influence plus le r´ sultat. e `´ ´ ` e L’´ quation (3) est facile a ecrire mais moins evidente a r´ soudre : na¨vement parlant, pour calculer e ı µi il faut d’abord connaˆtre les termes de droite, donc les µ j , ce qui a l’air circulaire. . . Notre objectif ı est donc d’expliquer pourquoi une solution existe et comment la calculer de mani` re efficace. e 2.6. Apparaˆt l’alg` bre lin´ aire. . . Apr` s r´ flexion, l’´ quation (3) n’est rien autre qu’un syst` me ı e e e e e e d’´ quations lin´ aires. Plus explicitement, pour tout couple d’indices i, j ∈ {1, . . . , n}, on d´ finit ai j par e e e
1

(4)

ai j :=

j

si j → i, sinon. (A − I)µ = 0,

0

´ On obtient ainsi une matrice A = (ai j ), et notre equation (3) s’´ crit comme e µ = Aµ ou encore ce qui est un honnˆ te syst` me lin´ aire, que l’on peut r´ soudre par des m´ thodes ad´ quates. e e e e e e Exemple 3. Dans notre exemple, A est la matrice 14 × 14 explicit´ e ci-dessous et l’´ quation µ = Aµ e e ´ ` admet la solution enonc´ e. (Le v´ rifier !) C’est mˆ me la seule a multiplication par un scalaire pr` s. e e e e  0 1/2 1/2 1/2 1/2 0 1/2 0 0 0 0 0 0 0   5 
0 0 0  1/5 1/2 0 0 1/2 0 0 0 0 0  1/5  1/5 0 1/2 0 0 0 0  1/5 0 0 1/2 0 0 0   1/5 0 0 0 0 0 0  0 0 0 0 0 1/3 0 A =  0 0 0 0 0 1/3 1/2   0 0 0 0 0 1/3 0   0 0 0 0 0 0 0  0 0 0 0 0 0 0   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1/5 0 0 0 0 0 0 0 0 0 0 1/2 0 0 0 0 0 0 0 0 0 0 0 1/2 0 1/2 1/2 1/2 0 0 1/5 0 0 0 0 0 1/5 1/2 0 0 0 0 1/5 0 1/2 0 0 0 1/5 0 0 1/2 0  0  0   0  0  0  , 0  0   1/2  1/2   0  0 0

       µ =       

2 2 2 2 6 2 4 2 5 2 2 2 2

       .       

D´ finition 4. Soit A ∈ Rn×n une matrice et soit v ∈ Rn {0} un vecteur non nul. Si Av = λ v pour un e scalaire λ ∈ R, alors on dit que v est un vecteur propre de la matrice A, associ´ a la valeur propre λ . e` Pour notre application, nous nous int´ ressons donc aux vecteurs propres de A associ´ a λ = 1. On e e` montrera plus bas qu’un tel vecteur propre existe et que la solution est essentiellement unique (§4.2).

6

MICHAEL EISERMANN

´ 3. M ARCHE AL E ATOIRE SUR LA TOILE ` 3.1. Matrices stochastiques. Les arguments du §2 nous m` nent a e ´ etudier une certaine matrice A qui code la structure du web. Avant de r´ soudre l’´ quation Aµ = µ, on va essayer d’en d´ velopper une e e e intuition. L’id´ e est de r´ interpr´ ter µ comme une mesure de « popularit´ » des pages web. e e e e ´ Chaque page j emet un certain nombre j de liens, ce que l’on code par des coefficients ai j suivant l’´ quation (4) ci-dessus. Par la suite nous supposons que j ≥ 1, ce qui n’est pas une restriction e s´ rieuse : si jamais une page n’´ met pas de liens on peut la faire pointer vers elle-mˆ me. e e e Selon sa d´ finition, notre matrice A = (ai j ) v´ rifie e e ai j ≥ 0 pour tout i, j et pour tout j,

∑ ai j = 1
i

` ce que l’on appelle une matrice stochastique. (A noter que la somme de chaque colonne vaut 1, mais on ne peut en g´ n´ ral rien dire sur la somme dans une ligne.) e e ` On peut interpr´ ter ai j comme la probabilit´ d’aller de la page j a la page i, en suivant un des j liens e e ` au hasard. La marche al´ atoire associ´ e consiste a se balader sur le graphe suivant les probabilit´ s ai j . e e e ´ ´ Notre mod` le admet ainsi une etonnante interpr´ tation probabiliste : aussi etrange que cela puisse e e apparaˆtre, on mod´ lise un surfeur al´ atoire, qui ne lit jamais rien mais qui clique au hasard ! ı e e ` Soulignons donc a nouveau que ce n’est pas le contenu des pages web qui soit pris en compte pour le calcul de « l’importance », mais uniquement la structure du graphe form´ par les pages et les liens e entre elles. (Ne vous faites pas trop de souci pour l’instant, on discutera plus bas, au §6, pourquoi ce mod` le est tout de mˆ me plausible.) e e 3.2. Convergence vers une mesure invariante. Supposons qu’un vecteur x ∈ Rn v´ rifie e xj ≥ 0 pour tout j et

∑ x j = 1,
j

ce que l’on appelle un vecteur stochastique ou une mesure de probabilit´ sur les pages 1, . . . , n : on e interpr` te x j comme la probabilit´ de se trouver sur la page j. e e Effectuons un pas dans la marche al´ atoire : avec probabilit´ x j on d´ marre sur la page j, puis on e e e suit le lien j → i avec probabilit´ ai j . Ce chemin nous fait tomber sur la page i avec une probabilit´ e e ai j x j . Au total, la probabilit´ d’arriver sur la page i, par n’importe quel chemin, est la somme e yi = ∑ ai j x j .
j

` Autrement dit, un pas dans la marche al´ atoire correspond a l’application lin´ aire e e T : Rn → Rn , x → y = Ax.

Remarque 5. Si x est un vecteur stochastique, alors son image y = Ax aussi. Effectivement, yi ≥ 0 car yi = ∑ j ai j x j est une somme de termes positifs ou nuls et, de plus,

∑ yi = ∑ ∑ ai j x j = ∑ ∑ ai j x j = ∑ ∑ ai j
i i j j i j i

x j = ∑ x j = 1.
j

COMMENT FONCTIONNE GOOGLE?

7

D´ finition 6. Une mesure de probabilit´ µ v´ rifiant µ = T (µ) est appel´ e une mesure invariante e e e e ou une mesure d’´ quilibre. En termes d’alg` bre lin´ aire c’est un vecteur propre associ´ a la valeur e e e e` propre 1. En termes d’analyse, µ est un point fixe de l’application T . Exemple 7. It´ rer la marche al´ atoire avec une probabilit´ initiale u0 veut dire que l’on consid` re les e e e e mesures de probabilit´ s successives u1 , u2 , u3 , . . . d´ finies par ut+1 = Aut . Voici un exemple d´ marrant e e e sur la page 8, c’est-` -dire u0 = (0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0) : a

temps page 1 page 2 page 3 page 4 page 5 page 6 page 7 page 8 page 9 page 10 page 11 page 12 page 13 page 14 t=0 0.000 0.000 0.000 0.000 0.000 0.000 0.000 1.000 0.000 0.000 0.000 0.000 0.000 0.000 t=1 0.000 0.000 0.000 0.000 0.000 1.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 t=2 0.000 0.000 0.000 0.000 0.000 0.000 0.333 0.333 0.333 0.000 0.000 0.000 0.000 0.000 t=3 0.167 0.000 0.000 0.000 0.000 0.333 0.000 0.333 0.000 0.167 0.000 0.000 0.000 0.000 t=4 0.000 0.033 0.033 0.033 0.033 0.400 0.111 0.111 0.111 0.000 0.033 0.033 0.033 0.033 t=5 0.122 0.017 0.017 0.017 0.017 0.111 0.133 0.244 0.133 0.122 0.017 0.017 0.017 0.017 t=6 0.100 0.033 0.033 0.033 0.033 0.293 0.037 0.170 0.037 0.100 0.033 0.033 0.033 0.033 t=7 0.084 0.036 0.036 0.036 0.036 0.210 0.098 0.135 0.098 0.084 0.036 0.036 0.036 0.036 t=8 0.122 0.035 0.035 0.035 0.035 0.168 0.070 0.168 0.070 0.122 0.035 0.035 0.035 0.035 t=9 0.105 0.042 0.042 0.042 0.042 0.217 0.056 0.126 0.056 0.105 0.042 0.042 0.042 0.042 ... t=28 0.125 0.050 0.050 0.050 0.050 0.151 0.050 0.100 0.050 0.125 0.050 0.050 0.050 0.050 t=29 0.125 0.050 0.050 0.050 0.050 0.150 0.050 0.100 0.050 0.125 0.050 0.050 0.050 0.050 t=30 0.125 0.050 0.050 0.050 0.050 0.150 0.050 0.100 0.050 0.125 0.050 0.050 0.050 0.050

On observe un ph´ nom` ne de diffusion, tr` s plausible apr` s r´ flexion : e e e e e – On commence au temps t = 0 sur la page 8 avec probabilit´ 1.000. e – Au temps t = 1, on se trouve sur la page 6 avec probabilit´ 1.000, suivant le seul lien 8 → 6. e – Pour t = 2, on tombe sur une des pages voisines suivant 6 → 7, 8, 9, chacune avec probabilit´ 1 . e3 – Dans les it´ rations suivantes la probabilit´ se propage sur tout le graphe. e e On constate qu’` partir de t = 5 la distribution est partout non nulle. a – Apr` s 30 it´ rations, on est tr` s proche (` 10−3 pr` s) de la solution µ d´ j` exhib´ e ci-dessus. e e e a e ea e On conclut, au moins empiriquement, que la probabilit´ tend vers notre distribution d’´ quilibre µ. e e ` A noter qu’il ne s’agit pas de l’´ quiprobabilit´ : certaines pages sont plus fr´ quent´ es que d’autres ! e e e e Comme motiv´ plus haut, ceci refl` te bien le rˆ le particulier des pages 6, 1, 10, 8. e e o Remarque 8. L’interpr´ tation de la limite ut → µ est la suivante : µi est la probabilit´ de se trouver e e sur la page i apr` s une tr` s longue marche al´ atoire. Ainsi les pages avec une grande probabilit´ µi e e e e sont les plus fr´ quent´ es ou les plus « populaires ». Dans la quˆ te de classer les pages web par ordre e e e d’importance, c’est encore un argument pour utiliser la mesure µ comme indicateur. 3.3. Le mod` le PageRank utilis´ par Google. Il se trouve que notre mod` le a encore un grave e e e d´ faut, quant aux propri´ t´ s math´ matiques ainsi qu’` son utilit´ pratique : e ee e a e Exemple 9. Le graphe suivant est une l´ g` re variante de l’exemple donn´ au §2.1, o` s’ajoute la page e e e u 15 qui n’´ met pas de liens. Pourtant, le r´ sultat diff` re drastiquement : la seule mesure invariante est e e e µ = (0, . . . , 0, 1), car notre surfeur al´ atoire tombera tˆ t ou tard sur la page 15, o` il demeure pour e o u le reste de sa vie. Ce r´ sultat ne refl` te evidemment pas l’importance des pages, qui devrait rester e e ´ inchang´ e (ou presque). e

8

MICHAEL EISERMANN

6

1

7

8

9

10

2

3

4

5

11

12

13

14

15

F IG . 2. Une variante du graphe initial Pour cette raison Google utilise un mod` le plus raffin´ , d´ pendant d’un param` tre c ∈ [0, 1] : e e e e – Avec probabilit´ c, le surfeur abandonne la page actuelle et recommence sur une des n pages du e web, choisie de mani` re equiprobable. e ´ – Avec probabilit´ 1 − c, le surfeur suit un des liens de la page actuelle j, choisi de mani` re e e ´ ´ equiprobable parmi tous les j liens emis. (C’est la marche al´ atoire discut´ e ci-dessus.) e e ´ Cette astuce evite en particulier de se faire pi´ ger par une page sans issue. Plus g´ n´ ralement, elle e e e garantit d’arriver n’importe o` dans le graphe, ind´ pendamment des questions de connexit´ . u e e Ce nouveau mod` le probabiliste se formalise comme l’application affine e T : Rn → Rn , x → cε + (1 − c)Ax. Ici A est la matrice stochastique d´ finie par l’´ quation (4). Le vecteur stochastique ε = ( 1 , . . . , 1 ) e e n n ` e correspond a l’´ quiprobabilit´ sur toutes les pages. La constante c ∈ [0, 1] est un param` tre du mod` le. e e e Remarque 10. La valeur 1 est le nombre moyen de liens suivis avant de recommencer sur une page c al´ atoire. En g´ n´ ral, on choisira la constante c positive mais proche de z´ ro. Par exemple, c = 0.15 e e e e ` correspond a suivre 7 liens en moyenne. (On pourrait argumenter que ceci correspond empiriquement ` e au comportement des utilisateurs. . . a d´ battre.) Exercice 11. Si vous vous y connaissez en probabilit´ , prouvez la remarque pr´ c´ dente. e e e ´ 4. E XISTENCE ET UNICIT E D ’ UNE SOLUTION 4.1. Le th´ or` me du point fixe. Une fonction f : R → R est contractante e e de rapport k < 1 si elle v´ rifie | f (x) − f (y)| ≤ k|x − y| pour tout x, y ∈ R. e Sous cette hypoth` se, f admet un et un seul point fixe µ ∈ R, f (µ) = µ, e et pour tout u0 ∈ R la suite it´ rative um+1 = f (um ) converge vers µ. e
Voici une fonction contractante n
contraune fonction ctante

ctio fon ci une nte Voi tracta con

Vo co ici ntr un ac e Voic tan fon cont i une te cti racta fonc on nte tion

fonction Voici une nte contracta n

u ta ici ac Vo ontr c

Vo con ici u tra ne fo cta n nte ctio Voici n

tio fonc n une oici actantenctio V tr fo con ne nte

C’est exactement l’argument qu’il nous faut pour notre application. On a d´ j` vu, d’ailleurs, que la convergence se produisait dans notre exemple ea ci-dessus. Est-ce une co¨ncidence ? Non, c’est encore une manifestation du ı fameux th´ or` me du point fixe. Comme nous travaillons sur les vecteurs e e x ∈ Rn , nous sommes amen´ s a le g´ n´ raliser convenablement : e ` e e D´ finition 12. Pour un vecteur x ∈ Rn on d´ finit sa norme par |x| := ∑i |xi |. e e (C’est une honnˆ te norme, qui a toutes les bonnes propri´ t´ s usuelles.) Une e ee ` fonction f : Rn → Rn est dite contractante de rapport k < 1 (par rapport a n. la norme | · |) si elle v´ rifie | f (x) − f (y)| ≤ k|x − y| pour tout x, y ∈ R e

COMMENT FONCTIONNE GOOGLE?

9

Th´ or` me 13 (le th´ or` me du point fixe). Si f : Rn → Rn est une fonction contractante de rapport e e e e k < 1, alors : (1) Il existe un et un seul point µ ∈ Rn v´ rifiant f (µ) = µ. e (2) Pour toute valeur initiale u0 ∈ Rn la suite it´ rative um+1 = f (um ) converge vers µ. e (3) On a |um − µ| ≤ km |u0 − µ|, la convergence vers µ est donc au moins aussi rapide que celle de la suite g´ om´ trique km vers 0. Pour le calcul concret on a l’estimation de l’´ cart e e e k |um − um−1 |. |um − µ| ≤ 1−k Remarque 14. Dans la pratique, on ignore souvent la limite µ mais on peut facilement calculer la suite it´ rative um . Pour contrˆ ler la qualit´ de l’approximation um , on majore l’´ cart |um − µ| entre um e o e e ` et la limite inconnue par la quantit´ 1−k |um − um−1 |, tr` s facile a calculer. e k e D´ monstration. Comme il s’agit d’une tr` s belle preuve, je ne peux m’empˆ cher de la refaire ici. e e e Unicit´ . — Si x, y ∈ Rn sont deux points fixes d’une fonction f qui est contractante de rapport k < 1, e alors |x − y| = | f (x) − f (y)| ≤ k|x − y|. Ceci n’est possible que pour |x − y| = 0, donc x = y. Existence. — Une r´ currence facile montre que |um+1 − um | ≤ km |u1 − u0 | pour tout m ∈ N, puis e |um+p − um | ≤ |um+p − um+p−1 | + · · · + |um+1 − um | ≤ (k p−1 + · · · + k0 )|um+1 − um | = ≤
1 1−k |um+1 − um | 1−k p 1−k |um+1 − um |

km 1−k |u1 − u0 |

pour tout m, p ∈ N. La suite (um ) est donc de Cauchy et converge puisque (Rn , | · |) est complet. Notons µ := lim um sa limite et v´ rifions qu’il s’agit d’un point fixe. Puisque f est contractante, elle e est continue. L’´ quation de r´ currence um+1 = f (um ) donne donc e e µ = lim um+1 = lim f (um ) = f (lim um ) = f (µ). Vitesse de convergence. — Pour tout u0 la suite it´ rative um+1 = f (um ) v´ rifie |um − µ| ≤ km |u0 − µ|, e e k ` donc um → µ. On a d´ j` etablit la majoration |um+p − um | ≤ 1−k |um − um−1 |, et le passage a la limite ea´ p → ∞ donne l’in´ galit´ cherch´ e. e e e Remarque 15. La propri´ t´ de f d’ˆ tre contractante ne repose que sur la m´ trique de Rn . Le th´ or` me ee e e e e ` ` du point fixe et sa preuve se g´ n´ ralisent mot par mot a un espace m´ trique quelconque a condition e e e qu’il soit complet, c’est-` -dire que toute suite de Cauchy converge. a Les espaces m´ triques complets sont tr` s importants parce qu’ils permettent de construire certains e e ´ objets comme limites de suites de Cauchy, l’existence etant assur´ e par l’hypoth` se de compl´ tude. e e e Notre th´ or` me en est un exemple fondamental aussi bien pour la th´ orie que pour le calcul num´ rique. e e e e 4.2. Application au mod` le PageRank. e Proposition 16. Soit A ∈ Rn×n une matrice stochastique et T : Rn → Rn l’application d´ finie par e T (x) = cε + (1 − c)Ax avec une constante c ∈ ]0, 1]. Alors l’application T est contractante de rapport k = 1 − c < 1. Par cons´ quent, elle admet une unique mesure invariante µ = T (µ) et, pour tout vecteur initial u0 , la e suite it´ rative um+1 = T (um ) converge vers le point fixe µ, avec la vitesse enonc´ e ci-dessus. e e ´

10

MICHAEL EISERMANN

C’est cette mesure invariante µ qui nous int´ ressera dans la suite et que l’on interpr´ tera comme e e mesure d’importance. On la calculera d’ailleurs par la m´ thode it´ rative de la proposition pr´ c´ dente. e e e e D´ monstration. Il suffit de prouver que T est contractante, de rapport k = 1 − c < 1, pour faire appel e au th´ or` me du point fixe. Regardons deux vecteurs x, y ∈ Rn et essayons de majorer z := T x − Ty e e en fonction de |x − y|. On a z = kA(x − y) donc zi = k ∑ j ai j (x j − y j ) pour tout i = 1, . . . , n. Ceci nous permet de calculer la norme : |T x − Ty| = |z| = ∑ |zi | = ∑ k ∑ ai j (x j − y j )
i i j

≤ k ∑ ∑ |ai j (x j − y j )| = k ∑ ∑ ai j |x j − y j |
i j j i

= k∑
j

∑ ai j
i

|x j − y j | = k|x − y|.

´ Ceci prouve que T : Rn → Rn est contractante de rapport k comme enonc´ . L’application T admet e donc un unique point fixe µ ∈ Rn . Remarquons finalement que le point fixe est un vecteur stochastique, c’est-` -dire qu’il satisfait µi ≥ 0 et ∑i µi = 1 : si l’on d´ marre avec un vecteur stochastique u0 , alors a e tous les it´ r´ s um restent stochastiques, donc leur limite µ l’est aussi. (Exercice.) ee Remarque 17. La proposition inclut le cas trivial c = 1 : dans ce cas T (x) = ε est constante, donc x = ε est l’unique point fixe. Dans l’autre extrˆ me on pourrait consid´ rer c = 0, mais T = A n’est pas e e ` forc´ ment contractante. Par exemple pour un graphe a n sommets sans arˆ tes entre eux, nous obtenons e e la matrice identit´ , A = I, qui admet tout vecteur x ∈ Rn comme point fixe. Un bon choix de c se situe e donc quelque part entre 0 et 1 (voir la remarque 10). ´ Remarque 18. Le fait que la solution soit unique est fondamental : une fois que le mod` le est etabli, e ´ le th´ or` me nous garantit une unique mesure µ, sans equivoque. Mieux encore, la suite it´ rative e e e converge toujours vers µ, ind´ pendamment du point de d´ part. En l’absence de toute autre information e e 1 1 on pourra donc d´ marrer avec u0 = ε = ( n , . . . , n ) pour calculer la limite um → µ. e ` ` Remarquons a ce propos que Google est oblig´ de mettre a jour ses donn´ es r´ guli` rement, car le e e e e ` web change sans cesse. Disons que Google met a jour le vecteur µ chaque semaine. Pour ce calcul, il serait maladroit de recommencer par u0 = ε ! Il est sans doute plus avantageux de recycler l’information d´ j` obtenue : on choisira u0 = µancien , la mesure de la semaine d’avant. Ainsi peu d’it´ rations ea e suffiront pour r´ ajuster µ, en supposant que le graphe n’est que l´ g` rement modifi´ . e e e e La morale de cette histoire : l’unicit´ garantie par le th´ or` me nous laisse la libert´ de choisir parmi e e e e plusieurs m´ thodes de calcul — elles aboutissent toutes au mˆ me r´ sultat ! On peut en profiter si l’on e e e dispose d’informations suppl´ mentaires, par exemple en choisissant judicieusement le point de d´ part e e de l’it´ ration. e Remarque 19. La proposition pr´ c´ dente se g´ n´ ralise au th´ or` me de Perron-Frobenius : si une e e e e e e matrice r´ elle A a tous ses coefficients positifs, ai j > 0 pour i, j = 1, . . . , n, alors le rayon spectral de A e est donn´ par une valeur propre λ ∈ R+ et l’espace propre associ´ Eλ est de dimension 1. De plus, la e e matrice A admet un vecteur propre v ∈ Eλ dont tous les coefficients sont positifs. L’algorithme it´ ratif correspondant est souvent appel´ la « m´ thode de la puissance ». Il se g´ n´ ralise e e e e e ` a une matrice A quelconque et permet d’approcher num´ riquement un vecteur propre v associ´ a la e e` valeur propre λ de module |λ | maximal, pourvu que cette valeur propre soit unique et simple.

COMMENT FONCTIONNE GOOGLE?

11

´ 5. I MPL E MENTATION EFFICACE ` Passons a l’impl´ mentation de l’algorithme discut´ ci-dessus. Le proe e gramme qui en r´ sulte est plutˆ t court (moins de 100 lignes). N´ anmoins e o e il est important de r´ fl´ chir sur la meilleure facon de s’y prendre. e e ¸ 5.1. Matrices creuses. Rappelons que la matrice A repr´ sentant le web est tr` s grande : en 2004 e e ´ Google affirmait que « le classement est effectu´ grˆ ce a la r´ solution d’une equation de 500 millions e a ` e de variables et de plus de 3 milliards de termes. » Comment est-ce possible ? La mani` re usuelle de stocker une matrice de taille n × n est un grand tableau de n2 coefficients e index´ s par (i, j) ∈ {1, . . . , n}2 . Il est envisageable de stocker ainsi une matrice 1000 × 1000, c’este ` a-dire un million de coefficients mais ceci est hors de question pour une matrice n × n avec n ≈ 106 , voire n ≈ 108 . L’approche na¨ve est donc prohibitive pour le mod` le PageRank. Soulignons aussi que ı e la m´ thode de Gauss, bien adapt´ e aux matrices de petite taille, s’av` re inutilisable pour les grandes e e e 3 op´ rations, ce qui est trop coˆ teux si n est grand. matrices. Cet algorithme effectue environ n e u Dans notre cas la plupart des coefficients valent z´ ro car une page n’´ met que quelques douzaines e e de liens typiquement. Dans ce cas, il suffit de stocker les coefficients non nuls, dont le nombre est d’ordre n et non n2 . Une telle matrice est appel´ e creuse (ou sparse en anglais). Pour des applications e r´ alistes, il est donc n´ cessaire d’impl´ menter des structures et des m´ thodes adapt´ es aux matrices e e e e e creuses. La m´ thode du point fixe est faite sur mesure pour ce genre d’application. e 5.2. Matrices provenant de graphes. Pour simplifier, nous allons sp´ cialiser notre impl´ mentation e e ˆ aux matrices creuses provenant de graphes. Rappelons qu’un graphe peut commod´ ment etre cod´ e e ´ sous forme de listes. Dans notre exemple initial cette description etait : 1 → 2, 3, 4, 5, 6 ; 2 → 1, 3 ; 3 → 1, 4 ; 4 → 1, 5 ; 9 → 8, 10 ; 10 → 6, 11, 12, 13, 14 ; 11 → 10, 12 ; 5 → 1, 3 ; 6 → 7, 8, 9 ; 7 → 8, 1 ; 8 → 6 ; 12 → 10, 13 ; 13 → 10, 14 ; 14 → 10, 11.

´ Les pages sont num´ rot´ es par 1, . . . , n et, pour chaque page j, on enum` re tous les liens j → i1 , i2 , . . . , i e e e ´ emanant de j vers les pages voisines. Notons L j = {i1 , i2 , . . . , i } leur ensemble et j = |L j | le nombre ` ´ ˆ de liens emis par la page j. A noter que n peut etre tr` s grand alors que j est en g´ n´ ral tr` s petit. e e e e Comme avant nous supposons toujours que j ≥ 1. Algorithme 1 Calcul efficace de T (x) = cε + (1 − c)Ax

Entr´ e: e un vecteur x ∈ Rn . Sortie: le vecteur y = T x. c Initialiser yi ← n pour tout i = 1, . . . , n ` pour j de 1 a n faire pour i ∈ L j faire yi ← yi + 1−c x j j fin pour retourner y

// Ceci correspond au terme de base cε ´ // On parcourt toutes les pages emettrices // La page j pointe vers j pages voisines

Remarque 20. La complexit´ de cet algorithme est optimale dans le sens que l’on traite chaque lien e ` j → i exactement une fois : le nombre total d’op´ rations est donc proportionnel a ∑ j j . Autrement e ¯ = 1 ∑ j j liens, nous avons a effectuer n ¯ op´ rations au total, ´ dit, si les pages emettent en moyenne e n au lieu de n2 pour une matrice dense.

12

MICHAEL EISERMANN

` A noter aussi que notre algorithme n’utilise que les deux vecteurs x et y : la matrice A ne figure pas explicitement dans l’impl´ mentation. Effectivement, la construction explicite d’une matrice de taille e n × n allouerait trop de m´ moire et sera catastrophique pour n grand ! e Remarque 21. L’algorithme 1 est adapt´ a la structure des donn´ es choisie ci-dessus. Au lieu de e ` e ∗ ´ stocker les liens emis L j = {i | j → i} on pourrait stocker les liens recus Li = { j | j → i}. Ceci ¸ ` ` correspond a passer de la matrice A a sa transpos´ e A∗ . Dans ce cas on inverse les deux boucles : pour e ∗ ` e e i de 1 a n on parcourt j ∈ Li et calcule yi ← yi + 1−c x j . C’est essentiellement la mˆ me d´ marche, mais j il faut faire un choix ou l’autre pour accorder structures des donn´ es et algorithmes utilis´ s. e e Algorithme 2
Entr´ e: e Sortie:

Approximation de la mesure invariante µ = T µ

la pr´ cision souhait´ e δ > 0. e e un vecteur x tel que |x − µ| ≤ δ .
cδ 1−c

1 Initialiser xi ← n pour tout i = 1, . . . , n r´ p´ ter y ← x, x ← T x jusqu’` |x − y| ≤ e e a retourner x

// Un vecteur stochastique initial // Suivant le th´ or` me du point fixe e e

` Exercice 22. Si vous vous int´ ressez a la programmation, vous pouvez essayer d’impl´ menter la e e m´ thode ci-dessus. Parall` lement, il sera int´ ressant de discuter ses aspects th´ oriques : e e e e (1) V´ rifier d’abord la correction des deux algorithmes. Pour le deuxi` me, montrer que la condie e cδ tion d’arrˆ t |x − y| ≤ 1−c garantit que le vecteur x est suffisamment proche de la limite e cherch´ e, c’est-` -dire |x − µ| ≤ δ comme promis par la sp´ cification de l’algorithme. e a e (2) Remarquons aussi que l’efficacit´ de cet algorithme d´ pend sensiblement du nombre d’it´ rations e e e ´ n´ cessaires. C’est ici que la vitesse de convergence, comme etablie dans le th´ or` me du point e e e fixe, nous garantie une ex´ cution rapide. e (3) Finalement, le fait que l’application T soit contractante nous assure aussi que notre algorithme est num´ riquement stable. Rappelons que par souci d’efficacit´ , on effectue tous les e e ` calculs avec des nombres a virgule flottante. Des erreurs d’arrondi sont donc in´ vitables. Fort e heureusement, de telles erreurs ne sont pas amplifi´ es dans les calculs it´ ratifs. e e ´ 6. Q UELQUES POINTS DE R E FLEXION On pourrait se contenter d’une conclusion pragmatique : « Bon, en` fin ca marche. Tout le monde s’en sert. Il n’y a plus rien a ajouter. » ¸ Mais, d’autre part, l’approche est suffisamment simple et l’application importante pour se poser quelques questions. 6.1. Le mod` le est-il plausible ? La structure caract´ ristique d’un document hypertexte sont les liens e e vers d’autres documents. L’auteur d’une page web ajoute ainsi des liens vers les pages qu’il consid` re e utiles ou « importantes ». Autrement dit, on peut interpr´ ter un lien comme un vote ou une recommane dation. Or, il ne suffit pas de compter les liens, car ils n’ont pas tous le mˆ me poids. Nous avons donc e raffin´ notre heuristique : une page est importante si beaucoup de pages importantes pointent vers e elle. Cette d´ finition peut sembler circulaire, mais le d´ veloppement math´ matique ci-dessus montre e e e comment s’en sortir (par le th´ or` me du point fixe). e e

COMMENT FONCTIONNE GOOGLE?

13

Ainsi des millions d’auteurs de pages web lisent et jugent mutuellement leurs pages, puis leurs jugements s’expriment par les liens qu’ils mettent sur leurs pages. Le mod` le de la marche al´ atoire e e ` en profite en transformant l’´ valuation mutuelle en une mesure globale de popularit´ . (Soulignons a e e ` nouveau que le surfeur al´ atoire ignore le contenu et se fie uniquement a la structure des liens.) e 6.2. Hypoth` ses implicites. D’apr` s l’autoportrait de Google, « la technologie de Google utilise e e l’intelligence collective du web pour d´ terminer l’importance d’une page. » Nous venons de voir e comment cette phrase peut s’interpr´ ter math´ matiquement. Une triple hypoth` se y est implicite : e e e (1) Les liens refl` tent fid` lement les appr´ ciations des auteurs des pages web. e e e ` (2) Ces appr´ ciations correspondent bien a celles des lecteurs des pages web. e (3) Le mod` le du surfeur al´ atoire les traduit fid` lement en une mesure de popularit´ . e e e e En soutien de ces hypoth` ses, on mentionne parfois la « nature d´ mocratique » du web pour dire e e que les lecteurs et les auteurs ne font qu’un et que l’´ change des informations est libre. C’est une e ` id´ alisation de moins en moins plausible, surtout quant a l’aspect commercial du web. En 1993 seul e ´ 1,5% des sites web etaient dans le domaine .com, en 2003 ils repr´ sentaient plus de 50% du web et la e fr´ quentation des pages devrait donner des proportions similaires. e 6.3. Descriptif ou normatif ? Le statut de Google lui-mˆ me a compl` tement chang´ : e e e Google se veut descriptif: Au d´ but de son existence, Google se voulait un outil purement dese criptif : si une page est importante, alors elle figure en tˆ te du classement. e ´ En r´ alit´ il est devenu normatif: Aujourd’hui, son ecrasant succ` s fait de Google une r´ f´ rence e e e ee normative : si une page figure en tˆ te du classement, alors elle est importante. e ` A titre d’illustration, citons un exemple devenu classique. Le math´ maticien francais Gaston Julia, n´ le 3 f´ vrier 1893, devint e ¸ e e ` c´ l` bre pour ses contributions a la th´ orie de fractales, largement ee e ´e popularis´ e par son el` ve Benoˆt Mandelbrot depuis les ann´ es e ı e 1970. Pour son anniversaire le 3 f´ vrier 2004, la page d’accueil e de Google montrait une variation fantaisiste du logo usuel. Un clique dessus lancait la recherche ¸ d’images associ´ es aux mots-cl´ s « Julia » et « fractale ». Deux des pages en tˆ te du classement e e e ´ ` etaient h´ berg´ es a un institut de l’universit´ de Swinburne, a Melbourne en Australie. Comme tous e e ` e les jours, des millions d’internautes ont visit´ la page de Google et, ce jour-l` , une certaine fraction a e a ` suivi le lien du logo, pour tomber sur la page a Swinburne. Ce trafic soudain a suffit pour submerger ˆ le serveur australien, qui rendit l’ˆ me aussitˆ t. Les images fractales durent etre d´ plac´ es et une page a o e e ` explicative fut mise a la place [4]. Elle conclut par une question m´ morable (d’apr` s Job 1 21) : e e Google giveth, and Google taketh away, blessed be Google ? [Google avait donn´ , Google a repris, que le nom de Google soit b´ ni ?] e e Bien que le trafic internet ne soit pas toujours une b´ n´ diction, la plupart des webmestres see e raient ravis d’accueillir des foules d’internautes sur leur site car la popularit´ peut potentiellement e se transformer en b´ n´ fice. Cet aspect rend l’´ valuation des pages web encore plus difficile : comme e e e l’approche et l’importance de Google sont mondialement connues, les liens s’utilisent sans doute ` diff´ remment a nos jours. Apr` s avoir compris l’algorithme de Google, les concepteurs de sites web e e pourraient appliquer cette connaissance afin d’am´ liorer leur classement. . . e

14

MICHAEL EISERMANN

6.4. Peut-on manipuler Google ? Pour des sites web commerciaux, l’optimisation de leur classe´ ment est devenue un enjeu important. Evidemment, le fournisseur d’un service commercial souhaite que son site soit le plus visit´ possible et ceci passe par Google : des millions de clients potentiels e utilisent Google et suivent typiquement les liens en tˆ te du classement. Comment am´ liorer son clase e sement, son importance calcul´ e par Google ? Voici ce qu’en dit l’entreprise Google : e Les m´ thodes complexes et automatiques utilis´ es par les recherches Google rendent e e quasi impossible toute manipulation humaine des r´ sultats. (. . .) Google ne pratique e pas la vente des positions dans ces r´ sultats ; autrement dit, il n’est pas possible e ` d’acheter une valeur PageRank sup´ rieure a la r´ alit´ du Web. e e e Pourtant, afin d’am´ liorer son classement par Google, il suffit d’attirer des liens, de pr´ f´ rence ceux e ee ´ ´ emis par des pages importantes et il vaut mieux en emettre tr` s peu, de mani` re bien choisie. e e ´ Exercice 23. La strat´ gie la plus evidente (et la plus honnˆ te) pour attirer des liens est d’offrir des e e informations de qualit´ . Par exemple, si apr` s lecture vous trouvez que cet article le m´ rite, faitese e e y pointer un lien <a href=”http://www-fourier.ujf-grenoble.fr/˜eiserm/enseignement.html#google”> Comment fonctionne Google ? </a> depuis votre page web. Vous ferez ainsi monter son classement ` e ` PageRank. A v´ rifier au bout de quelques semaines, apr` s mise a jour de la base de donn´ es de Google. e e ` Un grand merci a tous ceux qui ont d´ j` particip´ a cette exp´ rience pratique. Depuis fin 2007 le ea e` e pr´ sent document arrive en tˆ te du classement pour la requˆ te « comment fonctionne Google ». e e e Ces strat´ gies et astuces sont elles-mˆ mes devenues un domaine tr` s actif, dit « search engine e e e optimization » (SEO). Ceci confirme en particulier que l’omnipr´ sence de Google change l’utilisation e des liens par les auteurs. . . ce qui remet en question l’hypoth` se a la base mˆ me du mod` le. e ` e e Exercice 24. Qu’en pensez-vous : que peut-on faire pour am´ liorer son classement ? Avec votre e impl´ mentation exp´ rimentale de l’algorithme PageRank, vous pouvez tester vos conjectures sur des e e exemples concrets. Vous pouvez aussi regarder ce qu’en disent des experts : cherchez par exemple « google PageRank algorithm » ou « search engine optimization » et vous verrez. ´ 6.5. Comment evolue Google ? L’algorithme de base que nous venons de d´ crire fut mis en œuvre e en 1998 et reste, semble-t-il, le fondement de l’efficacit´ l´ gendaire de Google. (D’ailleurs, la m´ thode e e e ´e a et´ brevet´ e par l’universit´ de Stanford en 2001, ainsi qu’une version raffin´ e en 2004, et le nom e e e « PageRank » est une marque d´ pos´ e de Google Inc. [3].) e e ´e La m´ thode actuellement utilis´ e a sans doute et´ adapt´ e et peaufin´ e au fil des ann´ es, afin de e e e e e rendre le classement encore plus utile, c’est-` -dire plus proche des attentes des utilisateurs, et plus a ` robuste contre des tentatives de manipulations. Contrairement a l’algorithme de base, toutes les modifications ult´ rieures restent un secret de l’entreprise Google. e ` Toujours est-il que les webmestres les plus inventifs arrivent souvent a influencer le classement en leur faveur pour se positionner sur les premi` res pages des r´ sultats. En r´ action, Google est oblig´ e e e e d’am´ liorer son algorithme pour rattraper les tricheurs, au moins les plus flagrants. Bref, c’est l’habie tuelle course du gendarme et du voleur, mais typiquement Google s’en sort bien. Effectivement, Google a tout int´ rˆ t a maintenir la bonne qualit´ de ses r´ sultats afin de d´ fendre ee ` e e e sa popularit´ qui, rappelons-le, est la source de ses revenus. Si l’on veut y voir un aspect positif, on e ´ ´ pourrait dire que cette eternelle comp´ tition fait evoluer les moteurs de recherche. e

COMMENT FONCTIONNE GOOGLE?

15

6.6. Where next ? Il n’est pas difficile d’imaginer des variantes et possibles am´ liorations, mais il e ` titre d’exemple, reprenons le mod` le est souvent d´ licat de les mettre en œuvre concr` tement. A e e e probabiliste de Google, formalis´ par l’application T (x) = cε + (1 − c)Ax. La question de base reste e ´ l’´ valuation des liens : par d´ faut la construction de la matrice A traite tous les liens emanant d’une e e ´ page j comme equivalents, ind´ pendamment de la requˆ te, et cela donne d´ j` de bons r´ sultats. e e ea e ˆ ` Le mod` le pourrait etre am´ lior´ si l’on comprenait mieux quels liens sont pertinents a une requˆ te e e e e donn´ e, afin d’adapter la matrice A. Autant que l’on puisse dire, Google impl´ mente partiellement e e cette id´ e. Evidemment le mod` le du surfeur al´ atoire n’est qu’une premi` re approximation. La proe ´ e e e ´ chaine etape serait donc de mod´ liser un surfeur « intelligent ». e Un autre sujet est la « personnalisation » : on pourrait par exemple remplacer ε, l’´ quiprobabilit´ e e sur toutes les pages, par une autre distribution δ , un « profil » d´ pendant des pr´ f´ rences de l’utilie ee sateur. Ainsi la marche al´ atoire serait l’it´ ration de l’application T (x) = cδ + (1 − c)Ax. Ici le profil e e 1 1 ` e δ = ( n , . . . , n ) veut dire « aucune pr´ f´ rence ». Une distribution δ concentr´ e sur des sites a th` mes ee e scientifiques, par exemple, en serait un autre profil, plus sp´ cifique. La mesure invariante d´ pend e e ´ evidemment du profil sp´ cifi´ , et mettra plus de poids sur des pages proches du profil. e e La difficult´ r´ side dans la construction de (quelques) profils raisonnables, c’est-` -dire appr´ ci´ s e e a e e par les utilisateurs. De nouveau, un affinage it´ ratif semble logique, bas´ sur des r´ actions des utilisae e e teurs cette fois-ci. L’aspect prometteur de cette approche est qu’elle prend en compte simultan´ ment e les appr´ ciations des auteurs et des lecteurs des pages web. e Vous voyez, il ne manque pas d’id´ es a explorer ! Vue l’importance du sujet, ce domaine est devenu e ` extrˆ mement actif (et lucratif) depuis une dizaine d’ann´ es et r´ unit parfois recherches fondamentales e e e et appliqu´ es en math´ matiques et informatique. Ne mentionnons ici que les travaux de Jon Kleinberg e e [5] qui a d´ velopp´ des m´ thodes th´ oriques et algorithmiques plus raffin´ es, ce qui lui valut le prix e e e e e Nevanlinna en 2006. Mais cela serait une autre histoire. . . Exercice 25. Trouvez une meilleure m´ thode pour extraire de l’information du web et devenez riche e ` et/ou c´ l` bre. Sachez a ce propos que l’Institut Fourier accepte les dons. ee ` Remerciements. Je tiens a remercier mon coll` gue Tanguy Rivoal pour ses conseils linguistiques et e ` surtout son encouragement a publier ces notes de cours sous forme d’article de vulgarisation. ´ ´ R E F E RENCES
[1] S. Brin, L. Page : The Anatomy of a Large-Scale Hypertextual Web Search Engine, Stanford University, 1998. (Pour trouver ce texte en ligne cherchez-le avec Google.) [2] D. Vise, M. Malseed : Google story, Dunod, Paris, 2006. [3] Wikipedia : PageRank, en.wikipedia.org/wiki/PageRank et fr.wikipedia.org/wiki/PageRank. (La page francophone attend toujours une r´ daction digne du sujet.) e [4] The power of Google, local.wasp.uwa.edu.au/~pbourke/fractals/quatjulia/google.html [5] J.M. Kleinberg : Authoritative sources in a hyperlinked environment, www.cs.cornell.edu/home/kleinber/ auth.pdf. ´ I NSTITUT F OURIER , U NIVERSIT E G RENOBLE I, F RANCE URL: www-fourier.ujf-grenoble.fr/~eiserm E-mail address: Michael.Eisermann@ujf-grenoble.fr

Sign up to vote on this title
UsefulNot useful