Un'applicazione delle catene di Markov: l'algoritmo del PageRank · 2013-09-25 · tale scopo si...

28
Un’applicazione delle catene di Markov: l’algoritmo del PageRank Maurizio Cescon 25 settembre 2013

Transcript of Un'applicazione delle catene di Markov: l'algoritmo del PageRank · 2013-09-25 · tale scopo si...

Page 1: Un'applicazione delle catene di Markov: l'algoritmo del PageRank · 2013-09-25 · tale scopo si veda l’appendiceA, in cui e proposto l’algoritmo di Kosaraju che risolve il problema

Un’applicazione delle catene di Markov:l’algoritmo del PageRank

Maurizio Cescon

25 settembre 2013

Page 2: Un'applicazione delle catene di Markov: l'algoritmo del PageRank · 2013-09-25 · tale scopo si veda l’appendiceA, in cui e proposto l’algoritmo di Kosaraju che risolve il problema

Indice

1 Catene di Markov 31.1 Definizione e concetti basilari . . . . . . . . . . . . . . . . . . 3

2 Teorema Ergodico 72.1 Stati ergodici . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2 Matrici primitive . . . . . . . . . . . . . . . . . . . . . . . . . 92.3 Teorema di Perron-Frobenius . . . . . . . . . . . . . . . . . . 11

3 L’algoritmo del PageRank 143.1 Pagine web e catene di Markov . . . . . . . . . . . . . . . . . 143.2 La matrice del PageRank . . . . . . . . . . . . . . . . . . . . . 163.3 Power Method . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.4 Un po’ di analisi del PageRank . . . . . . . . . . . . . . . . . 19

A Algoritmo di Kosaraju 23

B Algoritmo per la periodicita 25

2

Page 3: Un'applicazione delle catene di Markov: l'algoritmo del PageRank · 2013-09-25 · tale scopo si veda l’appendiceA, in cui e proposto l’algoritmo di Kosaraju che risolve il problema

Capitolo 1

Catene di Markov

In questo capitolo sono esposte delle nozioni di base riguardanti le catenedi Markov. Quanto di seguito scritto non e esaustivo e si limita a ripor-tare definizioni e proprieta utili per questo elaborato, senza entrare tropponei dettagli matematici. Inoltre parecchi risultati sono generalizzabili, maabbiamo preferito mantenere una trattazione piu ristretta dato l’ambito ab-bastanza specifico d’utilizzo. La linea guida e stata quella di ricondurre ifenomeni probabilistici allo studio matriciale.

1.1 Definizione e concetti basilari

Definizione 1. Siano (Ω,F , P ) uno spazio di probabilta, (R,BR) la σ-algebradei boreliani e T ⊆ R. Si definisce processo stocastico di parametro t unafamiglia di variabili aleatorie (Xt : t ∈ T ) definite in Ω e a valori in R,indicizzate dal parametro t.

I valori che possono assumere le variabili aleatorie si chiamano stati ecostituiscono lo spazio degli stati S ⊆ R che puo essere un insieme finito,infinito numerabile o infinito con cardinalita del continuo. L’insieme T , det-to spazio dei tempi, puo essere un insieme infinito numerabile (processo atempo discreto) oppure infinito con cardinalita del continuo (processo a tem-po continuo). Cio che ci interessa sono i processi nei quali lo spazio deglistati e finito, quello dei tempi e discreto con T = N e valgono le ipotesi diMarkovianita ed omogeneita.

Definizione 2. Un processo stocastico (Xn : n ∈ N) a tempo discreto e conspazio degli stati finito si dice Markoviano se ∀n ∈ N, ∀j, i, in−1, . . . , i1, i0 ∈ Svale che

P (Xn+1 = j|Xn = i,Xn−1 = in−1, . . . , X1 = i1, X0 = i0) = P (Xn+1 = j|Xn = i).

3

Page 4: Un'applicazione delle catene di Markov: l'algoritmo del PageRank · 2013-09-25 · tale scopo si veda l’appendiceA, in cui e proposto l’algoritmo di Kosaraju che risolve il problema

Maurizio Cescon CAPITOLO 1. CATENE DI MARKOV

Un tale processo si dice inoltre omogeneo se le probabilita di transizione sonostazionarie, cioe ∀n ∈ N vale che

P (Xn+1 = j|Xn = i) = P (X1 = j|X0 = i) = pij.

Quanto appena definito viene comunemente chiamato catena di Markovomogenea a stati finiti. D’ora in avanti, senza ulteriori specificazioni, sup-porremo d’essere sempre in queste ipotesi con |S| = N < N. Tali richiestesono fondamentali per assicurare alla catena d’essere definita e descritta inmodo univoco a partire dalla matrice delle probabilita di transizione e dalladistribuzione di probabilita iniziale:

1. P =(pij)i,j∈S con pij ∈ R+ e

∑j∈S pij = 1 ∀i ∈ S,

2. π0(i) = P (X0 = i) ∀i ∈ S.

Come ad esempio dimostrato in [1], questo e possibile poiche i due elementispecificano tutte le probabilita delle sezioni finito dimensionali del processoe quindi consentono il calcolo delle probabilita di qualsiasi evento descrittoin termini di valori futuri e condizionato in termini di valori presenti-passati.Molto utile e l’equazione di Chapman-Kolmogorov che collega le probabilitadi transizione stazionarie a piu passi pnij = P (Xn = j|X0 = i) con n ≥ 1numero di passi:

∀n,m ≥ 1 : pn+mij =

∑k∈S

pnik pmkj ∀i, j ∈ S ⇐⇒ Pn+m = Pn Pm.

Sfruttando quest’equazione, si puo calcolare πn(i) cioe la probabilita di tro-varsi in uno stato i al passo n ≥ 1 come

πn(i) =∑k∈S

πn−1(k) pki =∑k∈S

π0(k) pnki ⇐⇒ πn = πn−1 P = π0 Pn.

Queste considerazioni permettono di associare a ciascuna catena di Markov:

1. un sistema di equazioni lineariπ0 notoπn+1 = πnP = π0Pn+1 ∀n ∈ N, (1.1)

che descrive in termini probabilistici l’evoluzione del processo;

2. un grafo G = (V,E), avente |V | = N nodi pari alla quantita di stati ed|E| = M archi congiungenti nodi aventi una probabilita strettamentepositiva di passare da uno all’altro in un passo.

4

Page 5: Un'applicazione delle catene di Markov: l'algoritmo del PageRank · 2013-09-25 · tale scopo si veda l’appendiceA, in cui e proposto l’algoritmo di Kosaraju che risolve il problema

Maurizio Cescon 1.1. DEFINIZIONE E CONCETTI BASILARI

Figura 1.1: esempio di grafo.

Ad esempio se N = 3 con

P =

1/3 1/3 1/31/2 1/2 00 1/2 1/2

, π0 = (1/3, 1/3, 1/3),

