Está en la página 1de 7

Algoritmo de busqueda de Google

Roberto M endez Rosas


Probabilidad 2 Profesor Erick Mier Moreno

28 de noviembre de 2012

1.

Introducci on

Imagine una biblioteca con m as de 25 billones de documentos. Dicha biblioteca est a descentralizada y no cuenta con bibliotecarios, m as a un, cada quien puede agregar documentos a la hora que quiera sin avisar a los dem as. Si en esta biblioteca hay un documento de vital importancia para ti, de qu e forma encontrar as dicho documento en segundos. Puesto de esta forma el problema parece imposible. Esta descripci on es similar al amplio mundo de la Web. En el presente texto describir e el algoritmo de RangePage de Google, como es que regresa p aginas de una colecci on de 25 billones de documentos, el criterio que usa y que lo ha convertido en el buscador m as usado de la web. Adem as se ver a la utilizaci on de temas de probabilidad aprendidos durante el curso. La mayor a de los motores de b usqueda, como Google, continuamente ejecutan un ej ercito de programas inform aticos que recuperan de la web el ndice de las palabras de cada documento, y almacenan esta informaci on en un formato eciente. Cada vez que un usuario solicita una b usqueda en Internet usando una frase de b usqueda, como por ejemplo Probabilidad, el motor de b usqueda determina todas las p aginas en la web que contiene las palabras de la frase de b usqueda. He aqu el problema , el texto en las p aginas web se compone de un promedio de 10,000 palabras. Esto signica que para la mayor a de las b usquedas habr a un gran n umero de p aginas que contienen las palabras en la frase de b usqueda. Lo que necesitamos es dar un medio de clasicaci on de la importancia de las p aginas que se ajustan a los criterios de b usqueda para que los primeros resultados sean las p aginas con mayor importancia, de acuerdo a dicho criterio. 1

2.

Desarrollo del algoritmo

Cuando se crea una p agina web, se pueden incluir links a otras p aginas . Este es un hecho importante que utilizaron Sergey Brin y Lawrence Page, los creadores del Algoritmo PageRank . La importancia de una p agina est a dada por el n umero de p aginas que enlazan con ella. A cada p agina web le P se le asocia una medida de importancia, denotada por I (P ) Denici on 2.1. El PageRange de una p agina web P es su medida de importancia, es decir l(P ). El PageRange se determina de la siguiente forma. Supongamos que la p agina Pj 1 tiene lj links, sea Pi uno de los lj links, entonces la p agina Pj le pasa de importancia lj a Pi . Sea Bi el conjunto de p aginas que tienen un link a la p agina Pi . El ranking de importancia de Pi es la suma de todas las contribuciones hechas por las p aginas que enlazan a ella es decir l(Pj ) . l ( Pi ) = l j P B
j i

1 si Pj Bi y Hij = 0 si lj no. A dicha matriz se le conoce como matriz de Hiperlinks. Denici on 2.2. Sea H = (Hij ) la matriz tal que Hij = Observe que H tiene algunas propiedades especiales. En primer lugar, sus entradas son todas no negativas. Adem as, la suma de las entradas de una columna es uno a menos que la p agina que corresponde a la columna no tenga links. Matrices en el que todas las entradas son no negativas y la suma de las entradas de cada columna es uno se les llaman matrices estoc asticas. Imaginemos que estamos navegando por la web al azar, es decir, cuando nos encontramos en una p agina web, damos click a uno de sus enlaces a otra p agina. Por ejemplo, si estamos en la p agina Pj con lj enlaces, uno de los cuales nos lleva a la p agina Pi . De esta forma va a llegar un momento en que encontremos una p agina sin links. Para seguir adelante, vamos a elegir la siguiente p agina al azar. Esto tiene el efecto de modicar el hiperv nculo matriz H mediante la sustituci on de la columna de ceros 1 correspondientes esta p agina con una columna en la que cada entrada es . Llamamos n a esta nueva matriz S . De esta manera S es una matriz estoc astica. 2

3.

Herremienta de Probabilidad

Por lo visto anteriormente podemos modelar a la web como una cadena de Markov. A continuaci on se dene las nociones basicas de cadenas de Markov para poder entender el algoritmo de PageRange de Google. Denici on 3.1. Dado un espacio de estados nito S . Xn denota el estado al tiempo n = 0, 1, 2, 3, .... Decimos que la familia {Xn } tiene la propiedad de Markov si P (Xn = nn |Xn1 = xn1 , , ..., X0 = x0 ) = P (Xn = nn |Xn1 = xn1 ). Si {Xn } tiene la propiedad de Markov se dice que {Xn } es una cadena de Markov. Toda cadena de Markov con espacio de estados nito puede ser representada por una matriz cuadrada M = (Mij ) donde Mij = P (j, i), donde P (j, i) denota la probabilidad de pasar del estado j al i. Por denici on de M es tal que la suma de las columnas es uno, y visiversa toda matriz tal que la suma de sus columnas es uno induce una cadena de Markov. Denici on 3.2. Dada una cadena de Markov {Xn } a la funci on 0 (x) = P (X0 = x) que satisface que 0 0 y xS 0 (x) = 1 se le conoce como de distribuci on inicial. Denici on 3.3. Dada una cadena de Markov {Xn } si la funci on es una distribuci on inicial y adem as para todo y S (x)P (x, y ) = (y )
xS

