You are on page 1of 1

Instituto Politcnico Nacional

Escuela Superior de Fsica y Matemticas

El PageRank de Google
Frente a los enormes volmenes de informacin que hoy en da fluyen por Internet, los buscadores se enfrentan a la necesidad de
ordenar la informacin que se maneja. Google ha sido durante los ltimos casi veinte aos el buscador preferido de la mayora y en parte
su xito se debe a cmo ha logrado ordenar la web, que, entre otras cosas, comprende el PageRank: un mtodo en el que a cada pgina se
le asigna una puntuacin segn las pginas que la citen, esto es que tengan un link que conduzcan a ella.

Construyendo el PageRank
Dada una red de internet que consista de pginas (identificremos a cada pgina con un ndice entre 1 y ), definamos
{1, , } como el conjunto de las pginas que tienen un link hacia y denotemos por al nmero de links de (supongamos por ahora
que todas las pginas contienen al menos un link).
Buscamos asignarle una puntuacin a todas las pginas de la red segn su relacin con las otras pginas. Denotemos la puntuacin de
la pgina por y definamos de manera recursiva:

= +
Ecuacin 3

donde , = ,0 . En el ejemplo que elegimos:


0 0 1/3
0 0
0 0 0
= 0 0 0 + 0 0 1/3 = 0 0
0 0 1/3
1 1
1 1 0

La matriz es estocstica y por lo tanto tiene a 1 como valor propio, de donde se sigue que el vector de puntuacin es
pgina 3, al ser la nica referencia de 1 y 2, hereda la importancia de stas.
Es claro que si la red no tiene pginas sin links = ( es diferente de 0 para toda y por lo tanto = 0).

Ahora supongamos una red representada por la grfica de la figura 3.


0
1
= 0
0
0

Figura 1

Por ejemplo, si tenemos una red de 4 pginas, representada por la grfica de arriba de tal modo que los vrtices representan las pginas y

las aristas (flechas dirigidas) representan los links hacia donde conducen, tendramos que 1 = 3 + 4, 2 = 1 , 3 = 1 + 2 + 4 y por
ltimo 4 =

Si definimos = 1 , 2 , 3 , 4 , podemos ver que = , donde:

Las entradas de son todas positivas y en caso de que todas las pginas tengan links la suma de las entradas de cualquier columna de
es 1. A las matrices que cumplen estas dos condiciones se les llama matrices estocsticas.
Proposicin 1. Toda matriz estocstica tiene al 1 como valor propio.
Demostracin. Sea una matriz estocstica de tamao . Los valores propios de la matriz son los mimos que los de su
transpuesta, , que por ser transpuesta de una estocstica cumple que la suma de las entradas de cualquiera de sus renglones es igual con
1. Sea el vector de longitud cuyas entradas son todas 1, tenemos entonces que = y por lo tanto es un vector propio asociado
al valor propio 1.
Probemos ahora que la forma de indizar las pginas no afecta a sus puntuaciones.
Proposicin 2. Sea una red de pginas y la red que resulta de trasponer las pginas y de . Si y son las matrices de
links asociadas a y respectivamente, entonces si es un vector propio de asociado a , = es un vector propio de asociado
a , donde es la matriz elemental que resulta de trasponer los renglones y .
Demostracin. Dado que es la misma red que salvo los ndices y que fueron traspuestos, podemos ver que si es la
trasposicin que cambia al elemento por el elemento y viceversa:
, = , , {1, , }
Recordemos ahora que , = , para toda , {1, , }, donde , es la delta de Kronecker y que = para toda
{1, , }. Luego:

,
=1

,
=1

, , =
=1

,
=1

=1

, ,
=1

, ,

0
0
0
0
1 1/2
0 1/2
0
0

1 1
, , 0, 0, 0
2 2

1 1
0, 0, , , 0
2 2

= 1 +

donde es como en la ecuacin 3. A la matriz tambin se le llama la matriz de Google.


