Vous êtes sur la page 1sur 15

COMMENT FONCTIONNE GOOGLE?

MICHAEL EISERMANN

R E SUM E . Le point fort du moteur de recherche Google est quil trie intelligemment ses r sultats par e ` ordre dimportance. Nous expliquons ici lalgorithme PageRank qui est a la base de ce classement. Il faut dabord etablir un mod` le qui permet de d nir ce que lon entend par importance . Une fois ce e e mod` le formalis , il sagit de r soudre astucieusement un immense syst` me d quations lin aires. e e e e e e Il va sans dire que lapplication pratique est devenue tr` s importante. Bien qu l mentaires, les e ee arguments math matiques sous-jacents nen sont pas moins int ressants : lapproche fait naturellement e e intervenir lalg` bre lin aire, la marche al atoire sur un graphe et le th or` me du point xe. 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 limportance dune page web ? 3. Marche al atoire sur la toile e 4. Existence et unicit dune solution e 5. Impl mentation efcace e 6. Quelques points de r exion 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 quil trie par ordre dimportance les r sultats dune requ te, cest-` -dire les pages web associ es aux motse e a e cl s cherch s. L tonnante efcacit 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. Lid e est n e lors de leur th` se de doctorat, puis publi e e e e e dans leur article [1]. Il sagit essentiellement de r soudre un grand syst` me d quations lin aires et e e e e fort heureusement lalgorithme it ratif qui en d coule est aussi simple que puissant. On sint 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 dentreprise, on pourrait dire que Google gagne des milliards de dollars avec lalg` bre lin aire ! e e Ajoutons que Google a eu la chance de natre dans une situation favorable, quand la nouvelle economie etait encore en pleine croissance : le volume dinternet explosait et les moteurs de re` cherche de premi` re g n ration avaient du mal a sadapter aux exigences grandissantes. Si vous voue e e lez savoir plus sur la foudroyante histoire de lentreprise Google, ses l gendes et anecdotes, vous lirez e avec prot le livre de David Vise et Mark Malseed [2].
Date: 16 mai 2006. Derni` re mise a jour: 13 mai 2009. 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

MICHAEL EISERMANN

1. Q UE FAIT UN MOTEUR DE RECHERCHE ? ` 1.1. Fouille de donn es. A premi` re vue, le principe dun moteur e e de recherche est simple : on copie dabord 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 an deffectuer des recherches lexiques. Une requ te est e e la donn e dun ou plusieurs mots-cl s ; la r ponse est une liste des e e e pages contenant les mots-cl s recherch s. Cest 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 exion, cette d marche simpliste nest 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 efcaces posent des d s consid rables. Et cela dautant 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 dun r seau e e e puissant, an 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 dordinateurs resterait impuissant devant cette t che hercul enne. Pour e a e se faire une id e de lordre de grandeur, voici quelques chiffres sur lentreprise 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 Trac 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 daffaires: plus de $6 000 000 000 en 2005, dont $1 465 400 000 b n ces 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 largent avec un produit gratuit, aussi appr ci quil soit. Jusquen 2000 lentree e e prise accumulait des pertes et fut m me menac e de faillite. Lid e qui la 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 ces. e e e e 1.2. Classement des r sultats. L norme quantit des donn es entrane 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 dimportance. 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` lauteur mentionne quil ne connat rien du C++ et narrive pas a compiler, ne gurera u que vers la n de la liste, ce qui est egalement raisonnable. Comment Google distingue-t-il les deux ? Selon les informations fournies par lentreprise elle-m me, lindex 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. Limportance dune 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?

2. C OMMENT MESURER L IMPORTANCE D UNE PAGE WEB ? 2.1. Le web est un graphe. La particularit des documents hypertexte e est quils fournissent des liens, des r f rences mutuelles pointant de lune ee vers lautre. 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

10

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 lon a j i, nombre j de liens vers des pages voisines . A e e on na pas forc ment le sens inverse i j. Le graphe de la gure 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, 2 ; 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 dabord 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 dexemple, il pourrait sagir dune page daccueil et 11, 12, 13, 14 sont subordonn es. A e quatre pages annexes, ou dune introduction et quatre chapitres dun 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 linformation essentielle pour tout lensemble. 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 nest quarticielle. Un ordinateur qui analyse cette situation na que linformation e brute des liens 1 2, 3, 4, 5, 6 ; 2 1, 3 ; etc. ` Question 1. Est-il possible, par un algorithme, dassocier a chaque page i = 1, . . . , n une mesure dimportance ? 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 .