si puo disegnare il grafo di figura 1.1 e dire che l’evoluzione del sistema, cioeπn(i)∀i ∈ S, e regolata da (1.1).

Rispetto alla caratterizzazione grafica, vale la seguente proprieta.

Proposizione 1. Sia P la matrice delle probabilita di transizione di unacatena di Markov. Esiste un cammino tra due stati i e j di lunghezza n se esolo se pnij > 0.

Dimostrazione. La dimostrazione puo essere fatta per induzione sulla lun-ghezza del cammino.n = 1: il problema e banale.n = 2: dall’equazione di Chapman-Kolmogorov

p2ij =

∑k∈S

pik pkj,

quindi p2ij 6= 0 se e solo se per almeno un k ∈ S ci sono pik e pkj enrambi

diversi da zero. Ma questo vale se e solo se esiste un cammino di lunghezza2 da i a j.

5

Page 6: Un'applicazione delle catene di Markov: l'algoritmo del PageRank · 2013-09-25 · tale scopo si veda l’appendiceA, in cui e proposto l’algoritmo di Kosaraju che risolve il problema

Maurizio Cescon CAPITOLO 1. CATENE DI MARKOV

n > 2: se supponiamo vera l’affermazione per il caso n, allora

pn+1ij =

∑k∈S

pnik pkj 6= 0

se e solo se per almeno un k ∈ S ci sono pnik e pkj enrambi diversi da zero.Per ipotesi induttiva questo e equivalente ad avere un cammino da i a k dilunghezza n e uno da k a j di lunghezza 1, cioe un cammino da i a j dilunghezza n+ 1.

6

Page 7: Un'applicazione delle catene di Markov: l'algoritmo del PageRank · 2013-09-25 · tale scopo si veda l’appendiceA, in cui e proposto l’algoritmo di Kosaraju che risolve il problema

Capitolo 2

Teorema Ergodico

Questo capitolo e finalizzato alla descrizione dell’andamento di una catenadi Markov a partire dal sistema (1.1). In particolare l’interesse e legato alcomportamento al limite della catena o equivalentemente a quello di πn per ntendente ad infinito. Questo e regolato dal noto teorema ergodico per catenedi Markov omogenee e a stati finiti. Nella letteratura dei processi stocastici cisono diverse tipologie dimostrative del teorema. Alcune si basano su concettiastratti di analisi matematica, altre si appoggiano alla teoria delle matrici. Inquesto lavoro abbiamo seguito la seconda strada, enunciando il teorema comesottocaso del teorema di Perron-Frobenius per matrici primitive. Volendoproporre un approccio operativo, abbiamo anche suggerito algoritmi atti adimostrare le ipotesi del teorema.

2.1 Stati ergodici

Definizione 3. Uno stato j si dice raggiungibile da un’altro stato i (i→ j)se∃n ≥ 1 : pnij > 0. Diciamo che due stati comunicano (brevemente i ↔ j) sei→ j e j → i.

In accordo con la proposizione 1, cio equivale a dire che se pnij > 0 perqualche n allora esiste un cammino di lunghezza n che collega gli stati ie j. E’ immediato verificare che la relazione comunicano e di equivalenza.Pertanto gli stati di una catena di Markov possono essere divisi in classi diequivalenza.

Definizione 4. Una catena di Markov si dice irriducibile se tutti gli staticomunicano tra loro. La matrice delle probabilita di transizione P associataad una catena di Markov irriducibile si dice irriducibile.

7

Page 8: Un'applicazione delle catene di Markov: l'algoritmo del PageRank · 2013-09-25 · tale scopo si veda l’appendiceA, in cui e proposto l’algoritmo di Kosaraju che risolve il problema

Maurizio Cescon CAPITOLO 2. TEOREMA ERGODICO

Dal punto di vista operativo, questa definizione non fornisce un criterioimplementabile computazionalmente capace di discernere tra catene irridu-cibili e non. Grazie alla matrice delle probabilita di trasizione, la definizionepuo essere cosı riformulata.

Teorema 1. Una catena di Markov e irriducibile se e solo se (I+P)N−1 > 0.

Dimostrazione. Poiche si considerano catene a stati finiti, se due stati comu-nicano esiste almeno un cammino di lunghezza inferiore a N − 1 dal primostato al secondo e viceversa. Allora (I + P)N−1 = I + (N − 1)P +

(N−1

2

)P2 +

· · ·+(N−1N−2

)PN−1 > 0 se e solo se per ogni coppia di stati i, j (i 6= j) almeno

una delle matrici P, P2. . . , PN−1 ha un valore strettamente positivo in posi-zione (i, j). E questo per la proposizione 1 accade se e solo se c’e un camminoda i a j per ogni coppia di stati di lunghezza inferiore a N − 1.

Tranne per casi in cui N risulti piccolo, un criterio per l’irriducibilita chepreveda la moltiplicazione di (I + P) per se stessa N − 1 volte non e unastrada percorribile (si pensi ad N di qualche milione). Questo controllo sipuo fare in modo piu efficiente traslando il problema nella teoria dei grafi. Atale scopo si veda l’appendice A, in cui e proposto l’algoritmo di Kosarajuche risolve il problema in tempo O(N + M). Accanto alla definizione diirriducibilita, c’e anche l’importante concetto di periodicita.

Definizione 5. Uno stato i ∈ S si dice periodico di periodo δ(i) ≥ 2, se δ(i)e il massimo comun divisore tra tutti gli n tali che pnii > 0. Se δ(i) = 1 lostato e detto aperiodico.

Proposizione 2. Se i↔ j allora δ(i) = δ(j).

Dimostrazione. Sia i 6= j. Allora i ↔ j se e solo se ∃n,m ≥ 1 : pnij > 0,pmji > 0. Vale:

pn+mjj =

∑k∈S

pmjk pnkj ≥ pmji p

nij > 0

e questo implica che δ(i) e definito. Analogamente per δ(j). Per dimostrarel’uguaglianza basta far vedere che δ(i) ≤ δ(j) e δ(j) ≤ δ(i).δ(i) ≤ δ(j): dimostriamo che δ(i) e un divisore di qualsiasi generico k taleche pkjj > 0. Dalle equazioni di Chapman-Kolmogorov

pn+m+kii ≥ pn+k

ij pmji ≥ pnij pkjj p

mji > 0⇒ δ(i)|n+m+ k,

pn+mii ≥ pnij pmji > 0⇒ δ(i)|n+m.

Ma allora δ(i)|k.δ(j) ≤ δ(i): in modo analogo.

8

Page 9: Un'applicazione delle catene di Markov: l'algoritmo del PageRank · 2013-09-25 · tale scopo si veda l’appendiceA, in cui e proposto l’algoritmo di Kosaraju che risolve il problema

Maurizio Cescon 2.2. MATRICI PRIMITIVE

Come nel caso dell’irriducibilita, anche la proprieta di aperiodicita e unaproprieta di classe e permette di definire una tipologia molto importante distati.

