cartel
DESCRIPTION
CartelTRANSCRIPT
Instituto Politécnico NacionalEscuela Superior de Física y Matemáticas
El PageRank de Google
Frente a los enormes volúmenes de información que hoy en día fluyen por Internet, los buscadores se enfrentan a la necesidad de
ordenar la información que se maneja. Google ha sido durante los últimos casi veinte años el buscador preferido de la mayoría y en parte
su éxito se debe a cómo ha logrado ordenar la web, que, entre otras cosas, comprende el PageRank: un método en el que a cada página se
le asigna una puntuación según las páginas que la citen, esto es que tengan un link que conduzcan a ella.
Construyendo el PageRank
Dada una red de internet que consista de 𝑛 páginas (identificáremos a cada página con un índice entre 1 y 𝑛), definamos 𝐿𝑘 ⊂{1,… , 𝑛} como el conjunto de las páginas que tienen un link hacia 𝑘 y denotemos por 𝑛𝑗 al número de links de 𝑗 (supongamos por ahora
que todas las páginas contienen al menos un link).Buscamos asignarle una puntuación a todas las páginas de la red según su relación con las otras páginas. Denotemos la puntuación de
la página 𝑘 por 𝑥𝑘 y definamos de manera recursiva:
𝑥𝑘 =
𝑗∈𝐿𝑘
𝑥𝑗
𝑛𝑗
Ecuación 1
La página 𝑗 distribuye su importancia (puntuación) de igual manera a todas las páginas con las que conecta.
Figura 1
Por ejemplo, si tenemos una red de 4 páginas, representada por la gráfica de arriba de tal modo que los vértices representan las páginas y
las aristas (flechas dirigidas) representan los links hacia donde conducen, tendríamos que 𝑥1 = 𝑥3 +𝑥4
2, 𝑥2 =
𝑥1
3, 𝑥3 =
𝑥1
3+
𝑥2
2+
𝑥4
2y por
último 𝑥4 =𝑥1
3+
𝑥2
2. Si definimos 𝑥 = 𝑥1, 𝑥2, 𝑥3, 𝑥4
𝑇, podemos ver que 𝐴𝑥 = 𝑥, donde:
𝐴 =
0 0 1 1 2
1 3 0 0 0
1 3 1 2 0 1 2
1 3 1 2 0 0
Es decir, encontrar el vector de puntuación 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 múltiplos de 𝑥 =
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 𝑥 =
1
3112, 4 , 9, 6 𝑇;
denominemos a este vector el vector de puntuación. De donde podemos ver que la página más importante (la de mayor importancia) es la
1 (𝑥1 = 1232 ≈ 0.4138).
De manera general, la matriz de links 𝐴 de una red de 𝑛 páginas se define tal que:
𝐴𝑖,𝑗 = 1/𝑛𝑗 si 𝑗 tiene un link a 𝑖
0 en otro caso
Las entradas de 𝐴 son todas positivas y en caso de que todas las páginas 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 estocásticas.
Proposición 1. Toda matriz estocástica tiene al 1 como valor propio.
Demostración. Sea 𝐴 una matriz estocástica de tamaño 𝑛 × 𝑛. Los valores propios de la matriz 𝐴 son los mimos que los de su
transpuesta, 𝐴𝑇, que por ser transpuesta de una estocástica 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 páginas no afecta a sus puntuaciones.
Proposición 2. Sea 𝑊 una red de 𝑛 páginas y 𝑊′ la red que resulta de trasponer las páginas 𝑖 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 𝑗.Demostración. Dado que 𝑊′ es la misma red que 𝑊 salvo los índices 𝑖 y 𝑗 que fueron traspuestos, podemos ver que si 𝜑 es la
trasposición 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
𝑛
𝐴𝑙,𝑚𝛿𝜑 𝑚 ,𝑘
Por la definición 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í:
𝑃𝐴𝑃 ℎ,𝑘 =
𝑙=1
𝑛
𝑃ℎ,𝑙 𝐴𝑙,𝜑 𝑘 =
𝑙=1
𝑛
𝛿𝜑 ℎ ,𝑘𝐴𝑙,𝜑 𝑘 = 𝐴𝜑 ℎ ,𝜑 𝑘 = 𝐴ℎ,𝑘′
De donde se sigue que 𝑃𝐴𝑃 = 𝐴′.Recordando que 𝑃2 = 𝐼 (intercambiar dos veces los mismos renglones los regresa a su posición original), entonces si 𝑥 es un vector
propio de 𝐴 tal que 𝐴𝑥 = 𝜆𝑥, entonces para 𝑦 = 𝑃𝑥:
𝐴′𝑦 = 𝑃𝐴𝑃 𝑃𝑥 = 𝑃𝐴 𝑥 = 𝑃 𝜆𝑥 = 𝜆 𝑃𝑥 = 𝜆𝑦con lo que queda demostrada la proposición. ■
Esto significa que al renombrar la página 𝑖 por la página 𝑗 y viceversa, la puntuación 𝑖 se vuelve la puntuación de 𝑗 y viceversa, como era
de esperarse.
Dado que la posible numeración de una red de 𝑛 páginas es una permutación y éstas son la composición finita de trasposiciones, por la
proposición anterior concluimos que la numeración no afecta la puntuación de las páginas.
Si pudiéramos garantizar que toda matriz de links es una matriz estocástica (y por lo tanto 1 es un valor propio de ella) y que el vector de
puntuación es único, tendríamos una forma de calificar a todas las páginas de la red. Es decir, que la ecuación:
𝐴𝑥 = 𝑥Ecuación 2
siempre tiene solución y es único (salvo los múltiplos escalares). Sin embargo, existen dos dificultades: las redes con páginas sin links y
las redes disconexas.
Páginas sin links
Supongamos ahora una red de tres páginas representada por la gráfica 2. Su matriz de links es 𝐴 =0 0 00 0 01 1 0
. Podemos ver que ya
representa un problema, porque no es matriz estocástica y, de hecho, 1 no es un valor propio, por lo que no podríamos encontrar el vector
de puntuación que satisfaga la ecuación 2. En general, una red con páginas sin links de salida (dangling nodes) sufrirá este problema. Para
sortear esta dificultad se han desarrollado varias formas, desde omitir las páginas sin links hasta autoreferenciarlas [Berkhin, 05]. La más
común, sin embargo, es sustituir la columna de la página sin links (que es una columna de ceros por definición) con un vector de igual
puntuación en cada entrada. Siguiendo esta idea, modificaremos la matriz de links 𝐴 de una red con 𝑛 páginas (algunas de ellas sin links)
de la siguiente manera:
Figura 2
𝐴′ = 𝐴 + 𝐸Ecuación 3
donde 𝐸𝑖,𝑗 = 𝛿𝑛𝑖,0 𝑛. En el ejemplo que elegimos:
𝐴′ =0 0 00 0 01 1 0
+
0 0 1/30 0 1/30 0 1/3
=
0 0 1/30 0 1/31 1 1/3
La matriz 𝐴′ es estocástica y por lo tanto tiene a 1 como valor propio, de donde se sigue que el vector de puntuación es1
5,1
5,2
5
𝑇. La
página 3, al ser la única referencia de 1 y 2, hereda la importancia de éstas.
Es claro que si la red no tiene páginas sin links 𝐴′ = 𝐴 (𝑛𝑖 es diferente de 0 para toda 𝑖 y por lo tanto 𝐸 = 0).
Redes disconexas
Ahora supongamos una red representada por la gráfica de la figura 3.
Figura 3
Su matriz de links asociada es:
𝐴 =
0 1 0 0 01 0 0 0 00 0 0 1 1/20 0 1 0 1/20 0 0 0 0
Si bien es una matriz estocástica y por lo tanto tiene al 1 como valor propio, tenemos que 𝑤1 =1
2,1
2, 0, 0, 0
𝑇y 𝑤2 = 0, 0,
1
2,1
2, 0
𝑇son
vectores de puntuación que además son linealmente independientes. No sólo eso, sino que 𝑤1 le asigna una importancia 0 a la página 3 y
𝑤2 le asigna una importancia positiva; en ambos casos, la importancia de 5 es 0, pese a que se podría accesar al menos a dos páginas desde
ella. Esto es dado que la red es una gráfica 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 puntuación, tendríamos que garantizar que si 𝑉1(𝐴) es el subespacio propio asociado al valor
propio 1 de 𝐴, dim 𝑉1 𝐴 = 1. Además, como hemos visto, los vectores de puntuación 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 demás (un valor propio de Perron) y además 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 estocástica, 𝑟 ≥ 1 y la igualdad se cumple dado que 1 es valor propio de 𝑀). Si modificáramos la matriz de links 𝐴 por
una matriz estocástica positiva garantizaríamos la unicidad del vector de puntuación, pues 1 sería el valor propio de Perron de 𝐴.
Para hacer dicha modificación introduzcamos un factor de amortiguamiento (damping factor) 𝑚 ∈ (0,1). Dada una red de 𝑛 paginas con
matriz de links 𝐴, tomemos la matriz 𝑆 tal que 𝑆𝑖,𝑗 =1
𝑛y definamos:
𝑀 = 1 −𝑚 𝐴′ +𝑚𝑆Ecuación 4
donde 𝐴′ es como en la ecuación 3. A la matriz 𝑀 también se le llama la matriz de Google.
El valor 𝑚 se interpreta de manera intuitiva como un salto entre las páginas: hasta ahora hemos supuesto siempre un recorrido a través
de los links, pero si en algún momento el usuario pasara de una página 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 algún momento se aburriera y diera un sato aleatorio hacia cualquier
otra página, el factor de amortiguamiento compensa este falso link [Page, 98]. Donde la matriz 𝐴 tiene valores 0, 𝑀 tiene valores 𝑚/𝑛 (la
página conecta con todas las demás aleatoriamente y con una importancia 𝑚), mientras que en donde 𝐴 no es 0, 𝑀 es1−𝑚
𝑛𝑗+
𝑚
𝑛(la página
conecta aleatoriamente a todas las páginas 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 tendríamos que la matriz de Google para nuestra red es:
𝑀 = 0.85𝐴 + .15𝑆 =
0.03 0.88 0.03 0.03 0.030.88 0.03 0.03 0.03 0.030.03 0.03 0.03 0.88 0.4550.03 0.03 0.88 0.03 0.4550.03 0.03 0.03 0.03 0.03
Es una matriz estocástica, tiene por un valor propio al 1 y efectivamente el vector de puntuación es único: 𝑥 =0.2, 0.2, 0.285, 0.285, 0.03 𝑇. Notemos que al sólo analizar 𝐴 la página 5 no tenía relevancia, mientras que con 𝑀 sí la tiene (aunque
sigue siendo muy baja por no ser referencia de alguna otra). Las páginas 1 y 2 y las páginas 3 y 4 tiene la misma importancia
respectivamente aunque 3 y 4 tiene más importancia que 1 y 2 por ser referencia de una página más (la 5). Es decir, si bien 5 no es
referencia de ninguna página, tiene importancia por el mero hecho de existir en la red, que además hereda a sus referencias.
En general, la matriz 𝑀 es positiva (𝐴′ tiene entradas mayores o iguales a 0, 𝑆 es positiva y 1 −𝑚 es positivo) y estocástica, pues 𝐴′ lo
es (recordemos que las columnas de 𝐴 iguales a 0 fueron sustituidas por vectores con entradas 1/𝑛) y 𝑆 también 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 − 𝑚 más la suma de la columna de
𝑆 (que es 1) por 𝑚, y por lo tanto 𝑀 es estocástica. 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.
Definición. Dada una red 𝑊 de 𝑛 páginas, 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 sólo elementos
de álgebra lineal [Bryan, Leise, 06].
Calculando el PageRank
Entre los métodos iterativos para calcular vectores propios el método de la potencia [Watkins, 10] es uno de los más conocidos y dice lo
siguiente:
Dada una matriz 𝐴 de tamaño 𝑛 × 𝑛 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 demás valores propios de la matriz), entonces se cumple que:
lim𝑘→∞
𝐴𝑘𝑞
𝜆𝑘= 𝑣
Ecuación 5
donde 𝑣 ∈ 𝑉1(𝐴).En la práctica, 𝜆1 es un valor que no se conoce de antemano y el método de la potencia requiere ajustes. Además, en general, para
matrices grandes el método 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 sucesión es 0.85, por lo que es plausible usar el método de la
potencia para encontrar el PageRank, donde si 𝑣 es como en la ecuación 5, el PageRank será 𝑥 = 𝑣 𝑖=1𝑛 𝑣𝑖. Otra cosa interesante es que
el número de iteraciones para lograr una diferencia menor que 𝜖 respecto al límite 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.46250.320833 0.0375 0.0375 0.03750.320833 0.4625 0.0375 0.46250.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.472281 0.43333 0.55375 0.60493 0.54693 0.57158 0.56896 0.57158 0.568091 1.28333 1.10271 1.15389 1.16114 1.14573 1.15359 1.14573 1.151311 0.85833 0.73792 0.84027 0.80402 0.80402 0.81188 0.80705 0.80832
1.47215 1.47295 1.47249 1.47260 1.47263 1.47259 1.47261 1.47260 1.472600.56715 0.56711 0.56734 0.56721 0.56724 0.56725 0.56723 0.56724 0.567241.15212 1.15180 1.15182 1.15187 1.15184 1.15185 1.15185 1.15185 1.151850.80858 0.80815 0.80836 0.80832 0.80830 0.80832 0.80831 0.80831 0.80831
De donde se sigue que el PageRank es 𝑥 = 0.36815, 0.14181, 0.28196, 0.20208 𝑇.
[Axelsson, 94] Owe Axelsson. Iterative Solution Methods. New York: Cambridge University Press, 1994.
[Berkhin, 05] Pavel Berkhin, “A Survey on PageRank computing”. En Internet Mathematics Vol. 2, No. 1 (2005), pp.
73-120.
[Brin, Page, 98] 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.
[Bryan, Leise, 06] Kurt Bryan y Tania Leise “The $25,000,000,000 eigenvector. The lineal algebra behind Google”. En
SIAM Review, 48 (3), 569-81, 2006.
[Page, 98] Lawrence Page, Sergey Brin, Rajeev Mowani y Terry Winograd. “The PageRank citation Ranking:
Bringing Order to the Web”. Reporte técnico, Stanford University, 1998.
[Watkins, 10] David S. Watkins. Fundamentals of Matrix Computations, Wiley, 2010.
Referencias