El valor se interpreta de manera intuitiva como un salto entre las pginas: hasta ahora hemos supuesto siempre un recorrido a travs
de los links, pero si en algn momento el usuario pasara de una pgina a otra sin que entre ellas haya un link (como en el caso de una red
disconexa en el que pasa de una componente a otra) o si el usuario en algn momento se aburriera y diera un sato aleatorio hacia cualquier
otra pgina, el factor de amortiguamiento compensa este falso link [Page, 98]. Donde la matriz tiene valores 0, tiene valores / (la
1

pgina conecta con todas las dems aleatoriamente y con una importancia ), mientras que en donde no es 0, es
+ (la pgina

conecta aleatoriamente a todas las pginas salvo hacia las que tiene un link). El valor que usualmente se toma para = 0.15 [Brin, Page,
98].
Tomando dicho valor y para nuestro ejemplo tendramos que la matriz de Google para nuestra red es:
0.03 0.88 0.03 0.03 0.03
0.88 0.03 0.03 0.03 0.03
= 0.85 + .15 = 0.03 0.03 0.03 0.88 0.455
0.03 0.03 0.88 0.03 0.455
0.03 0.03 0.03 0.03 0.03
Es una matriz estocstica, tiene por un valor propio al 1 y efectivamente el vector de puntuacin es nico: =
0.2, 0.2, 0.285, 0.285, 0.03 . Notemos que al slo analizar la pgina 5 no tena relevancia, mientras que con s la tiene (aunque
sigue siendo muy baja por no ser referencia de alguna otra). Las pginas 1 y 2 y las pginas 3 y 4 tiene la misma importancia
respectivamente aunque 3 y 4 tiene ms importancia que 1 y 2 por ser referencia de una pgina ms (la 5). Es decir, si bien 5 no es
referencia de ninguna pgina, tiene importancia por el mero hecho de existir en la red, que adems hereda a sus referencias.
En general, la matriz es positiva ( tiene entradas mayores o iguales a 0, es positiva y 1 es positivo) y estocstica, pues lo
es (recordemos que las columnas de iguales a 0 fueron sustituidas por vectores con entradas 1/) y tambin lo es, luego la suma de las
entradas de alguna columna de es la suma de la misma columna de (que es 1) multiplicada por 1 ms la suma de la columna de
(que es 1) por , y por lo tanto es estocstica. Por el teorema de Perron-Frobenius, concluimos entonces que 1 es el valor propio de
Perron de , dim 1 = 1 y los vectores en 1 () tienen todas sus entradas positivas o todas sus entradas negativas. Por lo tanto,
existe un nico vector 1 () tal que =1 = 1.
Definicin. Dada una red de pginas, definimos el vector PageRank como el nico vector de entradas positivas tal que si es la
matriz de Google de , = y 1 = 1.
Nota: se puede probar que el PageRank de una matriz de Google existe sin usar el teorema de Perron-Frobenius, usando slo elementos
de lgebra lineal [Bryan, Leise, 06].

Por la definicin de la delta de Kronecker el nico elemento que aporta en la suma es tal que = , y por lo dicho anteriormente
implica que = (), y as:

0
0
0
1
0

Ecuacin 4

Es decir, encontrar el vector de puntuacin de la red implica encontrar un vector asociado al valor propio 1 de la matriz (a la cual
llamaremos la matriz de links de la red). En este caso, efectivamente hay vectores propios asociados a 1: todos los mltiplos de =
1
2, 1 3 , 3 2 , 1 . Aplicando una escala a este vector propio de tal modo que la suma de sus entradas sea 1, tenemos =
12, 4 , 9, 6 ;
31
denominemos a este vector el vector de puntuacin. De donde podemos ver que la pgina ms importante (la de mayor importancia) es la
1 (1 = 12 32 0.4138).
De manera general, la matriz de links de una red de pginas se define tal que:
1/ si tiene un link a
, =
0
en otro caso

