COMMENT FONCTIONNE GOOGLE ?

COMMENT FONCTIONNE GOOGLE ?

COMMENT FONCTIONNE GOOGLE? MICHAEL EISERMANN R E’ SUM E’ . Le point fort du moteur de recherche Google est qu’il trie intelligemment ses r  » esultats par ordre d’importance. Nous expliquons ici l’algorithme PageRank qui est a • la base de ce classement. Il faut d’abord e’ tablir un mod’ ele qui permet de d’ efinir ce que l’on entend par « importance ». Une fois ce mod’ ele formalis e, il s’agit de r’ esoudre astucieusement un immense syst eme d’ equations lin eaires. Il va sans dire que l’application pratique est devenue tr es to View importante.

Bien qu’ arguments math em eressants : l’approc ntervenir l’alg• ebrel graphe et le th eor• en fait un tr’ es beau sujet pour acu ture leurs applications. TABLE DES MATI E’ RES Introduction 1. Que fait un moteur de recherche ? n sont pas moins int eatoire » sur un es math ‘ ematiques et 2. Comment mesurer l’importance d’une page web ? Marche al’ eatoire sur la toile 4. Existence et unicit’e d’une solution Impl’ ementation efficace 6. Quelques points de r’ eflexion R’ er erences 2 cr• eation en 1998.

Le point fort de Google est qu’il trie par ordre d’importance

Désolé, mais les essais complets ne sont disponibles que pour les utilisateurs enregistrés

Choisissez un plan d'adhésion
r • esultats d’une requ-ete, c’est-• a-dire les pages web associ ees ux motscl• es cherch ‘ es. L » etonnante efficacit’ e de cette m ethode a fait le succ ‘es de Google et la fortune de ses fondateurs, Sergey Brin et Lawrence Page. L’id’ ee est n • ee lors de leur th ese de doctorat, puis publi’ ee dans leur article [1]. Il s’agit essentiellement de r’ esoudre un grand syst’ eme d’ • equatlons lin eaires et fort heureusement l’algorithme it’ eratif qui en d’ ecoule est aussi simple que puissant.

On s’int eresse ici de plus pr ‘es a’ cet algorithme, a’ la fois simple et ing’ enieux. En conjonction avec une habile strat• egie ‘entreprise, on pourrait dire que Google gagne des milliards de dollars avec l’alg ebre lin eaire ! Ajoutons que Google a eu la chance de na Itre dans une situation favorable, quand la « nouvelle e’ conomie » e’ tait encore en pleine croissance : le volume d’internet explosait et les moteurs de recherche de premi ere g’ en ‘ eration avaient du mal a • s’adapter aux exigences grandissantes.

Si vous voulez savoir plus sur la foudroyante histoire de l’entreprise Google, ses I’ egendes et anecdotes, vous lirez avec profit le livre de David Vise et Mark Malseed Date: 16 mai 2006. Derni•ere mise a’ jour. 13 mai 2009. Universit ‘ e Joseph Fourier Icence de Math ematiques URL: www-fourier. ujf-grenoblefr/—e 33 Universit e Joseph Fourier • Licence de Math ‘ ematiques LJRL: www-fourier. ujf-grenoble. fr/-eiserm cours « Math ‘ ematiques assise ees par ordinateur ». . Q UE FAIT UN MOTEUR DE RECHERCHE ? premi ere vue, le principe d’un moteur 1. 1. Fouille de donni ees. A de recherche est simple : on copie d’abord les pages web concern eeS en m • emoire locale, puis on trie le contenu (les mots-cl es) par ordre alphaW etique afin d’effectuer des recherches lexiques. Une requ ete est la donn ‘ ee d’un ou plusieurs mots-cl’ es ; la r’ eponse est une liste des pages contenant les mots-cl es recherch es.

