Está en la página 1de 18

Las

Matemáticas
Dentro del
Google

Hugo Nieto
DNI:47029817
I. INTRODUCCIÓN

A. Ficha técnica

B. Porqué Google

II. ORDEN Y MATEMATIZACIÓN DEL


PROBLEMA

A. Esbozando un Modelo Matemático

B. El problema en términos Matemáticos

III. APELANDO A LOS GENIOS

A. La Genialidad de los “Historicos”

B. ¿Está nuestro grafo fuertemente


conectado?

C. Cálculo computacional

IV. CONCLUSIÓN

2
I. INTRODUCCIÓN

A. Ficha técnica:
¿Cómo nació el buscador?
Larry Page (graduado en Informática) y Sergey Brin (graduado en matemáticas) se
conocieron en 1995, cuando tenían 24 y 23 años respectivamente, en un acto organizado
por la Universidad de Stanford. Ambos eran estudiantes de doctorado en informática y
tenían un objetivo en común: conseguir información relevante a partir de una
importante cantidad de datos. En enero de 1996 iniciaron su colaboración en un
buscador llamado BackRub. Larry empezó a trabajar en la forma de conseguir un
entorno para los servidores que funcionara con “PCs” de gama baja y que no necesitará
de potentes máquinas para funcionar. Un año después, la tecnología utilizada por
BackRub para analizar los links empezaba a ser conocida en todo el campus, obteniendo
una gran reputación. Era la base sobre la que se construiría Google.
El nombre proviene de un juego de palabras con el término "googol", acuñado por
Milton Sirotta, sobrino del matemático norteamericano Edward Kasner, para referirse al
número representado por un 1 seguido de 100 ceros. El uso del término refleja la misión
de la compañía de organizar la inmensa cantidad de información disponible en la web y
en el mundo.

¿Cuál ha sido su evolución? (Breve historia del buscador)


Durante los primeros meses de 1998, Larry y Sergey continuaron trabajando para
perfeccionar la tecnología de búsqueda que habían desarrollado. Utilizaron sus
dormitorios como centro de datos y oficinas. Con esta infraestructura iniciaron la
búsqueda de inversores que les ayudaran a financiar su novedosa tecnología, superior a
todas las existentes hasta la fecha. A pesar de la fiebre de las “puntocom” en ese
momento, Larry y Sergey tenían poco interés en montar una empresa propia cuyo
negocio fuera el motor de búsqueda que habían desarrollado.
Entre estos posibles inversores, se encontraba David Filo, amigo de ambos y uno de los
fundadores de Yahoo!. Filo les animó a que ellos mismos desarrollaran el proyecto,
creando una empresa basada en el buscador cuando estuviera completamente
desarrollado. Aunque el potencial que tenía era enorme, se encontraron con la negativa
de muchos portales, que consideraban el hecho de tener un buen buscador como algo
secundario en sus objetivos.
Así pues, tomaron la decisión de poner en marcha el proyecto y buscar capital para
abandonar las habitaciones y acabar de pagar todo el material que habían comprado para
los servidores. Hicieron un plan de empresa y fueron en busca de inversores. Su primera
visita fue al amigo de un miembro de la facultad.
Andy Bechtolsheim, uno de los fundadores de Sun Microsystems, enseguida vio que
Google tenía un potencial enorme. Sólo pudieron mostrarle una pequeña demo pero fue
suficiente para que inmediatamente les diera un cheque por valor de 100.000 $, a
nombre de Google Inc. Pero surgió un pequeño problema: no existía aún una empresa
llamada Google Inc., Por lo tanto no podían cobrar ni ingresar el cheque. Un par de
semanas más tarde decidieron buscar nuevos inversores entre familiares, amigos y
conocidos para poner en marcha la compañía, el 7 de septiembre de 1998, Google Inc.

3
ya disponía de oficinas propias en Menlo Park, California, todo un lujo comparado con
la situación en la que habían estado hasta entonces.
Google.com, todavía en fase beta (a prueba), tenía unas 10,000 búsquedas cada día. La
prensa empezaba a hablar del nuevo buscador y de su excelente funcionamiento.
En 1999 consiguieron 25 millones de dólares de dos importantes inversores: Sequoia
Capital y Kleiner Perkins Caufield & Buyers. Las modestas oficinas ya eran pequeñas
para todos los directivos y trabajadores de Google, así que se trasladaron a Googleplex,
la actual sede central de Google en Mountain View, California.
Nuevos e importantes clientes iban llegando, como por ejemplo AOL/Netscape que
escogió a Google como su servicio de buscador, haciendo que superase los 3 millones
de búsquedas al día. Lo que empezó siendo un proyecto universitario ya era una gran
empresa con un crecimiento impresionante.
El 21 de septiembre de 1999 desapareció definitivamente de Google.com la etiqueta que
lo identificaba como una versión beta.

