You are on page 1of 33

El Álgebra Lineal detrás de Google

Carlos D’Andrea

I Congreso Nacional de Estudiantes de Matemática
Corrientes, Julio 2012

Carlos D’Andrea
El Álgebra Lineal detrás de Google

Facultad de Matemáticas
Universidad de Barcelona
Licenciatura en Matemática
Master en Matemática Avanzada
Doctorado en Matemática
Otros masters y doctorados
Ingenieria Informática

Carlos D’Andrea
El Álgebra Lineal detrás de Google

Programa de Álgebra Lineal
(Ingeniería Informática)
Polinomios
Números complejos
Sistemas lineales de ecuaciones
Matrices
Espacios vectoriales
Subespacios, transformaciones lineales, etc, etc, etc.
Valores y vectores propios – Diagonalización

Carlos D’Andrea
El Álgebra Lineal detrás de Google

¿Para qué nos hacen estudiar todo esto??? Carlos D’Andrea El Álgebra Lineal detrás de Google .

..) Elaboración eficiente de filtros Inteligencia artificial Visión por ordenador . Carlos D’Andrea El Álgebra Lineal detrás de Google ..Álgebra Lineal en la Informática Programación gráfica Teoría de grafos (redes sociales...

¡Todo esto lo verán después! Carlos D’Andrea El Álgebra Lineal detrás de Google .

que es el número 10100 Es un buscador de internet Fue diseñado en 1998 por dos alumnos de doctorado en informática en Stanford: Sergei Brin y Lawrence Page Atiende alrededor de 200.El álgebra lineal detrás de Google es una variación de la palabra “googol”.000.000 empleados en todo el mundo Carlos D’Andrea El Álgebra Lineal detrás de Google .000 de consultas diarias. tiene más de 54.

000 metros cuadrados Reclutamento constante de jóvenes talentos en todo el mundo Carlos D’Andrea El Álgebra Lineal detrás de Google . Sillicon Valley. California Ocupa casi 50.Una gran familia El “campus” de Google (Googleplex) se encuentra en Menlo Park.

Google’s got Talent Carlos D’Andrea El Álgebra Lineal detrás de Google .

¿Cómo se diseña un buscador de internet? Es un problema de ingeniería matemática: 1 un buen conocimiento del contexto 2 un modelo matemático que lo explique 3 una cuidadosa y eficiente implementación Carlos D’Andrea El Álgebra Lineal detrás de Google .

Trabajo básico de un buscador de internet “Censar” las páginas de internet de acceso público Indexar los datos censados de acuerdo a su importancia con respecto a las palabras claves Ordenar estos datos de acuerdo a su importancia con respecto a las palabras claves Carlos D’Andrea El Álgebra Lineal detrás de Google .

¡También se requiere resistencia a la manipulación! Carlos D’Andrea El Álgebra Lineal detrás de Google .

El algoritmo “PageRank” Califica páginas indexadas de acuerdo a su “importancia” dentro de la red Marca registrada de Google Lleva su nombre debido a su inventor Larry Page Carlos D’Andrea El Álgebra Lineal detrás de Google .

El modelo “PageRank” El universo de páginas de internet públicas es un gran grafo dirigido donde cada página web es un nodo hay una arista orientada entre páginas que citan a otras páginas Carlos D’Andrea El Álgebra Lineal detrás de Google .

La “importancia” de una página web Es alta si la citan muchas páginas La citan páginas “importantes” Carlos D’Andrea El Álgebra Lineal detrás de Google .

“Postulado” PageRank La importancia xj de la página Pj es proporcional a la suma de las importancias de las páginas que enlazan con Pj Carlos D’Andrea El Álgebra Lineal detrás de Google .

El álgebra lineal entra en acción M es la matriz de adyacencia del grafo de las páginas de internet El postulado Pagerank implica Mt · x = λ · x Carlos D’Andrea El Álgebra Lineal detrás de Google .

xN ) es el vector de “importancias” de las páginas censadas ↔ un vector propio de Mt (asociado a λ) Carlos D’Andrea El Álgebra Lineal detrás de Google . . . . x2 . .¡Vectores y valores propios! Mt · x = λ · x λ es la constante de proporcionalidad ↔ un valor propio de Mt x = (x1 .

pero..Todo muy bonito.. ¿Por qué debería tener valores propios reales Mt ? ¿Cual de ellos elijo? ¿Por qué habría de haber vectores propios todos positivos? ¿Algún tipo de unicidad??? Carlos D’Andrea El Álgebra Lineal detrás de Google .

cualquier otro vector propio positivo de Mt es un múltiplo escalar de x Carlos D’Andrea El Álgebra Lineal detrás de Google . este valor propio es mayor. que todos los demás valores propios de la matriz. en módulo. con x > 0. entonces existe un valor propio simple λ > 0 tal que Mt · x = λ · x.Teorema 1 (Perron. 1907) Si M tiene todas sus coeficientes positivos.

Nuestra matriz M está MUY lejos de ser positiva ¿Qué hacemos? Carlos D’Andrea El Álgebra Lineal detrás de Google ...Pero.

este valor propio es mayor o igual.Teorema 2 (Frobenius. 1908–192) Supongamos que M tiene entradas no negativas y además es irreducible. que todos los demás valores propios de la matriz. en módulo. con x > 0. cualquier otro vector propio positivo de Mt es un múltiplo escalar de x Carlos D’Andrea El Álgebra Lineal detrás de Google . Entonces existe un valor propio simple λ > 0 tal que Mt · x = λ · x.

Matrices irreducibles Una matriz cuadrada se dice irreducible si no existe ninguna permutación de sus filas y columnas que la transforme en   M11 A12 . 0 M22 con M11 y M22 matrices cuadradas Carlos D’Andrea El Álgebra Lineal detrás de Google .

ser irreducible significa que puedo ir desde cualquier nodo a otro por un camino (dirigido) Carlos D’Andrea El Álgebra Lineal detrás de Google .Matrices irreducibles = grafos “fuertemente” conexos Si se trata de la matriz de incidencia de un grafo dirigido.

¿Es el grafo de internet fuertemente conexo? ¡Ni siquiera es conexo! Carlos D’Andrea El Álgebra Lineal detrás de Google .

 U =  . ...  1 N 1 N Carlos D’Andrea El Álgebra Lineal detrás de Google .. 1 N ..Solución “a la Google” → ¡Matemática aplicada! “Perturbamos” la matriz M c M + (1 − c)U 7→ M donde c es un parámetro entre 0 y 1 (cgoogle ≈ 0. . ... . 85)  1 1  1 N N ... N  ...

Del existencialismo al Cálculo No se necesitan Polinomios característicos Cálculos de raíces Descomposición en subespacios invariantes ¡Álgebra Lineal Numérica! Carlos D’Andrea El Álgebra Lineal detrás de Google .

Método de las potencias (usado por Google) Si hay un único valor propio λ de módulo máximo entonces. consideremos la siguiente sucesión x0 = cualquier vector de RN xn+1 = Mt ·xn kMt ·xn k Entonces limn→∞ xn t nk limn→∞ kMkx·x nk con probabilidad 1 Carlos D’Andrea El Álgebra Lineal detrás de Google = x = λ .

La misma idea para otros problemas Clasificación para las eliminatorias de la NBA Modelos de evolución probabilística Dinámica de poblaciones Modelos económicos Carlos D’Andrea El Álgebra Lineal detrás de Google .

000.000.000 U$D Desde febrero de 2011 Google utiliza combinadamente los algoritmos PageRank y Google Panda Carlos D’Andrea El Álgebra Lineal detrás de Google .000 U$D El algoritmo PageRank fue patentado por la Universidad de Stanford.000. Stanford recibió acciones por esa patente que fueron vendidos en 2005 por 336.Googleπlogo El objetivo de Brin y Page era que al menos una de las diez primeras páginas que se muestren contenga información útil para el que consulta · · · ¿Tuvieron exito? En 2004 el valor de Google en el mercado era de alrededor de 25. y Google tiene derechos exclusivos sobre esa patente.

¿Qué hemos aprendido hoy? Grafos y sus propiedades → Teoría de Grafos Matrices con entradas positivas → Matrices estocásticas Cálculo computacional de vectores y valores propios → Álgebra Lineal Numérica Teoremas de Perron y Frobenius → Análisis funcional PageRank y Panda → Algoritmos de búsqueda Carlos D’Andrea El Álgebra Lineal detrás de Google .

Siam Review 48 (3). 000. Joan Gimbert.Para saber más “El secreto de Google y el Álgebra Lineal”. Vol 26. 569–581. P. Butlletí de la Societat Catalana de Matemàtiques. 1. 29–55 Carlos D’Andrea El Álgebra Lineal detrás de Google . 000. Bol. Fernández. 000 Eigenvector: The Linear Algebra behind Google”. Kurt Bryan & Tanya Leise. Soc. 2006 “Les Matemàtiques de Google: l’algorisme PageRank”. Esp. 30 (2004). Apl. Mat. 211. 115–141 “The $25.

es/personals/dandrea Carlos D’Andrea El Álgebra Lineal detrás de Google .ub.mat.Muchas gracias http://atlas.