Definizione 6. Gli stati di una catena di Markov a stati finiti che siaomogenea irriducibile e aperiodica si dicono ergodici.

Il teorema ergodico, come gia accennato, caratterizza il comportamento allimite di una catena di Markov i cui stati siano ergodici. E con cio si intendeche fornisce una probabilita di visita di ciascuno stato fissa ed indipendentedalle condizioni iniziali. Questa probabilita si definisce distribuzione limite.

Definizione 7. Una distribuzione di probabilita π con π(j) ≥ 0 ∀j ∈ S e∑j∈S π(j) = 1 si dice distribuzione limite per una catena di Markov omoge-

nea se

limn→∞

pnij = π(j), ∀i ∈ S.

Accanto alla definizione di distribuzione limite, ce n’e una piu debole epiu facile da verificare.

Definizione 8. Una distribuzione di probabilita π si dice distribuzione inva-riante per una catena di Markov omogenea se ∀j ∈ S

π(j) =∑i∈S

π(i) pij ⇐⇒ π = πP.

Dal teorema 4 si deduce che ogni distribuzione limite per una catenadi Markov e unica ed invariante. Il viceversa in generale non e vero, cioeesistono distribuzioni invarianti ed uniche per catene che non sono limite. Adesempio si consideri la matrice stocastica1 P =

(0 11 0

). Essa ha due autovalori

distinti λ1 = 1, λ2 = −1 con corrispondenti autovettori v1 = (1/2, 1/2),v2 = (1/2,−1/2). π = (1/2, 1/2) e una distribuzione invariante. Pero nonesistono distribuzioni limite perche limn→∞ p

nij dipende dallo stato i.

2.2 Matrici primitive

Nell’introduzione abbiamo scritto che il teorema ergodico si puo dedurre daquello di Perron-Frobenius per matrici primitive. Vediamo, quindi, comelegare l’ergodicita a tale ipotesi.

1Matrice stocastica: una matrice delle probabilita di transizione di una catena diMarkov.

9

Page 10: Un'applicazione delle catene di Markov: l'algoritmo del PageRank · 2013-09-25 · tale scopo si veda l’appendiceA, in cui e proposto l’algoritmo di Kosaraju che risolve il problema

Maurizio Cescon CAPITOLO 2. TEOREMA ERGODICO

Definizione 9. Una matrice delle probabilita di transizione P si dice positivase pij > 0∀i, j ∈ S. Altrimenti si dice non negativa.

Definizione 10. Una matrice delle probabilita di transizione P non negativasi dice primitiva se e irriducibile ed ha solamente un autovalore di modulomassimo.

Questo secondo tipo di matrici e lungi dall’essere un tipo facilmente rico-noscibile senza dei criteri adatti a stabilire quando questa ipotesi e verificatao meno. Come per altri casi il calcolo degli autovalori e la successiva verificache ce n’e uno massimale, non e una buona soluzione. Pertanto si ricorre ateoremi come il seguente.

Teorema 2. Data una matrice delle probabilita di transizione P non negati-va, vale che P e primitiva se e solo se Pm > 0 per qualche m ≥ 1.

Dimostrazione. Si puo trovare la dimostrazione di questo fatto in [3].

Corollario 1. Ogni matrice positiva e primitiva.

Proposizione 3. Se P ≥ 0 e Pk > 0 allora Pm > 0 per ogni m ≥ k.

Dimostrazione. In generale vale Pm = Pm−k Pk. Poiche l’insieme delle matri-ci stocastiche e un semigruppo Pm−k e ancora stocastica. Pertanto la sommadei suoi valori lungo ogni riga e pari a uno e questo implica che nessuna rigaha coefficienti tutti nulli. Ne segue che Pm = Pm−k Pk ha ogni componentemaggiore di zero, visto che Pk > 0.

Va sottolineato che al di la della riformulazione della primitivita colteorema 2, e utile determinare degli upper bound al valore m del teorema.

Proposizione 4. Data una matrice delle probabilita di transizione P irri-ducibile, se le componenti sulla diagonale principale sono maggiori di zeroallora PN−1 > 0.

Dimostrazione. Siano γ = minp11, . . . , pNN e B = P− diag(p11, . . . , pNN).Allora B e non negativa, irriducibile (poiche P lo e) e vale P ≥ γI+B ≥ γ (I+(1/γ)B). Per il teorema 1 segue che PN−1 ≥ γN−1 (I + (1/γ)B)N−1 > 0.

Teorema 3 (Wielandt). Data una matrice delle probabilita di transizione Pnon negativa, vale che P e primitiva se e solo se PN2−2N+2 > 0.

Dimostrazione. La dimostrazione originale si trova in [8] ed e piuttosto sem-plice richiedendo come prerequisiti il solo teorema di Cayley-Hamilton. Al-trimenti si puo guardare [3], in cui il tutto e contestualizzato nella teoria deigrafi.

10

Page 11: Un'applicazione delle catene di Markov: l'algoritmo del PageRank · 2013-09-25 · tale scopo si veda l’appendiceA, in cui e proposto l’algoritmo di Kosaraju che risolve il problema

Maurizio Cescon 2.3. TEOREMA DI PERRON-FROBENIUS

Gli ultimi due teoremi sono potenti strumenti per affermare qualcosa dipiu sulle matrici primitive. In particolare quello di Wielandt (che considera ilcaso generale) produce un upper bound che per matrici irriducibili con tuttielementi nulli sulla diagonale, e il migliore possibile. La seguente matrice

P =

0 1 0 0 00 0 1 0 00 0 0 1 00 0 0 0 1

1/2 1/2 0 0 0

lo dimostra. Come per il caso dell’irriducibilita, e auspicabile verificare questaproprieta senza ricorrere a N2 − 2N + 2 moltiplicazioni di P per se stessa(si pensi sempre a N di qualche milione). A tale scopo e utile la seguenteequivalenza che trasla il problema nella teoria dei grafi.

Corollario 2. Data una matrice delle probabilita di transizione P, vale cheP e primitiva se e solo se gli stati della catena sono ergodici.

Dimostrazione. Se P e primitiva allora esiste k tale che Pk > 0 ∀ k ≥ m. Nesegue Pk, P k+1 > 0 da cui il loro massimo comune divisore e 1. Concludiamoδ(i) = 1 ∀i ∈ S e la catena e ergodica.Se gli stati sono ergodici allora per ogni coppia di stati (i, j) (comprese lecoppie (i, i)) esiste un indice nij tale che p

nij

ij > 0. Se n e il prodotto di tuttiquesti indici allora Pn > 0.

Quanto dimostrato evidenzia la stretta connessione tra l’ergodicita di unacatena di Markov e la primitivita di P. A partire da questo corollario, unmodo molto comune per verificare l’ergodicita consiste nel ricorrere all’algo-ritmo descritto nell’appendice B. Tale algoritmo determina la periodicita diuna catena di Markov irriducibile usando il grafo della catena ed operandoin tempo O(N +M).