¿Dónde está la sede?


Google Inc.
2400 Bayshore Parkway; Mountain View, Calif. 94043
Telephone: 650.330.0100
Fax: 650.618.1499
Email: info@google.com
Web: www.google.com

¿Quiénes son sus propietarios/accionistas? ¿Cotizan en bolsa?


Google es una empresa privada. Tiene inversores como: Kleiner Perkins Caufield &
Byers; Sequoia Capital; la Universidad de Stanford; Andy Bechtolsheim, cofundador de
Sun Microsystems y actual vicepresidente de Cisco Systems; y Ram Shriram, quien ha
sido presidente de Junglee y vicepresidente de Desarrollo de Negocios en Amazon.com.

¿Cuál es su filosofía?
La filosofía de Google permanece intacta desde su aparición: organizar la información
mundial y hacerla universalmente accesible y útil. Google continúa creciendo para
descubrir nuevas tecnologías de búsqueda que mejoren la vida de los usuarios.

Organigrama y personal (departamentos, número de trabajadores,


etc.):
Google tiene más de 800 trabajadores.

Equipo de dirección:
Dr. Eric E. Schmidt, Presidente y director ejecutivo
Sergey Brin, Cofundador y presidente de tecnología
Larry Page, Cofundador y presidente de productos
George Reyes, Director financiero
Wayne Rosing, Vicepresidente de ingeniería
Omid Kordestani, Vicepresidente sénior de desarrollo de negocios y ventas
internacionales
David C. Drummond, Vicepresidente de desarrollo corporativo
Jonathan Rosenberg, Vicepresidente de gestión de productos
Tim Armstrong, Vicepresidente de ventas de publicidad

4
Joan Braddi, Vicepresidente de servicios de licencias
Urs Hölzle, Becado Google
Craig Silverstein, Director de tecnología
Cindy McCaffrey, Vicepresidente de marketing corporativo

¿Qué servicios ofrece?


Buscador de webs, imágenes y newsgroups. Tiene un directorio de webs organizado por
temas, proporcionado por ODP.

¿Cómo funciona el buscador?


La innovadora tecnología de búsqueda Google y su diseño de interfaz de usuario
diferencian a Google de las máquinas de búsqueda de primera generación. Se basa en
los hipertextos, analizando todo el contenido de cada web y la posición de todos los
términos en cada página. Se da prioridad a los resultados de acuerdo con la proximidad
de los términos de la búsqueda, favoreciendo los resultados en los que los términos de
búsqueda están próximos entre sí, sin perder tiempo analizando resultados irrelevantes.

¿Qué criterios se utilizan para ordenar los resultados de una


búsqueda?
Google se basa en la tecnología PageRank, lo que asegura que los resultados más
importantes se muestran primero. PageRank mide objetivamente la importancia de las
páginas web y se calcula que resuelve una ecuación de 500 millones de variables y más
de 2.000 millones de términos. Los complejos mecanismos automáticos de búsqueda de
Google permiten prescindir de la interferencia humana. Está estructurado de manera que
nadie puede comprar un lugar privilegiado en la lista ni alterar los resultados con fines
comerciales (nadie puede comprar un PageRank más elevado, por ejemplo).

¿De cuántos enlaces dispone su base de datos?


De más de 3.000 millones de páginas web.

¿Cuántas búsquedas se realizan al mes?


Más de 5,000 millones de búsquedas. Aproximadamente, unos 200 millones de
búsquedas cada día.

¿Cuál es su fuente de ingresos?


