2.1 Première tentative : renormalisation
Une première possibilité pour tenter de corriger les résultats obtenus à la question avec
l’algorithme d’origine (cf. TP1) est d’appliquer une correction appelée renormalisation à
chaque itération de l’algorithme. Celle-ci consiste à diviser à chaque étape Rn+1par sa
norme, ce qui assure qu’à chaque étape, la somme des éléments de Rn+1vaut 1, et donc
que Rn+1représente une distribution de probabilité.
Exercice 2
1. Modifiez l’algorithme originel en incluant l’étape de renormalisation et implémentez
votre modification.
2. On vous propose les graphes suivants :
1. V={1, 2, 3}, E ={(1, 1),(1, 2),(2, 3)}
2. V={1, 2, 3}, E ={(1, 1),(1, 2),(1, 3),(2, 2),(2, 3)}
3. V={1, 2, 3}, E ={(1, 2),(1, 3),(2, 3)}
4. V={1, 2, 3, 4}, E ={(1, 2),(1, 3),(2, 2),(2, 4),(3, 3),(3, 4)}
5. V={1, 2, 3, 4}, E ={(1, 2),(1, 3),(2, 2),(2, 4),(3, 3)}
Testez l’algorithme avec renormalisation sur ces graphes, et comparez les résultats avec
ceux de l’algorithme originel.
3. Relevez également les résultats obtenus avec différentes distributions initiales (para-
mètre Z). Quelle caractéristique de ce vecteur est d’après vous essentielle pour pouvoir
espérer un calcul significatif ?
4. Pouvez-vous expliquer ces différents résultats ? Sont-ils entièrement satisfaisants ? Que
penser du sommet n°3 du graphe 5 ?
2.2 Seconde tentative : complétion stochastique
Une autre idée naturelle pour régler le problème des sommets sans successeurs est
la suivante : en gardant l’idée d’un surfeur aléatoire, on peut supposer qu’un utilisateur
atteignant une page sans lien sortant n’a d’autre choix que de choisir une nouvelle page
au hasard1.
Concrètement, on va chercher à « compléter » la matrice d’adjacence du graphe consi-
déré en remplaçant chaque ligne correspondant à un puits (qui ne contient donc que des
0) par la distribution initiale Z(que l’on choisit en général uniforme). On obtient l’algo-
rithme 1 de PageRank par complétion stochastique.
Exercice 3
1. Testez l’algorithme de PageRank par complétion stochastique sur les graphes fournis à
l’exercice précédent.
2. Quelles différences constatez-vous ? Quelle caractéristique des graphes pose encore
problème ?
3. Pouvez-vous imaginer d’autres moyens d’effectuer une complétion stochastique ?
1Une approche récente, plus réaliste, consiste à modéliser la touche « retour » du navigateur. Consulter la
bibliographie du cours pour plus de détails.
2