2.3 Teorema di Perron-Frobenius

Teorema 4 (Perron-Frobenius). Sia A = (aij) una matrice N ×N reale. SeA e primitiva allora valgono:

1. ρ(A) > 02;

2. ρ(A) e un autovalore di A;

2ρ(A) = max|λ| : λ ∈ σ(A).

11

Page 12: Un'applicazione delle catene di Markov: l'algoritmo del PageRank · 2013-09-25 · tale scopo si veda l’appendiceA, in cui e proposto l’algoritmo di Kosaraju che risolve il problema

Maurizio Cescon CAPITOLO 2. TEOREMA ERGODICO

3. ci sono v vettore riga, w vettore colonna in RN con vi, wi > 0 e tali chevA = ρ(A)v, Aw = ρ(A)w;

4. ρ(A) e un autovalore semplice di A. In particolare gli autospazi destroe sinistro3 associati a ρ(A) hanno dimensione uno;

5. |λ| < ρ(A) per ogni autovalore λ 6= ρ(A) di A;

6. vale il seguente limite: limn→∞(A/ρ(A))n = w v/v w;

7. vale la seguente stima: min∑N

j=1 aij ≤ ρ(A) ≤ max∑N

j=1 aij;

8. esistono unici due vettori v e w che soddisfano i punti sopra e tali che∑Ni=1 vi =

∑Ni=1wi = 1;

Dimostrazione. Per la dimostrazione si puo consultare [3].

Supponendo A ≡ P si puo applicare questo teorema per dimostrare l’e-sistenza della distribuzione limite per tutte le catene di Markov descritte dauna P primitiva. Si ottiene:

1. ρ(A) = 1 e un autovalore semplice di P e tutti gli altri autovalori λsoddisfano |λ| < 1;

2. esistono e sono uniche due distribuzioni di probabilita π ed e tali cheπ = πP, e = Pe. L’autovettore destro ha componenti ei = 1/N ;

3. il limite limn→∞ Pn =: P∞ e ben definito4 e vale

P∞ = limn→∞

Pn =e π

1/N=

π(1) . . . π(N)...

. . ....

π(1) . . . π(N)

.

Pertanto limn→∞ pnij = π(j) ∀i ∈ S e P∞ e una matrice stocastica

positiva di rango uno.

Dai punti del teorema si evince che Pn e ben definita per ogni n e ammettecome limite una matrice stocastica. Di fatto il sistema

π0 noto

πn+1 = πnP = π0Pn+1 (n→∞)−→ π0P∞ = π,

ha un unico punto di equilibrio stabile che viene raggiunto indipendentementedai valori iniziali. Questo prova il teorema seguente.

3autospazi destro e sinistro: gli autovalori di una matrice e della sua traspostacoincidono.

4definito: l’insieme delle matrici stocastiche e un semigruppo quindi la moltiplicazionedi due matrici stocastiche e ancora una matrice stocastica.

12

Page 13: Un'applicazione delle catene di Markov: l'algoritmo del PageRank · 2013-09-25 · tale scopo si veda l’appendiceA, in cui e proposto l’algoritmo di Kosaraju che risolve il problema

Maurizio Cescon 2.3. TEOREMA DI PERRON-FROBENIUS

Teorema 5 (Ergodico). Data una catena di Markov omogenea, a stati finitied ergodici esiste un’unica distribuzione di probabilita π tale che πP = π elimn→∞ p

nij = π(j), ∀i ∈ S.

Se, per esempio, si riconsidera il caso con P =(

0 11 0

)esso non ha una distri-

buzione limite poiche ammette due autovalori massimali (anche se il vettore(1/2, 1/2) e un punto di equilibrio stabile per il sistema). Sempre questo ca-so, costituisce un contro esempio all’impossibilita d’avere distribuzioni limitecon la sola richiesta per P dell’irriducibilita.

13

Page 14: Un'applicazione delle catene di Markov: l'algoritmo del PageRank · 2013-09-25 · tale scopo si veda l’appendiceA, in cui e proposto l’algoritmo di Kosaraju che risolve il problema

Capitolo 3

L’algoritmo del PageRank

Il capito illustra l’applicazione dei concetti trattati al caso del PageRank.Il PageRank e un algoritmo che fa uso delle catene di Markov per ordinarele pagine web ed e alla base del funzionamento di Google. Data la naturacommerciale di quest’ultimo, quanto riportato potrebbe differire dall’effettivaimplementazione dell’algoritmo. Ad ogni modo le idee basilari nonche i risul-tati teorici rimangono validi. Accanto alla teoria abbiamo riportato il powermethod (necessario per calcolare i ranking) e un po’ di analisi dell’algoritmo.

3.1 Pagine web e catene di Markov

Fin dalla nascita del mondo virtuale, si e sentita l’esigenza di mezzi che favo-rissero ricerche rapide ed efficaci. Di strumenti capaci di filtrare ed ordinarele pagine web rispetto alle query degli utenti. I motori di ricerca sono natiper rispondere a queste necessita. Nel corso degli anni ne sono stati lan-ciati parecchi, a volte riscuotendo successo a volte mancando le richieste delmercato. Uno dei piu diffusi e senza dubbio Google, il cui successo e stato de-cretato dalle ottime capacita d’ordinamento. Il suo funzionamento, essendoun prodotto commerciale, non e di dominio pubblico. Ad ogni modo si sa chee basato sull’analisi di tutte le pagine web mediante i cosiddetti Googlebot alfine di ricavare informazioni su quest’ultime e classificarle. L’analisi avvienead intervalli prestabiliti in modo da tenere conto dell’evoluzione del web. Laclassificazione e invece una miscela di molteplici elementi di cui l’algoritmodel PageRank (proposto da Larry Page e Sergey Brin in [10]) ne costituiscel’ossatura. Cerchiamo di fare chiarezza. In modo semplicistico, si puo direche una ricerca conta di due azioni: l’estrazione di tutte le pagine relativead una specifica query e l’ordinamento per importanza di quest’ultime. IlPagerank contribuisce pesantemente alla seconda. Diciamo contribuisce e

14

Page 15: Un'applicazione delle catene di Markov: l'algoritmo del PageRank · 2013-09-25 · tale scopo si veda l’appendiceA, in cui e proposto l’algoritmo di Kosaraju che risolve il problema

Maurizio Cescon 3.1. PAGINE WEB E CATENE DI MARKOV

non determina poiche ci sono tanti fattori che influenzano l’ordine. A titoloinformativo si puo dare un’occhiata alla Guida introduttiva di Google all’ot-timizzazione per motori di ricerca (SEO). Ad ogni modo i risultati di questoalgoritmo, che nel seguito chiameremo ranking1 delle pagine web, sono fon-damentali. Il PageRank sfrutta la teoria delle catene di Markov e pertantofa uso di una matrice stocastica P di dimensione N ×N (dove N e il numerototale di pagine web) detta hyperlink matrix e cosı composta:

pij =

1/k se c’e un collegamento dalla pagina i alla pagina j

0 altrimenti,

con k numero totale di link uscenti dalla pagina i. In questa modellazionedove P assume il ruolo di matrice delle probabilita di transizione, la naviga-zione di un utente diventa un cammino casuale avente le pagine web comestati. Assumendo, almeno inizialmente, che P sia primitiva deve esistere unadistribuzione limite con componenti strettamente positive. Secondo quantodimostrato, i coefficienti (π(1), . . . , π(N)) rappresentano le porzioni di tempoa regime che un cammino casuale spende nello stato j. Chiaramente piu ilvalore π(i) e alto, piu la pagina i e importante. Quello che fa l’algoritmo delPageRank e di assegnare un coefficiente ad ogni pagina web i proporzionalealla probabilita π(i).

Puo essere utile alla comprensione un esempio pratico. Consideriamo trepagine web 1, 2, 3 cosı collegate:

1→ 1, 1→ 2, 1→ 3

2→ 1, 2→ 2,

3→ 2, 3→ 3.

Allora la matrice delle probabilita di transizione risulta:

P =

1/3 1/3 1/31/2 1/2 00 1/2 1/2

.

La distribuzione limite e data dall’equazione π = πP con vincolo π(1)+π(2)+π(3) = 1 da cui si ottiene:

π = (3/9, 4/9, 2/9).

Il ranking massimo e dato dalla pagina 2, la quale ha un collegamento en-trante sia da 1 che 3. La pagina 1 e piu importante della 3 poiche ha un

1Usualmente quando si parla di ranking si fa riferimento all’ordinamento delle paginerispetto a tutti i fattori, non solo ai risultati del PageRank.

15

Page 16: Un'applicazione delle catene di Markov: l'algoritmo del PageRank · 2013-09-25 · tale scopo si veda l’appendiceA, in cui e proposto l’algoritmo di Kosaraju che risolve il problema

Maurizio Cescon CAPITOLO 3. L’ALGORITMO DEL PAGERANK

collegamento entrante dalla pagina con ranking piu alto. In sostanza, l’ideae che i link da siti importanti (dove per sito importante si intende uno linkatoda molti altri) siano piu influenti di quelli da siti meno noti e che ogni paginaripartisca equamente il proprio peso tra il numero dei suoi link uscenti.

3.2 La matrice del PageRank

Ovviamante nella precedente sezione, il ragionamento era soggetto all’ipotesidi P primitiva. Ma non c’era nessuna conseguenza implicita che la forzasse adesserlo quindi in generale bisogna imporlo. A tal scopo, il PageRank lavorasu una matrice leggermente modificata e primitiva2:

A = α

p11 . . . p1N...

. . ....

pN1 . . . pNN

+1− αN

1 . . . 1...

. . ....

1 . . . 1

, (3.1)

con 0 < α < 1, detto valore di modifica. Un tipico valore per α e 0.85; lasua proposta e dovuta ai costruttori di Google e deriva da alcuni studi di cuiapprofondiremo qualcosina nelle sezioni successive. Va precisato che quelloesposto sopra non e l’unico modo per rendere una matrice primitiva. Cisono parecchie strategie per farlo, ma i costruttori di Google hanno adottatoquesta.

Essendo A primitiva l’ipotesi di esistenza ed unicita della distribuzionelimite e garantita. Il significato di (3.1) puo essere parafrasato come: c’e unaprobabilita fissa (1−α)/N di passare da una pagina web i ad un’altra j, a cuisi somma una probabilita, (proporzionale ad α) di fare questo passaggio. Laprima serve per rendere la matrice primitiva, la seconda (che puo essere nullain assenza di collegamenti) tiene conto degli effettivi collegamenti esistenti.Il ranking di ciascuna pagina va dunque calcolato mediante l’equazione: π(1)

...π(N)

= α

p11 . . . pN1...

. . ....

p1N . . . pNN

π(1)

...π(N)

+1− αN

1...1

(3.2)

N∑i=1

π(i) = 1

Siccome la sostanza del PageRank si riduce a risolvere il problema (3.2) oequivalentemente un sistema lineare omogeneo π(I−A) = 0, il tutto sembre-rebbe piuttosto facile. Se lo e dal punto di vista teorico, non lo e sicuramente

2primitiva: di fatto A e positiva.

16

Page 17: Un'applicazione delle catene di Markov: l'algoritmo del PageRank · 2013-09-25 · tale scopo si veda l’appendiceA, in cui e proposto l’algoritmo di Kosaraju che risolve il problema

Maurizio Cescon 3.3. POWER METHOD

computazionalmente parlando vista l’enorme dimensione di P. Questa pecu-liarita limita addirittura la scelta degli algoritmi, tant’e che spesso si definisce(3.2) the world’s largest matrix computation. Metodi diretti (perfino quellimessi a punto per matrici sparse) non riescono a sopperire a questo proble-ma. Ad oggi il cosiddetto Power Method o sue modifiche sembrano le unichesoluzioni percorribili con tempi computazionali di qualche giorno e capacidi fronteggiare la rapidita di crescita del web. In [13] e [14] sono propostevarianti risolutive, come il metodo di Gauss–Seidel oppure migliorie al Po-wer Method consistenti in un’estrapolazione quadratica, in metodi adattivi(per controllare la convergenza delle singole componenti) e in partizioni di Pusando aggregazioni esatte. Questi raffinamenti hanno anche il pregio di noncompetere tra loro, ma di combinarsi migliorando il risultato finale. Ma nonci sono metodi sostanzialmente diversi. Vediamo quindi piu da vicino comee formalizzato il Power Method nella sua versione base.

3.3 Power Method

Il Power Method e un algoritmo per trovare autovalori piuttosto semplicenel funzionamento perche non esegue nessuna decomposizione della matrice.Quindi puo essere usato quando quest’ultima e molto grande e sparsa. Dicontro trova solo un autovalore e un corrispondente autovettore di modulomassimo.

In particolare esso parte con un vettore b0 (che potrebbe essere una ap-prossimazione dell’autovettore dominante o un valore random) e usa ricorsi-vamente la seguente formula:

bk+1 =Abk‖Abk‖

.

Vale il seguente teorema.

Teorema 6. Data una matrice A quadrata N ×N che abbia un autovaloredominante3 e dato un vettore di partenza b0 con componenti non nulle lun-go la direzione dell’autovettore dominante, esiste una sottosuccessione di bkconvergente a questo autovettore.

Dimostrazione. Se A e diagonalizzabile siano λ1, . . . , λN gli N autovalori(con eventuali molteplicita) tali che |λ1| > |λ2| ≥ · · · ≥ |λN | e v1, . . . , vNi corrispondenti autovettori. Dalle ipotesi, b0 puo essere scritto come b0 =