MICHAEL EISERMANN

Remarque 2. La notion dimportance dune page est n cessairement vague. Quest-ce que limpore tance ? Peut-il y avoir une mesure objective ? Si oui, comment la d nir ? Cette question semble au e ` cur 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 lon puisse esp rer est que notre analyse d gage e e un r sultat qui approche bien limportance 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 quune page importante recoit beaucoup de e e liens. Avec un peu de navet , on croira aussi lafrmation r ciproque : si une page recoit beaucoup e e de liens, alors elle est importante. Ainsi on pourrait d nir limportance i de la page i comme suit : e

(1)

i =

ji

1.

Interpr tation: La somme (1) veut juste dire que i est egal au nombre de liens j i recus par i. e ` e ` Cest facile a d nir et facile a calculer : il suft de compter. Exemple: Dans notre exemple, les pages 1 et 10 recoivent 5 liens chacune, alors que la page 6 nen recoit que 3. Ainsi 1 = 10 = 5 mais seulement 6 = 3. ` Inconv nient: La mesure ainsi d nie ne correspond pas a limportance ressentie par les utilie e sateurs : elle sous-estime limportance de la page 6. Manipulation: On peut articiellement augmenter limportance dune page i en cr ant des pages e vides de sens pointant vers i. Cette faiblesse fait du comptage une approche peu able. 2.4. Seconde id e : comptage pond r . Certaines pages j emettent beaucoup de liens : ceux-ci sont e e e donc moins sp ciques et dans un certain sens leur poids est plus faible. Ainsi on pourrait d nir une e e mesure dimportance plus ne comme suit : 1
j

(2)

i =

ji

