Importance des graphes Web et PageRank
Importance des graphes Web et PageRank
Fabien Mathieu
UNIVERSITÉ MONTPELLIER II
— SCIENCES ET TECHNIQUE DU LANGUEDOC —
THÈSE
S PÉCIALITÉ : I NFORMATIQUE
Formation Doctorale : Informatique
École Doctorale : Information, Structures, Systèmes
G RAPHES DU W EB
M ESURES D ’ IMPORTANCE À LA PAGE R ANK
par
Fabien M ATHIEU
Remerciements 7
Introduction 9
I Structures du Web 15
1 Qu’est-ce que le Web? 17
1.1 Genèse du Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.2 Une définition du Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.3 Accessibilité du Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.3.1 Profondeurs du Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.3.2 Visibilité du Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.3.3 Web accessible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.4 Intermezzo : la page qui pointait vers toutes les pages . . . . . . . . . . . . . . . 21
3
TABLE DES MATIÈRES
4
TABLE DES MATIÈRES
6 BackRank 111
6.1 De l’importance de la touche Back . . . . . . . . . . . . . . . . . . . . . . . . . 111
6.2 Travaux antérieurs et contemporains . . . . . . . . . . . . . . . . . . . . . . . . 112
6.3 Modélisation de la touche Back . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
6.3.1 Modèle réversible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
6.3.2 Modèle irréversible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
6.3.3 Incorporation du facteur zap . . . . . . . . . . . . . . . . . . . . . . . . 117
6.4 Algorithme pratique : BackRank . . . . . . . . . . . . . . . . . . . . . . . . . . 119
6.4.1 Optimisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
6.4.2 Résultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
5
TABLE DES MATIÈRES
Conclusion 149
Annexe C : Persistence et diffusion des fichiers dans les réseaux pair-à-pair 159
C.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
C.2 Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
C.3 First simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
C.3.1 Strategies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
C.3.2 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
C.4 “torpor” characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
C.4.1 Torpor apparition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
C.4.2 Torpor robustness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
C.4.3 The missing block in real networks . . . . . . . . . . . . . . . . . . . . 164
C.5 Efficiency of upload strategies . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
C.5.1 Average download speed . . . . . . . . . . . . . . . . . . . . . . . . . . 165
C.5.2 Speed of Deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
C.5.3 Density . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
C.5.4 Robustness to very greedy peers . . . . . . . . . . . . . . . . . . . . . . 168
C.6 Future work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
C.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
Bibliographie 171
6
Remerciements
7
daction. Fidèle garde rapprochée, ils ont relu sans relâche les prototypes successifs jusqu’à la
présente version. Si il y a moins de vingt fotes par page, c’est grâce à eux.
L’équipe montpelliéraine d’abord. Fabien (l’autre), dont le code source du mémoire m’a per-
mis de passer de 0 à 100 pages en moins de temps qu’il n’en faut pour écrire « copier/coller »
avec un marteau-piqueur. Force m’est de constater que ces remerciements n’auraient pû être
sans son concours, et je tiens à lui rendre un hommage mérité. Mohamed, de son côté, a été là
pour moi à chaque que moi je n’y étais pas, et je n’oublie pas non plus que sans ses talents de
programmeur, je n’aurais jamais passé la barre des 100 millions de pages dans les délais impartis.
L’équipe parisienne ensuite. Julien, qui n’a pas son pareil pour faire une mousse au chocolat
au sel de rinçage pour 20 personnes, et qui a eu la gentillesse, avec Anamaria, de me prêter un
camp de base pour l’été 2004. En parlant de camp de base, un grand merci à Fanfan. Son lit est
trop dur, mais on y fait de beaux rêves. Et je n’oublie bien sûr pas Mathilde, qui a su surmonter
son handicap (être blonde et littéraire) et me donner de précieux conseils stylistiques.
J’ai également une pensée toute particulière pour Danielle Croisy, de l’INRIA, bien que je ne
m’explique pas comment elle a fait pour supporter tous ces ordres de mission en retard.
Merci à tous les autres dont je n’ai pas oublié le soutien. Thank you very many à Mickey et
Thibaut d’être passés faire un tour au LIRMM en ce mois de décembre 2004. Merci à toute la
Halle Gorithme, avec ses lapins, ses crawlers, ses pizzas et ses huîtres.
Enfin, un grand merci à ma sœur Nathalie, ma tante Marie-Paule, ma nièce Marion et mon
neveu Quentin. À force de bourlinguer aux quatre coins de l’Hexagone et d’ailleurs, on finit par
apprécier à sa juste valeur de savoir qu’il existe un lieu où l’on se sent chez soi.
MERCI À TOUS
ET BONNE LECTURE !
8
Introduction
H EISENBERG
9
I NTRODUCTION
survie.
Si les deux problèmes de l’accessibilité et de la visibilité sont symétriques, ils ne font pas
forcément bon ménage. Si un internaute veut manger des pommes, sa principale préoccupation
va être de trouver des pages Web qui parlent de pommes, voire qui en vendent. De son côté, le
site d’un amateur de poires va vouloir se faire connaître de l’internaute mangeur de pommes, si
possible avant qu’il n’ait trouvé un site de pommes, pour essayer de le faire changer d’avis et de
le convertir à la poire.
Les moteurs de recherche ont pour but premier d’assurer l’accessibilité d’un maximum de
pages Web aux internautes. Concrètement, parmi le plus grand choix possible de pages, le moteur
doit renvoyer les pages répondant aux besoins de l’internaute, ce besoin étant exprimé au travers
d’une requête. Mais ils sont de fait devenus aussi le principal média de visibilité pour les sites.
Ce placement stratégique, à la croisée de l’internaute et du site, fait du moteur de recherche la
pièce maîtresse du Web actuel, et il n’est pas étonnant de voir que la société Google, qui possède
— à ce jour — le quasi monopole du secteur des moteurs de recherche, est maintenant cotée en
bourse.
Connaître le Web
Une des premières qualités pour un moteur de recherche est d’avoir une base de données
conséquente, autant d’un point de vue quantitatif que d’un point de vue qualitatif. Dans la partie
I nous nous proposons de mettre en évidence la problématique que posent ces bases de données
constituées par les moteurs de recherche.
Nous commençons tout d’abord par tenter de définir le Web, ce qui, comme nous allons le
voir lors du chapitre 1, n’est pas aussi facile qu’on pourrait le penser de prime abord. Ceci fait,
nous pourrons au cours du chapitre 2 étudier ces sous-ensembles du Web que sont les crawls. Les
crawls sont naturellement munis d’une structure de graphe que nous détaillerons lors du chapitre
3. Nous essaierons en particulier de mettre en perspective le modèle du nœud papillon, dont les
conclusions sont trop souvent mal interprétées, et nous montrerons l’existence d’une très forte
organisation en sites des pages Web liée à l’arbre de décomposition des URLs. Nous verrons en
particulier que la structure canonique des sites permet de calculer en temps linéaire une bonne
approximation d’une certaine décomposition en sites d’un graphe du Web.
10
I NTRODUCTION
Les moteurs de recherche de première génération utilisaient des méthodes de pertinence lexi-
cale et sémantique afin de réaliser ce tri : les premières pages renvoyées étaient celles qui, du
point de vue de l’analyse sémantique, se rapprochaient le plus de la requête. Mais assez vite,
le classement par pertinence a été dénaturé par le besoin de visibilité des sites. Beaucoup de
sites se sont mis à étoffer le contenu sémantique de leurs pages à l’aide de techniques plus ou
moins rusées et plus ou moins honnêtes, par exemple en surchargeant la page de texte blanc sur
fond blanc. Très souvent, au lieu d’être renvoyé sur les pages les plus pertinentes, l’internaute se
retrouvait alors sur des pages qui n’ont rien à voir avec sa requête, mais dont la volonté d’être
visible est très grande.
Pour contrer ces techniques, de nouvelles méthodes de classement ont été introduites, dans le
but d’inférer l’importance des pages Web à partir de la structure de graphe formée par les pages
connues. C’est l’une de ces familles de méthodes de classement, les PageRanks, qui sera étudiée
dans la partie II.
Le chapitre 4 rappellera quelques bases théoriques sur les chaînes de Markov, et développera
plus particulièrement certains liens entre la théorie des graphes et celles des processus stochas-
tiques nécessaires à une bonne compréhension du PageRank. Le chapitre 5 sera l’occasion de
présenter un bestiaire quasi-exhaustif des algorithmes classiques de PageRank. Nous présente-
rons en particulier une vision du PageRank unifiée en terme d’interprétation stochastique, et
mettrons en évidence les point communs, différences, avantages et inconvénients des différentes
méthodes.
Enfin, au cours des chapitres 6 et 7, nous présenterons quelques algorithmes de PageRank
originaux dont nous pensons qu’ils peuvent apporter des améliorations significatives aux algo-
rithmes existants.
L’algorithme BackRank, conçu au départ pour modéliser l’utilisation de la touche Back, pos-
sède quelques effets secondaires intéressants, comme une convergence plus rapide que les algo-
rithmes classiques et l’absence de problèmes liés à l’existence de pages sans lien.
FlowRank est un algorithme qui essaie de prendre en compte de manière fine le rôle des
pages internes, des pages externes et du flot de zap dans un calcul exact du PageRank. BlowRank
est une adaptation pratique de FlowRank inspirée d’un autre algorithme de calcul décomposé du
PageRank.
Tous ces algorithmes sont autant d’outils potentiels ayant pour but de faciliter l’arbitrage entre
accessibilité et visibilité, mais ils permettent aussi de se faire une meilleure idée des mécanismes
qui entrent en jeu lorsque l’on veut modéliser un comportement stochastique sur le Web.
Publications
Voici la liste à ce jour des publications de mes travaux. [Mat01, MV02, MV03b] corres-
pondent aux travaux sur les graphes du Web qui sont à la base de la partie I de ce mémoire.
[BM03, MB04] sont quant à eux le point de départ du chapitre 6, tout comme [MV03a, MV04]
pour le chapitre 7. Les travaux de classification des PageRanks du chapitre 5 ainsi que les ana-
lyses détaillées des algorithmes BackRank et BlowRank sont trop récents et n’ont pas encore
11
I NTRODUCTION
fait l’objet de publication. Enfin, [MR04] est un rapport de recherche sur une modélisation des
problèmes de téléchargement dans les réseaux pair-à-pair fait conjointement avec Julien Reynier.
C’est un sujet prometteur, mais qui a encore besoin de mûrir, c’est pourquoi je l’ai simplement
mis en annexe (Annexe C page 159).
Tous ces documents sont téléchargeables sur
http://www.lirmm.fr/˜mathieu
12
I NTRODUCTION
13
I NTRODUCTION
14
Première partie
Structures du Web
15
Chapitre 1
1. Le terme Internet a été introduit, semble-t-il, en 1974, par Vincent Cerf et Bob Kahn. Notons au passage
que internet et Internet ne veulent pas dire la même chose ! L’un est un nom commun désignant une structure de
méta-réseau, l’autre est un nom propre pour LE méta-réseau utilisant le protocole TCP/IP.
17
Chap. 1 — Q U ’ EST- CE QUE LE W EB ?
En 1972, la charte AUP (Acceptable Use Policy) interdit à toute structure commerciale de se
connecter sur le réseau.
En 1984, le cap de 1000 machines est franchi et le CERN (Centre européen de recherche nu-
cléaire) rejoint Internet. Six ans plus tard, en 1990, alors que le nombre d’ordinateurs connectés
atteint les 300 000, le plus grand site Internet au monde est celui du CERN, futur berceau du
Web, un vaste ensemble mondial de documents dits hypertextes et hypermédias distribués sur
Internet.
Cette même année 1990, l’AUP cesse d’exister, ouvrant la voie à ce qui deviendra quelques
années plus tard la Bulle Internet.
En 1991, Tim Berners-Lee du CERN introduit le concept de World Wide Web (www), que
l’on traduit parfois en français par la toile. Le World Wide Web est la partie d’Internet où la
méthode de navigation est l’HyperTexte, et le protocole http (HyperText Transfert Protocol).
La philosophie d’http réside dans les liens dits hypertextes qui relient les pages entre elles et
qui permettent de naviguer quand on les sélectionne. On parle du « Web » — avec une majus-
cule — même s’il s’agit en réalité du « World Wide Web » ou « W3 ».
18
1.3 — ACCESSIBILITÉ DU W EB
• Certains documents qui ne sont pas des documents html permettent une navigation par hy-
perliens : documents propriétaires (Acrobat PDF, Flash. . . ) ou nouveaux langages (WML,
XML. . . ).
TAB . 1.1 – É volution des trafics http, ftp et p2p (en pourcentage du volume)
On entrevoit la difficulté de trouver une « bonne » définition du Web. Par un souci de sim-
plicité plus que tout autre chose, tout au long de ce mémoire, nous continuerons à définir le Web
selon sa double caractérisation initiale. Ainsi, nous appellerons Web l’ensemble des documents
écrits en html et disponibles sur Internet par le protocole http. Nous sommes conscients du ca-
ractère extrêmement restrictif de cette définition, mais préférons travailler sur un ensemble bien
défini et largement étudié plutôt que de rechercher une exhaustivité dont il n’est pas dit qu’elle
puisse être atteinte.
19
Chap. 1 — Q U ’ EST- CE QUE LE W EB ?
Définition 1
Le Web accessible est l’ensemble des pages Web susceptibles d’être pointées par un hyperlien.
Plus précisément :
• Ceci est équivalent à considérer comme faisant partie du Web accessible toute page ac-
cessible simplement en tapant la bonne adresse (également désignée par le terme URL,
U niform R essource L ocator [BMC94]) dans un navigateur.
• Les pages dynamiques ne possédant pas de variable cachée, c’est-à-dire dont les éven-
tuelles variables sont transmises dans l’URL, font partie du Web accessible.
4. Par exemple, l’ensemble des pages dynamiques accessibles depuis http://www.liafa.jussieu.fr/
~fmathieu/arbre.php[GLM02] devrait logiquement appartenir au Web opaque, alors que la catégorisation de
Sherman et Price semble les destiner à être complètement invisible. . .
20
1.4 — I NTERMEZZO : LA PAGE QUI POINTAIT VERS TOUTES LES PAGES
Par convention, nous allons exclure certaines pages de notre définition du Web accessible :
• Les pages d’erreur renvoyées par un serveur (erreurs 4xx par exemple) ;
• Les pages dont l’accès par des robots est interdit par un robots.txt ;
• Les pages protégées par login et/ou mot de passe (même si login et mot de passe peuvent
être donnés dans l’URL).
Cette définition a bien évidemment elle aussi ses défauts. Par exemple, elle ne prend pas du
tout en compte le problème des doublons (comment considérer deux pages au contenu stricte-
ment identique — par exemple deux URLs correspondant au même fichier physique ?), ni celui
de la dynamicité temporelle des pages et de leur contenu (que signifie l’accessibilité de la page
d’accueil d’un journal ? L’accessibilité d’une page qui renvoie l’heure et la date ?). En toute ri-
gueur, nous devrions ainsi parler de Web accessible à un instant t, et accepter d’identifier une
page à son URL malgré les redondances inévitables. Même ainsi, beaucoup de zones d’ombre
persistent. Ainsi, certains administrateurs mal intentionnés ne renvoient pas le même contenu se-
lon que le demandeur de la page soit humain ou non, afin de tromper les moteurs de recherche ;
d’autres renvoient des pages adaptées au navigateur utilisé par l’internaute ; d’autres encore vé-
rifient que l’internaute est bien passé par la page d’accueil avant de naviguer à l’intérieur du site,
et le renvoie à la page d’accueil si ce n’est pas le cas ; enfin, à cause des problèmes de routage,
il est tout à fait possible qu’à un instant t, un serveur soit tout à fait visible d’une adresse IP et
inaccessible d’une autre. En plus de l’instant t doivent donc être aussi définis l’adresse d’où est
émise la requête ainsi que toutes les informations transmises dans la requête http.
21
Chap. 1 — Q U ’ EST- CE QUE LE W EB ?
F IG . 1.1 – Capture d’écran de la page qui pointe vers toutes les pages en pleine action
de gestion des caractères d’échappement qui n’ont pas encore été corrigés), le rôle de la page, à
savoir être reliée par hyperliens à virtuellement toute page du Web indexable, est atteint.
Cette page est avant tout ludique, mais elle permet de prendre ses distances quant à bon
nombre d’idées reçues :
• Le but premier de cette page était de porter une petite pique contre l’interprétation qui est
généralement faite du modèle du nœud papillon, et il a été je pense atteint.
• Elle permet de prendre avec un minimum de recul toutes les affirmations sur la structure du
Web. Après tout, je peux affirmer connaître une partie du Web d’environ 256n−55 pages,
à un facteur 1010 près, où n est le nombre maximal de caractères que peut contenir une
URL 7 . Ce résultat, de loin supérieur à toutes les estimations de la taille du Web avancées
disponible. Elle ne fait pas encore le café, hélas.
7. Le protocole HTTP 1.1 ne spécifie pas de taille maximale d’URL (cf [FGM+ 99]). n est donc a priori aussi
22
1.4 — I NTERMEZZO : LA PAGE QUI POINTAIT VERS TOUTES LES PAGES
jusqu’à présent (voir section 2.2), permet aussi d’affirmer quelques statistiques étonnantes :
– Le degré moyen du Web que je connais est de 257 − , étant une perturbation due
aux vraies pages. De plus, contrairement à tout ce que l’on pensait, la distribution des
degrés ne suit pas une loi de puissance, mais ressemble bien à un Dirac.
– Il existe une composante fortement connexe dans le Web que je connais, et toute page
du Web que je connais appartient de manière quasi-certaine à cette composante.
Bien sûr, il ne faut pas prendre ces résultats pour argent comptant ! Je serais le premier à
juger suspicieux un article affirmant que le Web fait plus d’un gogol de pages 8 , ou que les dis-
tributions à queues lourdes n’existent pas. La page qui pointe vers toutes les pages n’est qu’une
idée du samedi soir 9 qui a été mise en application et j’en suis parfaitement conscient. Mais elle
a l’avantage de nous montrer en pleine lumière l’immensité du Web accessible (et en particulier
l’impossibilité de l’indexer 10 ) et de nous inciter à bien comprendre que tous les résultats signi-
fiants que l’on peut avoir sur le Web portent en fait sur des crawls qui représentent une part infime
du Web indexable en terme de nombre de pages.
Pour en conclure avec cet intermezzo, précisons qu’en terme de théorie de l’information, nous
doutons que la page qui pointe vers toutes les pages et ses pages dynamiques valent plus que les
quelques lignes de code qui se cachent derrière.
grand que l’on veut. Dans les faits, chaque serveur a une limite fixée, de l’ordre de quelques kilo-octets. D’ailleurs,
il fut un temps où envoyer une URL de plus de 8 ko était une façon efficace de planter un serveur IIS. . .
8. Le gogol est un nombre valant 10100 . Il n’honore pas l’écrivain russe Nicolas Gogol (1809-1852), mais a été
choisi en 1938 par le neveu du mathématicien américain Edward Kassner (1878-1955), Milton, alors âgé de 9 ans.
Notons qu’en anglais, gogol se dit. . . googol ! Le nom du célèbre moteur de recherche est directement dérivé du nom
inventé par Kassner, il existe d’ailleurs un contentieux entre Google et les héritiers de Kassner. Enfin, signalons que
le nombre représenté par un 1 suivi d’un gogol de 0 s’appelle gogolplex.
9. J’emprunte ce concept d’idée du samedi soir à Michel de Pracontal. C’est « le genre d’idées dont les cher-
cheurs discutent parfois pendant leurs heures de loisirs, sans trop les prendre au sérieux » (L’ IMPOSTURE SCIENTI -
FIQUE EN DIX LEÇONS , leçon 7).
10. Pour fixer les idées, en faisant un parcours en largeur de la page qui pointe vers toutes les pages à raison de 10
pages par seconde, il faudrait environ 100 millions d’années pour arriver à écrire http://free.fr. Quant à l’adresse
http://www.lirmm.fr, l’âge de l’univers est largement insuffisant pour qu’un robot puisse la trouver uniquement
en parcourant la page qui pointe vers toutes les pages.
23
Chapitre 2
que nous avons défini un cadre sur lequel travailler (le Web accessible), la
M AINTENANT
question de savoir quels objets nous allons étudier se pose. D’un point vue mathématique,
le Web accessible peut être infini dénombrable — selon la RFC 2616 [FGM+ 99] — ou fini —
car il n’existe qu’un nombre fini de serveurs et que chacun possède une taille limite d’URL.
Il répond en tout cas à une certaine définition physicienne de l’infini, qui est celle que nous
utiliserons ici : grand devant le nombre d’atomes de l’univers. Le Web accessible contient en
effet beaucoup de nids de pages quasi-infinis. La page qui pointe vers toutes les pages, bien
sûr, mais aussi des serveurs mal configurés, ou même des sites commerciaux qui essaient, en
créant une infinité de pages, d’augmenter leur PageRank (voir partie II section 7.5, page 136).
Pour donner une exemple concret, lors de la présentation de leur article Extrapolation methods
for accelerating PageRank computations [KHMG03b], les auteurs ont raconté comment une de
leur expérience a été perturbée par un site allemand qui occupait 90 % des pages qu’ils avaient
indexées. Vérification faite, le site en question était un site pornographique qui espérait grâce à
une infinité de pages étroitement reliées entre elles avoir un bon classement dans les moteurs de
recherche (principe des Free For All, aussi appelés farm links ou pouponnières).
25
Chap. 2 — C HALUTIERS ET TAILLES DU W EB
En conclusion, il est impossible d’indexer tout le Web accessible, de même que parler de sa
taille n’a plus de sens 1 . En l’absence d’accès physique aux serveurs, les seules données tangibles
que nous ayons à notre disposition sont donc les crawls, c’est-à-dire les zones du Web effec-
tivement découvertes, et éventuellement indexées, par des entreprises commerciales (moteurs
de recherche) ou des institutions publiques. L’objet de ce chapitre sera de définir précisément
les crawls, de donner des ordres de grandeurs, et de voir dans quelle mesure il est possible de
comparer des crawls ou de mesurer une certaine qualité.
Un crawleur dynamique, lui, n’est pas prévu pour s’arrêter, mais pour parcourir perpétuelle-
ment le Web et revisiter périodiquement les pages qu’il a parcouru [APC03].
Ce que nous appelons crawleur est en fait l’ensemble des moyens logiciels et matériels per-
mettant de réaliser un crawl. Qu’est-ce qui va faire qu’un crawleur va produire un certain crawl
et pas un autre?
26
2.1 — L ES CHALUTIERS DU W EB
Ceci est valable pour tous les types de crawleurs, même si asymptotiquement, seules les
stratégies d’exploration et les limitations techniques jouent un rôle important pour les crawleurs
dynamiques.
27
Chap. 2 — C HALUTIERS ET TAILLES DU W EB
de recherche dont les agents se perdraient dans les pouponnières et autres pages qui pointent vers
toutes les pages aurait sûrement peu de succès. C’est pourquoi certains moteurs, comme AltaVista
et Teoma, évitent la pratique du Deep Crawl 3 , alors que d’autres, comme Google, répertorient
les pouponnières dans une liste noire.
La stratégie peut aussi modifier négativement la barrière d’un moteur de recherche, si elle ne
cherche pas à optimiser les ressources disponibles. Par exemple, à cause de la limite du nombre
de requêtes par site, la bande passante prise par l’exploration d’un serveur est souvent minime
devant la bande passante disponible, d’où la quasi-nécessité d’explorer plusieurs serveurs en pa-
rallèle. Pour les mêmes raisons, il vaut mieux toujours avoir un serveur rapide parmi les serveurs
que l’on est en train de questionner.
Toutes ces contraintes « physiques » prises en compte, on distingue principalement deux
philosophies dans les stratégies d’exploration connues.
28
2.2 — TAILLES ET ÉVOLUTIONS DES CRAWLS
La deuxième guerre du crawl (septembre 1999 – juin 2000) est marquée par un match serré
entre Altavista et AllTheWeb, qui se conclut par la victoire écrasante de. . . Google, qui va se
développer jusqu’à dépasser le milliard et demi de pages revendiquées, ce qui impose un nouveau
standard (figure 2.2(c)).
La troisième guerre (juin 2002 – décembre 2002) débute par un court passage d’AllTheWeb
en tête de course. Google et Inktomi ripostent presque aussitôt, et en l’espace de six mois fran-
chissent le cap des 3 milliards de pages web. Quelques mois plus tard, AllTheWeb se remet au
diapason (figure 2.2(d)).
Actuellement (été 2004), Google affirme indexer plus de 4 milliards de pages, mais le champ
de bataille s’est déplacé. La bataille entre Google et Yahoo (qui sous-traitait avec Google jus-
qu’en février 2004, et qui depuis utilise la base de donnée d’Inktomi) essaie de se faire plus
subtile, le but étant d’avoir les résultats « les plus compréhensibles et les plus pertinents ». Ya-
hoo préparerait d’ailleurs sa propre version du PageRank de Google, le WebRank.
29
Chap. 2 — C HALUTIERS ET TAILLES DU W EB
(a) Évolution des moteurs (12–95 - 09–03) (b) Guerre du Crawl I (12–97 - 06–99)
(c) Guerre du Crawl II (09–99 - 06–00) (d) Guerre du Crawl III (06–02 - 12–02)
plusieurs requêtes parallèlement sur les différents moteurs de recherche que l’on veut comparer,
et de postuler que le nombre de réponses renvoyées par chaque moteur est en première approxi-
mation proportionnel au nombres d’URLs connues par le moteur de recherche. Si l’on connaît la
taille réelle d’un des moteurs, on peut alors par une simple règle de trois estimer la taille réelle
des autres moteurs. Or, en décembre 2002, il était possible de connaître la taille exacte du moteur
AllTheWeb simplement en soumettant la requête url.all:http 4 .
La figure 2.3 compare les tailles revendiquées et estimées par la méthode de Greg Notess
de plusieurs moteurs de recherche. On peut facilement distinguer trois catégories de moteur de
recherche, qui montrent autant les éventuelles exagérations des moteurs que le biais introduit par
les requêtes :
Les réalistes : Google, AllTheWeb et WiseNut ont des valeurs estimées et revendiquées extrê-
4. Merci à Greg Notess, webmaster du site SearchEngineShowdown de m’avoir communiqué cette méthode,
même si elle ne marche plus aujourd’hui. La requête url.all :http ne marche en effet qu’avec les moteurs utilisant
la technologie Fast, laquelle n’est plus utilisée par les grands moteurs depuis le 1er avril 2004 (et ce n’est pas un
canular. . . ).
30
2.2 — TAILLES ET ÉVOLUTIONS DES CRAWLS
mement proches, et tendent à prouver que la méthode d’estimation présente une certaine
fiabilité.
Les sites qui voulaient trois milliards : Les estimations des taille de HotBot et MSN Search
sont en nette contradiction avec les valeurs revendiquées. Il s’agit de moteurs basés sur la
technologie Inktomi. Selon Inktomi, tous les ordinateurs formant leur base de données ne
sont pas accessibles en même temps, et donc on ne peut jamais accéder à la totalité de la
base. De plus, il est possible que les partenaires d’Inktomi (HotBot et MSN Search dans
le cas présent) n’utilisent qu’une partie de la base de données, pour des raisons pratiques
ou commerciales. Pour Greg Notess, ces estimations reflètent donc la portion de la base
de données réellement disponibles au moment où les requêtes ont été faites. Il est évident
que le biais de la méthode de Notess nous empêche de faire des affirmations catégoriques,
mais l’on ne peut s’empêcher de soupçonner le chiffre de trois milliards d’être une réponse
publicitaire aux trois milliards de Google (rappel : nous sommes à la fin de la troisième
guerre du Crawl).
Les modestes : AltaVista, Teoma, NLResearch et Gigablast semblent revendiquer beaucoup
moins que leur taille réelle, ce qui ne semble guère logique. D’après Greg Notess, l’ex-
plication de ce paradoxe vient de la façon de comptabiliser les pages connues, mais non-
indexées. En effet, les sites que nous avons appelés réalistes semblent revendiquer leurs
URLs connues, indexées ou non, alors que les modestes se restreignent aux pages effecti-
vement indexées. Quand on sait que les pages non-indexées représentent au moins 25 %
des pages connues, mais moins de 1 % des réponses aux requêtes 5 (sources : SearchEngi-
neShowdown), on a un début d’explication du phénomène.
31
Chap. 2 — C HALUTIERS ET TAILLES DU W EB
3500
Taille estimée
Taille revendiquée
3000
2500
Nombre de pages (millions)
2000
1500
1000
500
0
Google AlltheWeb AltaVista WiseNut HotBot MSN Search Teoma NLResearch Gigablast
Moteur de recherche
Le nouveau moteur de recherche de Yahoo donne lui aussi des résultats parfois étranges.
Ainsi, j’ai pu constater que le nombre de résultats pouvait dépendre du rang à partir duquel on
désirait voir les résultats. Ainsi, alors que la requête ”pâte à crêpes” donne 7480 réponses si
on affiche les 20 premières pages, ce nombre tombe à 7310 si on demande les pages 981 à 1000,
avec une décroissance régulière. Expérimentalement, la différence peut atteindre 5% du chiffre
annoncé.
Il faut enfin ne pas oublier de parler du problème des doublons. En effet, la plupart des grands
moteurs considèrent pour leurs index et algorithmes que www.domain.com/, domain.com/,
et www.domain.com/index.html sont des pages différentes. Le regroupement est fait a pos-
teriori, en utilisant des méthodes de hashage pour identifier les pages identiques (que Google
appelle pudiquement pages à contenu similaire). En résumé, les doublons sont comptés dans le
nombres de pages trouvées, mais ne sont pas renvoyés dans les réponses (sauf demande explicite
de l’utilisateur). Pour fixer les idées, le tableau 2.1 présente les résultats de quelques requêtes
pour lesquelles il est possible de connaître le nombre de pages hors doublons 7 . Par convention,
nous avons choisi de définir le nombre de pages revendiquées par Yahoo comme celui revendiqué
lorsque l’on demande les dernières pages.
7. Comme Yahoo et Google ne renvoient que les 1000 premières réponses à une requête, il n’est possible de
compter les doublons que lorsque le nombre de pages uniques est inférieur à 1000. Il suffit alors de demander les 10
dernières réponses pour avoir les informations voulues.
32
2.3 — M ESURES SUR DES CRAWLS
|A| q
=
|B| p
Tout le problème est d’estimer p et q en l’absence d’index librement accessible au public.
33
Chap. 2 — C HALUTIERS ET TAILLES DU W EB
C’est là qu’intervient l’échantillonnage par requête : des requêtes créées par un générateur aléa-
toire le plus uniforme possible, sont soumises à un moteur. À chaque fois, un des réponses parmi
les 100 premières est choisie au hasard, et on vérifie, par des méthodes plus ou moins strictes, si
cette réponse est dans l’index de l’autre moteur.
Par rapport à la méthode de Notess, deux autres sources de biais (en plus du biais dû au choix
des requêtes et des biais standards d’échantillonnage) sont introduites :
Le biais de classement En choississant uniquement les échantillons parmi les 100 premières
réponses (contrainte imposée par les moteurs de recherche eux-même), les classements
(les importances) des pages considérées sont statistiquement plus élevés que la moyenne.
Le biais de vérification Il n’y a pas de méthode parfaite pour contrôler l’appartenance d’une
page donnée à un index. Les différentes méthodes proposées par Bharat et Broder sont
basées sur l’analyse d’une requête censée définir la page et les critères de validation vont
de le moteur renvoie la bonne page à le moteur revoie un résultat non vide.
Les mesures par chevauchement ont eu leur heure de gloire au cours des guerres du Crawl 8
(voir section 2.2), mais si elles ont l’avantage d’introduire un formalisme rigoureux, le coût en
biais et la relative complexité de la méthode font que la méthode de Notess reste très compétitive.
8. De là à dire que certains articles ont surtout servi à montrer qu’AltaVista avait la plus grosse basse de donnée,
il n’y a qu’un pas que je franchirai section 3.2. . .
9. Choisir une page Web au hasard est impossible, le Web indexable étant infini.
34
Chapitre 3
que les concepts de Web et de crawl ont été précisé, nous allons pouvoir
M AINTENANT
étudier ce qu’il est possible d’en dire. Ce chapitre étant consacré aux structures, il convient
de placer une structure canonique sur les crawls que l’on veut étudier. Une des structures les plus
simples et les plus naturelles dans le cas des crawls du Web est la structure de graphe. Les
graphes du Web, dont une définition est donnée section 3.1, sont un sujet d’étude fréquent. Après
avoir analysé de manière critique l’un des modèles les plus connus, le modèle du nœud papillon
(section 3.2), nous mettrons en évidence dans le reste du chapitre l’importance de la structure en
sites dans les graphes du Web.
35
Chap. 3 — G RAPHES ET STRUCTURES DU WEB
e ∈ E relie une page i à une page j si, et seulement si, i contient un hyperlien pointant vers j.
Par convention, les ancres 1 sont ignorées, et les liens multiples ne rajoutent rien au graphe (si
une page i possède deux hyperliens pointant vers j, le graphe aura toujours un seul arc de i vers
j). De même, les liens d’une page vers elle-même ne seront pas pris en compte.
Par abus de langage, nous utiliserons souvent le terme graphe du Web pour désigner un tel
graphe G. Il conviendra de toujours se rappeler qu’il s’agit toujours en fait de graphes de crawls.
• Environ un quart des pages considérées appartiennent à une seule et même composante
fortement connexe, appelée noyau ou SCC (pour Strongly Connected Component).
• Un autre quart est formé de pages à partir desquelles on peut rejoindre le noyau, l’inverse
n’étant pas vrai. C’est la composante IN.
• À l’inverse, près d’un quart des pages sont accessibles à partir du noyau, la réciproque
étant fausse. Ces pages forment la composante OUT.
• Les pages qui sont accessibles à partir de IN, ou qui permettent d’accéder à OUT, et qui
n’appartiennent ni à IN, ni à OUT, ni à SCC, forment les tentacules (TENDRILS) et repré-
sentent aussi près d’un quart des pages.
1. Les ancres (anchors) permettent de pointer vers une partie spécifique d’une page Web.
2. Par exemple, il est affirmé dans [LM04] et [KHMG03a] que Arasu et al. utilisent le modèle du nœud papillon
pour accélérer leur calcul de PageRank [ANTT01]. Vérifications faites, Arasu et al. citent bien le modèle du nœud
papillon, et proposent une méthode de calcul de PageRank basée sur. . . l’écriture de A sous une forme triangulaire
par blocs déduite de la décomposition en composantes fortement connexes (cf théorème 6). En particulier, le seul
apport du modèle du nœud papillon est l’existence d’un bloc diagonal plus gros que les autres (la SCC).
36
3.2 — L E NŒUD PAPILLON REVISITÉ
• Les quatre quarts que nous venons d’évoquer forment en fait 90% des pages du crawl, soit
la plus grande composante connexe. Les 10% restant sont des composantes déconnectées
du reste et de taille moindre.
Tentacules
21,5 %
Composantes déconnectées
8,3 %
Cette structure est couramment représentée par un schéma similaire à celui de la figure 3.1.
La forme de nœud papillon obtenue à partir des composantes IN, SCC et OUT donne son nom
au modèle (bow tie).
De cet article est resté auprès de beaucoup de monde l’idée que ce découpage en quantité à
peu près égales en composante IN, SCC, OUT et tentacules est caractéristique du Web : c’est le
modèle du nœud papillon.
Le principal inconvénient du modèle du nœud papillon, c’est que selon toute vraisemblance,
il ne représente plus la réalité. Le graphe du Web, c’est-à-dire le graphe du Web accessible, ne
peut pas avoir une structure de nœud papillon équilibrée, puisqu’il contient entre autres la page
qui pointe vers toutes les pages (cf section 1.4 page 21). Il faut donc considérer que ce modèle
37
Chap. 3 — G RAPHES ET STRUCTURES DU WEB
s’applique aux graphes issus de gros crawls du Web (c’est d’ailleurs l’opinion des auteurs 3 ).
Seulement, on constate que :
• Aujourd’hui, la plupart des grands crawls sont l’œuvre de moteurs de recherche.
• Ces moteurs recensent les sites qu’il découvrent (par crawl ou par référencement) dans des
annuaires (directories).
• Les annuaires font de toutes évidence partie du noyau du Web.
Que peut-il donc se passer pour une page qui, pour un crawl donné, fait partie de la compo-
sante IN, ou des tentacules, ou même des composantes déconnectées :
• Si la page ou un de ses ancêtres est indexé par les annuaires, elle se retrouve de facto soit
dans le noyau, soit dans OUT.
• Une page fait partie du crawl parce que un de ses ancêtres faisait partie de l’ensemble
initial de crawl. Si aucun ancêtre de la page n’a été mis à l’annuaire, on peut douter qu’un
ancêtre soit conservé dans l’ensemble initial de crawl. Conséquence, au prochain crawl, la
page disparaîtra.
En conclusion, oui, il peut y avoir une composante IN, ou des composantes déconnectées, mais
ces composantes sont forcément transitoires, à cause même des relations entre crawlers et an-
nuaires. Il faut également tenir compte du fait que les gros crawls actuels possèdent une part
non négligeable de pages non-indexées (au moins 25 % d’après une étude de 2002 [Sea], 75
% d’après un article de 2004 [EMT04]), qui viennent automatiquement grossir la composante
OUT. Pour toutes ces raisons, j’ai tendance à douter très fortement que plus de 2 (3 ?) milliards
de pages indexées par Google ne fassent partie ni du noyau, ni de OUT.
Une question que l’on peut se poser est de savoir si les paramètres considérés sont pertinents
pour l’étude des graphes du Web. D’un côté, nous avons les crawls, qui essaient de parcourir
tant bien que mal un Web dynamique aussi bien spatialement que temporellement, et qui ont
souvent un overlap très faible entre eux [BB98]. De l’autre, des définitions comme IN : ensemble
des pages qui accèdent au noyau, mais ne sont pas accessibles de celui-ci. Est-il raisonnable de
faire cohabiter des crawls très variables et des définitions peu robustes ? Un exemple concret :
imaginons qu’un individu peu scrupuleux s’empare de l’ensemble des pages initiales des crawls
d’AltaVista et mette les liens vers ces pages sur sa page Web. Si cette page est dans le noyau,
cela signifie l’écroulement de toutes les composantes sur SCC et OUT 4 .
3. « This suggests that our results are relatively insensitive to the particular crawl we use, provided it is large
enough. », op. cit.
4. C’est d’ailleurs ce phénomène d’écroulement qui tend à se produire aujourd’hui avec les annuaires.
38
3.2 — L E NŒUD PAPILLON REVISITÉ
Contrairement à ce qu’affirme les auteurs 5 , il suffit donc d’une page, pas si grosse que ça 6 ,
pour mettre à mal le modèle du nœud papillon. On est en fait en présence d’une lacune métho-
dologique : en face de données sur lesquelles l’incertitude et la dynamique est très grande (les
graphes du Web), cela n’a pas de sens de considérer des variables extrêmement dépendantes
des conditions initiales comme des constantes universelles. Pour les même raisons, considérer le
diamètre de la composante connexe n’est guère pertinent ; effectivement, sur les 2 crawls d’Alta-
Vista étudiés, il reste à peu près constant (aux alentours de 500), mais en y regardant de plus près,
des indices semblent montrer que le diamètre de 500 est dû à une unique guirlande, peut-être une
page mal configurée ou un piège à robots qui aurait échappé aux filtres 7 .
39
Chap. 3 — G RAPHES ET STRUCTURES DU WEB
pages indexées, mais il lui manque l’assurance que cette augmentation de taille va lui permettre
de rattraper l’évolution du Web. Dans cette optique, Graph Structure in the Web tombe à point
nommé. En effet, quelle est la morale de l’article?
En somme, Graph Structure in the Web répond à une attente à la fois existentielle (Peut-on
comprendre le Web ?) et commerciale (Notre crawl est le Web.). On pourrait presque le voir
comme un mécanisme issu des lois de l’offre et de la demande. À la limite, la question de savoir
si ses bases scientifiques sont solides ou non devient secondaire, ce qui est peut-être un début
d’explication au succès de cet article.
3.2.4 Conclusion
Le modèle du nœud papillon a très certainement eu un sens au moment de sa découverte,
mais ce sens n’est pas le Web a une structure de nœud papillon. Il exprime plutôt une situation
particulière où à cause de la Bulle Internet, les nouvelles pages arrivaient trop vite pour que le
Web puisse les assimiler. Mais aujourd’hui, deux phénomènes font que l’on est plus dans ce
cas : d’une part, la Bulle a éclaté. La création de nouveaux sites se fait rare, et on assiste plus
à un développement de sites existants qu’à l’apparition d’une nuée de sites non répertoriés (cf
section 3.3.2), ce qui est un début d’explication au fait que la structure en nœud papillon se re-
trouve dans les graphes des sites [DKM+ 01]. D’autre part, les moteurs de recherche ne font plus
seulement qu’indexer le Web, ils en modifient continuellement la structure par l’intermédiaire
des annuaires. Ces deux effets conjugués au manque de robustesse du modèle font qu’il est peu
probable que les grands crawls commerciaux aient encore la même proportion de IN, tentacules
et autres composantes déconnectées que celles trouvées dans Graph Structure in the Web.
On retiendra quand même que Broder et al. ont mis en évidence l’existence d’un important
noyau de pages toutes connectées les unes aux autres, ainsi que le comportement protectionniste
de certains sites commerciaux qui s’incluent totalement dans la composante OUT. On retien-
dra également que la proportion de composante IN dans le graphe d’un crawl est une certaine
indication de la difficulté d’un grand graphe structuré à s’adapter à une expansion rapide.
40
3.3 — RÔLE DES SERVEURS ET DES SITES DANS LA STRUCTURE DU GRAPHE DU W EB
(avec une option plus de pages venant du même site disponible). Une bonne décomposition en
sites a de nombreuses applications, qui vont des méthodes de calcul du PageRank [KHMG03a,
MV04] à des méthodes de compression efficaces des crawls [RSWW01, GLV02].
Serveur réel Un serveur Web réel se définit comme une machine physique précise connectée à
Internet et identifiée par une adresse IP, qui renvoie un code de réponse 200 et une page
Web en retour d’une requête http demandant la racine (/ ) sur le port 80 8 . Le site Web
physique associé au serveur consiste en toutes les pages hébergés à l’adresse IP considérée.
Serveur virtuel Les adresses IP n’étant pas illimitées, des solutions ont dû être envisagées pour
économiser les adresses. Une de ces solutions est l’emploi de serveurs virtuels. Les ser-
veurs virtuels, introduits avec la norme http 1.1, permettent à une même adresse IP de se
comporter comme plusieurs serveurs différenciés par leur adresse DNS (Hostname). Ce
procédé est par exemple utilisé par free pour l’hébergement des pages personnelles de ses
clients, ou au Japon, où les ressources en adresses IP sont très limitées. Du point de vue de
l’utilisateur, un serveur virtuel est indicernable d’un serveur réel, si ce n’est qu’on ne peut
pas remplacer l’adresse DNS par l’adresse IP.
Site logique Un site Web logique est constitué d’un ensemble de pages fortement reliées par
hyperliens. Intuitivement, un site se caractérise par une certaine homogénéité de style (im-
posée par le Webmaster) et une navigation aisée au sein des pages du site. L’étude des sites
sera l’objet des sections 3.3.3 et 3.3.4.
Communauté La notion de communauté est en quelque sorte orthogonale à la notion de site.
Une communauté est un ensemble de pages reliées par un intérêt commun. La recherche de
communautés est au cœur de l’algorithme HITS de Kleinberg [Kle98] ainsi que du projet
CosmoWeb [BBM03].
41
Chap. 3 — G RAPHES ET STRUCTURES DU WEB
10000
7000
6000
5000
4000
3000
2000
1000
0
1998 1999 2000 2001 2002
Année
n’y a que 232 adresses possibles, soit environ quatre milliards 9 . Ce travail a été effectué par le
Web Characterization Project [OLB+ 02], sur la période 1998-2002, et les résultats concernant
le nombre de serveurs sont représentés figure 3.2. Le nombre de serveurs physiques uniques
est le nombre de serveurs physiques diminué des doublons, c’est-à-dire des serveurs renvoyant
exactement le même contenu qu’un serveur précédemment testé.
La principale remarque que l’on peut faire quant à ces chiffres est l’observation d’une stag-
nation du nombre de serveurs physiques depuis 2001. Cette stagnation peut s’expliquer par la fin
de la bulle Internet. En effet, le Web a cessé d’être une nouvelle technologie, et la plupart des
acteurs universitaires, commerciaux et sociaux susceptibles de s’intégrer au Web l’ont déjà fait.
D’après le Web Characterization Project, il ne se crée presque pas, voire plus de serveurs Web,
la croissance se fait individuellement au niveau des serveurs.
9. Il y en a en fait moins si on enlève certaines adresses réservées - les adresses militaires par exemple - qui ne
sont pas censées héberger de serveur Web accessible. L’IANA (Internet Assigned Numbers Authority) est l’orga-
nisme chargé de gérer les tranches d’adresses disponibles ou non. On peut ainsi éliminer environ 48 % des adresses
disponibles.
42
3.3 — RÔLE DES SERVEURS ET DES SITES DANS LA STRUCTURE DU GRAPHE DU W EB
60
Serveurs actifs
50
Hostnames
Nombre de serveurs (millions)
40
30
20
10
0
1997 1998 1999 2000 2001 2002 2003 2004
Année
L’étude des serveurs virtuels a été réalisée par le site Netcraft [Net04]. Elle consiste à réper-
torier l’ensemble des adresses DNS déclarées (comme le site WhoIs [Who04]), et à tester par une
requête http l’existence d’un serveur sur chacune des adresses obtenues.
L’évolution des serveurs Web virtuels, d’après Netcraft [Net04], montre une progression
constante à peu près linéaire du nombre de serveurs Web virtuels actifs au cours des 4 dernières
années (cf figure 3.3). Ce n’est en tout cas à priori pas une progression géométrique.
43
Chap. 3 — G RAPHES ET STRUCTURES DU WEB
• Permettre à certains moteurs de recherche de ne renvoyer qu’une ou deux pages par site,
afin d’éviter une monopolisation des réponses à une requête.
• Affinement du facteur zap dans les calculs de PageRank (voir partie II, section 5.3, ainsi
que [BMPW98, HHMN99])
• Algorithmes de PageRank basés sur la structure de site (l’algorithme FlowRank, présenté
partie II, chapitre 7, ainsi que son « concurrent » BlockRank [KHMG03a])
La plupart du temps, les sites sont approximés par les serveurs ([Ada99]). Mais la réalité
peut parfois être plus complexe. Des gros sites peuvent reposer sur plusieurs serveurs, alors
qu’inversement un serveur peut héberger plusieurs sites. Par exemple, on aurait envie de regrou-
per www.microsoft.com et download.microsoft.com et de les considérer comme faisant partie
d’un même site. À l’inverse, tous les hébergeurs de sites personnels n’utilisent pas les domaines
virtuels, une grande partie met les sites dans les répertoires d’un serveur unique.
Toutes ces considérations nous amènent à nous poser la question de la définition d’un site
logique. Les internautes (humains) n’ont en général aucun problème pour savoir ce qu’est un
site, ce qui constitue en quelque sorte une définition empirique, mais n’est guère rigoureux et
ne se prête guère à l’automatisation. Notons que les sites référencés à la main par les annuaires
rentrent dans cette définition.
Le Web Characterization Project [OLB+ 02] propose quant à lui la définition sémantique
suivante :
[A Web Site (Information Definition) is] a set of related Web pages that, in the
aggregate, form a composite object of informational relevance. Informational rele-
vance implies that the object in question addresses a non-trivial information need.
[Un site Web logique est] un ensemble de pages similaires qui, par leur réunion,
forment un objet composite délivrant une information pertinente. Cette information
pertinente implique que l’objet en question réponde à un besoin d’information non-
trivial.
À cette caractérisation sémantique, Li, Kolak, Vu et Takano superposent dans [LKVT00] une
approche structurelle pour définir proposent la notion de domaine logique :
A logical domain is a group of pages that has a specific semantic relation and a
syntactic structure that relates them.
Un domaine logique est un groupe de pages qui possèdent une relation séman-
tique spécifique et une structure syntaxique qui les relie.
Se basant sur cette définition, ils définissent un ensemble de règles (sémantiques et structu-
relles) pour identifier des sites.
Plus modestement, notre approche est de voir ce qu’il est possible de réaliser en ne considé-
rant que le côté structurel des pages. Nous nous limitons donc à d’une part la structure de graphe
induite par les hyperliens, d’autre part la structure en arbre des URLs qui fait apparaître des clus-
ters naturels sur les graphes des crawls. En effet, très souvent, un site logique obéit à des règles
44
3.3 — RÔLE DES SERVEURS ET DES SITES DANS LA STRUCTURE DU GRAPHE DU W EB
hiérarchiques au niveau des URLs (Uniform Resource Locators [BMC94]), la plus commune
étant l’existence d’un préfixe commun caractéristique.
F IG . 3.4 – Les URLs : un arbre de décomposition naturel pour les graphes du web
Cette structure d’arbre de décomposition 10 sur les graphes (clustered graphs) a été introduite
par Feng et al. dans [FCE95] comme un outil de représentation des grands graphes. Sa principale
utilisation est donc de permettre de dessiner des graphes de manière à laisser apparaître l’éven-
tuelle hiérarchie existante, et on emploie surtout les arbres de décomposition dans les domaines
où des structures de diagrammes implicites ou explicites existent 11 .
Tout le problème est alors de trouver pour un graphe donné l’arbre de décomposition qui
offre la meilleure représentation structurelle [Bri02]. Dans le cas des graphes du Web, l’arbre
des URLs offre un arbre de décomposition intrinsèque.
45
Chap. 3 — G RAPHES ET STRUCTURES DU WEB
Definition
Soit G(V, E) un graphe. Un arbre de décomposition de G est la donnée d’un arbre T dont les
feuilles correspondent aux sommets V . Chaque nœud interne n de T définit un cluster (ensemble
de sommets) VT (n). Ce cluster est constitué de l’ensemble des sommets de V correspondant
aux feuilles du sous-arbre de T de racine n. Par exemple, le cluster associé à la racine de T est
l’ensemble V tout entier.
Un bon exemple de l’utilisation des arbres de décomposition est la modélisation des relations
humaines. Il existe en effet un graphe assez naturel des relations humaines, où les sommets sont
des personnes et où une personne A pointe vers une personne B si A connaît B). Un arbre de
décomposition qui peut complèter de manière pertinente ce graphe est celui de la localisation
géographique : monde, pays, (état), ville, quartier, rue,. . .
Les URLs offrent une structure naturelle d’arbre de décomposition sur les graphes du Web.
L’ensemble des serveurs 12 peut être représenté par un arbre dont la racine est http, les nœuds
de profondeur 1 les TLDs 13 , suivis des noms de domaines proprement dits et éventuellement
des sous-domaines. Chaque serveur, qui est une feuille de l’arbre des noms de domaine, héberge
une hiérarchie de pages identique à la structure du système de fichiers physique correspondant.
La réunion des arbres des fichiers dans l’arbre des serveurs donne l’arbre de décomposition des
URLs.
Par exemple, l’URL http://smith.mysite.org/linux/index.html se décompose en
http, org, mysite, smith, linux et enfin index.html, formant ainsi un chemin qui part de la racine
jusqu’à la feuille correspondante dans l’arbre de décomposition (voir figure 3.4).
On peut éventuellement s’interroger sur la pertinence de commencer la décomposition par
le domaine de premier niveau (TLD). En effet, il existe des macro-sites qui, pour avoir une
meilleure visibilité, se déploient sur plusieurs TLDs ( .com et les ccTLDs des pays d’implanta-
tion, de manière assez classique). Nous préférons quand même conserver le tri par TLD, d’une
part parce que cela correspond à la philosophie initiale des noms de domaines, d’autre part parce
qu’il existe aussi des noms de domaine pour lesquels le TLD change beaucoup de choses. Le
lecteur majeur et averti pourra par exemple constater une différence sémantique certaine entre le
contenu du site http://www.france2.fr et celui de http://www.france2.com...
46
3.3 — RÔLE DES SERVEURS ET DES SITES DANS LA STRUCTURE DU GRAPHE DU W EB
F IG . 3.5 – Matrice d’adjacence de 6.104 de pages parmi un crawl de 8 millions de pages de .fr
Étant donné que d’une manière générale, les webmasters essaient d’organiser leurs sites, on
peut s’attendre à ce que le concept de site Web soit intimement relié à celui l’arbre de décom-
12. Pour simplifier, nous nous limiterons aux serveurs identifiés par leur nom de domaine DNS et utilisant le port
80.
13. TLD : Top Level Domain, ou domaine de premier niveau. Les TLDs sont divisés en deux catégories : les
domaines génériques de premier niveau (gTLD) et les domaines de premier niveau qui sont des codes de pays
(ccTLD). Les TLDs sont gérés par l’IANA ( http://www.iana.org).
47
Chap. 3 — G RAPHES ET STRUCTURES DU WEB
Modèle formel
Structurellement, nous pensons qu’un site se définit comme un ensemble de pages étroitement
reliées entre elles par des liens navigationnels, comme semble le confirmer les représentations de
la matrice d’adjacence (cf figure 3.5).
Cela nous amène à essayer de définir une fonction qui mesure la qualité d’une partition
en site par rapport au taux de liens navigationnels. Cette fonction, fG : S partition de G →
f (S) ∈ R doit atteindre un extremum lorsque S approche (dans un sens à préciser) ce que nous
aimerions appeler partition en sites. Une fois une telle fonction trouvée, la méthode standard
pour partitionner G consiste à construire une partition initiale des URLs (adaptée à la situation
considérée), puis à effectuer des ajustements locaux pour essayer d’optimiser f (S).
Choix de la fonction fG
Comme le facteur le plus important selon nous pour estimer une partition en sites est le
nombre de liens navigationnels, il apparaît logique de chercher une fonction fG qui dépende ex-
48
3.3 — RÔLE DES SERVEURS ET DES SITES DANS LA STRUCTURE DU GRAPHE DU W EB
(c) aemiaif.lip6.fr/jargon, un dictionnaire interactif (d) algo.inria.fr, le site d’une équipe de l’INRIA
F IG . 3.6 – Approche visuelle de la structure de site : zoom sur des clusters de la figure 3.5
plicitement de i, nombre de liens internes. Il faut également tenir compte du nombre de sites :
en effet, celui-ci n’est pas fixé à l’avance (sinon, on serait dans le cadre classique d’algorithmes
de type mincut ou maxcut). Pour éviter d’avoir comme extremum la partition triviale G, et pour
essayer d’avoir une décomposition fine, il nous semble également important d’essayer de maxi-
49
Chap. 3 — G RAPHES ET STRUCTURES DU WEB
sujet 1
page isolée index.html sujet 2
sujet 3
web
miser le nombre de sites p. Nous avons donc deux paramètres globaux, le nombre de sites p et le
nombre de liens internes i, et la fonction f que nous recherchons doit vérifier à la fois ( ∂f
∂p
)>0
∂f
et ( ∂i ) > 0. Plusieurs formules simples sont a priori possibles :
• f : (p, i) → αp + i, α ∈ R.
Cette solution ne sera pas retenue ici, principalement parce que le choix de α nécessite
pour être judicieux d’être égal au nombre moyen de liens par page, ce qui laisse peu de
jeu. En effet, si α est plus grand que ce nombre, on risque de se ramener à maximiser p (on
a intérêt à isoler des pages), alors que s’il est plus petit, pour les mêmes raisons, seul i va
compter.
• f : (p, i) → p.iα , α ∈ R.
Cette solution présente l’avantage d’être plus souple pour ce qui est du rapport entre p et i.
i
• f : (p, i) → p |E| , où |E| est le nombre total de liens.
Cette dernière solution est délibérément dépourvue de paramètre car on a ainsi une quan-
tité qui a une interprétation intuitive : pour une partition dépourvue de liens externes, on
aurait f (p, i) = p. D’une manière générale, f reste du même ordre de grandeur que p en
s’en approchant d’autant plus que la cohésion interne est grande. Nous appellerons donc
i
la quantité p |E| l’indice de site, qui peut s’interpréter comme le nombre de sites isolés
équivalent.
50
3.3 — RÔLE DES SERVEURS ET DES SITES DANS LA STRUCTURE DU GRAPHE DU W EB
Cette inégalité, si on essaie de l’imposer à notre fonction f (ce qui est nécessaire si l’on veut
que f (p, i) suffise à réaliser la partition), pose le problème suivant : toute partition de paramètre
(p, i) telle que
p ≤ |E| − i + 1 (3.2)
est moins performante que la partition triviale :
Bilan : Il n’existe aucune fonction universelle f (p, i) maximale pour une partition en site non
triviale respectant les pages terminales.
Deux approches sont alors envisageables pour contourner ce problème, ainsi que les autres
du même genre que l’on pourrait rencontrer en essayant d’affiner notre modèle :
• Continuer à chercher à maximiser f (p, i) en imposant des règles externes, ce qui revien-
drait par exemple à travailler sur un sous-ensemble de l’ensemble des partitions du graphe.
C’est l’approche employée pour la partie structurelle de la définition de domaines logiques
utilisée par [LKVT00].
• Remplacer p ou i par de nouvelles variables qui prennent en charge le problème implicite-
ment. C’est cette approche que nous allons étudier.
51
Chap. 3 — G RAPHES ET STRUCTURES DU WEB
cas. Avec des poids sur les arêtes dépendant du degré entrant, cela sera difficile, puisque la force
de liaison varie du simple au triple entre les deux cas.
Une altération par pondération des partitions suivantS leur taille est une autre solution. D’une
manière générale, si l’on considère une partition V = pi=1 Pi et une fonction de pondération
h : N∗ → R, on peut définir la nouvelle variable p0 = Σpi=1 h(|Pi |). La solution la plus simple,
que nous retiendrons ici, consiste à affecter un poids nul aux partitions monoatomiques (ce qui
revient en fait à travailler sur (p, i) en imposant comme règle l’interdiction des partitions mono-
atomiques). Le choix d’autres fonctions h ne sera pas traité ici, mais on peut espérer en choisis-
sant la bonne fonction h un certain contrôle sur la distribution des partitions, par exemple éviter
la formation de trop gros sites en affaiblissant h sur les grandes valeurs.
Fonction fG choisie
Compte tenue de toutes les remarques que nous venons de faire, nous choisissons de prendre
comme fonction d’évaluation la fonction f qui à une partition S = (S1 , . . . , Sp ) de G associe
i
p0 |E| , où i est le nombre de liens internes et p0 = Σpi=1 h(|Si |), avec h = χ[2,+∞[ .
Estimation d’une partition par site à l’aide de l’arbre de décomposition des URLs
Maintenant que nous possédons une fonction f d’évaluation d’une partition se pose la ques-
tion de réaliser une partition efficace. Une méthode intuitive se base sur l’hypothèse suivante,
confortée par l’observation des figures 3.5 et 3.6 : L’architecture URL des pages reflète l’archi-
tecture des sites, et donc les blocs sont a priori des sous-arbres ou union de sous-arbres de l’arbre
du Tree-Graph. Au lieu d’avoir à choisir une partition parmi toutes celles possibles, on pourra se
limiter pour le choix des candidats aux candidats coïncidant avec la structure d’arbre.
Cette solution n’est pas parfaite, et il y aura toujours des cas litigieux. Ainsi, dans des confi-
gurations en poupée russe, le choix du niveau de partition va être très lié au choix des fonctions
f et h. Par contre, des configurations en cinq de dé (un site encastré dans un autre au niveau de
la matrice d’adjacence, voir figure 3.11), difficiles à démêler automatiquement avec seulement la
matrice d’adjacence (qui porte pourtant plus d’information que le graphe seul), ne poseront pas
52
3.3 — RÔLE DES SERVEURS ET DES SITES DANS LA STRUCTURE DU GRAPHE DU W EB
3000
4000
5000
6000
7000
8000
9000
de problèmes avec l’arbre de décomposition pour peu que les sites coïncident avec l’arbre (ce
qui est le cas sur tous les exemples testés).
Nous allons donner un exemple d’algorithme simple pour effectuer une partition intelligente
et rapide des URLs à l’aide de l’arbre-graphe : le parcours en largeur filtré (algorithme 1).
Définition 2
On appellera cône lexicographique d’une URL le cluster associé, dans l’arbre de décomposition
des URLs, au nœud interne père de la feuille correspondant à l’URL en question.
• On évite d’amalgamer comme un seul site deux ensembles très proches dans l’arbre mais
n’ayant aucun lien direct dans le graphe. Ainsi, les sites dits « persos » ne sont pas fusion-
nés sous le seul label du fournisseur d’espace (free, voila, multimania. . . ) ; de même, la
page d’un chercheur dans un laboratoire ne fera partie du site du laboratoire que si elle est
référencée par ce dernier, ce qui nous semble satisfaisant.
• À l’inverse, des sites hébergés sur plusieurs serveurs voisins (www.inria.fr et www-rocq.inria.fr
par exemple) sont traités comme une seule et même entité.
Il reste hélas des cas que l’algorithme que nous proposons ne prend pas en charge. Ainsi,
certains sites sont à cheval sur plusieurs serveurs n’ayant aucun lien de parenté dans l’arbre
lexicographique tel que nous l’avons défini (site perso partagé entre plusieurs hébergeurs, site
commercial se déclinant en .com, .fr, .de. . . ).
53
Chap. 3 — G RAPHES ET STRUCTURES DU WEB
Données
Un ensemble d’URLs ainsi que le graphe G associé.
Résultat
Une partition en sites de G, chaque site possédant une page d’entrée.
début
Aucun sommet n’est marqué
tant que Il reste un sommet non marqué
faire
Choisir un sommet non marqué parmi ceux de plus faible hauteur dans l’arbre de
décomposition
Effectuer un parcours en largeur sur le graphe à partir de ce sommet en ne tenant
pas compte des arcs sortant du cône lexicographique
Étiqueter l’ensemble des sommets obtenus d’après le sommet de départ, qui sera
appelé page d’entrée du site
si Un sommet faisant déjà partie d’un site est rencontré14
alors
Fusionner les deux sites
fin
fin
fin
Résultats
Nous allons comparer ici la partition obtenu par parcours en largeur filtré aux partitions quo-
tientées par serveur, par répertoire à profondeur 1 et par répertoire à profondeur 2 (ce qui corres-
pond typiquement à des coupures à hauteur 3, 4 et 5 dans l’arbre-graphe). L’étude a été faite sur
le crawl de 8212791 URLs de .fr daté du 15 juin 2001. Par abréviation, nous appellerons ces
partitions plf, serveur, 1-rép et 2-rép.
Observons d’abord comment se répartissent les différentes partitions. La figure 3.12 montre
les distributions des tailles des différentes partitions. On observe que quelque soit la méthode
utilisée (plf, serveur, 1-rép ou 2-rép), les partitions obtenues se répartissent suivant une loi de
puissance 15 , c’est-à-dire que le nombre de blocs de taille x est de l’ordre de xCα . Les valeurs des
exposants (estimés par régression linéaire) sont indiquées dans le tableau 3.1.
La loi de puissance est une loi considérée comme caractéristique des réseaux sociaux et des
14. cette situation ne se rencontrant que si les deux sommets sont frères.
15. Par abus de langage, nous appellerons souvent loi de puissance tout phénomène qui, représenté sur une échelle
loglog, donne une courbe formant approximativement une droite. Le fait que le nombre d’échantillons considérés
soit fini, et la sensibilité des estimations aux valeurs extrêmes fait qu’il serait plus juste de se contenter de parler de
phénomène à queue lourde (heavy tail).
54
3.3 — RÔLE DES SERVEURS ET DES SITES DANS LA STRUCTURE DU GRAPHE DU W EB
F IG . 3.12 – Distribution des partitions en fonction de leur taille, sur une double échelle loga-
rithmique
Légende : plf en rouge, serveur en bleu, 1-rép en vert, 2-rép en jaune
activités humaines. Le fait de rencontrer une telle loi dans tous les cas étudiés, à défaut de prouver
quoi que ce soit, montre que du seul point de vue de la répartition des pages (sans tenir compte des
hyperliens), les quatre répartitions étudiées semblent être compatibles avec la structure humaine
du Web.
Remarquons également l’importance des « sites » de taille 1 (les données de la figure 3.12
viennent des partitions avant toute optimisation), et cela plus particulièrement pour la partition
plf. L’explication est assez logique : les partitions de taille 1 contiennent entre autres toutes les
erreurs qui n’ont pas été supprimées du crawl : erreur 4xx, erreur dans l’écriture de l’URL. . . La
partition plf isole plus d’erreurs que les autres par construction, puisqu’une URL isolée dans le
cône lexicographique d’un site sera isolée par plf, à l’opposé des autres partitions.
Enfin, comparons la qualité du découpage en site des différentes partitions, à l’aide de l’indice
55
Chap. 3 — G RAPHES ET STRUCTURES DU WEB
i
p p0 i
|E|
p0 |E|
serveur 39305 27241 0.9517 16629
plf 289539 58094 0.9218 24624
1-rép 182942 137809 0.7851 10831
2-rép 250869 189698 0.7012 5025
TAB . 3.2 – Tableau des caractéristiques des différentes partitions avant optimisation
de site défini par la fonction f . L’optimisation est dans un premier temps minimale : les sites de
taille 1 sont fusionnés avec le site avec lequel ils sont le plus liés (le plus souvent, la liaison est
unique).
Les résultats sont reportés dans le tableau 3.2. On remarquera que plf, dont les résultats pour
0
p comme pour i sont à mi-chemin entre serveur et 1-rép, obtient de loin le meilleur indice de
site.
TAB . 3.3 – Tableau des caractéristiques des différentes partitions après optimisation
Les résultats sont présentés dans le tableau 3.3. Deux parcours différents des partitions ont
été effectués, pour se rendre compte des fluctuations que le choix du parcours peut générer, ainsi
que de leur importance. Les principaux résultats que l’on peut tirer de ce tableau sont :
• Un net regain général de l’indice de site, les données p0 et i étant proches des valeurs
maximales techniquement possibles par cette méthode.
56
3.3 — RÔLE DES SERVEURS ET DES SITES DANS LA STRUCTURE DU GRAPHE DU W EB
• L’optimisation avec plf reste meilleure dans tous les cas que l’optimisation sans plf, même
si la valeur ajoutée est plus faible que pour les partitions brutes.
• Les fluctuations de p0 et de i dans les quatre cas semble montrer qu’il risque d’être difficile
de déterminer à l’avance le meilleur parcours d’optimisation (problème dû à l’utilisation
d’un algorithme glouton).
57
Deuxième partie
59
Chapitre 4
d’attaquer l’objet central de cette partie, à savoir le(s) PageRank(s), il nous semble
A VANT
nécessaire de faire un rappel théorique des techniques que nous allons utiliser tout au long
des pages à venir.
Andreï Markov (1856-1922), mathématicien russe, est connu pour avoir défini et étudié les
processus stochastiques discrets sans mémoire, également connu sous le nom de chaînes de Mar-
kov. Cet outil du début du siècle dernier est fondamental pour comprendre l’idée du PageRank,
c’est pourquoi nous allons brièvement rappeler les résultats essentiels 1 .
4.1 Définitions
On appelle processus aléatoire, ou stochastique, discret un ensemble de variables aléatoires
Xk , avec k ∈ N. Xk peut par exemple représenter la position sur le plateau de jeu d’un joueur de
Monopoly à l’instant k.
Les chaînes de Markov discrètes sont des cas particuliers de processus stochastique discret à
valeur discrète dont le futur ne dépend que du présent (pas du passé) : les états précédant l’état
présent ne jouent aucun rôle. Si on appelle V l’ensemble des valeurs (ou états) que peuvent
prendre les variable Xk , la caractérisation mathématique d’une chaîne de Markov est l’égalité,
pour tout j ∈ V ,
1. Pour une information plus complète sur l’œuvre de Markov, on pourra se reporter à [She88, SC96].
61
Chap. 4 — L ES CHAÎNES DE M ARKOV
En d’autres termes, la probabilité d’être dans l’état j à l’instant k ne dépend que de la valeur
prise à l’instant k − 1, et pas des valeurs antérieures. A priori, cette probabilité peut ne pas être la
même selon l’instant k considéré. La chaîne de Markov peut donc se définir par les probabilités
de transition entre deux états à un instant k :
Proposition 1
xk = (At )k x0 , où t est l’opérateur de transposition. 2
Preuve : Il suffit de montrer que, pour un k ≥ 1 quelconque, on a xk = At xk−1 ; la proposition
1 n’est alors que l’application d’une récurrence immédiate. Le résultat voulu vient du fait que :
n
X n
X
(At xk−1 )j = pi,j xik−1 = P (X k = j|X k−1 = i)P (X k−1 = i)
i=1 i=1
n
X
= P (X k = j, X k−1 = i) = P (X k = j) = xkj
i=1
62
4.3 — É VOLUTION D ’ UNE CHAÎNE DE M ARKOV HOMOGÈNE
représentation en terme de graphe orienté pondéré est également très utile, et il est confortable
de pouvoir passer de l’une à l’autre suivant les besoins.
À toute matrice M = (mi,j )1≤i,j≤n de taille n, il est possible d’associer un graphe G(M )
orienté pondéré à n sommets, dont les arêtes sont l’ensemble des couples (i, j) tels que mi,j 6= 0,
pondérées chacune par leur coefficient mi,j associé.
Réciproquement, à tout graphe orienté pondéré peut correspondre la matrice M définie par :
(
le poids de l’arête (i, j) si elle existe.
mi,j =
0 sinon.
Dans le cas d’un graphe dont les arêtes sont non pondérées, en les considérant comme impli-
citement de poids 1, on retrouve la matrice d’adjacence.
Parfois, le passage de la vision matricielle à la représentation sous forme de graphe se limite à
une simple réécriture : ainsi, si la caractérisation d’une matrice stochastique 3 M = (mi,j )1≤i,j≤n
est
n
X
∀i ∈ [[1, n]], mi,j = 1,
j=1
celle d’un graphe G = (V, E) représentant une chaîne de Markov homogène est
X
∀v ∈ V, ev,w = 1.
w←v
Il arrive cependant que les deux approches correspondent vraiment à deux visions subtilement
différentes d’un même problème. Ainsi, dire qu’une matrice positive M est irréductible revient
à dire que
3. Lorsque cela n’est pas précisé, nous entendons par matrice stochastique une matrice stochastique par ses
lignes, c’est-à-dire une matrice positive telle que la somme de chacune de ses lignes soit égale à 1.
63
Chap. 4 — L ES CHAÎNES DE M ARKOV
(At )k → P.1n ,
k→∞
64
4.3 — É VOLUTION D ’ UNE CHAÎNE DE M ARKOV HOMOGÈNE
Corollaire 1
Soit P0 une distribution initiale de probabilité quelconque. La distribution des états à l’instant k
Pk = (At )k P0 converge, quand k tend vers l’infini, vers P .
Preuve : Pour toute distribution de proabilité P0 , on a (At )k P0 → (At∞ )P0 = P.1.P0 = P .
k→∞
Pour le lecteur désireux de se familiariser avec les applications de l’étude asypmtotique des
chaînes de Markov, la section suivante est consacrée à une petite analyse des probabilités dans le
jeu de MonopolyTM .
65
Chap. 4 — L ES CHAÎNES DE M ARKOV
Une question à se poser est : quelles sont les chances de tomber sur une case donnée ? Si
certaines cases sont plus probables que d’autres, on comprend bien qu’elles auront un intérêt
stratégique accru. On peut voir l’évolution de la position d’un joueur au fil des lancers de dés
comme une chaîne de Markov. Ian Stewart [Ste96] associe à chaque état-case 11 transitions
possibles correspondant aux résultats possibles d’un lancer de dés, de 2 à 12. La probabilité
de chaque transition est celle d’obtenir le résultat avec deux dés. Ian Stewart conclut que la
matrice stochastique représentant la chaîne de Markov est circulante, et que la distribution de
probabilité asymptotique est la distribution uniforme. En fait, si on regarde de plus près les règles,
on s’aperçoit que tous les états ne sont pas équivalents, et que la distribution de probabilité limite
n’est pas forcément équiprobable.
66
4.4 — I NTERMEZZO : L E M ONOPOLY TM SELON M ARKOV
Voici la liste détaillée des cartes Chance : 1 envoie en prison, 1 envoie vers l’avenue Henri-
Martin, 1 envoie vers boulevard de la Villette, 1 envoie vers la rue de la Paix, 1 envoie vers la
gare de Lyon, 1 envoie sur la case Départ, 1 Reculez de trois cases. Il y a 9 autres cartes Chance
qui n’ont aucune influence sur la position
Voici maintenant la liste détaillée des cartes Caisse de Communauté : 1 Retournez à Belleville,
1 envoie en prison, 1 envoie sur la case Départ, 1 possibilité de tirer une carte Chance (alternative
avec une amende). Il y a 12 autres cartes Caisse de Communauté qui n’ont aucune influence sur
la position.
67
Chap. 4 — L ES CHAÎNES DE M ARKOV
une mémoire (nombre de tours en prison ou nombre de doubles consécutifs déjà faits) et n’est
donc pas un vrai processus de Markov. Mais comme la mémoire est finie (3 lancers), on peut
se ramener à un processus sans mémoire en considérant un espace à 123 états 5 : 120 états du
type (i, j)i∈[0,40],j∈[0,2] représentant être sur la case i en ayant déjà fait j doubles consécutifs, et
3 états prison représentant les trois tours que l’on peut passer en prison. Il faut d’ailleurs noter
que si l’on paie, comme on a souvent intérêt à le faire en début de partie, on ne passe qu’un tour
en prison, et les transitions sont donc modifiées. Il faut donc considérer les transitions pour une
stratégie prison et celle pour une stratégie liberté 6 .
20 40 60 80 100 120
0.3
20
0.25
40
0.2
60
0.15
80
0.1
100
0.05
120
On arrive ainsi à écrire, pour chacune des 2 stratégies considérées, une matrice stochastique
5. Une solution alternative, proposée par [Col], consiste à estimer pour chaque case la probabilité d’y être arrivé
par 2 doubles consécutifs.
6. D’autres facteurs peuvent également altérer les probabilités de transitions :
• La carte Tirez une Carte Chance ou Payez une Amende de. . . , qui propose deux stratégies.
• Les cartes Sortez de prison, qui, si elles sont conservées par les joueurs, augmentent légèrement les probabi-
lités de tirer une carte de déplacement.
L’effet de ces variations étant relativement faible, nous nous permettons de ne pas les prendre en compte ici.
68
4.4 — I NTERMEZZO : L E M ONOPOLY TM SELON M ARKOV
décrivant la stratégie en question. La figure 4.2 représente ainsi de manière graphique la matrice
correspondant à la stratégie prison.
18
Stratégie liberté
16
Stratégie prison
14
12
Probabilité asymptotique (%)
10
0
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
Cases
Une fois la matrice des transitions A calculée, grâce au corollaire 1, on sait qu’il suffit d’itérer
Pn = At Pn−1 (P0 étant par exemple la distribution équiprobable) pour avoir une convergence
vers la distribution asymptotique. Il n’y a alors plus qu’à revenir dans l’espace à 40+1 cases pour
avoir des résultats exploitables, lesquels sont représentés figure 4.3. Pour compléter cette étude, il
faudrait maintenant prendre en compte les prix de vente et les loyers pour avoir un temps moyen
de retour sur investissement, sans oublier de considérer le pouvoir d’achat, mais cela n’est plus
du ressort des matrices de Markov 7 . Contentons-nous pour conclure de ces quelques remarques :
• La case Allez en prison a une probabilité nulle, puisqu’on n’y reste pas.
• De même, les cases Chance et Caisse de Communauté ont une probabilité assez faible, à
cause des cartes de déplacement immédiat.
7. Pour avoir une idée des résultats que l’on obtient, voir [Col]. Attention, les résultats correspondent au jeu de
monopoly international, qui comporte des cartes différentes de la version française.
69
Chap. 4 — L ES CHAÎNES DE M ARKOV
• Les deuxième et troisième quarts du plateau ont globalement des probabilités plus grandes,
à cause de la sortie de prison. Cela confère un intérêt certains aux propriétés qui s’y
trouvent (les groupes orange et rouge en particulier).
• Paradoxalement, on a plus de chance d’atterrir sur la Compagnie d’Électricité en choisis-
sant de rester en prison. Pourquoi ce résultat contre-intuitif ? Avec la stratégie liberté, la
probabilité de tomber dessus en sortant de prison est de 1/36. Avec la stratégie prison,
25
cette probabilité devient 1/36 + 56 1/36 + 36 1/36. . .
C2
C1 C4
C3
• Soit ∃i ∈ Cc , j ∈
/ Cc , ai,j > 0. La composante et ses états sont alors dits transitoires.
• Soit ∀i ∈ Cc , j ∈
/ Cc , ai,j = 0. La composante et ses états sont alors dits récurrents.
70
4.5 — M ATRICES ( SOUS -) STOCHASTIQUES : CAS GÉNÉRAL
Si l’on quotiente G selon ses composantes fortement connexes, le graphe réduit donne un
ordre partiel sur les composantes (car il n’y a pas de circuit) dont les composantes récurrentes
sont les maxima.
Par exemple, dans le graphe de la figure 4.4, il y a quatre composantes fortement connexes,
C1 , C2 , C3 et C4 . C1 et C3 sont transitoires, alors que C2 et C4 sont récurrentes.
Nous allons maintenant réordonner les états V comme suit : d’abord les kt états transi-
toires (toutes composantes confondues), puis les k1 états d’une première composante fortement
connexe récurrente,. . . , jusqu’au kd états de la dernière composante fortement connexe récur-
rente. Dans ce réarrangement des états, la matrice stochastique associée (que nous continuerons
d’appeler A) s’écrit maintenant :
T E
R1 0 ··· 0
. . . . . . ..
A= 0 . ,
0 .. ... ...
. 0
0 · · · 0 Rd
où T est une matricePsous-stochastique, non stochastique, de taille kt , E une matrice positive non
nulle de taille kt × di=1 ki , et les Ri des matrices stochastiques irréductibles de taille ki .
Théorème 3 Soit A une matrice stochastique réduite selon ses composantes fortement connexes
transitoires et récurrentes. A est de la forme
T E
A= ,
0 R
71
Chap. 4 — L ES CHAÎNES DE M ARKOV
R1∞ 0 ··· 0
... ... ..
0 .
R∞ = .. ... ... ,
. 0
0 · · · 0 Rd∞
Corollaire 2
Pour toute distribution de probabilité P0 sur V , (At )k P0 converge quand k tend vers l’infini, et le
vecteur limite est une distribution de probabilité appartenant à l’espace à d dimensions engendré
par le plongement canonique des Pi∞ dans V .
Remarque 1
Quand tous les Ri ne sont pas apériodiques, il n’y a pas a priori de convergence. La technique
que nous allons voir en 4.5.2 permet quand même de s’assurer une convergence à moindre coût.
Preuve : On constate tout d’abord que
k k
k
P i k−i
T E T T ER
Ak = = i=0
0 R k
0 R
Lemme 1
T k −−−→ 0, et la convergence est géométrique.
k→∞
P∞
De plus, (Idkt − T ) est inversible, et son inverse vaut k=1 T k.
En effet, étudions de plus près la structure de T . Nous allons réordonner les états par composantes
fortement connexes, en commençant par celles qui, dans le graphe quotient G/C, n’ont pas
d’arête entrante (composantes ultra-transitives), et en triant par éloignement selon la distance
aux composantes ultra-transitives. La matrice T est alors de la forme :
T1 G1,2 · · · G1,l
... ..
0 Gi,j .
T = .. ... ... ,
. Gl−1,l
0 ··· 0 Tl
72
4.5 — M ATRICES ( SOUS -) STOCHASTIQUES : CAS GÉNÉRAL
où les Ti sont des matrices irréductibles sous-stochastiques, non stochastiques (par convention,
la matrice unidimensionnelle 0 est considérée comme irréductible). D’après 4.5.3, chaque ma-
trice Ti de la diagonale principale a un rayon spectral ρ(Ti ) strictement inférieur à 1. Comme
la structure de T est triangulaire, le rayon spectral de T est ρ(T ) = max1≤i≤l ρ(Ti ) < 1. Ceci
assure que T k converge géométriquement vers 0.
Comme 1 n’est pas valeur propre de T , (Idkt − T ) est inversible. Or, pour tout k, on a :
k
X
(Idkt − T ) T j = Idkt − T k+1 , d’où
j=0
k
X
T j = (Idkt − T )−1 (Idkt − T k+1 ).
j=0
On en déduit que
k
X
lim T j = (Idkt − T )−1 ,
k→∞
j=0
k [k/2] k
X X X
i k−i i k−i
T E(R − R∞ ) ≤ T E(R − R∞ ) + T i E(Rk−i − R∞ )
i=0 i=0 i=[k/2]+1
Le premier des deux termes de droite tend vers 0 à cause de la convergence géométrique
P de
Rk ver R∞ , le deuxième à cause de la convergence (également géométrique) de ki=0 T k . Ceci
assure la convergence vers 0 du terme de gauche. C.Q.F.D.
73
Chap. 4 — L ES CHAÎNES DE M ARKOV
Corollaire 3
Soit P0 un vecteur de probabilité quelconque. Si on pose B = (αA + (1 − α)Id), alors
(B t )k P0 −−−→ P
k→∞
Ak → 0.
k→∞
74
4.5 — M ATRICES ( SOUS -) STOCHASTIQUES : CAS GÉNÉRAL
Preuve : A est inférieure et non égale à une matrice stochastique irréductible. D’après le (d) du
théorème de Perron-Frobenius (voir page 151), son rayon spectral est strictement inférieur à 1,
ce qui assure le résultat, à savoir, si on appelle ρ le rayon spectral, une convergence dominée par
une suite géométrique de raison ρ.
Remarque 2
Une matrice sous-stochastique mais non stochastique correspond à une chaîne de Markov mal
définie, dans le sens où toutes les transitions possibles n’ont pas été données. Par analogie avec
les automates, on parlera de chaîne de Markov incomplète 9 . Dans ce cas, pour toute distribution
P0 de probabilité, (At )k P0 → 0, résultat peu satisfaisant en termes d’informations utiles. Ce
k→∞
problème est crucial dans le cadre des calculs de PageRank, et les solutions pour « compléter »
une matrice sous-stochastique seront données plus en détails dans le chapitre 5.
Remarque 3
Le théorème 5 peut en fait s’appliquer à toute matrice sous-stochastique A inférieure et non
égale à une matrice stochastique irréductible. Nous appellerons de telles matrices des matrices
sous-irréductibles.
Cependant, comme nous le verrons lors du chapitre 5, l’étude de la valeur propre maximale
d’une matrice sous-irréductible ainsi que de l’espace propre associé est importante pour l’étude
du PageRank, c’est pourquoi nous allons développer un peu.
75
Chap. 4 — L ES CHAÎNES DE M ARKOV
(b) Il existe une valeur propre maximale qui est positive (c’est la seule si les composantes
pseudo-récurrentes sont apériodiques). La dimension de l’espace propre associé est alors
égal au nombre d de composantes pseudo-récurrentes.
(c) Si Ci est une composante pseudo-récurrente de G, il existe un vecteur propre positif de
support ↑Ci associé à la valeur propre maximale.
Corollaire 4
S’il existe une seule composante pseudo-récurrente Cp , et si tous les sommets sont accessibles de
cette composante (↑Cp = V ), alors les espaces propres associés aux valeurs propres maximales 12
sont de dimension 1, et il existe un vecteur propre positif de support V associée à la valeur propre
maximale positive. On dira alors que A est pseudo-irréductible.
Preuve : La preuve est en fait très similaire à celle du théorème 3 pour les matrices stochastiques
non-irréductibles, même s’il n’est plus possible d’avoir un résultat de convergence des puissances
de A. Grâce à l’ordre partiel induit par le graphe quotient des composantes fortement connexes, il
est possible de rendre A triangulaire par blocs selon les composantes fortement connexes : quitte
à se placer dans la bonne permutation, on peut écrire
AC1 T12 · · · T1k
... ... ..
0 .
A= .. ... ... ,
. T(k−1)k
0 ··· 0 AC k
où les Tij sont les matrices de transition entre composantes i et j.
Cette décomposition triangulaire assure que le rayon spectral de A est égal au rayon spec-
tral maximum des différentes composantes Ci . En fait, en appliquant le théorème de Perron-
Frobenius sur chacune des composantes fortement connexes, il apparaît qu’il existe une valeur
propre λ > 0 égale au rayon spectral, et que sa multiplicité est égale au nombre de composantes
de rayon maximal.
Si Ci est pseudo-récurrente, alors la multiplicité de λ dans At↑Ci est 1. Il existe donc à ho-
mothétie près un unique vecteur propre x associé à λ dans At↑Ci . Comme ↑ Ci est stable par
At , le plongement de x dans V est un vecteur propre de At . Par construction, on a également
AtCi xCi = λxCi . D’après le théorème de Perron-Frobenius appliqué sur ACi , les composantes
de xCi sont strictement positives à homothétie près. De proche en proche, l’égalité At↑Ci x = λx
montre que x est strictement positif.
Pour chaque composante pseudo-récurrente de G, il existe donc un vecteur propre positif de
support ↑Ci associé à λ.
Il reste à montrer qu’il n’existe pas de vecteur propre associé à λ en dehors de l’espace
engendré par les d vecteurs propres associés aux composantes pseudo-récurrentes. Il suffit pour
12. Le pluriel est employé ici pour les éventuelles périodicités. En cas d’apériodicité, il n’y a bien sûr qu’une seule
valeur propre maximale.
76
4.5 — M ATRICES ( SOUS -) STOCHASTIQUES : CAS GÉNÉRAL
cela de constater que toute composante de rayon maximal non pseudo-récurrente Ci génère une
structure triangulaire dans l’espace associé à λ : s’il existe une composante pseudo-récurrente
Cj
λ µ
avec Cj ⊂↑Ci , alors A↑Ci contient (dans une base adaptée) un bloc de la forme , avec
0 λ
µ 6= 0, ce qui montre qu’il n’est pas possible d’associer un vecteur propre de λ à Ci .
C.Q.F.D.
77
Chapitre 5
79
Chap. 5 — PAGE R ANK , UNE MANIÈRE D ’ ESTIMER L’ IMPORTANCE DES PAGES WEB
• En connaissant, d’une manière ou d’une autre, l’adresse en question. Par exemple, en lisant
sur un paquet de farine l’adresse d’un site qui donne des recettes de cuisine, en recevant un
mail d’un ami qui recommande d’aller visiter une adresse web, ou en ayant l’adresse dans
ses Bookmarks. . .
• En naviguant (surfant) sur le web, à partir d’une adresse connue. Si par exemple je re-
cherche une page qui parle des ratons laveurs, et si je connais un site de zoologie, partir de
ce site peut être une bonne façon de trouver la page que je cherche.
• En utilisant un moteur de recherche. Celui-ci, en échange d’une requête, c’est-à-dire d’un
ensemble de mots essayant de décrire plus ou moins précisément ce que je recherche, va
nous donner une liste de pages susceptibles de répondre à cette requête. D’après [LG99],
l’utilisation des moteurs de recherche concerne 85 % des internautes.
Tout le problème des moteurs de recherche est d’arriver à renvoyer les pages que l’utilisateur
recherche. Seulement, les réponses à une requête donnée se comptent souvent par centaines,
voire par milliers 2 , comme le montre le tableau 5.1. D’un autre côté, les utilisateurs se lassent
vite, et on estime que 90 % des utilisateurs ne dépassent pas la première page de résultats.
Le but des moteurs est donc d’arriver à afficher dans les dix à vingt premières réponses les
documents répondant le mieux à la question posée. Dans la pratique, aucune méthode de tri n’est
parfaite, mais leur variété offre aux moteurs la possibilité de les combiner pour mieux affiner
leurs résultats. Les principales méthodes de tri sont les suivantes :
Tri par pertinence Le tri par pertinence est la méthode de tri la plus ancienne et la plus utilisée.
Elle est basée sur le nombre d’occurrences des termes de la recherche dans les pages,
de leur proximité, de leur place dans le texte [Sal89, YLYL95]... Malheureusement, cette
2. Le problème est en fait moins crucial si on élimine les doublons — voir tableau 2.1 page 33 — mais il reste
important.
80
5.2 — L ES DEUX AXIOMES DU PAGE R ANK
méthode présente l’inconvénient d’être facile à détourner par des auteurs désireux de placer
leurs pages en tête de liste. Pour cela, il suffit de surcharger la page de mots importants,
soit dans l’en-tête, soit en lettres invisibles à l’intérieur du corps de la page.
Étude de l’URL On peut également donner de l’importance à une page en fonction de son URL.
Par exemple, selon le contexte, les URLs appartenant au Top Level Domain .com pour-
raient avoir plus d’importance que les autres, de même que les URLs contenant la chaîne
de caractère home [LKVT00]. Il a également été suggéré que les URLs de faible hauteur
dans l’arbre-cluster étaient plus importantes que les autres [CGMP98].
Liens entrants Le comptage de citations consiste à attribuer aux pages une importance pro-
portionnelle aux nombres de liens vers cette page connus. Cette méthode a largement été
utilisée en scientométrie pour évaluer l’importance des publications [SP63].
PageRank Comme nous allons le voir, le PageRank est une sorte de généralisation récursive du
comptage de citations.
Le comptage de citations En 1963, Price publie Little Science, Big Science [SP63]. Dans ce
livre, premier ouvrage majeur traitant de ce qui deviendra plus tard la scientométrie, il
propose de mesurer la qualité de la production scientifique grâce, entre autres, à une tech-
nique très simple, le comptage de citations : une des manières de mesurer la qualité d’une
publication est de dénombrer le nombre de fois où cette publication est citée.
Modélisation markovienne Les chaînes de Markov, décrites dans le chapitre 4, permettent non
seulement de jouer au MonopolyTM , mais aussi de modéliser l’évolution d’une population
répartie entre plusieurs états à condition d’arriver à estimer les probabilités de transition
3. Cela fait maintenant quelques dizaines d’années qu’un nouveau domaine de la recherche est apparu qui se
consacre à l’étude de la production intellectuelle humaine. Les principales branches de cette méta-science sont :
Bibliométrie définie en 1969 comme « l’application des mathématiques et des méthodes statistiques aux livres,
articles et autres moyens de communication ».
Scientométrie on peut la considérer comme la bibliométrie spécialisée au domaine de l’Information Scientifique
et Technique (IST). Toutefois, la scientométrie désigne d’une manière générale l’application de méthodes
statistiques à des données quantitatives (économiques, humaines, bibliographiques) caractéristiques de l’état
de la science.
Infométrie terme adopté en 1987 par la F.I.D. (International Federation of Documentation, IFD) pour désigner
l’ensemble des activités métriques relatives à l’information, couvrant aussi bien la bibliométrie que la scien-
tométrie.
81
Chap. 5 — PAGE R ANK , UNE MANIÈRE D ’ ESTIMER L’ IMPORTANCE DES PAGES WEB
entre états. Par exemple, Goffman propose en 1971 l’étude de l’évolution de la recherche
dans différents sous-domaines de la logique à l’aide de chaînes de Markov [Gof71].
Voyons maintenant comment Brin et al. ont adapté ces concepts à l’estimation de l’impor-
tance des pages Web.
5.2.1 Une page importante est pointée par des pages importantes
Tranposée telle quelle aux graphes du Web, la méthode du comptage de citations revient à
dire que l’importance d’une page est proportionnelle à son degré entrant, c’est-à-dire au nombre
de pages qui la citent à travers un hyperlien :
X
I(v) = 1,
w→v
82
5.3 — L ES MODÈLES CLASSIQUES
pas toujours possible de rejoindre une page p à partir d’une page q) que sociales (utilisation des
moteurs de recherche, lassitude de l’internaute. . . ) 5 .
Brin et al. ont eu pour idée de modéliser le comportement de l’internaute cliqueur par une
chaîne de Markov. Tout ce qu’il fallait, c’était trouver les probabilités de transitions d’une page à
une autre. Une des manières les plus simples de voir les choses est de considérer qu’une fois sur
une page donnée, l’internaute va cliquer de manière équiprobable sur un des liens contenu dans
cette page :
1 si v → w
pv,w = d(v) , où d est le degré sortant.
0 sinon
Ceci est la base du modèle du surfeur aléatoire. Pour Brin et al., étant donné que les graphes
du Web reflètent une architecture volontaire et réfléchie, les pages intéressantes doivent être
structurellement facile d’accès, tout comme une ville est d’autant plus accessible par le réseau
routier qu’elle est importante. Donc, comme le surfeur aléatoire se laisse guider par le réseau des
hyperliens, statistiquement, il devrait tomber d’autant plus souvent sur une page que celle-ci est
importante. D’où l’idée de définir l’importance d’une page Web par la probabilité asymptotique
de se trouver sur cette page dans le modèle du surfeur aléatoire.
83
Chap. 5 — PAGE R ANK , UNE MANIÈRE D ’ ESTIMER L’ IMPORTANCE DES PAGES WEB
nous venons de décrire, plusieurs variations ont été introduites afin de s’adapter à la réalité des
graphes du Web. Ce travail de survey a déjà été effectué pour l’ensemble des PageRank(s) issus
de processus rendus explicitement stochastiques [BGS02, BGS03, LM04], mais nous voulons ici
prendre également en compte les modèles sous-stochastiques.
Pn+1 = At Pn ,
initiée par une distribution de probabilité quelconque P0 6 , converge géométriquement vers l’unique
distribution P vérifiant
P = At P ,
c’est-à-dire vérifiant la relation (5.3).
Cette distribution de probabilité P est appelée PageRank.
Remarque 4
Comme précisé dans notre définition de graphe du Web, les liens d’une page vers elle-même ne
sont pas comptés. D’après [PBMW98], cela permet de « fluidifier » le calcul du PageRank.
Remarque 5
Si le graphe n’est pas fortement connexe, d’après le théorème 3, il y a quand même convergence,
mais ni unicité (la dimension de l’espace des solutions est égal au nombre de composantes forte-
ment connexes récurrentes), ni garantie que le support de la solution soit égal à V (en particulier
s’il existe des composantes transitoires). L’existence de périodicité(s) peut en revanche empêcher
la convergence, mais le théorème 4 indique comment il est possible de contourner le problème.
6. Très souvent, on prend comme vecteur de probabilité initial une distribution de zap Z — voir section 5.3.3.
84
5.3 — L ES MODÈLES CLASSIQUES
1
Pn+1 = t
At Pn .
kA Pn k1
Ce procédé itératif est une méthode de la puissance ([Ste94]), on sait donc qu’il va converger 7
vers un vecteur propre associé à la plus grande valeur propre de A. Deux cas sont alors à consi-
dérer :
• Si la matrice A est sous-irréductible, alors sa valeur propre maximale est strictement in-
férieure à 1. D’après le théorème 6 9 , l’espace propre associé est de dimension d, où d
est le nombre de composantes pseudo-récurrentes, et son support est celui engendré par
l’union des filtres des composantes pseudo-récurrentes. Dans le cas particulier où A est
pseudo-irréductible, l’espace propre est une droite, et il existe un vecteur propre associé
strictement positif : grâce à la renormalisation, tout se passe alors comme dans le cas d’une
matrice stochastique irréductible.
• Si la matrice A n’est pas sous-irréductible, G contient au moins une composante forte-
ment connexe récurrente sur laquelle A est stochastique. La valeur propre maximale de
A est donc 1, ce qui signifie que la renormalisation ne va rien changer au résultat initial :
le vecteur propre sera une combinaison linéaire des vecteurs propres sur les différentes
composantes fortement connexes sur lesquelles A est stochastique 10 .
85
Chap. 5 — PAGE R ANK , UNE MANIÈRE D ’ ESTIMER L’ IMPORTANCE DES PAGES WEB
B = A + s.P t
est bien une matrice stochastique 11 supérieure à A, et il est facile de voir que B t P est une
distribution de probabilité homogène à P , donc égale à P .
La matrice B présente l’avantage de donner une interprétation stochastique au procédé de re-
normalisation simple : asymptotiquement, le surfeur aléatoire suit à chaque étape un lien suivant
les probabilités données par A. Quand il ne sait pas quoi faire, il zappe vers une autre page selon
la distribution de probabilité qui est vecteur propre maximal de A.
Par contre, dès que l’espace propre maximal a une dimension supérieure à 1, le problème est
délicat, voire très délicat dans le cas de composantes pseudo-récurrentes dont les filtres ont une
intersection non nulle. Nous limiterons par conséquent notre étude des processus stochastiques
équivalents aux cas d’unicité du vecteur propre maximal.
Ā = A + s.Z t .
11. Si A est sous-stochastique et D une distribution de probabilité sur V , par construction, (A + s.Dt ) est toujours
une matrice stochastique.
12. Sans le savoir? Voir remarque 6.
86
5.3 — L ES MODÈLES CLASSIQUES
Données
• une matrice sous-stochastique A sans périodicité ;
• une distribution de zap Z recouvrante ;
• un réel .
Résultat
Un (le si A est sous-irréductible) vecteur propre de probabilité P de Āt associé à la valeur
propre 1.
début
P0 = Z
répéter
Pn+1 = At Pn
µ = kPn k1 − kPn+1 k1
Pn+1 = Pn+1 + µZ
δ = kPn − Pn+1 k1
jusqu’à δ <
fin
Choix de Z et interprétation
Z représente le comportement du surfeur aléatoire lorsque G ne précise pas où il doit aller,
c’est-à-dire tous les changements de page qui ne sont pas dûs à l’usage des hyperliens (adresse
tapée manuellement, Bookmarks, requête dans un moteur de recherche. . . ). Généralement, on
choisit pour Z la distribution uniforme :
1
∀v ∈ V , Z(p) = ,
n
qui représente un zap n’importe où et au hasard sur le Web connu.
Il a également été proposé de « personnaliser » Z, notamment par [PBMW98]. Par exemple,
il est possible de se restreindre aux pages d’accueil des sites. D’une part, cela évite de donner
implicitement aux sites une mesure partielle d’importance proportionnelle au nombre de pages
crawlées (voir section 7.5 page 136). D’autre part, cela obéit à une certaine intuition naturelle :
quand on rompt la navigation par hyperliens pour zapper sur autre chose, il est probable qu’on
va commencer par une page d’accueil. Cette intuition est confirmée par de nombreuses études
qui démontrent l’existence de pages qui jouent le rôle de « hubs » pour les utilisateurs réels
[CP95, Kle98, WM04, MFJR+ 04].
Une autre personnalisation envisageable est de prendre pour Z une distribution d’importance.
Cela peut être une estimation précédente du PageRank, mais dans le cas de la complétion sto-
chastique, ce n’est pas forcément un choix très heureux, puisqu’asymptotiquement, cela revient à
87
Chap. 5 — PAGE R ANK , UNE MANIÈRE D ’ ESTIMER L’ IMPORTANCE DES PAGES WEB
considérer un processus stochastique équivalent à une renormalisation simple (voir section 5.3.2),
et n’apporte donc rien de mieux. On préférera donc souvent une autre estimation d’importance
(par exemple le degré entrant).
Irréductibilité de Ā
On dira d’une distribution de probabilité Z qu’elle est recouvrante si son support χZ vérifie
↑χZ = V . C’est une condition naturelle à imposer à toute distribution de zap, puisqu’elle garantit
que toutes les pages connues sont potentiellement accessibles après un zap. La distribution uni-
forme est évidemment recouvrante. Il en est de même de la distribution sur les pages d’accueil si
toutes les pages connues d’un site sont accessibles à partir de la page d’accueil. C’est aussi le cas
de la distribution par importance si, et seulement si, toutes les pages de V ont un degré entrant
non nul.
Conclusion
La complétion stochastique permet d’avoir une convergence vers une unique distribution de
probabilité de support V dès que A est sous-irréductible, alors que dans le cas de la renormali-
sation simple, il faut que A soit pseudo-irréductible, ce qui est plus restrictif. En revanche, s’il
existe des composantes fortement connexes stochastiques (et donc récurrentes), la complétion ne
change pas fondamentalement le résultat.
88
5.3 — L ES MODÈLES CLASSIQUES
à résoudre :
b = d.A + (1 − d).(Z.1)t
A→A
Remarque 6
À titre d’anecdote, signalons dans l’article fondateur du PageRank ([PBMW98]) une légère
confusion : l’algorithme 2 est proposé pour résoudre (5.5). Même s’il est précisé que l’introduc-
tion de µ peut avoir un léger impact sur l’influence de Z 15 , le qualificatif « léger » peut relever
de l’euphémisme : dans (5.5), Z permet d’avoir une matrice apériodique irréductible. On a donc
la garantie d’un unique vecteur propre strictement positif. En revanche, dans l’algorithme 2, on
travaille implicitement sur la complétion par Z de A, et nous venons de voir que l’influence de Z
est quasi-nulle dès que A n’est pas sous-irréductible 16 (théorème 7). Heureusement, la confusion
a disparu dans les articles suivants, notamment avec la normalisation du facteur zap [BP98]. En-
core que. . . Langville et Meyer, dans [LM04], proposent pour rendre la matrice irréductible une
méthode de type complétion stochastique (voir section 5.6.4) et tombent six ans plus tard dans la
même illusion d’irréductibilité, puisque comme nous l’avons vu dans la section 5.3.3, il ne suffit
pas forcément de rajouter les clics manquants pour rendre une matrice irréductible.
13. Si Z est simplement recouvrante, l’irréductibilité est toujours garantie, puisqu’on peut aller de n’importe
quelle page vers n’importe quelle autre page via une page de χZ . En revanche, on n’a plus forcément apériodicité (il
existe des contre-exemples simples, par exemple un arbre-branche complété sur sa racine), même si empiriquement,
le problème ne se pose pas pour les graphes du Web.
14. Les cas où A est strictement sous-stochastique seront étudiés en détail dans la section 5.4
15. « The use of [µ] may have a small impact on the influence of [Z]. », op. cit.
16. Rappelons qu’il suffit pour cela de deux pages qui ne pointent que l’une sur l’autre
89
Chap. 5 — PAGE R ANK , UNE MANIÈRE D ’ ESTIMER L’ IMPORTANCE DES PAGES WEB
Algorithme 3: PageRank : modèle par ajout d’un facteur zap (d’après [BP98])
Données
• une matrice stochastique A ;
• une distribution de zap Z recouvrante ;
• un coefficient de zap d ∈]0, 1[ ;
• un réel .
Résultat
Le vecteur propre de probabilité P de Abt associé à la valeur propre maximale.
début
P0 = Z
répéter
Pn+1 = d.At Pn + (1 − d).Z
δ = kPn − Pn+1 k1
jusqu’à δ <
fin
Interprétation
Transfert d’importance : avec le facteur zap, les pages ne transmettent qu’une fraction d de
leur importance. En contrepartie, chaque page p se voit attribuer un PageRank Minimal
d’Insertion (PRMI) égal à (1 − d).Z(p).
Surfeur aléatoire : à chaque étape du processus stochastique décrit par A, b le surfeur aléatoire
va cliquer au hasard sur un des liens sortants, avec une probabilité d, ou zapper avec une
probabilité (1 − d) quelque part sur le graphe en selon la distribution Z.
5.3.5 Choix de d
Avant d’aller plus loin, il convient de parler du choix du paramètre d et des raisons qui
ont poussé à faire ce choix. Pour commencer, précisons une réalité empirique universelle et
inaltérable : d vaut 0, 85, à 0, 05 près. Depuis les débuts du PageRank, 0, 85 a en effet toujours
été la valeur de référence, et à ma connaissance, les calculs pratiques de PageRank suivant le
modèle de source de rang vu lors de la section 5.3.4 utilisent toujours un d compris entre 0, 8 et
0, 9.
90
5.3 — L ES MODÈLES CLASSIQUES
Théorème 8 Soit A une matrice stochastique. Si x est un vecteur propre de Abt associé à λ 6= 1,
t b x = dA x. En particulier, |λ| ≤ d.
alors x est un vecteur propre de A et At t
bt associé à 1, on a
Preuve : Comme 1 est vecteur propre gauche de A
bt x = 1.x
1A
= λ1.x
bt x = λx
A
= (d.At + (1 − d).(Z.1))x
= dAt x
Remarque 7
Dans [KHMG03b] se trouve une preuve du fait que toute valeur propre autre que 1 (qui est simple
b) est inférieure à d. Dans [LM04], il est montré en plus que les valeurs propres secondaires
pour A
b
de A sont égales à d fois celles de A (les multiplicités de 1 étant comptées comme secondaires), et
17. Si A possède plus d’une composante fortement connexe récurrente, d est une valeur propre.
18. Il faut en effet recalculer le PageRank périodiquement, et avec plusieurs milliards de pages à traiter, chaque
itération prend un temps non négligeable.
91
Chap. 5 — PAGE R ANK , UNE MANIÈRE D ’ ESTIMER L’ IMPORTANCE DES PAGES WEB
les auteurs affirment que leur preuve est plus compacte que celle de [KHMG03b]. Le théorème 8
montre en plus que les vecteurs propres secondaires de Abt sont ceux de At , et nous affirmons que
notre preuve est plus compacte que celle de [LM04]. Il ne reste plus qu’à trouver un théorème
plus précis que le théorème 8, avec une preuve plus compacte. . .
Pour d = 0, 85, cela donne une longueur moyenne entre deux zaps successifs d’environ
5, 67. On peut interpréter cela comme le nombre moyen de liens que notre surfeur aléatoire va
suivre avant de se lasser et de zapper ailleurs. À titre de comparaison, différentes études donnent,
suivant l’époque et la méthode employée, des nombres variant entre 3 et 10 [CP95, WM04]. Dans
[MFJR+ 04], il apparaît que la taille moyenne des trails 19 est de. . . 5, 6 ! Pourtant, on trouve dans
ce même article que l’usage des liens de navigations représente seulement 42, 5% des moyens
d’accès aux pages. De plus, aucune des études citées n’a mis en évidence une répartition selon
une loi géométrique.
On conclura donc que le choix pour d de 0, 85 peut s’interpréter comme une manière de
modéliser le comportement des surfeurs, mais qu’il ne faut pas forcément considérer cette mo-
délisation comme réaliste.
Conclusion
Nous venons de voir des raisons justifiant le choix d = 0, 85. J’aimerais conclure par une
anecdote concernant l’étude du PageRank à l’intérieur du site de l’INRIA (cf annexe B). Afin de
calculer le PageRank local, j’ai testé différentes valeurs de d et constaté expérimentalement les
effets obtenus.
• Quand d est trop petit, le classement par PageRank se rapproche de plus en plus du clas-
sement par degré entrant. En effet, prendre d petit revient, nous l’avons vu, à réduire la
longueur du chemin moyen parcouru par le surfeur aléatoire entre deux zaps. Intuitive-
ment, on réduit ainsi la portée de la vision du surfeur. À d = 0, 7, il ne « voit » qu’à 2, 33
pages, et pour d = 0, 5, la portée du surf est d’une page. On se rapproche donc de la
version non-récursive du PageRank, le comptage de liens entrants (pondéré par Z). Plus
19. Un trail (séquence) commence à chaque fois qu’un utilisateur tape une URL à la main, utilise ses Bookmarks
ou tout autre liste pré-établie pour accéder à une URL.
92
5.4 — S OURCE DE RANG ET MATRICES SOUS - STOCHASTIQUES
formellement, il est facile de constater que la distribution stationnaire est égale, à l’ordre
1 en d, à Z + d.At .Z. Si Z est la distribution uniforme (ce qui est le cas par défaut, et en
particulier pour l’étude du PageRank de l’INRIA), quand d → 0, avec d 6= 0, le classement
induit par la distribution stationnaire est égal au classement par degré entrant.
• Quand d est trop grand, A b tend vers A, et le vecteur propre maximal se rapproche d’un
vecteur propre maximal de A. En particulier, le PageRank se met à se concentrer sur les
composantes fortement connexes récurrentes et autres pièges à PageRank (voir la section
7.5 sur le rôle modérateur de d dans l’auto-amplification du PageRank d’une composante).
Plus que le problème de la convergence (la taille du site de l’INRIA autorise suffisamment
d’itérations pour toujours obtenir un point fixe) se pose le problème dit des « puits de
rang » : le PageRank est « absorbé » par un sous-ensemble de pages, et ne donne donc pas
forcément la distribution que l’on souhaiterait.
Ces constatations faites, j’ai essayé de minimiser l’importance d’un couple de pages peu per-
tinentes, mais possédant un fort degré entrant et situées dans un fort « puit de rang ». Cette mi-
nimisation (manuelle) a été atteinte pour. . . d = 0, 9. De mon expérience personnelle, il apparaît
donc que le choix de d est surtout motivé par des raisons structurelles, même si le choix initial de
Brin et Page semble avoir été motivé par la modélisation du surfeur aléatoire [PBMW98, BP98].
93
Chap. 5 — PAGE R ANK , UNE MANIÈRE D ’ ESTIMER L’ IMPORTANCE DES PAGES WEB
On évite ainsi de devoir renormaliser à chaque itération, et on a une plus grande cohérence en
terme d’interprétation stochastique. De plus, si on choisit une distribution de complétion égale à
la distribution de zap Z, on obtient un algorithme très simple (l’algorithme 4) : l’algorithme de
µ-compensation. L’interprétation est tout aussi simple : à chaque étape du processus stochastique
b̄ le surfeur aléatoire va cliquer au hasard sur un des liens sortants (s’il en existe),
décrit par A,
avec une probabilité d. Dans tous les autres cas, il va zapper selon Z.
Données
• une matrice (sous-)stochastique A ;
• une distribution de zap et de complétion Z recouvrante ;
• un coefficient de zap d ∈]0, 1[ ;
• un réel .
Résultat
Le vecteur propre de probabilité P de Ab̄ t associé à la valeur propre maximale.
début
P0 = Z
répéter
Pn+1 = d.At Pn
µ = kPn k1 − kPn+1 k1
Pn+1 = Pn+1 + µZ
δ = kPn − Pn+1 k1
jusqu’à δ <
fin
Théorème 9 Soit A une matrice sous-stochastique, d un facteur de zap, 0 < d < 1, et Z une
distribution de probabilité recouvrante pour le graphe induit par A.
La suite Pn+1 = dAt Pn + (1 − d)Z converge géométriquement, avec une raison inférieure ou
égale à d, vers un unique point fixe P , quelque soit le vecteur initial P0 . P est un vecteur stricte-
ment positif, et pour toute complétion Ā de A, si P̄ est la distribution de probabilité associée à
b̄ on a P ≤ P̄ , avec inégalité totalement stricte sauf si A est stochastique (i.e. A = Ā).
A,
94
5.4 — S OURCE DE RANG ET MATRICES SOUS - STOCHASTIQUES
Plus encore, si le graphe induit possède deux composantes fortement connexes dont les filtres
sont disjoints, alors on a
P = sup X > 0/∀Ā complétion de A, X ≤ P̄
P̄ − P = dĀt P̄ − dAt P
= dAt (P̄ − P ) + d(Ā − A)t P̄
∞
!
X
= d (dAt )k (Ā − A)t P̄
k=0
Comme P̄ est strictement positif, (Ā − A)t P̄ est strictement positif sur le support de complé-
tion et nul en dehors.
On peut en conclure que la différence P̄ − P est positive. Plus précisément, cette différence
est strictement positive sur le filtre du support de complétion et nulle en dehors. Si il existe deux
complétions à filtres disjoints, alors en considérant ces deux complétions on déduit donc que
P = sup X > 0/∀Ā complétion de A, X ≤ P̄
C.Q.F.D.
20. Notons au passage que dans le cas où A est stochastique, nous avons là une preuve très simple de la conver-
gence de raison d, mais le théorème 8 donne quand même plus d’informations. . .
95
Chap. 5 — PAGE R ANK , UNE MANIÈRE D ’ ESTIMER L’ IMPORTANCE DES PAGES WEB
On en déduit
∞
X
P̄ = µ (dAt )k Z (5.7)
k=0
Convergence
Les tests que nous avons pu effectuer montrent que avec le choix de Z comme distribu-
tion initiale, il n’y a aucune différence significative entre la convergence de l’algorithme de µ-
compensation et celui non-compensé. La convergence est dans les deux cas très rapide lors des
premières itérations, et se stabilise ensuite vers une convergence de raison d (cf boucle principale
de la figure 5.1).
96
5.4 — S OURCE DE RANG ET MATRICES SOUS - STOCHASTIQUES
• Si la matrice A ne tient pas en mémoire, le facteur limitant dans le calcul d’une itération est
la multiplication de At par Pn . Le temps utilisé pour compenser est alors négligeable, et la
vitesse des itérations n’a alors aucune influence dans le choix entre les deux algorithmes.
• En revanche, si A, ou même simplement la matrice d’adjacence, tient en mémoire, le cal-
cul et l’incorporation de µ prend une durée comparable à celle du calcul de At P . En
fait, tout calcul de norme alourdit de manière non-négligeable le calcul d’une itération,
et même le calcul du paramètre de convergence δ diminue considérablement les perfor-
mances. On aboutit ainsi à l’algorithme SpeedRank (algorithme 5), qui calcule le Page-
Rank non-compensé en estimant grossièrement le nombre d’itérations nécessaires à une
bonne convergence. Nos expériences ont mis en évidence un gain de vitesse de plus de
300% sur les itérations entre SpeedRank et l’algorithme 4, ce qui compense plus que lar-
gement la légère sur-estimation du nombre d’itérations nécessaires pour converger.
En terme de performances, l’algorithme µ-compensé est donc à proscrire si l’on travaille sur
des « petits » graphes. On s’étonnera au passage que Kamvar et al. utilisent la µ-compensation
dans leur algorithme BlockRank [KHMG03a], qui est justement basé sur la décomposition du
PageRank sur des petits graphes. Pour des spécialistes de l’optimisation du calcul de PageRank
(cf [KHMG03b]), il est curieux de passer à côté d’un gain de vitesse de 300%. . .
Effeuillage-Remplumage
En pratique, les algorithmes de PageRank sont rarement appliqués sur le graphe G = (V, E)
tout entier. On utilise très souvent une technique dite d’« effeuillage-remplumage » : le Page-
Rank est d’abord calculé sur le graphe (R, ER ), où R est l’ensemble des sommets de V possédant
au moins un lien sortant. (R, ER ) est appelé graphe effeuillé, ou encore rafle. Une fois qu’une
bonne convergence est atteinte, on procède au « remplumage » : on se replace sur le graphe G et
on effectue quelques itérations de PageRank avec le PageRank sur R comme estimation initiale.
Le problème est que le PageRank sur le graphe effeuillé n’est pas forcément une bonne
estimation du PageRank sur G, comme le montre la figure 5.1 : à cause du remplumage, le facteur
de convergence δ est quasiment réinitialisé. Si on veut de nouveau atteindre la condition de
convergence (δ < ), il faut effectuer presqu’autant d’itérations qu’en partant de la distribution
Z.
La méthode d’effeuillage-remplumage présente quand même un intérêt si on limite le nombre
d’itérations de la phase de remplumage : comme la boucle principale se fait sur la rafle, les
itérations sont plus rapides. Quant au vecteur final, bien que ce ne soit pas un vecteur stationnaire,
il est à mi-chemin entre le PageRank sur la rafle et celui sur G, et le fait que ce soit ce vecteur
qui est utilisé en pratique semble indiquer que le classement que l’on obtient est digne d’intérêt.
97
Chap. 5 — PAGE R ANK , UNE MANIÈRE D ’ ESTIMER L’ IMPORTANCE DES PAGES WEB
98
5.5 — C ONVERGENCE EN NORME 1 ET CONVERGENCE DU CLASSEMENT
0
10
−2
10
Variation δ entre deux itérations
−4
10
−6
10
−8
10
Boucle principale
Remplumage
−10
10
0 20 40 60 80 100 120 140 160
Itérations
rences au niveau du classement. Outre les considérations techniques que nous venons de voir, le
choix d’un algorithme à la place de l’autre peut également être influencé par les quelques pour
cents de différence entre les deux classements, mais une telle étude qualitative sort du sujet de ce
mémoire.
21. Dans la réalité, les choses sont légèrement différentes. Le classement renvoyé pour une requête donnée est
vraisemblablement le résultat de la confrontation de plusieurs estimations d’importances, la pertinence et le Page-
Rank étant les principales d’entre elles. Connaître le PageRank quantitatif des pages peut alors avoir un intérêt.
99
Chap. 5 — PAGE R ANK , UNE MANIÈRE D ’ ESTIMER L’ IMPORTANCE DES PAGES WEB
La distance entre deux permutations σ1 et σ2 est donc dist(σ1 , σ2 ) = dist(σ1 ◦ σ2−1 , Id).
Comme la plus grande distance possible distmax entre deux permutations de taille n est celle
entre deux classements inversés, à savoir n(n−1)
2
, on pourra si l’on veut un critère de convergence
indépendant de la taille du classement considérer la distance de kendall normalisée par distmax .
Les applications pratiques de l’étude de la convergence selon la distance de kendall sont en-
core à l’étude, nous nous conterons donc dans ce mémoire de cette courte introduction théorique.
22. Merci à François Durand et à son rapport de maîtrise[Dur03] pour m’avoir fait connaître la distance de Kendall.
23. Pour chacun des deux PageRanks étudiés ici, nous n’avons représenté qu’une seule courbe, mais expérimen-
talement, les autres échantillons étudiés génèrent des courbes extrêmement similaires.
24. Dans le cas du PageRank avec effeuillage-remplumage, ceci est valable pour une proportion de pages sans lien
donnée. Empiriquement, cette constante est souvent un invariant de crawl.
100
5.5 — C ONVERGENCE EN NORME 1 ET CONVERGENCE DU CLASSEMENT
−3
10
PageRank sur V
−4 PageRank sur R remplumé sur V
10
−5
10
−6
10
PageRank
−7
10
−8
10
−9
10
−10
10
−11
10
0 2 4 6 8
10 10 10 10 10
Classement
dN
≈ n2 ρ(np) (5.8)
dp
101
Chap. 5 — PAGE R ANK , UNE MANIÈRE D ’ ESTIMER L’ IMPORTANCE DES PAGES WEB
4
10
2
10
0
10
−2
10
ρ(np)
−4
10
−6
10
−8
10 PageRank sur V
PageRank sur R remplumé sur V
−10
10
−4 −2 0 2 4
10 10 10 10 10
np
102
5.5 — C ONVERGENCE EN NORME 1 ET CONVERGENCE DU CLASSEMENT
1
Tout comme pour la densité mésoscopique normalisée, la quantité Xρ(X) ne dépend pas de
n, mais juste du modèle de PageRank. Nous l’appellerons seuil de différenciation normalisé. La
figure 5.4 montre ce que vaut ce seuil de différenciation pour les deux PageRanks considérés ici.
5
10
PageRank sur V
4
10 PageRank sur R remplumé sur V
3
10
1/(npρ(np))
2
10
1
10
0
10
−1
10
−4 −3 −2 −1 0 1 2 3 4
10 10 10 10 10 10 10 10 10
np
Interprétation
Pour un PageRank donné, plus le seuil de différenciation est petit, plus il sera difficile de
différencier les pages. On constate, comme l’intuition le laissait prévoir, que la différenciation
la plus difficile est toujours située au niveau du PageRank Minimum d’Insertion. Avec un zap
1
uniforme sur V , elle vaut environ 10−1 , soit une valeur préconisée de inférieure à 10n . Si le zap
1
est uniforme sur R, le seuil minimum pour est simplement de n .
Nous suggérons donc, comme choix pratique de dans les algorithmes de PageRank, de
1 1
prendre = 10n si le zap est uniforme sur R, = 100n s’il est uniforme sur V (nous rajoutons
un facteur 10 de sécurité, soit une quinzaine d’itérations pour d = 0, 85). Restreindre le zap sur
les pages sans lien permet donc une différenciation plus rapide, au prix d’une dépréciation des
pages sans lien de faible PageRank par rapport aux pages avec lien(s) de faible PageRank 25 .
Remarque 8
L’étude du seuil de différenciation que nous venons de réaliser donne une explication à la conver-
gence rapide du classement des pages de fort PageRank généralement observée. En effet, on ob-
25. Pour les pages sans lien de fort PageRank, le fait de recevoir ou non un PRMI a relativement peu d’importance.
103
Chap. 5 — PAGE R ANK , UNE MANIÈRE D ’ ESTIMER L’ IMPORTANCE DES PAGES WEB
serve sur la figure 5.4 que le seuil de différenciation est beaucoup plus facile à atteindre pour
les pages de fort PageRank. Ainsi, pour les pages dont le PageRank est au moins 100 fois plus
grand que le PageRank moyen, le seuil normalisé vaut 1000, soit selon le modèle entre 45 et 60
itérations de gagnées par rapport à une différenciation sur l’ensemble des pages.
Remarque 9
Nous avons signalé l’existence de quelques pages pour lesquelles l’erreur de PageRank était bien
supérieure à p. À cause de ces pages atypiques, nous pouvons être à peu près certain que même
avec le facteur 10 de sécurité que nous avons choisi, le classement ne sera pas totalement stabilisé.
Avoir un classement stabilisé sur toutes les pages demande beaucoup plus de précision que pour
avoir un classement stabilisé sur la plupart des pages. Cette constatation, confirmée par un projet
d’étudiants de l’université de l’Indiana [KL], met en évidence la nécessité de considérer une
distance sur les classements (la distance de Kendall) si l’on veut travailler sur une convergence
du classement.
26. Cf [Tom03].
104
5.6 — M ODÈLES AVEC PAGE VIRTUELLE
Données
• une matrice stochastique A ;
• une distribution de zap Z recouvrante ;
• un coefficient de zap d ∈]0, 1[ ;
• un réel .
Résultat
Le vecteur propre de probabilité (P, v) de Ãt associé à la valeur propre maximale.
début
Choisir un vecteur positif de taille n P0 et un réel positif v0 tel que
répéter
Pn+1 = d.At Pn + vn .Z
vn+1 = (1 − d) kPn k1
δ = kPn − Pn+1 k1
jusqu’à δ <
fin
105
Chap. 5 — PAGE R ANK , UNE MANIÈRE D ’ ESTIMER L’ IMPORTANCE DES PAGES WEB
Théorème 11 Soit A une matrice stochastique. Comme à est stochastique, irréductible et apé-
riodique, on sait que 1 est une valeur propre singulière et dominante. Plus précisément, si
(λ, (P, v)) vérifie Ãt (P, v) = λ(P, v), alors on est dans l’un des 3 cas suivants :
• Soit λ = 1, et (P, v) est alors homogène à (Pb, (1 − d)), où Pb est la distribution de proba-
bilité telle que Pb = A bt Pb.
• Soit λ = d − 1.
• Soit λ ne vaut ni 1, ni d − 1. P est alors un vecteur propre de At , v est nul, et on a
Ãt (P, 0) = (dAt P, 0). En particulier, |λ| ≤ d.
Preuve : Il est facile de vérifier que (Pb, (1 − d)) est vecteur propre de Ãt associé à 1 :
! !
Pb dAt Z Pb
Ãt =
1−d (1 − d)1 0 1−d
d.At Pb + (1 − d).Z
=
(1 − d) P b
1
!
Pb
=
1−d
106
5.6 — M ODÈLES AVEC PAGE VIRTUELLE
28. Erratum : depuis la version du 20 octobre 2004 (après soumission du présent mémoire aux rapporteurs), l’ar-
ticle de Langville et Meyer trouve aussi d − 1 comme valeur introduite, et la preuve est beaucoup plus légère.
107
Chap. 5 — PAGE R ANK , UNE MANIÈRE D ’ ESTIMER L’ IMPORTANCE DES PAGES WEB
• il est équivalent de considérer à et A, complétion par Z de A. On peut donc tout aussi bien
utiliser l’algorithme 2, en remplaçant A par A.
Données
• une matrice d’adjacence M d’un graphe quelconque ;
• une distribution de probabilité Z recouvrante ;
• un coefficient de zap d ∈]0, 1[ ;
• un réel .
Résultat
Le vecteur propre de probabilité P de A b̄ t associé à la valeur propre maximale.
début
P0 = Z
T = 1./(M 1tn + 1tn ) (1./ : inverse terme à terme)
répéter
Pn+1 = d.M t (T.× Pn ) (.× : produit terme à terme)
µ = kPn k1 − kPn+1 k1
Pn+1 = Pn+1 + µZ
δ = kPn − Pn+1 k1
jusqu’à δ <
fin
Il faut noter que le fait de supprimer le facteur d n’est pas forcément un avantage : dans ce
modèle il n’est pas possible de contrôler la convergence ou le comportement du surfeur associé.
Si l’on veut garder l’idée du lien virtuel qui vaut un lien réel, on aura intérêt à considérer un mo-
dèle hybride avec source de rang, par exemple basé sur l’algorithme 4 (PageRank µ-compensé).
Ce nouveau modèle correspondra à l’ajout d’une source de rang sur une complétion de A (la
b̄ On obtient ainsi l’algorithme 7.
matrice implicite est alors A).
5.6.4 Erratum
Pour en finir avec les pages virtuelles, signalons que dans [LM04], un modèle de complétion
stochastique par page virtuelle incorporant le facteur zap est proposé. Malgré tous mes efforts, je
n’ai hélas pas réussi à voir comment la matrice de transition associée,
dA (1 − d)s
t , où s est le défaut stochastique de A (pas de A),
(1 − d)Z d
108
5.7 — G ESTION DES RESSOURCES PHYSIQUES
peut être stochastique si on ne supprime pas d, alors que les auteurs affirment qu’elle l’est.
Comme il est dit explicitement qu’on obtient une irréductibilité grâce à cette matrice et que
dans le processus stochastique équivalent, on ne zappe qu’à partir des pages sans liens 29 , je me
permets d’émettre quelques doutes sur la rigueur de ce modèle.
109
Chap. 5 — PAGE R ANK , UNE MANIÈRE D ’ ESTIMER L’ IMPORTANCE DES PAGES WEB
110
Chapitre 6
BackRank
OUS venons de voir les principes théoriques généraux qui régissent les différents algorithmes
N de PageRank. En particulier, il est apparu que le problème de la complétion stochastique et
celui de la diffusion du PageRank peuvent, voire doivent, être traités indépendamment. Dans
ce chapitre, qui est le prolongement d’une série d’articles co-écrits avec Mohamed Bouklit
[BM03, MB04], nous allons étudier une manière d’effectuer la complétion stochastique tout en
perfectionnant le modèle du surfeur aléatoire : prendre en compte la possibilité qu’a l’utilisateur
de pouvoir à tout instant de sa navigation revenir en arrière grâce à la touche Back de son navi-
gateur 1 . Comme nous allons le voir, l’algorithme de PageRank qui résulte de cette modélisation
présente de nombreux avantages par rapport aux PageRanks classiques.
111
Chap. 6 — BACK R ANK
de 50% d’hyperliens et de 30% de Back [TG97]. Citons enfin une étude plus récente (2004) de
Milic et al. [MFJR+ 04], dont les principaux résultats sont portés dans le tableau 6.1
TAB . 6.1 – Étude statistique des modes de navigation des surfeurs réels (d’après [MFJR+ 04])
a
Chargements dynamiques, redirections automatiques, complétion automatique d’adresse. . .
De toutes ces études, il semble émerger un certain recul de l’emploi de la touche Back entre
1995 et 2004, mais selon [CM01], il faut tenir compte des évolutions survenues pendant cet
intervalle 2 , ainsi que de changements dans les protocoles expérimentaux utilisés.
L’autre information intéressante que nous donnent ces chiffres est le fait que dans tous les cas,
on constate que l’emploi de la touche Back arrive très largement en deuxième position, derrière
l’utilisation des hyperliens qui reste le mode de navigation privilégié. Il faut en particulier retenir
que selon toutes les études, pour 2 clics sur un hyperlien, il y a au moins 1 utilisation de la
touche Back. Pourtant, l’utilisation de la touche Back n’a pas d’équivalent dans les PageRank(s)
« classiques », alors que des modes de navigation quantitativement moins importants comme les
URLs tapées à la main et les Bookmarks peuvent être pris en compte dans les algorithmes de
calcul à travers le vecteur de zap.
Même si l’on ne sait pas vraiment à ce jour si un modèle plus proche du surfeur réel donne
forcément un meilleur PageRank, l’importance de la touche Back dans le comportement des
internautes réels nous est apparu comme une motivation suffisante pour étudier les possibilités
de l’incorporer dans un nouveau modèle de PageRank.
112
6.3 — M ODÉLISATION DE LA TOUCHE Back
D’un autre côté, Fagin et al., dans [FKK+ 00] proposent une étude très complète de l’influence
de l’introduction de retours arrières dans une marche aléatoire, et proposent une modélisation
stochastique du surfeur aléatoire tenant compte de la touche Back. Dans ce modèle une chaîne de
Markov initiale classique est considérée, à laquelle on adjoint un historique de capacité infinie
des pages visitées. À chaque page v est associée une probabilité α(i) de revenir en arrière, à
condition que l’historique soit non vide. Les principaux résultats obtenus sont :
• Suivant les probabilités de retour arrière, le processus peut être transitoire (asymptotique-
ment, la page de départ est « oubliée » et fini par ne plus influer sur la distribution de
probabilité) ou ergodique (les retours arrières ramènent le surfeur infiniment souvent sur
la page de départ), avec une transition de phase entre les deux.
• Dans le cas particulier où la probabilité de retour α ne dépend pas de la page, si α < 0, 5,
le processus converge vers la même distribution que la chaîne de Markov classique (sans
retour possible).
• Les autres cas sont caractérisés, différents types de convergence sont considérés, et les
valeurs limites (si elles existent) sont données.
Le principal inconvénient du modèle de Fagin et al. est le coût prohibitif 3 du calcul des
distributions asymptotiques.
Dans [Syd04], Sydow propose de réduire la complexité en limitant la taille de l’historique.
Il introduit ainsi un modèle où seule la dernière page visitée est conservée en mémoire (on ne
peut pas utiliser deux fois de suite la touche Back), et où la probabilité de Back est uniforme 4 .
L’algorithme résultant présente des performances comparables à celles d’un PageRank standard,
en termes de vitesse de convergence et de besoin en ressources. Le classement obtenu par la
distribution de probabilité asymptotique reste similaire à celui d’un PageRank standard, avec des
différences significatives au niveau du classement des pages dominantes.
Par rapport à l’algorithme de Sydow, notre prise en compte de la touche Back présente l’avan-
tage de supprimer de nombreux problèmes liés aux PageRanks classiques (complétion stochas-
tique, effeuillage et remplumage, vitesse de convergence).
113
Chap. 6 — BACK R ANK
allons étudier, l’espace de travail canonique est l’ensemble E des hyperliens. Nous allons intro-
duire deux modèles intuitifs de touche Back pour le cas où m = 1, et montrer que pour l’un
d’entre eux, il est possible de réduire l’espace de travail de E à V . Nous verrons également que
ce dernier cas est compatible avec l’emploi d’un facteur zap.
où w ↔ v signifie w pointé par ou pointant vers v. On remarque que l’usage de la touche Back
implique de travailler sur le graphe non-orienté induit par G.
rb
De la même façon, il est possible d’écrire une équation décrivant les termes Pn+1 (w, v) : si
(w, v) ∈ E, pour aller de w à v entre les instants n et n + 1, on peut soit suivre le lien qui relie w
à v (il faut pour cela être en w à l’instant n et choisir parmi les d(w) + 1 possibilités), soit utiliser
la touche Back (il faut alors être allé de v à w entre les instants n − 1 et n, et choisir parmi les
d(w) + 1 possibilités). Si (w, v) ∈ / E, mais (v, w) ∈ E, alors la transition de w à v ne peut être
6. Le concept de réversibilité a une signification bien précise en modélisation markovienne, mais nous l’em-
ployons ici simplement pour décrire un certain comportement de l’utilisateur, et il conviendra donc ne pas se mé-
prendre sur le sens de « réversible ».
114
6.3 — M ODÉLISATION DE LA TOUCHE Back
effectuée que via l’emploi de la touche Back. Il n’y a pas de transition dans les autres cas. Nous
pouvons donc écrire :
1
(Pn (w) + Pnrb (v, w)) si (w, v) ∈ E,
d(w) + 1
Pn+1 (w, v) = Pnrb (v, w)
rb
(6.2)
si (v, w) ∈ E et (w, v) ∈ / E,
d(w) + 1
0 sinon.
Grâce aux équations (6.1) et (6.2), il est possible de réaliser un processus itératif de calcul de
Pn , que l’on pourra par exemple initier par la distribution
1 si (w, v) ∈ E,
rb
P0 (w, v) = |E|
0 sinon.
Si G0 = (V, E 0 ) est le graphe non-orienté induit par G, il semble donc nécessaire d’utiliser
|V | + |E 0 | variables, contre |V | pour le PageRank standard. En injectant (6.1) dans (6.2), il est
possible de réduire le nombre de variables à |E 0 |, mais cela reste très important. Ceci nous a
amené à considérer le modèle du Back irréversible 7 .
• Il est plus proche du comportement de la touche Back des navigateurs réels, qui se désactive
effectivement lorsque l’historique est épuisé. L’usage d’une touche Back après épuisement
de l’historique dans le modèle réversible se rapproche plus de l’usage de la touche Forward
dans les navigateurs réels. Or, si l’on en croit [MFJR+ 04] (cf tableau 6.1), le rôle de la
touche Forward reste relativement anecdotique.
• Il est compatible avec l’introduction effective d’un facteur zap (cf 6.3.3).
• Le calcul de la distribution asymptotique, même avec un facteur zap, ne nécessite pas plus
de ressources que dans le cas d’un PageRank classique(cf 6.4.1).
• L’emploi de la touche Back introduit forcément une sorte d’« effet de serre » au niveau des
pages sans liens, qui peut s’avérer gênant (effet similaire à celui des composantes fortement
7. Il est peut-être possible de réduire le nombre de variables à |V |, comme nous allons le faire avec le modèle
irréversible, mais nous n’avons pour l’instant pas formalisé cette réduction, et laissons donc le modèle de Back
réversible à un stade purement descriptif.
115
Chap. 6 — BACK R ANK
connexes récurrentes décrites dans le chapitre précédent). Le modèle irréversible réduit cet
effet par rapport au modèle réversible. Considérons l’exemple de la figure 6.1 : une page 1
possède 2 liens, l’un vers une page sans lien 2, l’autre vers une page d’échappement d’où
tout le graphe est accessible. Si le surfeur aléatoire se retrouve en 2, il va forcément revenir
en 1 par la touche Back. Retourner à nouveau en 2 va alors créer un début d’effet de serre,
or le retour en 2 se fait avec une probabilité 23 dans le modèle réversible (2 cas favorables
sur 3), contre 12 dans le cas irréversible : la probabilité de rester « coincé » en 2 est plus
faible dans le modèle irréversible.
1
Back
116
6.3 — M ODÉLISATION DE LA TOUCHE Back
des pages sans lien, on parlera donc à partir de maintenant de Pnhl (w), avec w ∈ R, plutôt que de
hl
Pn+1 (w, v), avec (w, v) ∈ E.
De même, pour être arrivé sur une page v grâce à la touche Back, il faut précédemment être
allé de v vers une page w pointée par v grâce à un hyperlien, puis avoir choisi la touche Back
parmi les d(w) + 1 possibilités. En particulier, on ne peut pas être arrivé sur une page de S par
la touche Back, et Pnib (v) est nul pour v ∈ S. Pour v ∈ R, nous pouvons écrire :
X P hl (v)
ib n
Pn+1 (v) = , (6.4)
w←v
d(w) + 1
où w ← v signifie w pointé par v.
Si on définit la Back-attractivité d’un sommet v appartenant à R par
X 1
a(v) = ,
w←v
d(w) + 1
il est alors possible de réécrire les équations (6.4) et (6.3) comme suit :
ib
Pn+1 (v) = a(v)Pnhl (v) (6.5)
1 X P ib (v)
hl
Pn+1 (v) = Pnhl (w) + n (6.6)
d(v) + 1 w→v d(v)
En fusionnant (6.5) et (6.6), on obtient l’équation (6.7)
1 X a(v) hl
hl
Pn+1 (v) = Pnhl (w) + P (v) (6.7)
d(v) + 1 w→v d(v) n−1
Et le PageRank dans tout ça ? La probabilité de présence en une page v est la somme de la
probabilité d’y être arrivé par la touche Back et de celle d’y être arrivé en suivant un lien. En
posant, par convention, Pnhl (v) = 0 pour v ∈ S, on a :
X
Pn (v) = Pnib (v) + Pnhl (w)
w→v
X
hl
= a(v)Pn−1 (v) + Pnhl (w)
w→v
117
Chap. 6 — BACK R ANK
1
Back
2 3
6.1, est résolu, mais les problèmes d’irréductibilité restent présents. Pire encore, la touche Back
transforme les impasses à moyenne et longue distance en puits de rang (cf figure 6.2).
Il est donc nécessaire d’introduire du zap dans le processus. Nous avons choisi un zap clas-
sique, avec un facteur d et une distribution Z. Nous imposons que le fait de « zapper » désactive
la touche Back : après un zap, il n’est pas possible de revenir en arrière. Cela présente l’avantage
pratique de ne pas avoir à considérer toutes les transitions implicitement générées par le zap, à
savoir (V ×χZ ) ⊂ E. On peut aussi interpréter ce choix au niveau de la modélisation du surfeur :
selon le tableau 6.1, beaucoup de zaps réels correspondent en fait au démarrage d’une nouvelle
session, et donc à un historique remis à 0.
Maintenant que le cadre est défini, il est possible de récrire Pnhl (v), pour v ∈ R :
!
1 X P ib (v)
hl
Pn+1 (v) = d Pnhl (w) + n (6.8)
d(v) + 1 w→v d(v)
De la même façon, nous pouvons récrire la probabilité Pnib (v) de se trouver à un instant n sur
une page v avec un historique nul. En posant, par convention, Pnhl (v) = 0 pour v ∈ S, on a :
ib
Pn+1 (v) = d.a(v)Pnhl (v) + (1 − d)Z(v) (6.9)
Et là, un problème se pose : que se passe-t-il si χZ ∩S 6= Ø ? Nous allons avoir une probabilité
non nulle d’être dans une page de S sans retour en arrière possible. Dans cette situation, avec une
probabilité (1 − d), notre surfeur va « zapper » ailleurs, et avec une probabilité d. . . il ne saura
pas quoi faire !
118
6.4 — A LGORITHME PRATIQUE : BACK R ANK
6.4.1 Optimisation
Nous supposerons ici que nous avons choisi Z tel que Z(v) = 0 si v ∈ S.
hl
D’après (6.9) et (6.8), Pn+1 (v) peut se définir récursivement, pour v ∈ R par :
d X d
hl
Pn+1 (v) = Pnhl (w) + hl
d.a(v)Pn−1 (v) + (1 − d)Z(v) (6.11)
d(v) + 1 w→v d(v)
L’équation (6.11) est une récurrence à deux termes, dont on sait qu’elle converge vers un
hl
point fixe. Comme seul le point fixe nous intéresse, on peut remplacer Pn−1 par Pnhl en gardant
8. On notera au passage que nous n’avons pas besoin d’écrire explicitement la matrice des transitions associée,
qui est une matrice carrée de taille |V | + |E|. Il nous suffit de savoir que cette matrice existe et que c’est elle qui
régit implicitement notre processus.
119
Chap. 6 — BACK R ANK
une convergence vers le même point fixe (méthode de Gauss-Seidel). On obtient ainsi l’équation
(6.12).
d X d
hl
Pn+1 (v) = Pnhl (w) + d.a(v)Pnhl (v) + (1 − d)Z(v) (6.12)
d(v) + 1 w→v d(v)
On remarquera au passage que les itérations se font sur les sommets de degré sortant non
nul : il y a un effeuillage implicite, semblable à ce qui se pratique pour les PageRanks standards
(cf section 5.4.4).
Après que le vecteur Pnhl a convergé vers un vecteur P hl , il reste à effectuer le « remplumage »
pour obtenir la distribution asymptotique de présence P :
X
P (v) = P hl (w) + P ib (v)
w→v
X
= P hl (w) + d.a(v).P hl (v) + (1 − d)Z(v) (6.13)
w→v
Nous avons maintenant tous les éléments constitutifs de l’algorithme BackRank (algorithme 8
page 125). On remarquera au passage qu’il n’y a pas besoin d’effectuer de renormalisation,
puisqu’il y a convergence vers un point fixe.
6.4.2 Résultats
Une fois un algorithme complètement défini, il faut le soumettre à l’épreuve du feu. Afin d’ef-
fectuer des comparaisons, il nous fallait un baril de lessive X, et c’est le PageRank µ-compensé
défini dans l’algorithme 4 qui a été choisi. C’est en effet le PageRank le plus simple garantissant
un contrôle stochastique total, mis à part le PageRank non-compensé bien sûr 9 . La technique
d’effeuillage-remplumage a été rajoutée par souci d’équité par rapport à BackRank, qui la réa-
lise implicitement, et aussi afin d’être plus réaliste (c’est la méthode qui semble être employée en
pratique pour les calculs off-line sur de très gros graphes, et BackRank est conçu pour supporter
de très gros graphes.). Pour les deux algorithmes, nous avons pris d = 0, 85 (sauf indication
contraire) et Z est la distribution uniforme sur la rafle R.
Le test a porté sur un crawl de 8 millions d’URLs qui, pour des raisons techniques 10 est
scindé en deux échantillons de 4 millions d’URLs.
Convergence
Un des premiers critères de viabilité d’un algorithme de type PageRank est sa vitesse de
convergence. La figure 6.3 compare, sur une échelle semi-logarithmique, la valeur du paramètre
9. Nous avons gardé la compensation pour rendre les comparaisons plus simples, puisqu’ainsi les deux concur-
rents fournissent une distribution de probabilité.
10. Les algorithmes tournent sous Matlab.
120
6.4 — A LGORITHME PRATIQUE : BACK R ANK
de convergence δ au bout de n itérations. Pour BackRank, la condition δ < 10−10 est atteinte
au bout de 87 itérations dans les deux échantillons, alors que pour PageRank, il faut entre 126
et 127 itérations. Nous avons mesuré la raison de la décroissance géométrique observée à 10−10 ,
et trouvé 0, 844 pour le PageRank standard (la convergence est toujours inférieure à d, mais
tend asymptotiquement vers d) contre 0, 809 pour BackRank. Nous supposons que cet écart, qui
explique les performances de BackRank, est du au fait qu’à la différence de PageRank, BackRank
utilise implicitement une méthode de Gauss-Seidel partielle. Or, il a été montré que l’utilisation
d’une méthode de type Gauss-Seidel améliore considérablement la convergence d’un PageRank
[ANTT01].
Nous nous devons de préciser que les algorithmes utilisés sont, aux jeux de réécriture près 11 ,
exactement ceux décrits dans cet ouvrage. En particulier, les méthodes de la puissance employées
sont vraiment des méthodes de la puissance. Pour une étude plus complète des performances de
convergence de BackRank, il faudrait étudier comment il se comporte soumis aux nombreuses
méthodes d’accélération de la convergence qui existent [ANTT01, Hav99, KHMG03b].
Pour conclure cette étude de la convergence, précisons que sur les échantillons considérés,
une itération de BackRank prend en moyenne 2 secondes contre 3 secondes pour PageRank. Cette
différence vient du fait que toutes les constantes de calcul, y compris la matrice d’adjacence,
tiennent en mémoire vive. La µ-compensation a donc un coût non négligeable dans une itération.
En fait, même par rapport à un PageRank non-compensé avec estimation de δ, BackRank ne
présente qu’un faible surcoût, de l’ordre de 5%.
Le remplumage
La finalisation du calcul du PageRank, que nous appelons remplumage, est une phase assez
peu décrite. Selon [PBMW98], après convergence du PageRank sur le graphe restreint aux som-
mets de degré sortant non nul, les pages sans lien sont rajoutées au processus, sans affecter les
choses de manière significative 12 . Mais afin d’attribuer à ces nouvelles pages une importance, il
faut bien réaliser au moins une itération de PageRank, ce qui implique de modifier la plupart des
constantes. Dans notre essai, nous avons choisi d’effectuer quatre itérations sur le graphe complet
après convergence sur le graphe effeuillé. Outre des itérations plus lentes (6 secondes, sachant
qu’environ 50% des pages des échantillons étaient des pages sans lien), on constate, comme dans
la section 5.4.4 page 97, la réinitialisation du paramètre δ (cf figure 6.3) : au bout de quatre ité-
rations, on est au même niveau qu’après huit itérations de la boucle principale, c’est-à-dire loin
d’un état stationnaire. . .
Pour BackRank, le remplumage est beaucoup moins problématique, puisqu’il se limite à
l’application de (6.13) une seule et unique fois. Inutile donc de démarrer une nouvelle série
d’itérations. Précisons quand même pour être honnête que puisque δ se rapporte à P hl et non P ,
les variations sur P peuvent être plus grandes que δ. Expérimentalement, il semble effectivement
121
Chap. 6 — BACK R ANK
0
10
−2
10
Variation δ entre deux itérations
−4
10
−6
10
−8
10
−10
Boucle principale
10 Remplumage
BackRank
−12
10
0 20 40 60 80 100 120 140
Itérations
que lorsque δ est aux alentours de 10−10 , les variations au niveau de P sont de l’ordre de 10−9
(légèrement inférieures en fait). Ce résultat reste malgré tout plus qu’acceptable, surtout au regard
des variations de 10−1 générées par le remplumage du PageRank.
Classement
Les performances techniques ne sont que la moitié des critères d’évaluation d’un algorithme
de type PageRank. Il faut aussi tester la pertinence du classement par importance induit par la
distribution de probabilité obtenue. Une première approche consiste à comparer quantitativement
les résultats renvoyés par BackRank et ceux renvoyés par le PageRank de référence. La figure 6.4
présente une telle comparaison, en donnant le pourcentage de pages communes aux n premières
pages renvoyées respectivement par BackRank et PageRank. On observe des fluctuations impor-
tantes sur les toutes premières pages. Au fur et à mesure que le nombre de pages considérées
augmente, le chevauchement se stabilise, pour arriver à une valeur relativement stable de 0, 845
lorsque le nombre de pages considérées s’approche de 1% de la taille de l’échantillon (40000
pages). Ceci tend à prouver que BackRank offre des résultats assez proches de ceux renvoyés par
PageRank, avec quelques spécificités.
Ce chevauchement à 1% stabilisé valant 0, 845 pour les deux échantillons nous a intrigués.
122
6.4 — A LGORITHME PRATIQUE : BACK R ANK
90
80
Similitude des n premières pages (%)
70
60
50
40
30
20
Échantillon 1
10 Échantillon 2
0
0 1 2 3 4 5
10 10 10 10 10 10
n
En étudiant le phénomène de plus près, nous avons remarqué que le taux de chevauchement à 1%
est une variable qui ne dépend que de d (sur nos échantillons en tout cas). La figure 6.5 montre
ce lien entre d et chevauchement à 1% pour 0 ≤ d ≤ 1. On remarquera en particulier que :
• Le chevauchement est une fonction décroissante de d. On retrouve l’idée, évoquée dans la
section 5.3.5, du rôle lisseur du facteur zap.
• En particulier, le chevauchement tend vers 1 lorsque d tend vers 0, ce qui signifie que
BackRank tend, tout comme PageRank, vers la distribution par degré entrant (cf 5.3.5).
• Le chevauchement tend vers 50% lorsque d tend vers 1, ce qui semble indiquer que Back-
Rank est intrinsèquement à moitié différent (ou à moitié semblable ?) du PageRank stan-
dard. Il ne faut cependant pas oublier que lorsque d = 1, le classement est sclérosé par
les puits de rang et n’a plus forcément de sens. Vérification sur quelques URLs faite, ce
chevauchement de 50% veut en effet seulement dire que BackRank ne se fait pas piéger
sur exactement les même puits que PageRank.
Nous sommes conscients de ne donner ici quelques indices de la qualité du classement par
BackRank. En toute rigueur, une validation complète nécessiterait d’incorporer BackRank dans
un moteur de recherche et d’effectuer une série de tests de satisfaction sur une population témoin.
À défaut, nous nous contenterons d’utiliser le lecteur comme population témoin, qui pourra com-
parer dans les listes 1, 2, 3 et 4 les 10 premières pages renvoyées par BackRank et PageRank sur
123
Chap. 6 — BACK R ANK
0.9
0.8
0.7
0.6
0.5
0.4
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
d
les deux échantillons considérés. On remarquera par exemple que la page principale du CNRS est
classé par BackRank, mais pas par PageRank (en fait, elle est 16ème ), alors que pour l’Éducation
Nationale, c’est l’inverse (page classée également 16ème , mais par BackRank cette fois).
124
6.4 — A LGORITHME PRATIQUE : BACK R ANK
Données
• une matrice d’adjacence M d’un graphe quelconque G = (V, E), avec V = (R ∪ S), où
R est l’ensemble des pages avec lien, S celui des pages sans lien ;
• une distribution de zap Z sur R recouvrante ;
• un coefficient de zap d ∈]0, 1[ ;
• un réel .
Résultat
Le vecteur de PageRank P du modèle Back irréversible avec zap.
début
D = M 1tn
T = 1./(D + 1tn )
A = M.T
T = TR
D = DR
C = 1./D
B = d.C.× AR
Y = d(1 − d)C.× Z
N = MR
R0 = dC.× Z
répéter
Rn+1 = T.× (N t Rn ) + B.× Rn
Rn+1 = dRn+1
Rn+1 = Rn+1 + Y
δ = kRn+1 − Rn k1
jusqu’à δ <
Rn+1 → Rn+1 sur V (nul sur S)
P = M t Rn+1 + dA.× Rn+1 + (1 − d)Z
fin
125
Chap. 6 — BACK R ANK
126
6.4 — A LGORITHME PRATIQUE : BACK R ANK
127
Chapitre 7
’ OBJET de ce chapitre, qui est une extension de [MV03a] et de [MV04], est d’étudier com-
L ment le PageRank se comporte en regard de la structure de site présentée lors de la partie
I, section 3.3. Nous allons montrer qu’il existe une décomposition naturelle du PageRank en
deux terme, le PageRank interne et le PageRank externe. Cette décomposition permet de mieux
comprendre les rôles joués par les liens internes et externes. Une première application est un
algorithme d’estimation du PageRank local à l’intérieur d’un site. Nous allons également mon-
trer quelques résultats quantitatifs sur les possibilités offertes à un site d’augmenter son propre
PageRank.
Plus précisément, la section 7.1 présente sommairement les différentes contributions exis-
tantes quant à l’utilisation de la structure en sites du Web pour calculer un PageRank. La section
7.2 précise quelles seront les hypothèses et conventions utilisées. Les notions de PageRank in-
terne et externe seront introduites lors de la section 7.3, et appliquées à un algorithme théorique
décomposé de PageRank dans la section 7.4. Enfin, après avoir profité dans la section 7.5 de
129
Chap. 7 — D ÉCOMPOSITION FINE DU PAGE R ANK
l’étude des variations locales du PageRank pour introduire le facteur zap dans notre modélisa-
tion, nous donnerons dans la section 7.6 des algorithmes applicables aux graphes réels.
7.2 Hypothèses
Nous avons vu qu’une définition structurelle d’un site pouvait être un ensemble de pages
étroitement reliées entre elles par des hyperliens. La structure en blocs de la matrice d’adjacence
(cf figures 3.5 et 3.6, pages 47 et 49) nous permet d’espérer de nombreuses méthodes pour
décomposer un graphe du Web en sites, et la section 3.3 page 40 nous en donne une. Pour la
suite de ce chapitre, nous supposerons donc que notre graphe du Web est muni d’une partition
qui permet de le décomposer en sites, notée S = (S1 , . . . , Sk ), avec k > 1.
Dans un premier temps, nous nous placerons dans le cas idéal où le graphe du Web G =
(V, E) considéré est fortement connexe et apériodique. Nous supposerons également l’absence
de lien d’une page vers elle-même.
Comme il a été vu lors de la section 5.3.1, si l’on considère la matrice A définie par
1 si v→w,
A = (av,w )v,w∈V , avec av,w = d(v) ,
0 sinon.
on sait qu’il existe une unique distribution de probabilité, notée P , vérifiant
130
7.3 — PAGE R ANK INTERNE , PAGE R ANK EXTERNE
P = At P (7.1)
Nous allons chercher à mettre en évidence les liens entre P et S.
• Le PageRank entrant interne Pei (resp. PageRank entrant externe Pee ) d’une page v de V
est la probabilité, lorsque le surfeur aléatoire est en régime stationnaire, de venir en v à
partir d’une page de S(v) (resp. à partir d’une page de V rS(v)). De cette définition sont
déduites les équations (7.2) et (7.3) :
• Le PageRank sortant interne Psi (resp. PageRank sortant externe Pse ) d’une page v de V
est la probabilité, lorsque le surfeur aléatoire est en régime stationnaire, d’aller de v à une
page de S(v) (resp. à une page de V rS(v)). Les équations (7.4) et (7.5) formalisent cette
définition :
131
Chap. 7 — D ÉCOMPOSITION FINE DU PAGE R ANK
Théorème 12 Soit S un site. Les PageRanks entrant externe et sortant externe de S sont égaux :
X X X P (w)
Pei (S) = Pei (v) = (7.8)
v∈S v∈S w→v, w∈S
d(w)
X X P (w) X
= = Psi (w) (7.9)
w∈S v←w, v∈S
d(w) w∈S
= Psi (S) (7.10)
Pse (S) = Pee (S) + Pei (S) − Psi (S) = Pee (S)
La loi de conservation externe (7.6) nous montre qu’un site restitue, à travers le PageRank
sortant externe, exactement le PageRank qu’il reçoit (le PageRank entrant externe). Comme di-
sait Lavoisier, rien ne se perd, rien ne se crée, tout se transforme. Si l’on considère le flot de
PageRank sur le graphe quotient G/S, il y a donc conservation du flot (cf figure 7.1). Cette
remarque est à la base du calcul décomposé du PageRank.
Remarque 11
Une autre façon, peut-être plus simple, de prouver le théorème 12 aurait été de considérer di-
rectement le PageRank en tant que flot stationnaire. Il est alors évident que le flot sur tout sous-
ensemble S de V est également stationnaire. Nous avons préféré l’approche matricielle car c’est
132
7.4 — D ÉCOMPOSITION DU CALCUL DU PAGE R ANK
celle que nous continuerons d’utiliser par la suite, même si nous essaierons toujours d’interpréter
les résultats en terme de flot quand cela sera possible.
Preuve : Il nous suffit de montrer que AS est sous-irréductible. Cela prouvera que son rayon
spectral est strictement inférieur à 1 (théorème 5, remarque 3), et donc que (Id − AtS) est inver-
sible.
Raisonnons par l’absurde : si AS n’est pas sous-irréductible, il existe au moins une compo-
sante fortement connexe stochastique dans le graphe des transitions associé à AS. Cette compo-
sante est forcément interne à un site puisqu’il n’y a aucun lien externe. Elle existe donc aussi dans
A, qui ne peut alors être irréductible que si la composante est V tout entier, ce qui est impossible
(nous avons fait l’hypothèse que A était irréductible et que S contenait au moins deux sites).
Le lemme 2 nous permet alors d’exprimer P comme une fonction du PageRank entrant ex-
terne Pee :
133
Chap. 7 — D ÉCOMPOSITION FINE DU PAGE R ANK
Pour calculer le PageRank d’un site S, il suffit donc de connaître sa structure interne, à travers
la matrice AS , et le PageRank entrant externe qu’il reçoit des autres.
Remarque 12 P
La matrice (Id − AtS)−1 = ∞ t k
k=0 (AS) , qui est tout comme AS une matrice diagonale par blocs,
peut s’interpréter comme la matrice de transition de tous les chemins internes possibles. En effet,
pour v, w ∈ V , (AS)kv,w représente la probabilité d’aller de v à w par un chemin de longueur k
qui ne suit que des liens internes (en particulier, (AS)kv,w = 0 si S(v) 6= S(w).)
∞
X
Ate = At (AtS)k − (AtS)k+1
k=0
∞
X
t
= A + At (AtS)k − (AtS)k
k=1
∞
X
t t
= A + A M − M , avec M = (AtS)k
k=1
134
7.4 — D ÉCOMPOSITION DU CALCUL DU PAGE R ANK
Ainsi, la somme de chaque colonne de At M − M estP nulle,t ce qui montre que Ae est sto-
chastique, puisque la somme de chaque colonne w vaut v∈V Av,w = 1.
Lemme 4 Soit Vint l’ensemble des pages sans lien entrant externe, et Vext celui des pages pos-
sédant au moins un lien entrant externe. Si l’on réordonne les pages selon (Vint , Vext ), alors Ae
peut s’écrire
0 T
Ae = ,
0 Ãe
Preuve : Les colonnes de (A − AS) correspondant à des pages de Vint sont nulles. Il en est donc
de même de celles de Ae , ce qui montre que Ae peut s’écrire sous la forme
0 T
Ae =
0 Ãe
Ãe est stochastique, puisque Ae l’est. Il reste à montrer qu’elle est irréductible. Considérons
deux sommets v et w de Vext , et un chemin C = v, . . . , w qui mène de v à w dans G. Soit
i0 , i1 , . . . , ik−1 , ik la suite de sommets obtenue en ne conservant dans C que les sommets de Vext
(i0 = v et ik = w). Alors, i0 , i1 , . . . , ik−1 , ik est un chemin dans le graphe induit par Ãe . En effet,
entre il−1 et il , il existe un sous-chemin de C constitué d’un chemin interne à S(il−1 ), puis d’un
saut externe menant à il . D’après la définition de Ae , nous avons donc
i0 , i1 , . . . , ik−1 , ik est donc bien un chemin dans le graphe induit par Ãe , ce qui montre que
Ãe est irréductible.
C.Q.F.D.
1
Ae possède donc un PageRank unique, qui est nul sur Vint et est égal au PageRank de Ãe sur
Vext . Sous réserve d’apériodicité, il peut être calculé de manière itérative. Seuls les coefficients
de Ãe sont nécessaires pour calculer ce PageRank. Bien que nous n’ayons pas fait de recherches
poussées d’estimation de la taille de Vext , les quelques analyses que nous avons pu effectuer,
autant sur des crawls que sur des logs de serveurs (en particulier ceux de l’INRIA) semblent
indiquer que l’on peut espérer |Vext | ≤ 0.1 |V |.
1. Ce résultat est naturel : une page qui n’a pas de lien entrant externe ne peut pas recevoir du PageRank entrant
externe.
135
Chap. 7 — D ÉCOMPOSITION FINE DU PAGE R ANK
136
7.5 — I NTERMEZZO : MODIFIER SON PROPRE PAGE R ANK
P (S)
α(S) =
Pee (S)
Puisque P = (Id−AtS)−1 Pee , α(S) dépend seulement de la structure de S et de la distribution
du PageRank externe sur S 3 .
La seule connaissance de S nous donne une estimation de α(S) :
1 1
≤ α(S) ≤ (7.14)
1−ω 1−Ω
di (v) di (v)
avec ω = minv∈S d(v)
and Ω = maxv∈S d(v)
.
Preuve : Si l’on considère l’espace vectoriel associé à S, pour tout vecteur élémentaire ev , v ∈
S, nous avons kAS (ev )k1 = dd(v)
i (v)
, et donc ω kXk1 ≤ kASXk1 ≤ Ω kXk1 pour tout vecteur
X > 0 défini sur S.
On en déduit la première inégalité de (7.14) :
X X ∞
X 1
P (S) = P (v) = (AtS )k (Pee ) ≥ ω k kPee k1 = Pee (S)
v∈S k∈N k=0
1−ω
1
X X ∞
X 1
P (S) = P (v) = (AtS )k (Pee ) ≤ Ωk kPee k1 = Pee (S)
v∈S k∈N k=0
1−Ω
1
La conséquence de (7.14) est que dès que Ω = 1, rien n’empêche un site d’amplifier arbi-
trairement un PageRank. Dans le cas limite où ω = 1 (site sans lien sortant externe, par exemple
un site commercial n’ayant pas envie que l’internaute aille voir ailleurs), on a une amplification
infinie et un phénomène de court-circuit. Nous retrouvons le phénomène bien connu du puits de
rang (cf [PBMW98]), vu cette fois du point de vue de l’amplification : un ensemble de pages
En dépit de soupçons quant à l’impartialité de Google quand il s’agit de définir une pouponnière, la société Google
n’a jamais été reconnue coupable : un moteur de recherche classe ses résultats comme il l’entend.
3. Notons que cette distribution peut dans une certaine mesure être influencée par des modifications de la structure
de S. Mais comme nous l’avons vu, des variations trop importantes peuvent être le signe d’une pouponnière.
137
Chap. 7 — D ÉCOMPOSITION FINE DU PAGE R ANK
sans lien sortant va absorber et accumuler tout le PageRank externe reçu jusqu’à épuisement du
flot.
Heureusement, la sur-amplification est contrôlée par le facteur zap.
138
7.5 — I NTERMEZZO : MODIFIER SON PROPRE PAGE R ANK
P (S)
Lemme 7 Le facteur d’amplification α0 défini par α0 (S) = Pie (S)+Pind (S)
vérifie
1 1
≤ α0 (S) ≤ . (7.16)
1 − dω 1 − dΩ
Preuve : On procède exactement comme pour la preuve du lemme 6. Si l’on considère un site
fixé S, et si l’on restreint Pee et Pdis à leurs valeurs sur S, la première inégalité s’obtient en
écrivant
X X
P (S) = P (v) = (dAtS )k (Pee + Pind )
v∈S k∈N 1
∞
X
≥ (dω)k (kPee k1 + kPind k1 )
k=0
1
≥ (Pee (S) + Pind (S))
1 − dω
139
Chap. 7 — D ÉCOMPOSITION FINE DU PAGE R ANK
X X
P (S) = P (v) = (dAtS )k (Pee + Pind )
v∈S k∈N 1
X∞
≤ (dΩ)k (kPee k1 + kPind k1 )
k=0
1
≤ (Pee (S) + Pind (S))
1 − dΩ
Valeur numérique
Pour un site réel, il est tout à fait possible d’avoir ω = Ω = 0 (site dépourvu de lien in-
terne), ou au contraire ω = Ω = 1 (site sans lien externe, et dont toutes les pages possèdent au
moins un lien). Ainsi, le coefficient d’amplification peut varier entre 1 (le site ne tire aucun profit
1
du PageRank qu’il reçoit) et 1−d (utilisation maximale du PageRank reçu). Comme d est une
constante universelle qui vaut 0, 85, on en conclut qu’à PageRank entrant externe total fixé, le
PageRank d’un site peut selon sa structure varier avec un facteur 203
. Par exemple un site très mal
structuré peut en se restructurant avoir un nouveau PageRank égal à environ 666% 5 fois l’ancien
PageRank.
Robustesse du PageRank
Bianchini et al. [BGS02, BGS03] montrent que l’effet que peut produire un site sur le Web
est controlé par le PageRank de ce site. Plus précisément, si l’on considère un graphe dynamique
entre deux instants t et t + 1, ils ont prouvé que :
X 2d X
|Pt (v) − Pt+1 (v)| ≤ Pt (s) (7.17)
v∈V
1 − d s∈S
5. Ce joli chiffre est une preuve supplémentaire de la nécessité d’avoir 0, 85 comme valeur de d.
140
7.5 — I NTERMEZZO : MODIFIER SON PROPRE PAGE R ANK
Pee (S) 1 + nd
P (v0 ) ≤ 2
+ , (7.19)
1−d (1 + d) |V |
avec égalité si, et seulement si, tout le PageRank entrant externe est concentré sur v0 , c’est-à-dire
Pee (S) = Pee (v0 ).
On déduit de tout cela quelques stratégies pour améliorer le PageRank d’une page v0 , qui
recoupent les recommandations que l’on peut trouver sur de nombreux sites destinés à l’amélio-
ration de son PageRank :
• Demander aux administrateurs d’autres sites de toujours pointer, dans la mesure du pos-
sible, sur la page principale plutôt que sur une page spécifique. Éventuellement, mettre des
scripts qui redirigent vers la page d’accueil tout accès d’une page extérieure au site 6 .
• Toujours penser à mettre des liens de retour vers la page d’accueil, et limiter autant que
possible la profondeur du site (et donc la dissipation). Dans le cas particulier des sites
à frames, mettre des balises <noframe> à l’intérieur desquelles la structure en étoile est
explicitement représentée.
Concluons enfin par quelques remarques valables si Z est la distribution uniforme :
• Avec la stratégie optimale, un site formé simplement de deux pages qui pointent l’une
sur l’autre possède un PageRank qui est au moins égal au PageRank moyen, même si le
PageRank entrant externe est nul : P (v0 ) ≥ |V1 | .
6. Cette recommandation est à prendre avec précaution : la façon dont Google considère les redirections n’est
pas très claire. De plus, cela peut rendre la navigation moins ergonomique pour l’internaute.
141
Chap. 7 — D ÉCOMPOSITION FINE DU PAGE R ANK
• Si 1 n ≤ |V | (par exemple un site qui génère dynamiquement des pages pointant sur
v0 , comme un site de consultation d’une base donnée avec des liens autres que des formu-
laires), le rapport PPmoyen
(v0 ) d
vaut approximativement 1+d n. Il est donc possible d’augmenter
linéairement son PageRank sur v0 . Dans la réalité, ceci est valable à condition que les ro-
bots de Google prennent la peine d’explorer toutes les pages 7 , et que le but de toutes ces
pages ne soit pas uniquement d’augmenter son PageRank 8 .
Preuve :
La preuve est similaire à celle du lemme 3 : nous montrons en effet que Ae est sous-stochastique
(au sens large). Nous allons pour cela montrer que le rayon spectral de dAe est inférieur à d.
Comme Ae est positive, il suffit, d’après le théorème de Perron-Frobenius, de montrer que pour
tout vecteur X positif, kdAte Xk1 ≤ d kXk1 . Pour cela, nous commençons par réécrire dAte :
7. À mon grand regret, Google n’a pas encore fini d’explorer la page qui pointe vers toutes les pages (cf section
1.4 page 21), ce qui explique que cette dernière n’ait pas encore un PageRank maximal. . .
8. Dans le cas contraire, attention à la sanction.
142
7.6 — C AS RÉEL : F LOW R ANK ET B LOW R ANK
∞
X
dAte = dAt (dAtS)k − (dAtS)k+1
k=0
∞
X
= dAt + dAt (dAtS)k − (dAtS)k
k=1
∞
X
t t
= dA + dA M − M , avec M = (dAtS)k
k=1
0 ≤ dAte X 1
= dAt X 1
+ dAt M X 1
− kM Xk1
Le rayon spectral de At étant inférieur à 1, on a kdAt M Xk1 ≤ kM Xk1 , d’où
dAte X 1
≤ dAt X 1
≤ d kXk1
C.Q.F.D.
Remarque 13
L’inégalité kdAt M Xk1 ≤ kM Xk1 utilisée dans la preuve du lemme 8 est très grossière. Dans
la pratique, on peut donc légitimement s’attendre à ce que le rayon spectral de Ae soit plus petit
que 1, et donc que l’équation 7.21 permette de trouver Pee avec une raison de convergence plus
petite que d. Les résultats présentés par Arasu et al. (cf [ANTT01]) vont dans ce sens et nous
autorisent à espérer une convergence très rapide en pratique.
143
Chap. 7 — D ÉCOMPOSITION FINE DU PAGE R ANK
Une fois que l’on a une estimation de (Pee )S , il faut l’équilibrer par rapport à ZS . Une ma-
nière, parmi beaucoup d’autres, de réaliser cet équilibrage est de faire une moyenne pondérée
des deux vecteurs. On pourra par exemple renvoyer comme estimation normalisée du PageRank
sur S
(Pee )S ZS
PS = SpeedRank AS , d + (1 − d)
k(Pee )S k1 kZS k1
On remarquera au passage que la source de rang est alors normalisée à 1 quelque soit l’en-
vergure du site S considéré. Comme il s’agit juste d’estimer l’importance relative des pages à
l’intérieur de S, cela ne pose aucun problème.
144
7.6 — C AS RÉEL : F LOW R ANK ET B LOW R ANK
145
Chap. 7 — D ÉCOMPOSITION FINE DU PAGE R ANK
146
7.6 — C AS RÉEL : F LOW R ANK ET B LOW R ANK
Données
• un graphe du web G = (V, E) ;
• une partition en sites de G, S = (S1 , . . . , Sk ) ;
• une distribution de probabilité Z recouvrante ;
• un coefficient de zap d ∈]0, 1[ ;
• un réel ;
• une fonction SpeedRank, inspirée de l’algorithme 5, telle que P = SpeedRank(M, X)
vérifie P = dM t P + X, avec une précision .
Résultat
Le vecteur de PageRank non-compensé associé à (G, Z, d).
début
Ae = 0|Vext |×|Vext |
pour Chaque site S de S faire
Calculer AS , sous-matrice |S| × |S| de AS
Calculer ĀS , sous-matrice |S| × |Vext | de (A − AS)
ZSe = d(1 − d)ĀtS SpeedRank(AS , ZS )
pour Chaque page v de S ∩ Vext faire
(Ate )∗,v = ĀtS SpeedRank(AS , ev )
fin
fin P
Ze = S∈S ZSe
Pee = SpeedRank(Ae , Ze )
pour Chaque site S de S faire
PS = SpeedRank(AS , (Pee )S + (1 − d)ZS )
fin
fin
147
Chap. 7 — D ÉCOMPOSITION FINE DU PAGE R ANK
Données
• un graphe du web G = (V, E) ;
• une partition en sites de G, S = (S1 , . . . , Sk ), chaque site S étant associé à une distribution
de probabilité DS ;
• une distribution de probabilité Z recouvrante ;
• un coefficient de zap d ∈]0, 1[ ;
• un réel ;
• une fonction SpeedRank, inspirée de l’algorithme 5, telle que P = SpeedRank(M, X)
vérifie P = dM t P + X, avec une précision .
Résultat
Une estimation du vecteur de PageRank non-compensé associé à (G, Z, d).
début
Be = 0k×k
pour Chaque site S de S faire
AS = (Av,wP ), pour v et w dans S
(ĀS )v,T = Av,w , pour v ∈ S et T 6= S
w←v
w∈T
ZSi = SpeedRank(AS , (1 − d)ZS )
ZSe = dĀtS ZSi
BS = SpeedRank(AS , DS )
(Bet )∗,S = ĀtS BS
fin P
Ze = S∈S ZSe
Pee = SpeedRank(Be , Ze )
pour Chaque site S de S faire
PS = Pee (S)BS + ZSi
fin
fin
148
Conclusion
Au bout de ces quelques années de thèse, il m’apparaît que ma compréhension des graphes du
Web, des PageRanks et des mécanismes qui les régissent a bien augmentée depuis mes timides
débuts où, suivant une piste que m’avait tracée Daniel Krob, je cherchais à détecter des points
chauds du Web ; compréhension que je me suis efforcé de faire partager au lecteur au long de cet
ouvrage. Cette conclusion récapitule le travail déjà fait, mais aussi celui qui reste à faire.
—
Le premier chapitre a présenté cette réalisation humaine qu’est le Web. Définir ce dernier a
génèré plus de problèmes que de solutions, et face aux multiples facettes de la toile électronique,
nous avons dû limiter notre champ d’étude à ce que nous avons appelé le Web indexable.
Nous avons ensuite considéré les crawleurs, ces chalutiers du Web qui parcourent sans cesse
le Web indexable afin d’alimenter des bases de données, et avons étudié les tailles des plus
grandes de ces bases, celles des moteurs de recherche. Nous avons en particulier mis en évidence
les précautions qu’il était nécessaire de prendre face aux chiffres annoncés par les moteurs de
recherche commerciaux, qui semblent parfois fantaisistes.
Nous nous sommes alors attardés sur quelques aspects de la structure de graphe induite par
les hyperliens : la structure en nœud papillon, et les mauvaises interprétations qui en sont parfois
faites ; la structure en sites, qui est intimement liée à l’arbre de décomposition des URLs. Nous
avons laissé de côté quelques aspects structurels abondamment étudiés par ailleurs, comme la
répartition des degrés entrants et sortants [AJB99, BA99, ABJ00] ou encore la structure en pe-
tit monde des graphes du Web [Ada99, Kle99, PLH01]. Ces aspects, bien qu’intéressants, ne
rentrent pas dans le cadre de cette thèse.
—
La deuxième partie est rentrée dans le vif du sujet, les méthodes de classement de type Page-
Rank. Nous avons commencé au cours du chapitre 4 par effectuer quelques rappels sur les chaînes
149
C ONCLUSION
150
En 1907, Oskar Perron (1880-1975) a publié une théorie des matrices strictement positives,
que Georg Ferdinand Frobenius (1849-1917) a étendu en 1908, 1909 et 1912 au cas des ma-
trices positives au sens large 1 . Le théorème de Perron-Frobenius, qui résume cette théorie, est
en quelque sorte la pièce centrale de la plupart des algorithmes de convergence des matrices sto-
chastiques, et en particulier des algorithmes de PageRank. Nous avons donc cru intéressant de
mettre une démonstration en appendice, car en plus de garantir la convergence des algorithmes,
le concept de flot est inhérent à la preuve (lemme de propagation de la stricte inégalité).
Soit A = (ai,j )1≤i,j≤n une matrice carrée positive de taille n, irréductible. Alors, il existe une
valeur propre de A, notée r, strictement positive, qui a les propriétés suivantes :
(a) Il existe un vecteur propre gauche et un vecteur propre droit associés à r strictement positifs.
(b) pour toute valeur propre λ de A, |λ| ≤ r.
(c) L’espace propre associé à r est de dimension 1.
(d) Pour toute matrice B positive inférieure à A, et pour toute valeur propre β de B, |β| ≤ r,
avec égalité seulement si A = B.
(e) si 1r A a la cyclicité d, alors les valeurs de A de module r sont exactement les r.ω j , j =
2πi
1, . . . , d, avec ω = e d , et les espaces propres associés sont de dimension 1.
Preuve : Pour démontrer le théorème de Perron-Frobenius, nous aurons besoin du lemme sui-
vant, que nous appellerons lemme de propagation de la stricte inégalité.
Lemme 9 Si A est une matrice positive irréductible de taille n, et si x et y sont deux vecteurs
positifs
Pn−1 telsk
Pxn−1
que ≤ y, avec au moins une composante pour laquelle il y a inégalité stricte, alors
k
k=0 A x < k=0 A y.
En effet, soit i une composante pour laquelle il y a inégalité stricte. Comme la matrice A est
irréductible, pour chaque composante j, il existe k ∈ [0, n − 1] ∩ N tel que P (Ak )j,i > 0. On en
déduit que Ak x ≤ Ak y, avec inégalité stricte en j. En utilisant l’opérateur n−1 k
k=0 A , on s’assure
que chaque composante Pn−1 »k par propagation de la stricte inégalité présente en i. En
Pn−1 «k bénificiera
d’autres termes, k=0 A x < k=0 A y.
1. Helmut Wielandt - 1910-2001 - expose en 1950 une approche plus simple du problème, qui est celle utilisée
de nos jours.
151
A NNEXE A : T HÉORÈME DE P ERRON -F ROBENIUS
(a) Considérons l’ensemble Γ des vecteurs positifs de Rn de norme 1 (on prendra la norme 1 : si
n
P
x = (xi )1≤i≤n , kxk1 = |xi |).
i=1
Pour chaque γ de Γ, on pose
.
À l’évidence, µγ est un réel positif, puisque minoré par 0 et majoré par n kAγk∞ . Considé-
rons maintenant r = sup µγ . r est un réel (fini) strictement positif, car on a l’encadrement :
γ∈Γ
P
min1≤i≤n 1≤j≤n ai,j
0< ≤ r ≤ n kAk∞
n
Pour montrer que r est une valeur propre, considérons une suite (γn )n∈N d’éléments de Γ
telle que µγn converge vers r. Comme Γ est compact, il est possible (théorème de Bolzano-
Weierstrass) d’extraire une suite (γφ(n) )n∈N qui converge vers un vecteur γ∞ ∈ Γ.
γ∞ est un vecteur propre (à droite) de A, associé à la valeur r. En effet, nous avons rγ∞ ≤
Aγ∞ . Si il n’y a pas égalité, alors d’après le lemme 9,
Xn−1 Xn−1
r(( Ak )γ∞ ) < A(( Ak )γ∞ )
k=0 k=0
152
xi = λ−k γ∞i , si i ∈ Ik
En effet, pour i dans Ik , on a
n
X n
X
(Ax)i = ai,j xj = ai,j λ−k+1 γ∞j
j=1 j=1
n
X
= λ−k+1 ai,j γ∞j = λλ−k γ∞i = λxi
j=1
• Soit λ une valeur propre de module 1, et x un vecteur propre associé. On écrit alors :
153
A NNEXE A : T HÉORÈME DE P ERRON -F ROBENIUS
composante donnée de xi par A ont même phase. Or, par construction, les successeurs
ont aussi même phase. On peut en déduire que toutes les composantes d’une même
classe d’équivalence ont la même phase. De plus, si φ(k) est la phase de la compo-
sante Ik , alors φ(k − 1)/φ(k) = λ. Par cyclicité, et en utilisant la convention d’écriture
Id = I0 , on a :
d d
I0 Y Ik−1 Y
1= = = λ = λd
Id k=1 Ik k=1
yi = λ−k γ∞i , si i ∈ Ik .
L’espace propre associé à λ est donc de dimension 1. C.Q.F.D.
154
À partir d’une capture du graphe du site http ://www.inria.fr, nous avons appliqué un
algorithme de type PageRank pour voir quelles étaient les pages qui obtenaient le plus fort clas-
sement. Plusieurs observations intéressantes sont apparues :
Résultats Il semble assez intéressant d’analyser les dix premières URLs renvoyées par notre
algorithme de PageRank (voir tableau B.1). On constate que, tout en étant bien sûr corrélé au
classement des degrés entrant, il s’en démarque significativement (comparer les tableaux B.1 et
B.2).
Au niveau de la pertinence, les pages renvoyées par notre PageRank apparaissent bien trou-
vées dans leur ensemble (page d’accueil en première place, pages de type « index » ou « plan »),
à l’exception notable de deux pages :
http ://www.inria.fr/rapportsactivite/RA94/RA94.kw.html et
http ://www.inria.fr/rapportsactivite/RA94/RA94.pers.html.
155
A NNEXE B : P ETITE ÉTUDE DU PAGE R ANK SUR LE SITE DE L’INRIA
TAB . B.2 – Les dix URLs possédant le plus fort degré entrant
Après vérification, et comme on pouvait s’y attendre, ces deux pages s’avèrent être les deux
principaux nœuds d’un quasi-puits, à savoir rapportsactivite/RA94/. Ces deux pages, pré-
sentant à la fois un fort degré entrant et étant dans un quasi-puits, paraissent très difficiles à
écarter simplement à l’aide d’un PageRank local.
Comparaison avec Google Google attribue un classement de 9/10 à la page d’accueil de l’IN-
RIA et de 8/10 aux autres dix premières pages du PageRank local, à l’exception de
http ://www.inria.fr/rapportsactivite/RA94/RA94.kw.html et
http ://www.inria.fr/rapportsactivite/RA94/RA94.pers.html,
156
• Les deux pages RA94 avaient un PageRank local quasi-égal aux autres pages, exception
faite de la page d’accueil. Le PageRank global de Google a réussi à les isoler. On peut
avancer comme explication l’existence probable de nombreux liens de pages extérieures
vers les pages de type « index », alors qu’il est fort probable qu’il existe très peu de pages
extérieures pointant vers RA94.
• La note de 6/10 attribuée à
http ://www.inria.fr/rapportsactivite/RA94/RA94.kw.html et
http ://www.inria.fr/rapportsactivite/RA94/RA94.pers.html.
reste élevée, certainement plus élevée que ce que l’on voudrait. Beaucoup de pages d’ac-
cueil de sites considérés comme plus intéressants n’ont pas cette note.
157
C.1 — I NTRODUCTION
L’impossibilité de finir de télécharger des fichiers est une situation fréquente dans les réseaux
pair-à-pair de partage de fichiers. Si parfois ce problème semble intrinsèquement lié à la nature du
réseau, il semble que même des réseaux intelligents vis-à-vis du téléchargement peuvent aboutir
à une situation où toutes les parties du fichier sont disponibles sauf une.
Nous proposons un modèle simple et évolutif de partage de fichiers qui peut s’appliquer à
tous les protocoles de téléchargement par blocs, comme ou BitTorrent. Les simulations montrent
que le cas du fichier manquant peut se produire même pour des fichiers populaires, et donnent
quelques pistes théoriques.
Ces nouveaux résultats permettent une autre approche des problèmes de téléchargements
dans les réseaux de partage de fichiers, et de nouvelles stratégies sont proposées.
C.1 Introduction
A P2P file-sharing network is an interface that permits the exchange of data between users
arriving and departing independently. P2P issues can be classified in three categories :
• dynamical management of subjacent overlay networks[SMK+ 01, ZKJ01, RFH+ 01, HJS+ 03] ;
• publication and search of shared content[KRR01, CS02] ;
• downloading protocols.
The last domain, downloading protocols, seems less studied than the two others. However,
countless people have downloading issues every day. In this paper we focus on the “unfinished
download” case.
For example, imagine you want to download your favorite linux distribution. For more effi-
ciency, you use three of the most popular file-sharing softwares, KaZaA, MLDonkey MlDonkey[FP03]
and BitTorrent[Coh03]. Downloads start, no problem to be seen, you leave for a week. When you
come back, none of your downloads is finished, downloading is null, all you got are those mes-
sages :
KaZaA 415312kb/714204kb downloaded;
159
A NNEXE C : P ERSISTENCE ET DIFFUSION DES FICHIERS DANS LES RÉSEAUX PAIR - À - PAIR
The KaZaA message is not so surprising knowing that KaZaA peers only upload finished
downloads. As long as there exists a user sharing the whole file, downloads go on 1 , but once this
(these) user(s) quit(s), all is over. The cases of eDonkey and Bittorrent are more interesting. To
allow partially downloaded content to be shared, these protocols broke files into smaller blocks.
Experience shows it is not just bad luck if the download stagnates at the last block.
In the next section, we introduce the approach and the different assumptions used in our
model. Section C.3 shows interesting results coming from simulations of the model. In section
C.4 we present some stability results for simulations of C.3. This highlights a frequent issue in
real file-sharing networks, called missing block issue. Section C.5 compares the different upload
strategies and gives characteristics of safe states, where the data can potentially survive forever. . .
C.2 Model
The whole point of this article is to study the sharing of a single file in a totally connected
overlay network, which we call torrent. We suppose the implicite existence of a server that orga-
nizes the users but does not possess the file itself. This fits well Bittorrent protocol, as users must
connect to a so-called tracker to participate. Peers are users that want to download the file, and
that can potentially share partial content. Seeds are users that share the whole file. To resume, a
torrent is made up of S seeds and P peers trying to get a file split in K blocks.
Study of such strategies is often complex due to subjacent prisoner’s dilemma. The problem
is indeed to minimize the downloading time for each user and to maximize the probability that
the file stays in the network even for low request frequencies. The former is an individual opti-
mization but the latter benefits to the whole community, and both optimizations are made with
detriment of the other. To simplify the problem we will make the following assumptions :
• Most models are download-oriented : the peers try to download blocks they need from
peers or seeds they know. We choose an upload approach, where peers and seeds decide
which block they upload and to whom it is uploaded. Even if it does not exactly reflect the
reality, we think it makes strategy clearer without altering practical activity.
• Everyone that can upload a block to somebody will do so. Once again, reality is more
complex ([Coh03] uses a choking algorithm to stimulate the exchanges), but we have a
good approximation. Peers and seeds often choose a maximum upload bandwidth and a
1. Note that as we will see, downloads in KaZaA are less efficient than in the two others which allow partially
downloaded content to be shared.
160
C.3 — F IRST SIMULATIONS
maximum number of connections and stay stuck to these maxima. As we show in section
C.4, this leads to an interesting result, called “torpor” where upload can sometimes severely
injure a torrent.
C.3.1 Strategies
The state of a torrent at a given moment can be represented by a logical T = (tp,k )1≤p≤P
1≤k≤K
matrix where :
(
1 if user p possesses the block k
tp,k =
0 otherwise
Anytime a block upload is finished, according to our assumptions, the uploader must choose
another couple (peer, block) and begin another upload. Strategies in our model resume in strate-
gies in the choice method. We propose the following strategies :
Globally random strategy In GRS, each uploader chooses a couple (p, k) at random.
Block then peer decomposition The uploader chooses the block it will upload, then the peer
that will receive it.
Peer then block decomposition Inverse as above.
Decompositions strategies vary with the sub-choice method. We propose two basic methods :
uniformly random choice, that is self-explicit, and positive discrimination choice, where you
choose the rarest block or the poorest peer in term of download progress 2 . For simplicity, we call
decomposition strategies by initials. For example, BRPD strategy means a Block is Randomly
chosen, then the Peer is selected using positive Discrimination.
2. We remark that a decomposition strategy that uses random in both choices is not equivalent to the globally
random strategy.
161
A NNEXE C : P ERSISTENCE ET DIFFUSION DES FICHIERS DANS LES RÉSEAUX PAIR - À - PAIR
10
20
30
40
50
60
70
80
90
100
0 20 40 60 80 100 120
nz = 10567
10
20
30
40
50
60
70
80
90
100
0 20 40 60 80 100 120
nz = 12576
C.3.2 Results
We choose S = 1 and P = 100 and K = 120. Everyone has the same upload bandwidth,
so we can say the time to upload one block is the time unit. The ratio download/upload r is
infinite 3 : the number of blocks a peer can get in a time unit is not bounded.
Simulations using the GRS starting with P empty peers (the deployment phase) tend towards
two different stationary states, that we will call safe state and torpor state. Both states are roughly
equiprobable. In safe state, seeds are unnecessary and the peers suffice themselves for themselves
to keep the torrent alive. In torpor, there is a block possessed only by the seed (most of the time
no peer possesses it), all the peers are waiting forever for the missing block and contaminating
the newcomers. If the seed quits in a torpor state, the torrent dies. Figure C.3 shows the matrix T
in a typical stable state and figure C.4 shows a typical torpor state (lines represent peers ; line 0
stands for the seed).
3. Actually, for most people using ADSL, this ratio is 4 or 8. Later, we will give results for such ratios.
162
C.4 — “ TORPOR ” CHARACTERISTICS
100
80
Available blocks
60
40
20
0
0 10 20 30 40 50 60
Block Number
163
A NNEXE C : P ERSISTENCE ET DIFFUSION DES FICHIERS DANS LES RÉSEAUX PAIR - À - PAIR
164
C.5 — E FFICIENCY OF UPLOAD STRATEGIES
try to verify this hypothesis. However, equation C.22 shows that when a torpor occurs, healing
can be fastidious or even impossible. A frequent strategy for the original seed of a torrent (the
user that first offered the file to be shared) when downloads are stopping is to re-seed, that is
to reintegrate the torrent the time for new seeds to appear, then to leave. The problem is real
patients are often almost as miserly as the patients of our model. That means they stay in the
torrent a few moments after the download is complete, then leave. Then we can imagine the
following situation : after a torpor, the original seed decides to reintegrate the torrent. Rapidly,
many patients become “seeds”, so the original seed quits believing the torrent is alright. But if
the torpor is not completely healed, the odds are high for the remaining patients to contaminate
the torrent again once the “seeds” are gone.
We can wonder if it is that important if there is a block missing. With Error-Correcting Codes
(ECC), it is possible to share files that can be completed without all the blocks. But ECC alone
can not solve the problem for long : knowing a missing block is acceptable, peers will start to
behave consequently. So ECC allow a torrent to function in torpor. We just consider a virtual
torrent with K − 1 blocks. And what happen if this virtual torrent goes in torpor?
The conclusion of this section is that the missing block is a real issue in P2P networks today,
and that a real optimization of the transferts strategies can be beneficial.
165
A NNEXE C : P ERSISTENCE ET DIFFUSION DES FICHIERS DANS LES RÉSEAUX PAIR - À - PAIR
Linear strategy
Sharing a file linearly (from the first to the last block) like KaZaA protocol is not a good idea
from a torpor point of view. Even if peers do not quit as soon as they get their last block, the last
blocks of the file are very likely to miss sooner or later. The quality of deployment in a linear
strategy is also far from optimal, whatever the peer strategy is :
• If the original seed allow every peers to download its block, deployment will take P.K
time unit (assuming all peers are treated equally).
• The original seed can restrain the peers allowed to download from it to a subset of size
Q < P , so time for deployment will be Q.K time units.
• In KaZaA networks where you cannot share a file until you completely possess it, achie-
ving the minimum deployment times implies to upload to only one peer. If the original
seed quits after that, you come back to the original state, except the original seed is know
a new seed whose reliability is unknown.
Théorème 13 Given a set F = {1, ..., k}, the mean time to choose one block of each in a random
choice repeated in F is equivalent to k ln(k).
Démonstration: let Tk be the stopping time (in number of draws) when in the sequence of
number chosen each symbol 1, 2, ...k is at least one time. Then
X
E(Tk ) = Tk (ω)
ω
166
C.5 — E FFICIENCY OF UPLOAD STRATEGIES
5. with probability (1 − 1/k)ik−1 k1 one of the k − 1 last ones is chosen ik−1 times before the
last one is taken.
for one of those trajectories Tk = k + i1 + i2 + ... + ik−1 . Thus
X
E(Tk ) = (k + i1 + i2 + ... + ik−1 ).
i1 ...ik−1
k−1 1
(1/k)i1 ...(1 − 1/k)ik−1
k k
k−1 1 X
= ... (1/k) ...(1 − 2/k)ik−2 .
i1
k k i ...i
1 k−2
X
(k + i1 + i2 + ... + ik−1 )(1 − 1/k)ik−1
ik−1
(k − 1)! X
= (1/k)i1 ...(1 − 2/k)ik−2 .
k k−1 i ...i
1 k−2
1
(k − 1 + i1 + i2 + ... + ik−2 )
1 − (1 − 1/k)
X
+ (1 + ik−1 )(1 − 1/k)ik−1
ik−1
Notice that
X d 1 1 2
(i + 1)X i = ( )(X) = ( )
i∈N
dX 1 − X 1−x
C.5.3 Density
In Bittorrent, the number of distributed copies seen and the average download are often consi-
dered as indicators of wealth. As said before, each block in a safe state has roughly the same
167
A NNEXE C : P ERSISTENCE ET DIFFUSION DES FICHIERS DANS LES RÉSEAUX PAIR - À - PAIR
120
100
80
40
20
0
0 10 20 30 40 50 60
Downloaded blocks number
density, so the two parameters are basically proportional (see figure C.5). From this point of
view, peer-oriented discriminant strategies seem to be better, as most of the earlier blocks are
possessed very fast. But as we see in next paragraph, having the biggest density is not always a
good thing.
168
C.5 — E FFICIENCY OF UPLOAD STRATEGIES
16
14
12
0
0 10 20 30 40 50 60
Downloaded blocks number
f (k)
increases (C.23)
K −k
Démonstration: A peer possessing k1 blocks and declaring k2 < k1 blocks will have a average
K−k1
download speed of f (k2 ) with a proportion K−k 2
of useful blocks if the block strategy is random.
K−k1 f (k)
Thus lying is not profitable if f (k1 ) > K−k2 f (k2 ). This is the case if the function k → K−k
increases.
We remark that this result stay true in a discriminant-block strategy if the state is safe, because
all the block have roughly the same density. In a torpor state with seeds, this result is false : lying
allow the VGP to get the missing block faster than expected, with heavy cost for the torrent (one
of the few who possesses the missing block leaves sooner).
We verify easily that positive peer-discrimination does not fulfill (C.23) for k = K − 1.
Contrary, in GRS, the download speed (in a safe state) is basically an affine function of k (see
figure C.7) that fulfill (C.23). This linearity can be intuitively explained if we arbitrary change
the number of blocks k a given peer p0 possesses (all other parameters being unchanged). The
average speed download for p0 will be obviously proportional to the K − k missing blocks.
Unlinearities noted in figure C.7 comes from random fluctuations and retroactions that have
been neglected.
The conclusion of the study of VGP is that positive peer-oriented strategies are not robust, and
that it is better to sacrifice some density and homogeneity (see figure C.8 for a typical download
distribution in GRS) to gain robustness. Especially when that does not harm the global download
speed, as we have seen.
169
A NNEXE C : P ERSISTENCE ET DIFFUSION DES FICHIERS DANS LES RÉSEAUX PAIR - À - PAIR
60
55
50
45
Download progress
40
35
30
25
20
15
0 20 40 60 80 100 120
Users (sorted by download progress)
C.7 Conclusion
We gave a rather precise and intuitive survey of missing block issues. We showed that a
block-oriented discriminant strategy is more efficient than a random strategy, so we could say
Bittorrent behaves better that eDonkey from this point of view. Lastly we saw that peer-oriented
discrimination is less important, it can even be damageable regarding to bad social behavior.
These results could be used to enhance existing protocols. For example, a tracker aware of torpor
issue could anticipate it and reseeding could be more effective.
170
BIBLIOGRAPHIE
Bibliographie
171
BIBLIOGRAPHIE
172
BIBLIOGRAPHIE
173
BIBLIOGRAPHIE
174
BIBLIOGRAPHIE
668–677. San Francisco, California, 25–27 janvier 1998. Cité page(s) 41, 51, 87,
112
[Kle99] J. K LEINBERG. The small-world phenomenon : An algorithmic perspective, 1999.
Cité page(s) 149
[KRR01] J. K ANGASHARJU, J. ROBERTS, et K. ROSS. Object replication strategies in content
distribution networks, 2001.
citeseer.nj.nec.com/kangasharju01object.html Cité page(s) 159
[Lev01] S. L EVANT. http ://hipercom.inria.fr/soleil/, 2001. Cité page(s) 48
[LG98] S. L AWRENCE et C. L. G ILES. Searching the world wide web. Science, vol. 280,
pages 98–100, 1998. Cité page(s) 26, 27, 33
[LG99] S. L AWRENCE et C. L. G ILES. Accessibility of information on the web. Nature,
vol. 400, no 6740, pages 107–109, 1999. Cité page(s) 26, 27, 33, 39, 80
[LKVT00] W.-S. L I, O. KOLAK, Q. V U, et H. TAKANO. Defining logical domains in a web site.
In Proceedings of the eleventh ACM on Hypertext and hypermedia, pages 123–132.
ACM Press, 2000. ISBN 1-58113-227-1. Cité page(s) 44, 48, 51, 81
[LM04] A. N. L ANGVILLE et C. D. M EYER. Deeper inside pagerank. Rapport tech., NCSU
Center for Res. Sci Comp.„ 2004. Cité page(s) 36, 79, 84, 86, 89, 91, 92, 107, 108,
150
[Mat01] F. M ATHIEU. Structure supposée du graphe du web. Rapport tech., Première journée
Graphes Dynamiques et Graphes du Web, December 2001.
http://www.liafa.jussieu.fr/~latapy/gdgw.html Cité page(s) 11, 13, 36
[MB04] F. M ATHIEU et M. B OUKLIT. The effect of the back button in a random walk :
application for pagerank. In Alternate track papers & posters of the 13th interna-
tional conference on World Wide Web, pages 370–371. ACM Press, 2004. ISBN
1-58113-912-8. Cité page(s) 11, 13, 111
[MFJR+ 04] N. M ILIC -F RAYLING, R. J ONES, K. RODDEN, G. S MYTH, A. B LACKWELL, et
R. S OMMERER. Smartback : supporting users in back navigation. In Proceedings
of the 13th international conference on World Wide Web, pages 63–71. ACM Press,
2004. ISBN 1-58113-844-X. Cité page(s) 83, 87, 92, 112, 114, 115
[MR04] F. M ATHIEU et J. R EYNIER. File sharing in p2p : Missing block paradigm and
upload strategies. Rapport Tech. RR-5193, INRIA, May 2004.
http://www.inria.fr/rrrt/rr-5193.html Cité page(s) 12, 13
[Mur00] B. H. M URRAY. Sizing the internet. A Cyveillance White Paper, July 2000. Cité
page(s) 26
[MV02] F. M ATHIEU et L. V IENNOT. Structure intrinsèque du web. Rapport Tech. RR-4663,
INRIA, décembre 2002.
www.inria.fr/rrrt/rr-4663.html Cité page(s) 11, 13, 145
175
BIBLIOGRAPHIE
176
BIBLIOGRAPHIE
Networking 2002 (MMCN ’02). San Jose, CA, USA, January 2002.
http://www.cs.washington.edu/homes/tzoompy/publications/mmcn/
2002/abstract.html Cité page(s) 170
[She88] O. B. S HEYNIN. A a. markov’s work on probability. Archive for History of Exact
Science, vol. 39, pages 337–377, 1988. Cité page(s) 61
+
[SMK 01] I. S TOICA, R. M ORRIS, D. K ARGER, M. F. K AASHOEK, et H. BALAKRISHNAN.
Chord : A scalable peer-to-peer lookup service for internet applications. In Procee-
dings of the 2001 ACM SIGCOMM conference, pages 149–160. 2001.
citeseer.nj.nec.com/stoica01chord.html Cité page(s) 159
[SP63] D. J. DE S OLLA P RICE. Little Science, Big Science. Columbia University Press,
New York, 1963. Cité page(s) 81
[SP01] C. S HERMAN et G. P RICE. The Invisible Web : Uncovering Information Sources
Search Engines Can’t See. Independent Publishers Group, 2001. Cité page(s) 20
[Ste94] W. J. S TEWART. Introduction to the Numerical Solution of Markov Chains. Prince-
ton University Press, 1994. Cité page(s) 85
[Ste96] I. S TEWART. Monopoly revisited. Scientific American, vol. 175, pages 116–119,
October 1996. Cité page(s) 66
[Sul00] D. S ULLIVAN. Invisible web gets deeper, August 2000.
http://searchenginewatch.com/sereport/article.php/2162871 Cité
page(s) 19
[Syd04] M. S YDOW. Random surfer with back step. In Proceedings of the 13th international
World Wide Web conference on Alternate track papers & posters, pages 352–353.
ACM Press, 2004. ISBN 1-58113-912-8. Cité page(s) 113, 114
[TG97] L. TAUSCHER et S. G REENBERG. How people revisit web pages : empirical findings
and implications for the design of history systems. International Journal of Human
Computer Studies, vol. 47, no 1, pages 97–137, July 1997. Cité page(s) 83, 112
[Tom03] J. A. T OMLIN. A new paradigm for ranking pages on the world wide web. In
Proceedings of the Twelfth International World Wide Web Conference. 2003. Cité
page(s) 104
[Who04] W HO I S. http ://www.whois.net/, 2004. Cité page(s) 43
[WM04] L. WANG et C. M EINEL. Behaviour recovery and complicated pattern definition in
web usage mining. In ICWE, pages 531–544. LNCS, 2004. Cité page(s) 83, 87, 92
[YLYL95] B. Y UWONO, S. L. L AM, J. H. Y ING, et D. L. L EE. A world wide web resource dis-
covery system. In Proc. 4th International World Wide Web Conference. December
1995. Cité page(s) 80
[ZKJ01] B. Y. Z HAO, J. D. K UBIATOWICZ, et A. D. J OSEPH. Tapestry : An infrastructure for
fault-tolerant wide-area location and routing. Rapport Tech. UCB/CSD-01-1141,
UC Berkeley, avril 2001.
citeseer.nj.nec.com/zhao01tapestry.html Cité page(s) 159
177
Résumé
L’application des mesures d’importance de type PageRank aux graphes du Web est le sujet
de cette thèse, qui est divisée en deux parties. La première introduit une famille particulière de
grands graphes, les graphes du Web. Elle commence par définir la notion de Web indexable, puis
donne quelques considérations sur les tailles des portions de Web effectivement indexées. Pour
finir, elle donne et utilise quelques constatations sur les structures que l’on peut observer sur les
graphes induits par ces portions de Web.
Ensuite, la seconde partie étudie en profondeur les mesures d’importance à la PageRank.
Après un rappel sur la théorie des chaînes de Markov est présentée une classification originale
des algorithmes de PageRank, qui part du modèle le plus simple jusqu’à prendre en compte
toutes les spécificités liées aux graphes du Web. Enfin, de nouveaux algorithmes sont proposés.
L’algorithme BackRank utilise un modèle alternatif de parcours du graphe du Web pour un calcul
de PageRank plus rapide. La structure fortement clusterisée des graphes du Web permet quant à
elle de décomposer le PageRank sur les sites Web, ce qui est réalisé par les algorithmes FlowRank
et BlowRank.
Mots clés
graphes – Web – arbre de décomposition – matrices sous-stochastiques
PageRank – surfeur aléatoire – algorithmes – Retour arrière – flots d’importance
Abstract
The purpose of this thesis is to apply PageRank-like measures to Web graphs. The first part
introduces the Web graphs. First we define the notion of indexable Web, then we give an insight
on how big the effective crawls really are. Finally, we notice and use some of the structures that
exist on the portions of the Web known as Web graphs.
Then, the second part study deeply the PageRank algorithms. After a remainder on Markov
chains theory is given an original classification of PageRank algorithms. From a basic model, we
incorporate all the specificities needed to cope with real Web graphs. Lastly, new algorithms are
proposed. BackRank uses an alternative random surfer modeling leading to a faster computation.
The highly clustered structure of Web graphs allows a PageRank decomposition according to
Web sites, and is the reason for introducing the algorithms FlowRank and BlowRank.
Keywords
graphs – WWW – decomposition tree – substochastic matrix
PageRank – random walk – algorithms – backoff process – importance flows