1
0
0
0
0

Si bien es una matriz estocstica y por lo tanto tiene al 1 como valor propio, tenemos que 1 =
y 2 =
son
vectores de puntuacin que adems son linealmente independientes. No slo eso, sino que 1 le asigna una importancia 0 a la pgina 3 y
2 le asigna una importancia positiva; en ambos casos, la importancia de 5 es 0, pese a que se podra accesar al menos a dos pginas desde
ella. Esto es dado que la red es una grfica disconexa y por lo tanto su matriz de links es una matriz de bloques, todos ellos con 1 como
valor propio, por lo que existen al menos tantos vectores propios de 1 linealmente independientes como bloques en la matriz de links.
Para garantizar la unicidad del vector de puntuacin, tendramos que garantizar que si 1 () es el subespacio propio asociado al valor
propio 1 de , dim 1 = 1. Adems, como hemos visto, los vectores de puntuacin son vectores con todas sus entradas positivas. El
teorema de Perron-Frobenius [Axelsson, 94] nos garantiza que dada una matriz positiva (esto es que todas sus entradas son mayores que
0), existe un valor propio mayor que todos los dems (un valor propio de Perron) y adems dim = 1 y que los vectores propios
asociados a tienen todas las entradas positivas o todas las entradas negativas; por ltimo, garantiza que =1 , para toda (en
particular, si es estocstica, 1 y la igualdad se cumple dado que 1 es valor propio de ). Si modificramos la matriz de links por
una matriz estocstica positiva garantizaramos la unicidad del vector de puntuacin, pues 1 sera el valor propio de Perron de .
Para hacer dicha modificacin introduzcamos un factor de amortiguamiento (damping factor) (0,1). Dada una red de paginas con
1
matriz de links , tomemos la matriz tal que , = y definamos:

0
0 1 12
1
0 0 0
3
=
1
1
1
0
3
2
2
1
1
3
2 0 0

La

Redes disconexas

La pgina distribuye su importancia (puntuacin) de igual manera a todas las pginas con las que conecta.

2
.
2

1 1 2
, ,
.
5 5 5

Su matriz de links asociada es:

Ecuacin 1

1
3

1/3
1/3
1/3

= ,

=1

De donde se sigue que = .


Recordando que 2 = (intercambiar dos veces los mismos renglones los regresa a su posicin original), entonces si es un vector
propio de tal que = , entonces para = :
= = = = =
con lo que queda demostrada la proposicin.
Esto significa que al renombrar la pgina por la pgina y viceversa, la puntuacin se vuelve la puntuacin de y viceversa, como era
de esperarse.
Dado que la posible numeracin de una red de pginas es una permutacin y stas son la composicin finita de trasposiciones, por la
proposicin anterior concluimos que la numeracin no afecta la puntuacin de las pginas.
Si pudiramos garantizar que toda matriz de links es una matriz estocstica (y por lo tanto 1 es un valor propio de ella) y que el vector de
puntuacin es nico, tendramos una forma de calificar a todas las pginas de la red. Es decir, que la ecuacin:
=
Ecuacin 2

siempre tiene solucin y es nico (salvo los mltiplos escalares). Sin embargo, existen dos dificultades: las redes con pginas sin links y
las redes disconexas.

Calculando el PageRank
Entre los mtodos iterativos para calcular vectores propios el mtodo de la potencia [Watkins, 10] es uno de los ms conocidos y dice lo
siguiente:
Dada una matriz de tamao sobre los complejos y dado un vector , si tiene un valor propio dominante 1 (es decir, 1 tiene
multiplicidad algebraica 1 y es mayor que todos los dems valores propios de la matriz), entonces se cumple que:

lim
=

Ecuacin 5