C’est en gros ce que faisaient les moteurs de recherche, dits de premi• ere g » en eration, dans les ann ees 1990. Apr es r ‘ eflexion, cette d emarche simpliste n’est pas si e’ vidente car la quantit•e des documents a’ g’ erer est e norme et rien que le stockage et la gestlon efficaces posent des d’ efis consid erables. Et cela d’autant plus que les requ etes doivent ex tre trait ees en temps r’ eel : on ne veut pas la r’ eponse dans une semaine, mais out de suite. ne impl ementation op erationnelle a’ cette e • chelle doit donc employer la force br algorithmes, hautement sp ecialis es et optimis ‘ es, sans lesquels m m eme un r’ eseau de quelques milliers d’ordinateurs resterait impuissant devant cette ache hercul • eenne. Pour se faire une id ee de rordre de grandeur, voci quelques chiffres sur [‘entreprise Google Cerveaux: environ 6 000 employ• es (d ebut 2006) Ordinateurs: plus de 60 000 PC en r’ eseau sous Linux (on ignore les chiffres exacts) M emoire vive: plus de 130 000 Co de RAM pour les calculs (on ignore les chiffres exacts)

Disques dures: plus de S 000 000 Go pour stocker les donn ees (on ignore les chiffres exacts) Trafic en ligne: quelques milliers de requ-etes par secondes (on Part du march e: plus de aux Etats-Unis et dans de nombreux autres pays Chiffre d’affaires plus de $6 000 000 000 en 2005, dont $1 465 400 000 b • en efices net Cotation boursi ere: environ $80 000 000 000 en ao « ut 2005 Pr • ecisons que la recherche sur Google est un service gratuit. En 1998 il n » etait pas du tout e’ vident comment gagner de l’argent avec un produit gratuit, aussi appr eci e qu’il soit.

Jusqu’en 2000 1’entreprise accumulait des pertes t fut rn Aeme menac ee de faillite. L’id’ ee qui l’a sauv• ee a e’ t e la vente de liens commerciaux et depuis 2001 ces placements publicitaires g en erent de plus en plus de b » en’ efices. 1*2. Classement des r • esultats. L » enorme quantit • e des donn ees entra Alne un deux Classement des r • esultats. L » enorme quantit e des donn ees entra Ine un deuxi’ eme probl’ emer plus d’ elicat encore : les pages trouv’ ees sont souvent trop nombreuses, il faut donc en choisir les plus pertinentes.

La grande innovation apport ee par Google en 1998 est le tri des pages par ordre d’importance. Ce qui est frappant est que cet ordre correspond assez pr ‘ ecis ‘ ement aux attentes des utilisateurs. Par exemple, si vous vous int’ eressez a’ la programmation et vous faltes chercher les mots-cl es « C compiler », vous trouverez quelques millions de pages. Des pages importantes comme gcc. gnu. org se trouvent quelque part en t Aete du classement, ce qui est tr’ es raisonnable.

Par contre, une petite page personnelle, o • u l’auteur mentionne qu’il ne conna « It rien du C++ et n’arrive pas a compiler, ne figurera que vers la fin de la liste, ce qui est e • galement raisonnable. Comment Google distingue-t-il les deux ? Selon les informations fournies par l’entreprise elle-m « erne, l’index de Google porte sur plus de 8 milliards de documents web. Une bonne partie des informations r epertori ees, pages web et documents annexes, changent fr’ equemment. Il est donc hors de question de les classer manuellement, par des e- tres humains : ce serait trop co auteux. rop lent et jamals a jour. ‘importance d’une page doit donc e – tre d’ etermin ee de mani ere automatis ee, par un algorithme. Comment est-ce possible 33 doit donc e – tre d • etermin ee de mani ere automatis ee, par un lgorithme. Comment est-ce possible ? 2. C OMMENT MESURER L’ IMPORTANCE D ‘ UNE WEB ? 2. 1. Le web est un graphe. La partlcularlt e des documents hypertexte est qu’ils fournissent des liens, des r’ ef’ erences mutuelles pointant de l’une vers l’autre. Ainsi on peut consid erer le web comme un immense graphe, dont chaque page web j est un sommet et chaque lien j i est une arm ete. 7 4 8 compte que de la structure du graphe. Regardons d’abord le groupe des pages 1, 2, 3, 4, 5. Le dessin sugg• ere que la page 1 sert de racine tandis que les pages 2, 3, 4, 5 sont subordonn • ees. Dans ce sens, la page 1 sera sans doute un bon point de d ‘ epart si vous cherchez des informations. – Il en est de m•eme pour le groupe 10, 11, 12, 13, 14, o’ u la page IO sert de racine alors que titre d’exemple, il pourrait s’agir d’une page d’accueil et 11, 12, 13, 14 sont subordonn ees. A quatre pages annexes, ou d’une introduction et quatre chapitres d’un ouvrage. oter toutefois que les pages 1 et 10, d’ era recon- La structure du groupe 6, 7, 8, 9 est similaire. A nues comme importantes, font toutes deux r • er erence a • la page 6. On pourrait ainsi soupçonner ue 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 I eg• ere Pr’ ef’ erence pour la page 6. Soulignons toutefois que notre dessin dans le plan sugg ere une organisation hi ‘ erarchique qui n’est qu’artificielle.

Un ordinateur qui analyse cette situation n’a que l’information brute des liens 1 2, 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’eel pi 0 avec la onventi Plus explicitement, on souhaite que cette mesure soit un nombre r•eelp i > O avec la convention que plus gi est grand, plus la page i est « importante ». Remarque 2. La notion d’importance d’une page est n ecessairement vague. Qu’est-ce que l’importance ? eut-il y avoir une mesure objective ? Si oui, comment la d’ efinir? Cette question semble au cœur de toute la probl’ ematique. Si vous avez une nouvelle id ee pertinente a • ce sujet, impl ‘ ementez-la et devenez riche ! (Ou bien venez en discuter avec mol. ) Dans la suite notre but sera modeste : le mieux que l’on puisse sp • erer est que notre analyse d • egage un r’ esultat qui approche bien Fimportance ressentie par les utilisateurs. Pour toute application professionnelle les r’ esultats num eriques seront a • tester et a’ calibrer empiriquement. . 3. Premi • ere id’ ee : comptage des liens. Il est plausible qu’une page importante reçoit beaucoup de liens. Avec un peu de na- Ivet’ e, on croira aussi l’affirmation r eciproque : si une page reqoit beaucoup de liens, alors elle est importante. Ainsi on pourrait d • efinir l’importance ui de la page i comme suit : Interpr’ etation: La somm dire que ui este’ gal au uffit de compter. Exemple: Dans notre exemple, les pages 1 et IO rec,oivent 5 liens chacune, alors que la page 6 n’en reçoit que 3. Ainsi Hl – BIO 5 mais seulement p6 3.

Inconv enient: La mesure ainsi d • efinie ne correspond pas a • l’importance ressentie par les utilisateurs : elle sous-estime l’importance de la page 6. Manipulation: On peut artificiellement augmenter Pimportance d’une page i en cr• eant des pages « vides de sens » pontant vers l. Cette falblesse fait du comptage une approche peu fiable. 24. Seconde id ‘ ee : comptage pond er • e. Certaines pages j e mettent beaucoup de liens : ceux-ci sont onc moins sp ecifiques et dans un certain sens leur poids est plus faible.

Ainsi on pourrait d efinir une mesure d’importance plus fine comme suit : Interpr• etation: Comme avant, la somme (2) compte les liens reçus par la page i, mais maintenant chaque lien j i n’est compt•e qu’avec un poids Ij . Il suffit de sommer. Exemple: Dans notre exe e des sommes LII = LIIO— cr• eant une foule de pages « vides » pointant vers i. De nouveau, la mesure n’est pas fiable. 2. 5. Troisi eme id’ ee : d’ efinition r’ ecursive. La derni ‘ere id’ ee en date, finalement, est celle utilis ‘ ee par Google.

Le principe : une page i est importante si beaucoup de pages importantes pointent vers Ainsi on est amen ‘e a’ d’ efinir l’importance pi de maniv ere r ‘ ecursive comme suit : Interpr’ etation: La somme (3) compte chaque lien requ par i avec poids Ij g j : ceci tient compte de l’importance v j de la page d’origine j, et du nombre j des liens qui en sont e’ mis. Exemple: Dans notre exemple, on trouve, apr’ es calcul, les valeurs p6 = 6 et ul = plO=5 puis p8 4. Les autres pages suivent avec un grand e’ cart et n’obtiennent que pi = 2. Plausibilit’ e: Les pages 6, fectivement rep ‘ er ees 3,’