Interpr tation: Comme avant, la somme (2) compte les liens recus par la page i, mais maintenant e chaque lien j i nest compt quavec un poids 1j . Il suft 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 nie ne correspond toujours pas bien a limportance ressentie e e ` par les utilisateurs : elle sous-estime a nouveau limportance de la page 6. Manipulation: Comme avant, on peut articiellement augmenter limportance dune page i en cr ant une foule de pages vides pointant vers i. De nouveau, la mesure nest pas able. e 2.5. Troisi` me id e : d nition r cursive. La derni` re id e en date, nalement, 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 nir limportance i de mani` re r cursive comme suit : e` e e e

COMMENT FONCTIONNE GOOGLE?

(3)

i =

ji

1
j

j.

Interpr tation: La somme (3) compte chaque lien recu par i avec poids 1j j : ceci tient compte de e limportance j de la page dorigine 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 nobtiennent 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 limportance ressentie par les utilisateurs, comme motiv e ci-dessus. (On discutera pourquoi au 6.) e Robustesse: Si lon ajoute des pages vides de sens elles recevront limportance 0 et ne contri bueront pas au calcul. Ainsi la manipulation evidente ninuence plus le r sultat. e ` ` e L quation (3) est facile a ecrire mais moins evidente a r soudre : navement parlant, pour calculer e i il faut dabord connatre les termes de droite, donc les j , ce qui a lair circulaire. . . Notre objectif est donc dexpliquer pourquoi une solution existe et comment la calculer de mani` re efcace. e 2.6. Apparat lalg` bre lin aire. . . Apr` s r exion, l quation (3) nest rien autre quun syst` me e e e e e e d quations lin aires. Plus explicitement, pour tout couple dindices i, j {1, . . . , n}, on d nit ai j par e e e
1

(4)

ai j :=

si j i, sinon. (A I) = 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 lon 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 rier !) Cest 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 nition 4. Soit A Rnn 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 quun tel vecteur propre existe et que la solution est essentiellement unique (4.2).

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 den d velopper une e e e intuition. Lid 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 lon code par des coefcients ai j suivant l quation (4) ci-dessus. Par la suite nous supposons que j 1, ce qui nest 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 nition, notre matrice A = (ai j ) v rie e e ai j 0 pour tout i, j et pour tout j,

ai j = 1
i

` ce que lon 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 daller 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 apparatre, 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 nest pas le contenu des pages web qui soit pris en compte pour le calcul de limportance , mais uniquement la structure du graphe form par les pages et les liens e entre elles. (Ne vous faites pas trop de souci pour linstant, 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 quun vecteur x Rn v rie e xj 0 pour tout j et

x j = 1,
j

ce que lon 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 darriver sur la page i, par nimporte quel chemin, est la somme e yi = ai j x j .
j

` Autrement dit, un pas dans la marche al atoire correspond a lapplication 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?

D nition 6. Une mesure de probabilit v riant = T () est appel e une mesure invariante e e e e ou une mesure d quilibre. En termes dalg` bre lin aire cest un vecteur propre associ a la valeur e e e e` propre 1. En termes danalyse, est un point xe de lapplication T . Exemple 7. It rer la marche al atoire avec une probabilit initiale u0 veut dire que lon consid` re les e e e e mesures de probabilit s successives u1 , u2 , u3 , . . . d nies par ut+1 = Aut . Voici un exemple d marrant e e e sur la page 8, cest-` -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 exion : 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 (` 103 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 quil ne sagit pas de l quiprobabilit : certaines pages sont plus fr quent es que dautres ! e e e e Comme motiv plus haut, ceci re` te bien le r le particulier des pages 6, 1, 10, 8. e e o Remarque 8. Linterpr 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 dimportance, cest 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 lexemple donn au 2.1, o` sajoute 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 re` te evidemment pas limportance des pages, qui devrait rester e e inchang e (ou presque). e

MICHAEL EISERMANN

10

11

12

13

14

15

F IG . 2. Une variante du graphe initial Pour cette raison Google utilise un mod` le plus rafn , d pendant dun 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. (Cest 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 darriver nimporte o` dans le graphe, ind pendamment des questions de connexit . u e e Ce nouveau mod` le probabiliste se formalise comme lapplication afne e T : Rn Rn , x c + (1 c)Ax. Ici A est la matrice stochastique d nie 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 pages visit es (= liens suivis plus 1) avant de e c recommencer sur une page al atoire. En g n ral, on choisira la constante c positive mais proche de e e e ` z ro. Par exemple, c = 0.15 correspond a suivre environ 6 liens en moyenne. (On pourrait argumenter e ` e que ceci correspond empiriquement 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 xe. Une fonction f : R R est contractante e e de rapport k < 1 si elle v rie | f (x) f (y)| k|x y| pour tout x, y R. e Sous cette hypoth` se, f admet un et un seul point xe 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

Cest exactement largument quil nous faut pour notre application. On a d j` vu, dailleurs, que la convergence se produisait dans notre exemple ea ci-dessus. Est-ce une concidence ? Non, cest encore une manifestation du fameux th or` me du point xe. Comme nous travaillons sur les vecteurs e e x Rn , nous sommes amen s a le g n raliser convenablement : e ` e e D nition 12. Pour un vecteur x Rn on d nit sa norme par |x| := i |xi |. e e (Cest 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 rie | f (x) f (y)| k|x y| pour tout x, y R e

COMMENT FONCTIONNE GOOGLE?

Th or` me 13 (le th or` me du point xe). 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 riant 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 lestimation de l cart e e e k |um | |um um1 |. 1k 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 lapproximation um , on majore l cart |um | entre um e o e e ` et la limite inconnue par la quantit 1k |um um1 |, tr` s facile a calculer. e k e D monstration. Comme il sagit dune tr` s belle preuve, je ne peux memp cher de la refaire ici. e e e Unicit . Si x, y Rn sont deux points xes dune fonction f qui est contractante de rapport k < 1, e alors |x y| = | f (x) f (y)| k|x y|. Ceci nest 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+p1 | + + |um+1 um | (k p1 + + k0 )|um+1 um | =
1 1k |um+1 um | 1k p 1k |um+1 um |

km 1k |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 rions quil sagit dun point xe. 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 rie |um | km |u0 |, e e k ` donc um . On a d j` etablit la majoration |um+p um | 1k |um um1 |, et le passage a la limite ea p donne lin 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 xe et sa preuve se g n ralisent mot par mot a un espace m trique quelconque a condition e e e quil soit complet, cest-` -dire que toute suite de Cauchy converge. a Les espaces m triques complets sont tr` s importants parce quils permettent de construire certains e e objets comme limites de suites de Cauchy, lexistence etant assur e par lhypoth` 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 Rnn une matrice stochastique et T : Rn Rn lapplication d nie par e T (x) = c + (1 c)Ax avec une constante c ]0, 1]. Alors lapplication 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 xe , avec la vitesse enonc e ci-dessus. e e