donde 1 ().
En la prctica, 1 es un valor que no se conoce de antemano y el mtodo de la potencia requiere ajustes. Adems, en general, para
matrices grandes el mtodo de la potencia suele converger muy lentamente y requiere muchas operaciones. Sin embargo, para la matriz de
Google, sabemos que 1 = 1 y se sabe que el radio de convergencia para la sucesin es 0.85, por lo que es plausible usar el mtodo de la
potencia para encontrar el PageRank, donde si es como en la ecuacin 5, el PageRank ser = =1 . Otra cosa interesante es que
el nmero de iteraciones para lograr una diferencia menor que respecto al lmite es log()/log(0.85) y esto es independiente de la
red que se tome [Berkhin, 05]
Por ejemplo, para la red de la figura 1:
0.0375
0.0375 0.8875 0.4625
0.320833 0.0375 0.0375 0.0375
=
0.320833 0.4625 0.0375 0.4625
0.320833 0.4625 0.0375 0.0375

Sea = 1, 1, 1, 1 , si en cada paso redefinimos a = , entonces (en las siguiente matrices, cada columna es el vector siendo
redefinido a cada paso):
1 1.42500 1.60562 1.40092 1.48792 1.47867 1.46558 1.47560 1.47228
1 0.43333 0.55375 0.60493 0.54693 0.57158 0.56896 0.57158 0.56809
1 1.28333 1.10271 1.15389 1.16114 1.14573 1.15359 1.14573 1.15131
1 0.85833 0.73792 0.84027 0.80402 0.80402 0.81188 0.80705 0.80832
1.47215
0.56715
1.15212
0.80858

Figura 3

1.47295
0.56711
1.15180
0.80815

1.47249
0.56734
1.15182
0.80836

1.47260
0.56721
1.15187
0.80832

1.47263
0.56724
1.15184
0.80830

1.47259
0.56725
1.15185
0.80832

1.47261
0.56723
1.15185
0.80831

1.47260
0.56724
1.15185
0.80831

1.47260
0.56724
1.15185
0.80831

De donde se sigue que el PageRank es = 0.36815, 0.14181, 0.28196, 0.20208 .


Figura 2

Pginas sin links


0 0 0
Supongamos ahora una red de tres pginas representada por la grfica 2. Su matriz de links es = 0 0 0 . Podemos ver que ya
1 1 0
representa un problema, porque no es matriz estocstica y, de hecho, 1 no es un valor propio, por lo que no podramos encontrar el vector
de puntuacin que satisfaga la ecuacin 2. En general, una red con pginas sin links de salida (dangling nodes) sufrir este problema. Para
sortear esta dificultad se han desarrollado varias formas, desde omitir las pginas sin links hasta autoreferenciarlas [Berkhin, 05]. La ms
comn, sin embargo, es sustituir la columna de la pgina sin links (que es una columna de ceros por definicin) con un vector de igual
puntuacin en cada entrada. Siguiendo esta idea, modificaremos la matriz de links de una red con pginas (algunas de ellas sin links)
de la siguiente manera:

Referencias
[Axelsson, 94]
[Berkhin, 05]
[Brin, Page, 98]
[Bryan, Leise, 06]
[Page, 98]
[Watkins, 10]

Owe Axelsson. Iterative Solution Methods. New York: Cambridge University Press, 1994.
Pavel Berkhin, A Survey on PageRank computing. En Internet Mathematics Vol. 2, No. 1 (2005), pp.
73-120.
Sergey Brin y Lawrence Page. The Anatomy of a Large-Scale Hypertextual Web Search Engine. En
Computer Networks and ISDN Systems 33 (1998), pp. 107-117.
Kurt Bryan y Tania Leise The $25,000,000,000 eigenvector. The lineal algebra behind Google. En
SIAM Review, 48 (3), 569-81, 2006.
Lawrence Page, Sergey Brin, Rajeev Mowani y Terry Winograd. The PageRank citation Ranking:
Bringing Order to the Web. Reporte tcnico, Stanford University, 1998.
David S. Watkins. Fundamentals of Matrix Computations, Wiley, 2010.

You might also like