se dice que (x) es una distribucion estacionaria. Es claro que a (x) la podemos ver como un vector de 1 n. Sea M la matriz de transici on de la cadena de Markow {Xn }, por la observaci on anterior encontrar una distribuci on estacionaria es equivalente a encontrar un vector que satisface que = M , que a su vez es equivalente a encontrar el vector propio asociado al valor propio 1. Se puede probar que toda cadena de Markow con espacio de estados nito tiene distribuci on estacionaria, este es el hecho m as importante en el que se basa el Algoritmo de PageRange de Google. Podemos representar a cada p agina web con nodo y si hace referencia a una p agina agregamos una echa, de esta manera el mundo de las webs se puede representar por una digr aca. En la Figura (1) tenemos una representaci on de 8 p aginas webs. N otese 3

Figura 1: Ejemplo de una matriz de Hiperlinks que la m as referenciada es la p agina ocho y su correspondiente entrada en el vector estacionario es la m as grande. De esta forma entontrar la p agina con mayor ranking es equivalente encontrar el vector estacionario. A continuaci on se presenta el m etodo para encontrar vectores estacionarios.

4.

M etodo de la Potencia

En general, el m etodo de la potencia es una t ecnica para encontrar un vector propio de una matriz cuadrada correspondiente al valor propio con la mayor magnitud. En nuestro caso, estamos buscando un vector propio de S correspondiente al valor

propio 1. Bajo las mejores circunstancias, los otros valores propios de S tendr an una magnitud menor que uno, es decir, si es un valor propio de S distinto de 1 entonces 1 > ||. Supongamos que los valores propios de S son 1 ,2 , . . . ,n y que 1 = 1 > |2 | ... |n | (1)

Tambi en vamos a suponer que existe una base {v1 , v2 , ..., vn } de vectores propios de S con valores propios correspondientes a j . Esta suposici on no es necesariamente cierta, pero con ella se explicara como funciona el m etodo. Sea I0 un vector inicial o pivote entonces I0 = c1 v1 + c2 v2 + ... + cn vn Multiplicando por la matriz S de ambos lados tenemos que I1 = SI0 = c1 v1 + c2 v2 2 + ... + cn vn n . De manera recursiva tenemos que
k Ik = SIk1 = c1 v1 + c2 v2 k 2 + ... + cn vn n .

Por (1) se tiene que k i converge a cero por lo que Ik converge a c1 v1 . De esta manera podemos obtener el vector propio asociado al valor propio 1.

5.

El toque nal

Hay casos en que la |2 | = 1 por lo tanto ya no podemos asegurar la convergencia, tal es el caso si las p aginas webs se comportan como un ciclo dirigido. Esto se puede solucionar pidiendo que la matriz S sea primitiva es decir que para cualquier potencia de S exista una entrada distinta de cero. Otro problema es que el vector estacionario puede tener entradas iguales a cero siendo que sus entradas correspondientes si son referenciadas por p aginas web. Tal es el caso de los v ertices 2, 3, 4 de la Figura 2. Esto lo podemos evitar haciendo que la en la matriz todos los estados sean recurrentes, es decir que podamos ir de un estado a otro con probabilidad 1, de hecho se prueba que el vector estacionario es u nico y con entradas todas mayores que cero. La prueba de este hecho se omite por ser larga pero se puede encontrar en [1]. En una digr aca el que los estados sean recurrentes se reeja en que la digr aca sea fuertemente conexa. 5

Figura 2: Ejemplo donde falla Basta hacer una modicaci on de tal forma que S sea primitiva y que todos los estados sean recurrentes, para ello vamos a modicar la forma en que nuestro navegante aleatorio se mueve a trav es de la web. Tal como est a ahora, el movimiento de nuestro navegante aleatorio est a determinado por S , es decir, sigue uno de los enlaces en la p agina actual o si en una p agina sin links elige al azar cualquier otra p agina para desplazarse. Para hacer que nuestra modicaci on, primero seleccione un par ametro entre 0 y 1. Supongamos ahora que nuestro navegante aleatorio se mueve de una manera ligeramente diferente. Con probabilidad se gu a por S y con probabilidad 1 elige la siguiente p agina al azar. Si denotamos por 1 la matriz con todas sus entradas iguales a 1, considerese la siguiente matriz

1 Denici on 5.1. Sea G = S +(1 ) 1. A G se le conoce como la matriz de Google. n N otese ahora que G es una matriz estoc astica, ya que es una combinaci on de matrices estoc asticas. Adem as, todas las entradas de G son positivas, lo que implica que G es a la vez primitivo e irreducible y positiva recurrente. Por lo tanto, G tiene un u nico vector estacionario I que se puede encontrar utilizando el m etodo de potencia. Para nes practicos = 0,85 y se requieren de 50 a 100 iteraciones para obtener una buena aproximaci on de I .

6.

Conclusiones

Un algortimo simple ha hecho que Google sea el buscador m as utilizado en todo el mundo. Como ya vimos dicho algoritmo se basa en la teoria de Procesos Estoc asticos, particularmente en las cadenas de Markov, y como era de suponerse la probabilidad es su herramienta principal para su desarrollo. El curso de Probabilidad II me gusto mucho, aunque tuve que hacer muchas cuentas, el ver todas las aplicaciones hace que alla valido la pena.

Referencias
[1] Paul Herhard Hoel, Introduction to Stochastic Processes.

También podría gustarte