10

MICHAEL EISERMANN

Cest cette mesure invariante qui nous int ressera dans la suite et que lon interpr tera comme e e mesure dimportance. On la calculera dailleurs par la m thode it rative de la proposition pr c dente. e e e e D monstration. Il suft de prouver que T est contractante, de rapport k = 1 c < 1, pour faire appel e au th or` me du point xe. 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 . Lapplication T admet e donc un unique point xe Rn . Remarquons nalement que le point xe est un vecteur stochastique, cest-` -dire quil satisfait i 0 et i i = 1 : si lon d marre avec un vecteur stochastique u0 , alors a e tous les it r s um restent stochastiques, donc leur limite lest aussi. (Exercice.) ee Remarque 17. La proposition inclut le cas trivial c = 1 : dans ce cas T (x) = est constante, donc x = est lunique point xe. Dans lautre extr me on pourrait consid rer c = 0, mais T = A nest 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 xe. 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 labsence 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 linformation d j` obtenue : on choisira u0 = ancien , la mesure de la semaine davant. Ainsi peu dit rations ea e sufront pour r ajuster , en supposant que le graphe nest que l g` rement modi . e e e e La morale de cette histoire : lunicit 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 proter si lon e e e dispose dinformations suppl mentaires, par exemple en choisissant judicieusement le point de d part e e de lit 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 coefcients positifs, ai j > 0 pour i, j = 1, . . . , n, alors le rayon spectral de A e est donn par une valeur propre R+ et lespace propre associ E est de dimension 1. De plus, la e e matrice A admet un vecteur propre v E dont tous les coefcients sont positifs. Lalgorithme 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 dapprocher 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 limpl mentation de lalgorithme 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 chir sur la meilleure facon de sy 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 afrmait que le classement est effectu gr ce a la r solution dune 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 coefcients e index s par (i, j) {1, . . . , n}2 . Il est envisageable de stocker ainsi une matrice 1000 1000, ceste ` a-dire un million de coefcients mais ceci est hors de question pour une matrice n n avec n 106 , voire n 108 . Lapproche nave 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, sav` 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 coefcients valent z ro car une page n met que quelques douzaines e e de liens typiquement. Dans ce cas, il suft de stocker les coefcients non nuls, dont le nombre est dordre 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 dimpl menter des structures et des m thodes adapt es aux matrices e e e e e creuses. La m thode du point xe est faite sur mesure pour ce genre dapplication. e 5.2. Matrices provenant de graphes. Pour simplier, nous allons sp cialiser notre impl mentation e e aux matrices creuses provenant de graphes. Rappelons quun 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 efcace 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 + 1c x j j n 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 lon traite chaque lien e ` j i exactement une fois : le nombre total dop 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 nutilise que les deux vecteurs x et y : la matrice A ne gure pas explicitement dans limpl mentation. Effectivement, la construction explicite dune matrice de taille e n n allouerait trop de m moire et sera catastrophique quand n est grand ! e Remarque 21. Lalgorithme 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 : e ` e pour i allant de 1 a n on parcourt j Li et calcule yi yi + 1c x j . Cest essentiellement la m me j d marche, mais il faut faire un choix pour accorder structures des donn es et algorithmes utilis s. e 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 1c

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 xe e e