3dominante: in modulo strettamente maggiore di tutti gli altri.

17

Page 18: Un'applicazione delle catene di Markov: l'algoritmo del PageRank · 2013-09-25 · tale scopo si veda l’appendiceA, in cui e proposto l’algoritmo di Kosaraju che risolve il problema

Maurizio Cescon CAPITOLO 3. L’ALGORITMO DEL PAGERANK

c1v1 + · · ·+cnvN con c1 6= 0 perche ha componenti non nulle lungo v1. Allora:

bk =Abk−1

‖Abk−1‖=

Akb0

‖Akb0‖=

c1Akv1 + c2A

kv2 · · ·+ cNAkvN

‖c1Akv1 + c2Akv2 · · ·+ cNAkvN‖=

=c1λ

k1v1 + c2λ

k2v2 · · ·+ cNλ

kNvN

‖c1λk1v1 + c2λk2v2 · · ·+ cNλkNvN‖=

=( λ1

|λ1|

)k c1

|c1|

(v1 + c2

c1

(λ2λ1

)kv2 + . . . cN

c1

(λNλ1

)kvN

‖v1 + c2c1

(λ2λ1

)kv2 + . . . cN

c1

(λNλ1

)kvN‖

).

Per l’espressione sopra vale che ∀j > 1:

cjc1

(λjλ1

)kvj

(k→∞)−→ 0,

poiche |λj|/|λ1| < 1 .Se A non e diagonalizzabile si considera la sua forma canonica di JordanA := V JV −1, dove nella prima colonna di V c’e l’autovettore v1 corrispon-dente all’autovalore dominante λ1. Dall’unicita dell’autovalore dominante,ne deriva che il primo blocco di Jordan e composto dal valore λ1. Poiche ilvettore b0 puo essere scritto come combinazione lineare delle colonne di Vb0 = c1v1 + · · ·+ cNvN con c1 6= 0, si ha:

bk =Abk−1

‖Abk−1‖=

(V JV −1)kb0

‖V JV −1)kb0‖=

(V JkV −1)b0

‖(V JkV −1)b0‖=

=V JkV −1(c1v1 + c2v2 · · ·+ cNvN)

‖V JkV −1(c1v1 + c2v2 · · ·+ cNvN)‖=

=V Jk(c1e1 + c2e2 · · ·+ cNeN)

‖V Jk(c1e1 + e2v2 · · ·+ eNvN)‖=

=( λ1

|λ1|

)k c1

|c1|

(v1 + 1

c1V ( 1

λ1J)k(c2e2 + · · ·+ cNeN)

‖v1 + 1c1V ( 1

λ1J)k(c2e2 + · · ·+ cNeN)‖

).

Per l’espressione sopra vale che (con M blocchi di Jordan):

(1

λ1

J)k =

1

( 1λ1J2)k

. . .

( 1λ1JM)k

(k→∞)−→

1

0. . .

0

poiche l’autovalore di ( 1

λ1Jj)

k e in modulo piu piccolo di 1 ∀j > 1. Ne segue:

1

c1

V( 1

λ1

Jj)k

(c2e2 · · ·+ cNeN)(k→∞)−→ 0.

18

Page 19: Un'applicazione delle catene di Markov: l'algoritmo del PageRank · 2013-09-25 · tale scopo si veda l’appendiceA, in cui e proposto l’algoritmo di Kosaraju che risolve il problema

Maurizio Cescon 3.4. UN PO’ DI ANALISI DEL PAGERANK

Sai per il caso di A diagonalizzabile che per quello non diagonalizzabile, siperviene all’approsimazione

bk ∼= eıφkc1

|c1|v1

‖v1‖+ rk,

dove eıφ = λ1/|λ1| e ‖rk‖ → 0 quando k → ∞. La successione bk e limitatae quindi contiene una sottosuccessione convergente.

Per via della presenza del termine eıφk, non si puo concludere che bk con-verga all’autovettore voluto (si pensi al caso complesso). Nel caso di matricistocastiche, l’autovalore dominante e 1 percio bk converge a v1/‖v1‖. Perquanto riguarda la velocita di convergenza, essa e geometrica e dipendentedal rapporto |λ2|/|λ1|; risulta quindi lenta se il primo e secondo autovaloresono molto vicini in modulo. Dal punto di vista computazionale, il caricomaggiore risiede nelle moltiplicazioni matrice-vettore.

Per una trattazione piu approfondita degli aspetti di questo metodo, sipuo ad esempio consultare [13]. Esso analizza i suoi punti di forza (di ca-rattere sopratutto numerico) consistenti nella limitata quantita di memoria(solo un vettore), nell’eseguire operazioni con matrici sparse, nell’accuratez-za (niente sottrazioni) e nella semplicita. Si sofferma anche sui suoi difetticoincidenti praticamente con la bassa velocita di convergenza.

3.4 Un po’ di analisi del PageRank

E ’ parecchio difficile fare un’analisi del PageRank che tenga conto di tuttele caratteristiche del problema e di quelle legate alla sua implementazioneattraverso il Power Method. I motivi sono la grossa quantita di aspetti daconsiderare e la dimensione commerciale di Google (per cui i risultati nonsono tutti pubblici). Il taglio di questa sezione sara, quindi, piu di unachiacchierata che un’esposizione a tutto tondo. Rimandiamo ad esempio a[13] o [14] per maggiori dettagli su cio che e riportato.

L’articolo [11], propone dei teoremi aventi grosse conseguenze sulla velo-cita di convergenza:

Teorema 7. Sia P una matrice stocastica N×N e sia α un numero reale taleche: 0 ≤ α ≤ 1. Sia E = evT la matrice N ×N di rango unitario, dove e e ilvettore con tutte le componenti uguali a uno e v e un vettore che rappresenta

una distribuzione di probabilita. Allora definita A =(αP+ (1−α)E

)T, si ha

che |λ2| ≤ α.

Dimostrazione. Vedi [11].

19

Page 20: Un'applicazione delle catene di Markov: l'algoritmo del PageRank · 2013-09-25 · tale scopo si veda l’appendiceA, in cui e proposto l’algoritmo di Kosaraju che risolve il problema

Maurizio Cescon CAPITOLO 3. L’ALGORITMO DEL PAGERANK

Teorema 8. Se P ha almeno due sottoinsiemi irriducibili e chiusi di stati4,allora il secondo autovalore di A e dato da λ2 = α.

Dimostrazione. Se α = 0 allora A = ET . Poiche E ha rango 1 segue λ2 = 0.Sia quindi 0 < α ≤ 1. Come prima cosa si ha che ogni autovettore y di PTche sia ortogonale ad e, e un autovettore di A. Infatti per definizione valePT y = γ y, da cui:

Ay = αPTy + (1− α)ETy = αPTy + (1− α)veTy = αPTy = αγ y,