Google vende su tecnología de búsquedas (Google WebSearch™ y Google
SiteSearch™), incluyendo una suite repleta de funciones y posibilidades completamente
automatizadas. Muchos portales y webs corporativas de grandes empresas de todo el
mundo han elegido la tecnología de Google para sus necesidades de búsqueda.
La publicidad es otra de sus fuentes de ingresos. Google ofrece a los anunciantes dos
sistemas publicitarios: Premium Sponsorship (un vínculo de texto aparente aparece en la
parte superior de la página de resultados de Google cuando la palabra clave o la frase
que se haya comprado se incluye en las búsquedas de los usuarios) y AdWords (sistema
de Coste por clic, totalmente personalizable, donde únicamente se paga cuando los
usuarios hacen clic en el anuncio).
Además, Google también dispone de una tienda online donde vende todo tipo de
merchandising relacionado con la marca (http://www.googlestore.com).

5
B. Porqué Google

Sobra decir que en todo lo relativo al mundo de la informática la labor de las


matemáticas es fundamental, problemas como la gestión de peticiones, el
almacenamiento de la información, la búsqueda dentro de las gigantescas bases de
datos, etc., son cuestiones sin duda de un alto contenido matemático, que forman parte
del funcionamiento de cualquier buscador. Sin embargo aquí trataremos la singularidad
del buscador más importante del momento, sin lugar a dudas la página con más visitas
en el mundo, y punto de referencia para cualquier usuario de Internet.

La primera gran novedad que introduce Google que le diferencia de los otros
buscadores de la red (Altaviasta buscador anterior a Google y digamos que segundo en
el orden de importancia, se basa en el nombre exacto del host), es que implementa los
Hipertextos. Es decir, una herramienta de software que permite leer (en este caso, pero
también escribir) el contenido de una información incluyendo fragmentos de
información y las conexiones entre estos fragmentos. Su base de datos se convierte
entonces en un gran Hiperespacio que describe el número total de localizaciones y
todas sus interconexiones. Esto le permite analizar con rapidez el contenido de todas las
webs y así, poder recoger una mayor cantidad de páginas (o información) relacionadas
con el tema buscado.

Sin embargo pensar en la fórmula “cuánta más información aporte, mayor es el éxito de
un buscador” es un poco desafortunado (¿calidad no es sinónimo de cantidad?), pues
hay que tener en cuenta que estamos tratando con millones de páginas web y que el
usuario no dispone de una eternidad de tiempo para informarse...
Luego usar este sistema nos plantea un nuevo problema (y la gran novedad del
buscador) que no es otro que ordenar los resultados, y sobre todo ¿Qué orden hay poner,
para conseguir que las diez primeras páginas mostradas contengan información útil para
el usuario? Trataremos pues de contestar a esa pregunta en lo que sigue de este trabajo.
Que no es otra cosa que desnudar, o desvelar el secreto del Algoritmo PageRank con el
que Google ordena los resultados de las búsquedas, y en el que reside la fuerza de este
(palabras de Brin y Page: “El corazón de nuestro software es PageRank... Provee la base
para todas nuestras herramientas de búsqueda”).
Para ello intentaremos modelizar el problema para plantearlo de forma esencialmente
Matemática. Una vez hecho esto, podremos apelar a algún personaje de la Historia de
este pensamiento, que como grandes genios que son, ya han pensado (y resuelto)
problemas de este tipo aunque eso sí, sin salirse de la abstracción intrinseca de esta
ciencia. Concluiremos interesandonos por los pequeños defectos (o grandezas) que tiene
el algoritmo y se trabaja actualmente por arreglar.
Sobra decir (o no, pues brillaria la falta de sinceridad) que gran parte de la estructura de
este trabajo debe su razón (a parte de a una imposición), al magnífico articulo que
escribió el profesor Pablo Fernández títulado: “El secreto del Google y el álgebra
lineal”, V Premio SEMA a la Divulgación en Matemática Aplicada, otorgado por la
Sociedad Española de Matemática Aplicada en septiembre de 2004.

6
II. ORDEN Y MATEMATIZACIÓN DEL
PROBLEMA

A. Esbozando un Modelo Matemático

Describamos por ejemplo un día normal en la rutina de cualquier usuario de Internet


que por interés, obligación o lo que sea, se quiere informar sobre el ornitorrinco -¿Se
escribirá así?- (¡Da igual Google también se ha ocupado de eso!) Pues Google revisa
siempre la ortografía y busca también el resultado más próximo en el caso de que esta
sea incorrecta, tardando menos tiempo luego en localizarla en el caso de que el usuario
se haya equivocado. Escribe pues nuestro hombre masa la palabra ornitorrinco (que por
cultura o casualidad escribió bien), y Google encuentra en su base de datos más de
58 000 páginas que contienen esta palabra, ¿Cómo colocar todos los resultados para que
este encuentre en las primeras diez páginas, información de verdadero interés sobre el
“apasionante” tema? La solución pasa por crear un criterio que me ordene estas páginas
según su orden de importancia sobre el tema. Y ¿Cómo podemos valorar la
importancia de una página con respecto a las otras cada vez que elijo un tema? Para ver
esto, planteemos ya la situación desde un punto de vista matemático, modelizando
nuestra forma de “navegar” por Internet.

El termino “navegar” ya nos hace intuir un poco nuestra postura ante este caos, pues
como en el mar siempre estamos un poco a merced de por donde este y el viento nos
quieren llevar, en nuestro caso el mar es todo el conjunto de la red y el viento son las
conexiones y/o enlaces de las páginas entre sí. Y navegamos (le quito las comillas pues
parece que lo voy a escribir mucho) según las leyes que estos nos dictan. Pongamos un
ejemplo, si etiquetamos las páginas que compondrán nuestra ruta con P1 , P2 , P3, ..., Pn.
Pasaremos de una a otra mediante enlaces y si ahora hacemos un simple grafo de la
situación veremos fácilmente que la probabilidad de caer en una página está ligada
directamente con el número de enlaces que lleven a esta y el número de páginas que
visites.

En este dibujo se muestra una posible situación, donde la probabilidad de que nos
encontremos en P6, no es la misma tras un instante de tiempo que tras dos

7
(consideramos aquí por instantes de tiempo el paso de una página a otra). Vemos
también que la elección de una página sigue una distribución de probabilidad uniforme
discreta en [1, N], dónde N= “nº de páginas a las que enlaza la página desde la que te
encuentres”.
Se va un poco entonces intuyendo que la importancia que pueda o no tener una página,
va a depender del número de páginas que enlazan a ella. Algo lógico por otra parte pues
si muchas páginas enlazan a ésta es porque muchos participantes encuentran que la
información que contiene es recomendable. Pero claro, volviendo a los términos de
navegante, según de donde venga el viento, este será mejor o peor para ir más deprisa a
donde queramos llegar. Con esto quiero decir que no va a ser igual que una página
muy conocida (o usada) te enlace, a que lo haga la página de un particular sólo conocido
en su casa a la hora de comer... Es decir desconocida.

Este ejemplo nos muestra que la red puede ser descrita mediante un grafo dirigido,
dónde cada página Pj es un vértice y cada arista dirigida significa que hay un enlace
entre las páginas (vértices) Pi y Pj. El grafo en cuestión es monstruosamente grande,
basta considerar que hay más de 3000 millones de páginas censadas, para hacernos una
idea de las dimensiones de las que estamos hablando. Luego conviene adaptarse a una
interpretación alternativa, la matricial. Vamos pues a construir una matriz M de
adyacencia del grafo de la red. La matriz M será de dimensiones n x n, cuyas filas y
columnas van etiquetadas con las páginas P1 , P2 , P3, ..., Pn, y cuyas entradas son ceros
y unos. La entrada mij será uno si hay un enlace desde la página Pi a Pj , y cero en el
caso contrario.

M=

Observamos en el dibujo que la suma de las entradas correspondientes a la columna de


Pj, es el número de enlaces que salen de la página Pj, mientras que la de la fila es
número de enlaces entrantes. Si llamamos por ejemplo Nj al número de enlaces que
salen desde Pj, podemos construir la siguiente matriz M´ a partir de M sustituyendo
cada entrada por:
mij´= mij / Nj

Poniendo 1/n en todas las entradas de las columnas donde Nj fuese igual a cero (es decir
de las páginas que no enlazan a ninguna otra), siendo n la dimensión de la matriz (o
número de páginas de la red).
Y por lo tanto los registros de la nueva matriz son números no negativos ( entre 0 y 1),
tales que la suma de los registros de cada columna vale 1.

8
Esta figura se muestra la transformación para cierta columna j:

Ya que empezamos a “matematizar” el problema, la matriz M´ así construida es lo que


se llama matriz estocástica (o de Markov). Si en cambio consideramos que cada vértice
(Página) es un estado, la matriz M´ recibe también el nombre de matriz de transición
del sistema (red), pues cada entrada mij´ (=mij / Nj ) es la probabilidad de pasar del
estado (vértice-página) Pi al estado (vértice-página) Pj. Los registros de las sucesivas
potencias de la matriz, son las probabilidades de pasar de Pi a Pj tras varios instantes de
tiempo.

B. El problema en términos Matemáticos

Por mucho que hayamos intentado meter instrumentos matemáticos para considerar el
problema, este sigue siendo explícitamente el mismo: ¿Cómo ordenamos los resultados?
Pues bien, todo lo que nos hace falta es asignar a cada página una importancia que
determine su orden de aparición, es decir asignar a cada página Pj , un número xj (por
ejemplo entre 0 y 1), al que llamaremos Page-Rank (posicionamiento de la página o
“ranking”). Queda claro que una vez que hayamos (Google más bien) elaborado una
lista de las páginas web de la base de datos, asignando a cada una de ellas un Page-Rank
(importancia), las páginas web seleccionadas, a la hora de una consulta (como por
ejemplo, acerca del ornitorrinco), estas se mostrarán en el orden que indique dicha lista.

A partir del apartado anterior, hemos esbozado los elementos a considerar para asignar
la importancia de una página, esta dependía del número de enlaces que llegaban a ella,
así como la “calidad” (importancia) de estos. Supongamos, por ejemplo, que la página
P1 es citada desde las páginas P2, P25 y P256, que P2 sólo se cita desde P1 y P256, etc.,
mientras que, digamos, hay enlaces a la última página, Pn, desde P1, P2, P3, P25 y Pn-1.
Nuestra asignación x1, . . . , xn debe cumplir que:

9
x1 = K (x2 + x25 + x256) ,
x2 = K (x1 + x256) ,
...
xn = K (x1 + x2 + x3 + x25 + xn-1) ,

Donde K es una constante de proporcionalidad. Nos encontramos ante un enorme


sistema de ecuaciones, cuyas soluciones son las posibles asignaciones del Page-Rank de
cada página. Escribiendo este sistema en términos matriciales obtenemos:

La matriz aquí evocada, sería en términos generales la matriz M definida en el apartado


A. y si además llamamos x al vector de los Page-Rank, podemos rescribir nuestro
sistema de la forma:
x = KMx y si escribimos λ =1/K nuestro problema se transforma en:

Mx= λx

Que para cualquier persona un poco familiarizada con el Álgebra Lineal, es un


problema sobradamente conocido. Nuestro vector x de los Page-Rank, no es otra cosa
que un autovector de la matriz M. Eso sí, el problema se convierte ahora en saber cual
de todos es el que nos interesa, y cómo lo calculamos teniendo en cuenta que la matriz
es gigantesca (de unos tres millardos de filas por columnas). Además necesitamos que
este autovector sea único, y que todas sus entradas sean positivas, o si acaso del mismo
signo (pues ¿Cómo posicionaríamos sino con entradas negativas y positivas?).
Buscamos entonces a partir de aquí, un autovector único de una matriz positiva que
modelice toda la red, que en nuestro caso (el de Google) será la matriz de transición M´
un poco variada como veremos a continuación.

10
III. APELANDO A LOS GENIOS

C. La Genialidad de los “Históricos”


La única información que tenemos sobre la matriz en cuestión, es que todas sus entradas
son no negativas, esto no es una propiedad excesivamente fuerte, sin embargo a
principios del siglo XX hubo dos matemáticos que desarrollaron lo que se conoce como
la teoria (que lleva su nombre) de Perron-Frobenius.
Ambos alemanes, y no especialmente famosos, aunque si que trabajaban con
matemáticos más reconocidos, a Oskar Perron por ejemplo, le dirigió su tesis sobre
geometria Lindemann, y a Frobenius el mismísimo Weierstrass. Ambos estudiarón
semestres en Gottingen y otras universades alemanas, como era costumbre en la época,
aunque Perron se instaló en Munich y Frobenius en Berlín. Poco más que añadir sobre
estos personajes historicos, a parte de que ambos trabajarón en campos muy diversos de
la matemática, fuera de la que aqui nos ocupa: el Algebra Lineal.
Sin más divagaciones vamos a exponer el teorema que convirtió en millonarios a Bring
y Page, pues les proporcionaria la existencia del autovalor único que buscaban para
construir su autovalor de los Page-Rank de todas sus páginas en las bases de datos.

Perron publicó en 1907 un teorema que se acercaba a la solución deseada, pues


aseguraba la existencia de un autovalor simple, donde su autovector asociado (el
candidato a darnos las importancias de cada página) es estrictamente positivo, y
fácilmente reconocible. La única inconveniencia es que las entradas de la matriz A no
podían ser iguales a 0, cosa que por desgracia sabemos que ocurre en nuestro caso, pues
no todas páginas enlazan o son enlazadas con el resto. Sin embargo poco más tarde
Frobenius generalizó el teorema de Perrón para matrices no negativas... Es el conocido
como teorema Perron-Frobenius.

Teorema Perron-Frobenius: Sea A una matriz (cuadrada) con entradas no


negativas ,A 0. Si A es irreducible, entonces

(a) existe un autovalor (simple) λ> 0 tal que Av = λv, donde el autovector es v > 0.
Además λ |µ|, para cualquier otro autovalor µ de A.

(b) Cualquier autovector w 0 es un múltiplo de v.

(c) Si hay k autovalores de módulo máximo, entonces son las soluciones de xk - λ k = 0.

Luego... ¡Victoria! -siempre y cuando el teorema quede demostrado, pero... ¿Sería


entonces Teorema?- Se invita a los incrédulos, a leer la demostración aportada por
Fabien en el último enlace de la Conclusión (pág 151). Para los más apasionados,
cualquier libro que tenga en el título “Nonnegative matrices”. Aquí no se incluirá
ninguna por problemas con la librería simbólica.

11
El teorema de Perron-Frobenius nos asegura que el autovector que buscábamos existe,
y además es, en módulo, el mayor de todos los posibles de la matriz que modeliza a la
red, sólo hay un pequeño problema, hace falta que la matriz que modelice nuestra red
sea irreducible. Y ¿Qué significa Irreducible?

Hay varias maneras de entenderlo:

1. No existe ninguna permutación (de filas y columnas) que transforma A en una matriz
del tipo

donde A11 y A22 son matrices cuadradas.

2. La matriz (I + A)ˆ n-1, donde I es la identidad n × n, tiene todas sus entradas


positivas.

3. Si A es la matriz de adyacencia de un grafo, entonces el grafo está fuertemente


conectado.

Necesitamos pues que la matriz M -o ¿Será M´?- Sea irreducible pues sino no
podemos asegurarnos que nuestro (auto)vector x de los Page-Rank exista. Claramente
de las tres posibles definiciones, la más apta para nuestro caso es la tercera pues en
realidad estamos tratando con la matriz de adyacencia del grafo que modeliza la red.
Veamos a ahora si es el caso.

D. ¿Está nuestro grafo fuertemente conectado?

La respuesta a simple vista sería que no, pues un grafo está fuertemente conectado si
existe un recorrido de cualquier longitud que una a dos vértices cualesquiera, es decir, si
dados dos vértices del grafo dirigido, podemos siempre encontrar una sucesión de
aristas que llevan el uno al otro. Estaríamos diciendo que desde cualquier página
podemos llegar a cualquier otra en un número finito de “cliks”, cosa que cualquier
usuario sabe perfectamente que no es cierto. El siguiente dibujo muestra cómo están
estructuradas los millardos de páginas web que componen (la) Internet.

12
La pieza central (SCC, strongly connected component) es, como el nombre indica, una
componente fuertemente conexa. Junto a ella aparecen otras dos piezas: la IN está
formada por las páginas que tienen enlaces hacia las de SCC, y la OUT está constituida
por las páginas a las que apuntan los de SCC. Además aparecen una especie de
dendritas, que contienen páginas desde las que no se puede llegar a los nodos de SCC,
ni tampoco son accesibles desde ellos (que, en ocasiones, y para aumentar la
complejidad, pueden llegar a formar tubos). Obsérvese, de todas formas, que la
organización de la red es dinámica, y cambia con el tiempo. Y no está claro si se habrá
mantenido, en líneas generales, la estructura que aquí exhibimos.
¿Qué podemos hacer (o más bien, ¿qué hace Google?) ante esto? Un truco muy
habitual: se trata de conseguir (de una manera razonable) estar en la mejor situación
posible. Por ejemplo, añadiendo toda una serie de probabilidades de transición (de
salida) a todos los vértices. Esto es, considerando la matriz:

donde p1, . . . , pn es una distribución de probabilidad (pj 0, Σj pj = 1) y c es un cierto


parámetro entre 0 y 1 (en los cálculos de Google, es 0.85).
Por ejemplo, podríamos tomar una distribución uniforme, pj = 1/n para cada j = 1, . . . ,
n (con lo que la matriz ya tendría todas sus entradas positivas). Pero podríamos elegir
otras, y este nuevo grado de libertad permitiría hacer búsquedas “personalizadas”.

Luego Google mediante un truquillo usual transforma la Matriz de adyacencia de su


base de datos en una matriz irreducible a partir de la matriz de transición, lo cual
garantiza la existencia del autovector de Page-Rank que resuelve nuestro problema.
Lo de “usual” viene de que el Teorema Perron-Frobenius, es de alguna manera la pieza
central de la mayor parte de los algoritmos de convergencia de matrices estocásticas,
matrices que se utilizan en muchos modelos económicos o de dinámicas de poblaciones,
por citar algunos ejemplos.

13
Ahora bien, el hecho de asegurarnos de la existencia del autovector, nada nos dice de
cómo calcularlo, y dado que estamos tratando con una matriz de muchos millones de
filas y columnas, la pregunta es bastante pertinente.

E. Cálculo computacional
El titulo del apartado de por sí asusta, pues no hay que ser muy docto en la materia para
saber, que el cálculo de todos los autovalores de una matriz de dimensión de varios
miles de millones, es una cuestión inabordable aún contando con el “Mare Nostrum”
como maestro de ceremonias (que no es el caso). Sin embargo este será el apartado de
menor longitud, pues hay que resaltar que el autovector que buscamos no es otro que el
asociado al autovalor de módulo máximo, lo que facilita enormemente su cálculo.
Debido a que existe un método llamado Método de Potencias para calcular el autovalor
dominante de una matriz diagonalizable.
Nos ( Google claro está) planteamos calcular el autovalor dominante de la matriz M´´
definida anteriormente, de entradas positivas e irreducible, luego tenemos la seguridad
de que existe tal autovalor λ1 positivo y estrictamente mayor que todos los demás,
llamamos v1 (nuestro ansiado x) al autovector positivo asociado (somos pesados, pero
hay que insistir para no perder rigor...). El método que utiliza Google es el llamado
método de las potencias Llamaremos {v1, . . . , vn} a los autovectores, numerados
de manera que los autovalores correspondientes vayan en orden decreciente de tamaños,
λ1 > |λ2| |λ3| · · · |λn| , son una base de .
Partimos, por ejemplo, de un v0 0, que escribimos como v0 = c1v1 + c2v2 + · · · + cnvn ,
donde los números c1, . . . , cn son las coordenadas de v0 en la base considerada.
Para el argumento que sigue, no va a ser necesario calcularlos explícitamente, y de
hecho no se hace. Nos basta con saber que tales números existen (¡y lo sabemos!).
Ahora multiplicamos el vector v0 por la matriz M´´, para obtener
M´´v0 = c1λ1v1 + c2λ2v2 + · · · + cnλnvn ,
puesto que los vectores v1, . . . , vn son autovectores de M´´. Sólo calculamos el
producto de la izquierda; de lo de la derecha nos basta, con saber que ocurre.
Ahora repetimos la operación para aplicando el ya mencionado método de potencias
calculando :
M´´²v0 = c1λ1²v1 + c2λ2² v2 + · · · + cnλn² vn

Y lo hacemos muchas más veces, digamos k de ellas:


M´´ªv0 = c1λ1ªv1 + c2λ2ª v2 + · · · + cnλnª vn
Supongamos que c1 distinto de cero, entonces (A es nuestra matriz M´´, por problemas
de librería)

Y como |λj/λ1| < 1 para cada j = 2, . . . , n (recordemos que λ1 era el autovalor


dominante), tenemos que

14
De manera que, al multiplicar reiteradamente el vector inicial por la matriz M´´, vamos
determinando, cada vez con mayor precisión, la dirección que nos interesa, la que
determina el vector v1 .
¡Actualmente M´´ es una matriz de más de 64,000,000,000,000,000,000 términos!
De hecho se dice que calcular PageRank es “La mayor computación matricial del
mundo”.El hecho de que sea una matriz extremadamente larga es
una razón para usar el método de las potencias.
La velocidad de convergencia depende del tamaño de los autovalores de A, o más bien
de la razón entre el más grande con el resto. Brin y Page reportan una convergencia a
niveles“razonablemente tolerables” en aproximadamente 52 iteraciones para una base
de datos de 332 millones de enlaces (Sugieren también que el factor de escala es casi
lineal a log n). Veamos la gráfica

Aunque Google asegura que el cálculo no lleva más que unas horas de trabajo
computacional, lo cierto es que el valor del vector Page-Rank se actualiza tan solo una
vez al mes, este proceso se viene a llamar la “Google Dance”.

Cabe añadir, para el usuario que haya instalado “la barra de Google”, que el valor que
aparece de Page Rank (valor comprendido entre 0 y 10), dista mucho de ser el real, lo
que hace Google es coger el valor logarítmico de Page Rank real de la página, para
hacerlo visible a los usuarios. La base de este logaritmo es desconocida.

15
IV. CONCLUSIÓN
"La grandes obras las sueñan los genios,
las ejecutan los luchadores,
las disfrutan los felices
y las critican los inútiles crónicos".
Proverbio árabe

Un algoritmo este Page-Rank, no excesivamente complicado y que no pone en juego


“artillería” matemática excesivamente pesada. Un cóctel millonario que tiene como
ingredientes básicos el Álgebra Lineal y la Probabilidad, y que no sienta mal gracias a
los trabajos de dos personajes no muy conocidos (no por eso menos importantes)
históricamente en el mundo de las matemáticas Perron y Frobenius.
La original idea de buscar a partir de los hypertextos y luego ordenar de tal modo que,
la información interesante aparezca en los primeros puestos, la cita Geller, N. en 1978
en un articulo para su uso en bibliometría. Curiosamente ese articulo no es citado por
Page-Brin en sus artículos sobre el Google ¿Por qué será?. Huyendo de pensamientos
maliciosos, que puedan connotar un atisbo de critica (o más bien huyendo del papel de
inútil crónico), hableremos un poco del llamado Trust-Rank, el algoritmo sobre el que
Google trabaja para mejorar su Page Rank.

El spam a buscadores se ha convertido en un verdadero problema para Google (y resto


de motores de búsqueda.) Webmasters sin escrúpulos (o con conciencia moral) han
creado miles de páginas con el único propósito de enlazar con sus páginas principales y
con esto hacer subir su PageRank. Esta es la técnica utilizada para conseguir por
ejemplo que cuando buscas ”Ladrones” en Google, te aparezca en primera posición la
web de la SGAE. (¿Porqué será?).
El Trust Rank, parte de la misma base. Pero en lugar de valorar la importancia de una
recomendación en función del PageRank de la página que recomienda, lo hace a partir
de una serie de páginas web que han sido consideradas importantes por humanos en
lugar de por algoritmos.
A las páginas web que los humanos han determinado como importantes se las considera
”web semilla” y a sus enlaces se les asigna un valor. Y será ese valor el que se irá
transmitiendo por toda la red.

Para ilustrarlo con un ejemplo: Supongamos que disponemos de una web semilla A. A
trasmitirá un valor de 100 Trust Rank a todas las webs a las que enlace. Estas páginas, a
su vez, transmitirán un Trust Rank de 99 a todas las webs a las que enlacen. Y éstas
últimas, transmitirán un Trust Rank de 98 a las que ellas enlacen.

Para mitigar la degradación del Trust Rank a medida que se distancia de las webs
semilla, en el algoritmo se ha incluido un corrector que tiene en cuenta el número de
grados que hay entre la web semilla y la web que recibe el Trust Rank, sin anular
completamente la distancia que las separa de la semilla.

Según un documento de la Universidad de Standford que versa sobre el Trust Rank, de


la misma manera que las webs semilla van a transmitir Trust Rank, las webs
consideradas spam por los humanos que evalúan las webs, van a transmitir Trust Rank
negativo. Según este documento ciertas webs van a restar Trust Rank y cuando una
página web sitúe su nivel de Trust Rank por debajo de una determinada cifra, va a

16
convertirse automáticamente en una web que transmite Trust Rank negativo en lugar de
positivo.

¿Esto solucionaria el problema? Sin duda alguna evitaria pequeñas confusiones, pero
desde mi humilde opinión, ¿No se convertiria el juego de estos “webmaster”, en
penalizar introduciendo un Trust- Rank negativo a las web de las que se quieren mofar?
Y lo que es peor, al meter a una (o las que sean) persona física para que decida la
importancia, ¿No se alterará mucho más la imposición de ciertos resultados? Hay que
tener en cuenta que Google tiene ahora mismo muchísimo poder de información
(desinformación).

Si alguien desea ampliar conocimientos sobre el futuro algoritmo Trust Rank,


adjuntamos aqui el enlace al documento de la universidad de stanford (¡a ver si esto
sube el Page Rank o importancia del trabajo!)
http://dbpubs.stanford.edu:8090/pub/2004-17

Para ampliar conocimientos y profundizar sobre PageRank y los grafos de internet,


adjuntamos tambien un enlace a la Tesis Doctoral de Fabien MATHIEU. (Aunque la
síntesis no es su mayor virtud!)
http://www.lirmm.fr/~mathieu/Recherche/memoire.pdf

Y para despedirnos una frase del profesor Pablo Fernández de la UAM, que despues de
haber desmembranado el problema de Google escribe: “Es la hora de las Matemáticas,
esa Ciencia que se ocupa de realidades abstractas, virtuales, para, a través de ellas,
entender realidades concretas”.

17
BIBLIOGRAFÍA
• El artículo del profesor Pablo Fernández: El Secreto del Google y el Álgebra
Lineal:
http://www.uam.es/personal_pdi/ciencias/gallardo/

• Tesis doctoral de Fabien MATHIEU sobre los grafos que modelizan la web y el
cálculo del Page Rank:
http://www.lirmm.fr/~mathieu/Recherche/memoire.pdf

• Presentación del algorithmo Page Rank en 98: A Large-Scale Hypertextual Web


Search Engine 1/10/98:
http://dbpubs.stanford.edu:8091/diglib/pub/slides/berkeleydlijan98/berkeleygoogle2/

• Sobre el trust Rank:


http://www.alt64.com
http://dbpubs.stanford.edu:8090/pub/2004-17

• Presentación Sobre buscadores hecha en la UNAM:


http://theory.lcs.mit.edu/~rajsbaum/cursos/web/buscadores2.pdf

• Primer articulo en el que se habla de la idea de implantar los hipertextos como


motor de búsqueda:
Authoritative Sources in a Hiperlinked Environment. Jon M. Kleinberg. Journal of the
ACM, vol. 46, No. 5, 1999, pp. 604-632

• Otras webs:
http://en.wikipedia.org/wiki/Eigenvalue_algorithm
http://google.dirson.com
http://www.infobuscadores.com/

• Libros de consulta:
Matemática Discreta y Combinatoria de R. P. Grimaldi (Editorial Addison-Wesley
Iberoamericana.1998).
Álgebra y Geometría de M. Castellet, J. Llerena (Editorial Reverté.
1991)

18