Upload
hoangnguyet
View
218
Download
0
Embed Size (px)
Citation preview
El Álgebra Lineal detrás de Google
Carlos D’Andrea
I Congreso Nacional de Estudiantes de MatemáticaCorrientes, Julio 2012
Carlos D’Andrea
El Álgebra Lineal detrás de Google
Facultad de MatemáticasUniversidad de Barcelona
Licenciatura en MatemáticaMaster en Matemática AvanzadaDoctorado en MatemáticaOtros masters y doctoradosIngenieria Informática
Carlos D’Andrea
El Álgebra Lineal detrás de Google
Programa de Álgebra Lineal(Ingeniería Informática)
PolinomiosNúmeros complejosSistemas lineales de ecuacionesMatricesEspacios vectorialesSubespacios, transformaciones lineales, etc, etc, etc.Valores y vectores propios – Diagonalización
Carlos D’Andrea
El Álgebra Lineal detrás de Google
Álgebra Lineal en la Informática
Programación gráficaTeoría de grafos (redes sociales,...)Elaboración eficiente de filtrosInteligencia artificialVisión por ordenador. . .
Carlos D’Andrea
El Álgebra Lineal detrás de Google
El álgebra lineal detrás de
Google es una variación de la palabra “googol”, que es elnúmero 10100
Es un buscador de internetFue diseñado en 1998 por dos alumnos de doctorado eninformática en Stanford: Sergei Brin y Lawrence PageAtiende alrededor de 200.000.000 de consultas diarias, tienemás de 54.000 empleados en todo el mundo
Carlos D’Andrea
El Álgebra Lineal detrás de Google
Una gran familia
El “campus” de Google (Googleplex) se encuentra en MenloPark, Sillicon Valley, CaliforniaOcupa casi 50.000 metros cuadradosReclutamento constante de jóvenes talentos en todo el mundo
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 contexto2 un modelo matemático que lo explique3 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úblicoIndexar los datos censados de acuerdo a su importancia conrespecto a las palabras clavesOrdenar estos datos de acuerdo a su importancia conrespecto a las palabras claves
Carlos D’Andrea
El Álgebra Lineal detrás de Google
¡También se requiere resistencia a lamanipulació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 redMarca registrada de GoogleLleva 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 grafodirigido donde
cada página web es un nodohay una arista orientada entre páginas que citan a otraspáginas
Carlos D’Andrea
El Álgebra Lineal detrás de Google
La “importancia” de una página web
Es alta sila citan muchas páginasLa 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 sumade 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 deinternet
El postulado Pagerank implica
Mt · x = λ · x
Carlos D’Andrea
El Álgebra Lineal detrás de Google
¡Vectores y valores propios!
Mt · x = λ · x
λ es la constante de proporcionalidad ↔ un valor propio deMt
x = (x1, x2, . . . , xN) es el vector de “importancias” de laspáginas censadas ↔ un vector propio de Mt (asociado a λ)
Carlos D’Andrea
El Álgebra Lineal detrás de Google
Todo muy bonito, pero...
¿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
Teorema 1 (Perron, 1907)
Si M tiene todas sus coeficientes positivos, entoncesexiste un valor propio simple λ > 0 tal que Mt · x = λ · x, conx > 0;este valor propio es mayor, en módulo, que todos los demásvalores propios de la matriz;cualquier otro vector propio positivo de Mt es un múltiploescalar de x
Carlos D’Andrea
El Álgebra Lineal detrás de Google
Pero...
Nuestra matriz M está MUY lejos de ser positiva
¿Qué hacemos?
Carlos D’Andrea
El Álgebra Lineal detrás de Google
Teorema 2 (Frobenius, 1908–192)
Supongamos que M tiene entradas no negativas y además esirreducible. Entonces
existe un valor propio simple λ > 0 tal que Mt · x = λ · x, conx > 0;este valor propio es mayor o igual, en módulo, que todos losdemás valores propios de la matriz;cualquier otro vector propio positivo de Mt es un múltiploescalar de x
Carlos D’Andrea
El Álgebra Lineal detrás de Google
Matrices irreducibles
Una matriz cuadrada se dice irreducible si no existe ningunapermutació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
Matrices irreducibles = grafos “fuertemente”conexos
Si se trata de la matriz de incidencia de un grafo dirigido, serirreducible significa que puedo ir desde cualquier nodo a otro por uncamino (dirigido)
Carlos D’Andrea
El Álgebra Lineal detrás de Google
¿Es el grafo de internet fuertemente conexo?
¡Ni siquiera es conexo!Carlos D’Andrea
El Álgebra Lineal detrás de Google
Solución “a la Google” → ¡Matemática aplicada!
“Perturbamos” la matriz M
c M + (1− c)U 7→Mdonde
c es un parámetro entre 0 y 1 (cgoogle ≈ 0, 85)
U =
1N
1N . . . 1
N...
......
...1N
1N . . . 1
N
Carlos D’Andrea
El Álgebra Lineal detrás de Google
Del existencialismo al Cálculo
No se necesitanPolinomios característicosCálculos de raícesDescomposició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‖Mt·xn‖
Entonceslimn→∞xn = xlimn→∞
‖Mt·xn‖‖xn‖ = λ
con probabilidad 1
Carlos D’Andrea
El Álgebra Lineal detrás de Google
La misma idea para otros problemas
Clasificación para las eliminatorias de la NBAModelos de evolución probabilísticaDinámica de poblacionesModelos económicos
Carlos D’Andrea
El Álgebra Lineal detrás de Google
Googleπlogo
El objetivo de Brin y Page era que al menos una de las diezprimeras páginas que se muestren contenga información útilpara el que consulta · · · ¿Tuvieron exito?En 2004 el valor de Google en el mercado era de alrededor de25.000.000.000 U$DEl algoritmo PageRank fue patentado por la Universidad deStanford, y Google tiene derechos exclusivos sobre esa patente.Stanford recibió acciones por esa patente que fueron vendidosen 2005 por 336.000.000 U$DDesde febrero de 2011 Google utiliza combinadamente losalgoritmos PageRank y Google Panda
Carlos D’Andrea
El Álgebra Lineal detrás de Google
¿Qué hemos aprendido hoy?
Grafos y sus propiedades → Teoría de GrafosMatrices con entradas positivas → Matrices estocásticasCálculo computacional de vectores y valores propios →Álgebra Lineal NuméricaTeoremas de Perron y Frobenius → Análisis funcionalPageRank y Panda → Algoritmos de búsqueda
Carlos D’Andrea
El Álgebra Lineal detrás de Google
Para saber más
“El secreto de Google y el Álgebra Lineal”, P.Fernández, Bol. Soc. Esp. Mat. Apl. 30 (2004), 115–141“The $25, 000, 000, 000 Eigenvector: The LinearAlgebra behind Google”, Kurt Bryan & Tanya Leise, SiamReview 48 (3), 569–581, 2006“Les Matemàtiques de Google: l’algorismePageRank”, Joan Gimbert, Butlletí de la Societat Catalana deMatemàtiques, Vol 26, 1, 211, 29–55
Carlos D’Andrea
El Álgebra Lineal detrás de Google