con λ = αγ. Lo scopo e costruire un vettore soddisfacente alle preceden-ti richieste. Come riportato ad esempio in [1], la molteplicita geometricadell’autovalore 1 di una catena di Markov a stati finiti (cioe il numero di di-stribuzioni invarianti) e pari al numero di classi di stati chiuse ed irriducibili.Quindi, nelle ipotesi del teorema, P ha almeno due autovettori linearmenteindipendenti y1, y2 corrispondenti all’autovalore 1. Siano c1 = yT e, c2 = yT e.Se c1 = 0 allora y = y1, se c2 = 0 allora y = y2 altrimenti y = y1/c1 − y2/c2.In ogni caso esiste un autovettore y per PT corrispondente all’autovalore 1e tale che yT e = 0. Pertanto y e un autovettore di A con corrispondenteautovalore α cioe A ha un autovettore con autovalore λ = α ≤ |λ2|. Per ilteorema 7 si ottiene l’uguaglianza λ2 = α.

Apparentemente sembrerebbe che i due teoremi considerino una matricediversa rispetto a quella vista precedentemente. Di fatto e solo una suageneralizzazione. Il vettore v del PageRank non e quello con valori 1/N(con N numero totale di pagine) ma quello sopra con v > 0 distribuzione diprobabilita. I motivi sono piu che altro di natura algoritmica e commerciale:cosı si permette ad uno stato d’avere una ranking alto a prescindere dai suoicollegamenti.

Le conseguenze piu forti sono nel secondo teorema: esso fornisce unavalore esatto per il modulo del secondo autovalore di A. E’, pero, applicabilea patto di aggiungere ipotesi alla matrice P; sperimentalmente si e visto che Prealizza sempre la richiesta d’avere due sottoinsiemi irriducibili, fatto poi noncosı sorprendente vista la grandezza della rete. La velocita di convergenzadel Power Method diventa quindi λ2/λ1 = α da cui la formula per l’errore edata da (dimostrata in [15]):

‖πk − π‖1 ≤ αk‖π0 − π‖1.

Il tutto e percio condizionato dal solo α. Va da se che la sua scelta e estre-mamente delicata: piu il suo valore e vicino a zero piu alta e la velocita di

4stati : cioe due classi di equivalenza rispetto alla relazione comunicano.

20

Page 21: Un'applicazione delle catene di Markov: l'algoritmo del PageRank · 2013-09-25 · tale scopo si veda l’appendiceA, in cui e proposto l’algoritmo di Kosaraju che risolve il problema

Maurizio Cescon 3.4. UN PO’ DI ANALISI DEL PAGERANK

convergenza; ma piu e basso, piu alta e la distorsione del Web, dato che lamatrice A dipende meno da P. Inoltre per α ≈ 1 subentrano anche problemicon la sensibilita.

Nella direzione di questo ultimo aspetto, c’e anche l’articolo [12]. Essotratta della stabilita-sensibilita dell’algoritmo proponendo il seguente teore-ma:

Teorema 9. Sia P una matrice stocastica N × N i cui elementi diagonalisono nulli (pii = 0 ∀i) e sia α un numero reale tale che: 0 ≤ α < 1. SiaE = evT la matrice N ×N di rango unitario, dove e e il vettore con tutte lecomponenti uguali a 1 e v e un vettore che rappresenta una distribuzione di

probabilita. Allora definita A =(αP + (1 − α)E

)T, il problema Ax = x ha

numero di condizionamento pari a (1 + α)/(1− α).

Dimostrazione. Vedi [12].

Per capire il risultato basta pensare di perturbare leggermente la matriceA, il che potrebbe rappresentare un cambiamento dei link nel web (aggiuntao rimozione di collegamenti) o una modifica di α. Siano dunque A = A +εB (con εB matrice dell’errore), x e x vettori delle distribuzioni stazionariecorrispondenti rispettivamente ad A e A. Ricordando che per sistemi diequazioni lineari vale che:

‖x− x‖1 ≤ kε‖B‖,

(con k numero di condizionamento del problema), l’articolo [12] approda allaseguente formula:

‖x− x‖1 ≤1 + α

1− αε‖B‖.

Parafrasando il risultato, abbiamo che per valori di α prossimi a 1, il Page-Rank non e stabile ed un piccolo cambiamento nella struttura di A potrebbecausare un grosso cambiamento nei valori di x. Nuovamente si giunge allaconclusione che la scelta di α deve essere ragionata affinche l’algoritmo siastabile.

Un altro aspetto degno di nota del PageRank e quello dell’aggiornamento.Siccome il calcolo di π e oneroso, il team di Google effettua il suo aggior-namento ogni due settimane circa. Inoltre la quasi inutilita delle precedenticomputazioni5 (cioe il precedente ranking non e utile come punto di partenzaper una nuova computazione), ne impone ogni volta una piu o meno da zero.Anche se esistono tecniche capaci di usare il vecchio ranking e i cambiamenti

5inutilita delle precedenti computazioni : si fa riferimento agli algoritmi standard peraggiornare catene di Markov.

21

Page 22: Un'applicazione delle catene di Markov: l'algoritmo del PageRank · 2013-09-25 · tale scopo si veda l’appendiceA, in cui e proposto l’algoritmo di Kosaraju che risolve il problema

Maurizio Cescon CAPITOLO 3. L’ALGORITMO DEL PAGERANK

strutturali per aggiornare π (senza eseguire una nuova computazione), questimetodi funzionano se gli aggiornamenti sono i link, non i nodi. L’aggiuntadi nodi allarga π complicando il problema. Ad oggi questo ambito e ancorain pieno sviluppo. Le tecniche di aggregazione o l’accelerazione adattiva delPower Method sono i risultati piu promettenti.

22

Page 23: Un'applicazione delle catene di Markov: l'algoritmo del PageRank · 2013-09-25 · tale scopo si veda l’appendiceA, in cui e proposto l’algoritmo di Kosaraju che risolve il problema

Appendice A

Algoritmo di Kosaraju

Grazie alla proposizione 1, una catena di Markov descritta da una matrice P eirriducibile se e solo se per ogni coppia di stati esiste un cammino di lunghezzafinita che li congiunge. Questo e equivalente a richiedere che il grafo relativoalla catena abbia un’unica componente fortemente connessa. Pertanto unalgoritmo capace di risolvere efficientemente il problema di determinare lecomponenti fortemente connesse di un grafo, e un algoritmo capace di asserirel’irriducibilita di P. In letteratura ci sono almeno tre algoritmi notevoli perquesto problema: l’algoritmo di Kosaraju, quello di Tarjan e quello di Gabow.Le differenze sono per lo piu di natura computazionale. Kosaraju proposeper primo il suo algoritmo che usa pesantemente il teorema seguente.

Teorema 10. Le componenti fortemente connesse di un grafo G sono lestesse del grafo G′ ottenuto invertendo1 la direzione di tutti gli archi di G.

