Trabajo Especal 2: Cadenas de Markov y modelo PageRank FaMAF, UNC Mayo 2015 1. Conceptos prelmnares Sea G = (V, E, A) un grafo drgdo, con V = {1, 2,..., n} un conjunto (contable) de vértces o nodos y E un conjunto de arcos: conjunto de pares ordenados (, j) V V. Los elementos de la matrz A = [a ], 1 n, 1 j n, son tales que a > 0 (, j) E y 0 en caso contraro. S a > 0 se dce que los vértces y j son adyacentes, es decr, exste un arco (drgdo) entre los nodos y j. Un camno entre los nodos y j = + q es una secuenca c de pares adyacentes, de la forma c = {, + 1,..., + q (, + 1), ( + 1, + 2),..., ( + q 1, + q) E}. En este caso, se dce que el camno tene longtud q. Sea n = V el número de nodos en G. Dado un V se defne su grado de salda (outdegree) como d + j=1 a y su grado de entrada (n-degree) como d j=1 a j. En general d + d. Sn embargo, se cumple que d : =1 d+ =1 d. Se defne el volumen del grafo G como vol(g) = d. La vecndad del nodo se defne como el conjunto N := N + = {j (, j) E}, es decr, medante el conjunto de nodos undos por un arco que tene orgen en el vértce. 1.1. Camnatas aleatoras en grafos Consdérese la sguente camnata aleatora en G: comenzando por un vértce arbtraro, s a tempo t un camnante se encuentra en el nodo, el msmo efectúa una transcón haca el nodo j N con probabldad p = a /d + (ndependente de t). Cada paso del proceso se puede consderar asocado a una varable aleatora X t la que toma valores en V. De esta manera, la secuenca X 1, X 2,..., X t,... es una cadena de Markov defnda en el espaco de estados V. Se cumple que: P (X t+1 = j X t =, X t 1 = 1,..., X 1 = 1) = P (X t+1 = j X t = ) = p Sea p (t) la probabldad de transcón del nodo al nodo j en exactamente t pasos. La msma corresponde a suma de las probabldades de todos los camnos posbles de longtud t que comenzan en el nodo y fnalzan en el nodo j. En partcular p (1) = p. Sgue que: p (t+1) = k p k p (t) kj Sea π la probabldad ncal asocada al estado -ésmo de la cadena. La probabldad de alcanzar dcho estado al cabo de t pasos es por lo tanto π (t) = k π k p (t) k 1
( ) Sea π (t) = π (t) T 1 π(t) n el vector asocado a la dstrbucón de probabldades de estados a tempo t y π (0) la dstrbucón ncal. Para t > 0 se puede escrbr: π (t)t = π (0)T P t donde P t = [p (t) ] y Pt+1 = PP t. De la defncón de p sgue que n j=1 p = 1, por lo que P es una matrz estocástca. Así, una camnata aleatora en G es una cadena de Markov con estados en V y matrz de transcón P = [p ]. La probabldad de un camnante de transtar del vértce al j, para (, j) E, está dada por: p = a d + = a n j=1 a Sea D = dag ( d + 1,..., d+ n ) la matrz dagonal de grados de salda. Se cumple que P = D 1 A. La dstrbucón Π = (Π 1 Π n ) T se dce estaconara s se cumple: 1.2. * Exstenca de la dstrbucón estaconara Π T = Π T P = ( Π 1/d + 1 Πn /d + n ) T A. (1) Sea C un conjunto cualquera de estados y C su complemento, tales que V = C C. Se dce que C es cerrado s no se pueden alcanzar estados en C a partr de estados de C, es decr: p = 0, C, j C. Se dce que el estado k tenen período T > 1 s p (t) = 0 salvo que t = νt (ν = 1, 2,... ), con T el mayor entero cumplendo esta propedad. El estado k es aperódco s no exste tal T. Una cadena se denomna aperódca s sus estados los son. Una cadena de Markov es rreductble s no exsten conjuntos cerrados de estados dstntos al conjunto de todos los estados. Dcho de otra manera, una cadena es rreducble s y solo s cada estado puede ser alcanzado desde cualquer otro estado en un número fnto de pasos. Sea f (t) la probabldad de que el prmer pasaje por el estado j, comenzando en el estado, ocurra en el paso t-ésmo. En este caso, f = t=1 es la probabldad de que, comenzando en el nodo, el camnante alcance alguna vez el nodo j. Se cumple que f 1. S f = 1, {f (t) } corresponde a la dstrbucón de prmeros pasajes para j. En partcular, {f (t) jj } representa la dstrbucón de tempos de recurrenca para j. S f jj = 1, se puede defnr el tempo medo de recurrenca como: µ j = t=1 tf (t) jj El estado j se llama persstente s f jj = 1 y transtoro s f jj < 1. Un estado persstente y aperódco j con µ j < se denomna ergódco. Una cadena ergódca es una cadena compuesta de tales estados. Se demuestra que una cadena de Markov rreductble posee una dstrbucón estaconara (que satsface (1)) s y solo s la msma es ergódca. En este caso π j > 0 j y las probabldades π (t) j tenden a sus valores estaconaros ndependentemente de π (0) j (Feller, 1968). Más aún, el límte kk f (t) < Π j = lím p (t) t = 1 µ j 2
exste y es ndependente de la dstrbucón ncal (Feller (1968), XV.7). Nótese que Π en (1) corresponde en este caso a la dstrbucón de tempos medos de recurrenca. 1.3. Cómputo de la dstrbucón estaconara La dstrbucón estaconara Π se puede hallar resolvendo el problema de autovalores (1), sujeto a la normalzacón Π T e = 1, donde e representa el vector n-dmensonal cuyos elementos son todos guales a 1. El método más utlzado para tal fn es el método de las potencas el cual permte encontrar el autovector asocado al mayor autovalor de P de manera teratva. El método consste en calcular, partendo de una dstrbucón ncal arbtrara Π (0), el sguente esquema teratvo: Π(k)T P Π (k+1)t Π (k) P 1 Una de las desventajas de este método es su velocdad de convergenca, por lo que en general se recurre a descomposcones de la forma (1) a fn de aprovechar la estructura rala de la matrz de adyacencas A. 2. Relevanca de nodos en grafos drgdos: modelo PageRank El modelo PageRank propuesto por Page et al. (1999) se basa en consderar la estructura de hpervínculos de la web como una cadena de Markov con una matrz de transcón P = [p ]. Las probabldades de transcón p asocadas al nodo se dstrbuyen unformemente entre los j N +. La relevanca (o rankng) de una págna en partcular resulta de la probabldad estaconara asocada al estado correspondente. Sn embargo, la estructura del problema requere de certas consderacones respecto de la construccón de P a fn de que tal dstrbucón límte exsta. Consdérese la estructura de hpervínculos de la web como un grafo drgdo, donde los nodos representan págnas y los arcos hpervínculos entre las msmas. Supóngase que, comenzando de cualquer nodo, un camnante en el nodo tene gual probabldad de transtar haca cualquer j N +, es decr, p = 1 /d + = 1 / j a, con a = 1 s (, j) E. Una partculardad en esta estructura es la exstenca de nodos tales que N + =, es decr, que no poseen arcos salentes. El efecto de tales nodos se traduce en que la fla correspondente de la matrz P contene úncamente ceros. Al no ser una matrz estocástca, P no es una matrz de transcón válda. Los nodos menconados se denomnan colgados (danglng / dead end) (p. ej., nodo 4 en la fgura 1). Una forma de remedar dcha stuacón es reemplazar la fla correspondente en P por el vector 1 n et. S ben esto resuelve el problema de estocastcdad, la matrz resultante no es rreductble: exsten nodos que no pueden ser alcanzados en un número fnto de pasos (p. ej., nodo 1 en la fgura 1). Por otro lado, exsten a su vez bucles absorbentes 1 los cuales actúan como sumderos (snks / spder trap) (p. ej., nodos 5 6 en la fgura 1). Page et al. (1999) propuseron la sguente formulacón para la matrz de transcón: P = αp + (1 α) eet n con 0 α 1. En este caso, la combnacón convexa de P con la matrz de perturbacón E = eet n asegura que P sea rreductble por defncón (Langvlle and Meyer, 2004). La ntucón de dcho modelo es capturar el comportamento de un navegante aleatoro que, con probabldad (1 α), se aburre y efectúa un salto a un sto arbtraro. Una extensón a éste modelo conocda como 1 Un estado se dce absorbente s forma un conjunto cerrado, en cuyo caso p = 1. Un conjunto C V se llamará absorbente s es cerrado y exste al menos un (, j) E tal que C y j C. 3
2 4 6 1 3 5 0 0 1 0 0 0 0 0 1/2 1/2 0 0 P = 0 1 /3 0 1/3 1/3 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 Fgura 1: Ejemplo de grafo drgdo y su matrz de transcón. personalzacón consste en reemplazar 1 n et por v T, un vector (dstrbucón sobre estados) que refleja las preferencas de cada usuaro en partcular (Havelwala, 2002). El agregado de la matrz E equvale a crear un arco entre cada uno de los n nodos (método de máxma rreductbldad). Una alternatva a esta aproxmacón consste en agregar un nodo j = n + 1 al grafo orgnal tal que (, j) E y (j, ) E, es decr, se encuentre conectado a cada uno de los n nodos y estos a él (método de mínma rreductbldad). 3. Ejerccos Para la realzacón del trabajo se dspone de las sguentes defncones (archvo te2 pagerank.py): randg(n): genera un grafo aleatoro de N nodos. Un grafo se representa como una N-tupla cuyos elementos son M -tuplas, = 1,..., N, con los índces conectados al nodo. Por ejemplo, el grafo: 2 1 3 se representará como G=((2,), (0, 2), (1)) en el caso en que los nodos 1 3 se dentfquen con los índces 0 2. g2p(g): cómputo de la matrz de transcón a partr de un grafo g g2p pagerank(g, alpha): cómputo de la matrz de transcón PageRank a partr de un grafo g y un factor de dumpng alpha power ter one step(x, p): realza un paso del método de las potencas utlzando la dstrbucón x y matrz de transcón p. Grafos G1 y G2 con 10 y 100 nodos, respectvamente. 4
Se pde: 1. Realzar una smulacón que permta estmar la dstrbucón estaconara sobre le grafo G1, medante la mplementacón de un camnante aleatoro. El msmo comenza en un nodo elegdo al azar, y la probabldad de que estando en un nodo salte a un nod adyacente j es P. Evaluar para n = 100 pasos. Comparar con el método de las potencas para valores crecentes de N, empleando la matrz de transcón orgnal y la modfcada (α = 0,85). 2. El tempo de cruce para un nodo es el número de movmentos del camnante entre vstas sucesvas a dcho nodo. Medante smulacón, estme la dstrbucón de tempos de cruce sobre nodos en G1 y su valor medo. Compare con los valores de PageRank para cada nodo y formule una hpótess respecto de la msma. Valde su hpótess en G2. 3. El tempo de cubrmento es la esperanza sobre el número de pasos que requere un camnante aleatoro para vstar cada nodo al menos una vez, comenzando de un nodo elegdo de forma aleatora. Estme los tempos de cubrmento en G1 y G2 para dstntos valores de α. 4. Medante smulacón (empleando la funcón randg), analce el comportamento de los tempos de cubrmento al varar el número de nodos en el grafo. 5. Supongamos que se dspone de una web con N págnas (nodos). Un spammer agrega una nueva págna S a la web y desea que la msma tenga el mayor rankng posble. Para ello elabora dos estrategas: a) Crear K págnas fctcas y hacer que todas ellas apunten a S. Después de esta adcón, el número total de págnas en la web es N + S + 1. b) Hackear K de las N págnas exstentes y agregar enlaces a S. Evalúe cual de las estrategas es la más efectva sobre G2. Referencas Feller, W. (1968). An Introducton to Probablty Theory and Its Applcatons, volume 1. Wley. Havelwala, T. H. (2002). Topc-senstve pagerank. In Proc. Int. World Wde Web Conference (WWW). Langvlle, A. N. and Meyer, C. D. (2004). Deeper nsde PageRank. Internet Mathematcs, 1(3):335 400. Page, L., Brn, S., Motwan, R., and Wnograd, T. (1999). The pagerank ctaton rankng: Brngng order to the web. Techncal report, Stanford InfoLab. 5