` Exercice 22. Si vous vous int ressez a la programmation, vous pouvez essayer dimpl 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 rier dabord la correction des deux algorithmes. Pour le deuxi` me, montrer que la condie e c tion darr t |x y| 1c garantit que le vecteur x est sufsamment proche de la limite e cherch e, cest-` -dire |x | comme promis par la sp cication de lalgorithme. e a e (2) Remarquons aussi que lefcacit de cet algorithme d pend sensiblement du nombre dit rations e e e n cessaires. Cest ici que la vitesse de convergence, comme etablie dans le th or` me du point e e e xe, nous garantie une ex cution rapide. e (3) Finalement, le fait que lapplication T soit contractante nous assure aussi que notre algorithme est num riquement stable. Rappelons que par souci defcacit , on effectue tous les e e ` calculs avec des nombres a virgule ottante. Des erreurs darrondi sont donc in vitables. Fort e heureusement, de telles erreurs ne sont pas ampli es dans les calculs it ratifs. e e 6. Q UELQUES POINTS DE R E FLEXION On pourrait se contenter dune conclusion pragmatique : Bon, en` n ca marche. Tout le monde sen sert. Il ny a plus rien a ajouter. Mais, dautre part, lapproche est sufsamment simple et lapplication importante pour se poser quelques questions. 6.1. Le mod` le est-il plausible ? La structure caract ristique dun document hypertexte sont les liens e e vers dautres documents. Lauteur dune page web ajoute ainsi des liens vers les pages quil consid` re e utiles ou importantes . Autrement dit, on peut interpr ter un lien comme un vote ou une recommane dation. Or, il ne suft pas de compter les liens, car ils nont pas tous le m me poids. Nous avons donc e rafn notre heuristique : une page est importante si beaucoup de pages importantes pointent vers e elle. Cette d nition peut sembler circulaire, mais le d veloppement math matique ci-dessus montre e e e comment sen sortir (par le th or` me du point xe). e e

COMMENT FONCTIONNE GOOGLE?

13

Ainsi des millions dauteurs de pages web lisent et jugent mutuellement leurs pages, puis leurs jugements sexpriment par les liens quils mettent sur leurs pages. Le mod` le de la marche al atoire e e ` en prote 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 e uniquement a la structure des liens.) e 6.2. Hypoth` ses implicites. Dapr` s lautoportrait de Google, la technologie de Google utilise e e lintelligence collective du web pour d terminer limportance dune page. Nous venons de voir e comment cette phrase peut sinterpr ter math matiquement. Une triple hypoth` se y est implicite : e e e (1) Les liens re` tent d` 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 d` 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 quun et que l change des informations est libre. Cest une e ` id alisation de moins en moins plausible, surtout quant a laspect 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 gure en t te du classement. e En r alit il est devenu normatif: Aujourdhui, son ecrasant succ` s fait de Google une r f rence e e e ee normative : si une page gure en t te du classement, alors elle est importante. e ` A titre dillustration, 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 Benot Mandelbrot depuis les ann es e e 1970. Pour son anniversaire le 3 f vrier 2004, la page daccueil e de Google montrait une variation fantaisiste du logo usuel. Un clique dessus lancait la recherche dimages 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 luniversit de Swinburne, a Melbourne en Australie. Comme tous e e ` e les jours, des millions dinternautes 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 trac soudain a suft 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 (dapr` 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 trac internet ne soit pas toujours une b n diction, la plupart des webmestres see e raient ravis daccueillir des foules dinternautes sur leur site car la popularit peut potentiellement e se transformer en b n ce. Cet aspect rend l valuation des pages web encore plus difcile : comme e e e lapproche et limportance de Google sont mondialement connues, les liens sutilisent sans doute ` diff remment a nos jours. Apr` s avoir compris lalgorithme de Google, les concepteurs de sites web e e pourraient appliquer cette connaissance an dam liorer leur classement. . . e

14

MICHAEL EISERMANN

6.4. Peut-on manipuler Google ? Pour des sites web commerciaux, loptimisation de leur classe ment est devenue un enjeu important. Evidemment, le fournisseur dun 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 quen dit lentreprise 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 nest pas possible e ` dacheter une valeur PageRank sup rieure a la r alit du Web. e e e Pourtant, an dam liorer son classement par Google, il suft dattirer 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 doffrir 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 rier 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 n 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 conrme en particulier que lomnipr sence de Google change lutilisation e des liens par les auteurs. . . ce qui remet en question lhypoth` se a la base m me du mod` le. e ` e e Exercice 24. Quen pensez-vous : que peut-on faire pour am liorer son classement ? Avec votre e impl mentation exp rimentale de lalgorithme PageRank, vous pouvez tester vos conjectures sur des e e exemples concrets. Vous pouvez aussi regarder ce quen disent des experts : cherchez par exemple google PageRank algorithm ou search engine optimization et vous verrez. 6.5. Comment evolue Google ? Lalgorithme de base que nous venons de d crire fut mis en uvre e en 1998 et reste, semble-t-il, le fondement de lefcacit l gendaire de Google. (Dailleurs, la m thode e e e e a et brevet e par luniversit de Stanford en 2001, ainsi quune version rafn 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 peaun e au l des ann es, an de e e e e e rendre le classement encore plus utile, cest-` -dire plus proche des attentes des utilisateurs, et plus a ` robuste contre des tentatives de manipulations. Contrairement a lalgorithme de base, toutes les modications ult rieures restent un secret de lentreprise Google. e ` Toujours est-il que les webmestres les plus inventifs arrivent souvent a inuencer 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 dam liorer son algorithme pour rattraper les tricheurs, au moins les plus agrants. Bref, cest lhabie tuelle course du gendarme et du voleur, mais typiquement Google sen sort bien. Effectivement, Google a tout int r t a maintenir la bonne qualit de ses r sultats an de d fendre ee ` e e e sa popularit qui, rappelons-le, est la source de ses revenus. Si lon 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 nest pas difcile dimaginer des variantes et possibles am liorations, mais il e ` titre dexemple, reprenons le mod` le est souvent d licat de les mettre en uvre concr` tement. A e e e probabiliste de Google, formalis par lapplication 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 dune 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 lon comprenait mieux quels liens sont pertinents a une requ te e e e e donn e, an dadapter la matrice A. Autant que lon puisse dire, Google impl mente partiellement e e cette id e. Evidemment le mod` le du surfeur al atoire nest quune 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 prol d pendant des pr f rences de lutilie ee sateur. Ainsi la marche al atoire serait lit ration de lapplication T (x) = c + (1 c)Ax. Ici le prol 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 scientiques, par exemple, en serait un autre prol, plus sp cique. La mesure invariante d pend e e evidemment du prol sp ci , et mettra plus de poids sur des pages proches du prol. e e La difcult r side dans la construction de (quelques) prols raisonnables, cest-` -dire appr ci s e e a e e par les utilisateurs. De nouveau, un afnage it ratif semble logique, bas sur des r actions des utilisae e e teurs cette fois-ci. Laspect prometteur de cette approche est quelle prend en compte simultan ment e les appr ciations des auteurs et des lecteurs des pages web. e Vous voyez, il ne manque pas did es a explorer ! Vue limportance du sujet, ce domaine est devenu e ` extr mement actif (et lucratif) depuis une dizaine dann 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 rafn 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 linformation du web et devenez riche e ` et/ou c l` bre. Sachez a ce propos que lInstitut 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 darticle de vulgarisation. Une version abr g e de cet article est paru dans Quadrature, no. 68, avril 2008. e e 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