Lo pseudo codice dell’algoritmo e il seguente.

Sia G il grafo diretto e U uno stack vuoto.

While(U non contiene tutti i nodi)

Scegli un nodo arbitrario v non in U.

Esegui una depth-first search partendo da v.

Ogni volta che la depth-first search finisce

in un nodo w non espandibile,

inserisci w in U.

Rovescia le direzioni di tutti gli archi di G.

While(U e non vuoto)

Togli il primo nodo v da U.

Esegui una depth-first search partendo da v.

L’insieme dei nodi visitati dara la componente

1invertendo: essenzialmente considerando la trasposta della matrice descrivente il grafo.

23

Page 24: Un'applicazione delle catene di Markov: l'algoritmo del PageRank · 2013-09-25 · tale scopo si veda l’appendiceA, in cui e proposto l’algoritmo di Kosaraju che risolve il problema

Maurizio Cescon APPENDICE A. ALGORITMO DI KOSARAJU

fortemente connessa a cui appartiene v.

Memorizzala e rimuovi tutti i nodi

della componente da U.

Rimandiamo ad esempio a [7] per la correttezza dell’algoritmo, per esempichiarificatori e per considerazioni sulla complessita pari a O(N +M), con Nnumero di nodi e M numero di archi di G.

24

Page 25: Un'applicazione delle catene di Markov: l'algoritmo del PageRank · 2013-09-25 · tale scopo si veda l’appendiceA, in cui e proposto l’algoritmo di Kosaraju che risolve il problema

Appendice B

Algoritmo per la periodicita

L’algoritmo per determinare la periodicita di una catena, prevede di consi-derarne una irriducibile. Sotto questa ipotesi, vale il teorema seguente.

Teorema 11. Una catena di Markov irriducibile con grafo G = (V,E) haperiodo d ≥ 1 se e solo se l’insieme dei nodi V puo essere partizionato in dclassi C0, C1, . . . , Cd−1 tali che: se i ∈ Ck e (i, j) ∈ E allora j ∈ C(k+1) mod d

e d e il piu grande intero con questa proprieta.

Quindi il periodo di una catena determina una partizione dei nodi in dclassi attraverso le quali la catena transita in ordine fisso e ciclico. Inoltrevalgono due fatti importanti:

• il periodo d divide la lunghezza di ciascun ciclo nel grafo;

• il periodo d divide la differenza tra le lunghezze di due diversi camminitra una medesima coppia di nodi.

L’algoritmo per risolvere il problema della periodicita, prevede la costru-zione di un albero di supporto T per G partendo da un generico nodo ved eseguendo una breadth-first search (il grafo e fortemente connesso). Adogni nodo viene poi assegnata una etichetta in accordo con: level(v) = 0,∀e = (i, j) ∈ T level(j) = level(i) + 1. In base a cio, si puo definire unvalore per ogni arco e = (i, j) ∈ E come val(e) = level(i) − level(j) + 1e quanto detto sopra impone a d di dividere quest’ultimo valore ∀e ∈ E.Quindi d deve dividere il massimo comun divisore dei val(e) > 0 : e /∈ T.La dimostrazione della correttezza dell’algoritmo (che si puo trovare in [9]oppure in [4]) stabilisce l’uguaglianza tra questi ultimi valori. Lo pseudocodice dell’algoritmo consiste in:

Sia G=(V,E) il grafo della catena, v un nodo generico di V.

25

Page 26: Un'applicazione delle catene di Markov: l'algoritmo del PageRank · 2013-09-25 · tale scopo si veda l’appendiceA, in cui e proposto l’algoritmo di Kosaraju che risolve il problema

Maurizio CesconAPPENDICE B. ALGORITMO PER LA PERIODICITA

Costruisci un albero di supporto T per G eseguendo

una breadth-first search partendo da v.

Etichettta ciascun nodo in accordo con:

level(v)=0, per ogni e=(i,j) di T level(j)=level(i)+1.

d=MassimoComunDivisore val(e)>0: con e non in T.

Sempre in [9] oppure in [4], si puo trovare la dimostrazione della complessitadi questo algoritmo pari a O(N + M), con N numero di nodi e M numerodi archi di G.

26

Page 27: Un'applicazione delle catene di Markov: l'algoritmo del PageRank · 2013-09-25 · tale scopo si veda l’appendiceA, in cui e proposto l’algoritmo di Kosaraju che risolve il problema

Bibliografia

[1] A. N. Shiryaev, Probability. Springer, (1996).

[2] Wai-Ki Ching, Michaele K. Ng, Markov Chains, Model Algorithms andApplications. Springer, (2006).

[3] R. Horn, C. R. Johson, Matrix Analysis. Cambridge University Press,(1990).

[4] E. Denardo, Periods of Connected Networks and Powers of NonnegativeMatrices. Math. Oper. Res. (1977).

[5] Perron-Frobenius’ theorem, Wikipedia. http://en.wikipedia.org/

wiki/Oskar_Perron.

[6] Power Method, Wikipedia. http://en.wikipedia.org/wiki/Power_

method.

[7] Kosaraju’s algorithm, Wikipedia. http://en.wikipedia.org/wiki/

Kosaraju_algorithm.

[8] H. Schneider, Wielandt’s proof of the Exponent Inequality for Pri-mitive Nonnegative Matrices. www.math.tu-berlin.de/~schneidh/

wielproof2.pdf.

[9] J. Jarvis, D. Shier, Graph-Theoretic of Finite Markov Chains. http:

//www.ces.clemson.edu/~shierd/Shier/markov.pdf.

[10] L. Page, S. Brin, The Anatomy of a large-scale Hypertextual Web SearchEngine. http://ilpubs.stanford.edu:8090/361/1/1998-8.pdf

[11] S. D. Kamvar, T. H. Haveliwala, The second Eingenvalue of the GoogleMatrix. http://kamvar.org/assets/papers/secondeigenvalue.pdf.

[12] S. D. Kamvar, T. H. Haveliwala, The Condition Number of the PageRankProblem. http://kamvar.org/assets/papers/condition.pdf.

27

Page 28: Un'applicazione delle catene di Markov: l'algoritmo del PageRank · 2013-09-25 · tale scopo si veda l’appendiceA, in cui e proposto l’algoritmo di Kosaraju che risolve il problema

Maurizio Cescon BIBLIOGRAFIA

[13] I. Ipsen, Analysis and Computation of Google’s Pagerank. http://www4.ncsu.edu/~ipsen/ps/slides_pisa.pdf

[14] A. Langville, C. Meyer, A Survey of Eingvector Methodsfor Web Information. http://www.cofc.edu/~langvillea/

surveyEVwebIRReprint.pdf

[15] Bianchini, Gori, Scarselli, PageRank and Web Communities. nauti-lus.dii.unisi.it/pubblicazioni/files/journal/googleACMTran.ps.gz.

28