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

Transcript

Un`applicazione delle catene di Markov: l`algoritmo del PageRank
Un’applicazione delle catene di Markov:
l’algoritmo del PageRank
Maurizio Cescon
25 settembre 2013
Indice
1 Catene di Markov
1.1 Definizione e concetti basilari . . . . . . . . . . . . . . . . . .
3
3
2 Teorema Ergodico
7
2.1 Stati ergodici . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Matrici primitive . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3 Teorema di Perron-Frobenius . . . . . . . . . . . . . . . . . . 11
3 L’algoritmo del PageRank
3.1 Pagine web e catene di Markov
3.2 La matrice del PageRank . . . .
3.3 Power Method . . . . . . . . . .
3.4 Un po’ di analisi del PageRank
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
14
14
16
17
19
A Algoritmo di Kosaraju
23
B Algoritmo per la periodicità
25
2
Capitolo 1
Catene di Markov
In questo capitolo sono esposte delle nozioni di base riguardanti le catene
di Markov. Quanto di seguito scritto non è esaustivo e si limita a riportare definizioni e proprietà utili per questo elaborato, senza entrare troppo
nei dettagli matematici. Inoltre parecchi risultati sono generalizzabili, ma
abbiamo preferito mantenere una trattazione più ristretta dato l’ambito abbastanza specifico d’utilizzo. La linea guida è stata quella di ricondurre i
fenomeni probabilistici allo studio matriciale.
1.1
Definizione e concetti basilari
Definizione 1. Siano (Ω, F, P ) uno spazio di probabiltà, (R, BR ) la σ-algebra
dei boreliani e T ⊆ R. Si definisce processo stocastico di parametro t una
famiglia 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 e
costituiscono lo spazio degli stati S ⊆ R che può essere un insieme finito,
infinito numerabile o infinito con cardinalità del continuo. L’insieme T , detto spazio dei tempi, può essere un insieme infinito numerabile (processo a
tempo discreto) oppure infinito con cardinalità del continuo (processo a tempo continuo). Ciò che ci interessa sono i processi nei quali lo spazio degli
stati è finito, quello dei tempi è discreto con T = N e valgono le ipotesi di
Markovianità ed omogeneità.
Definizione 2. Un processo stocastico (Xn : n ∈ N) a tempo discreto e con
spazio degli stati finito si dice Markoviano se ∀n ∈ N, ∀j, i, in−1 , . . . , i1 , i0 ∈ S
vale che
P (Xn+1 = j|Xn = i, Xn−1 = in−1 , . . . , X1 = i1 , X0 = i0 ) = P (Xn+1 = j|Xn = i).
3
Maurizio Cescon
CAPITOLO 1. CATENE DI MARKOV
Un tale processo si dice inoltre omogeneo se le probabilità di transizione sono
stazionarie, cioè ∀n ∈ N vale che
P (Xn+1 = j|Xn = i) = P (X1 = j|X0 = i) = pij .
Quanto appena definito viene comunemente chiamato catena di Markov
omogenea a stati finiti. D’ora in avanti, senza ulteriori specificazioni, supporremo d’essere sempre in queste ipotesi con |S| = N < N. Tali richieste
sono fondamentali per assicurare alla catena d’essere definita e descritta in
modo univoco a partire dalla matrice delle probabilità di transizione e dalla
distribuzione di probabilità iniziale:
P
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 è possibile poiché i due elementi
specificano tutte le probabilità delle sezioni finito dimensionali del processo
e quindi consentono il calcolo delle probabilità di qualsiasi evento descritto
in termini di valori futuri e condizionato in termini di valori presenti-passati.
Molto utile è l’equazione di Chapman-Kolmogorov che collega le probabilità
di transizione stazionarie a più passi pnij = P (Xn = j|X0 = i) con n ≥ 1
numero di passi:
X
n+m
∀n, m ≥ 1 : pn+m
=
pnik pm
= Pn Pm .
kj ∀i, j ∈ S ⇐⇒ P
ij
k∈S
Sfruttando quest’equazione, si può calcolare πn (i) cioè la probabilità di trovarsi in uno stato i al passo n ≥ 1 come
X
X
π0 (k) pnki ⇐⇒ πn = πn−1 P = π0 Pn .
πn−1 (k) pki =
πn (i) =
k∈S
k∈S
Queste considerazioni permettono di associare a ciascuna catena di Markov:
1. un sistema di equazioni lineari
π0 noto
πn+1 = πn P = π0 P n+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 quantità di stati ed
|E| = M archi congiungenti nodi aventi una probabilità strettamente
positiva di passare da uno all’altro in un passo.
4
Maurizio Cescon
1.1. DEFINIZIONE E CONCETTI BASILARI
Figura 1.1: esempio di grafo.
Ad esempio se N = 3

1/3
P = 1/2
0
con

1/3 1/3
1/2 0  ,
1/2 1/2
π0 = (1/3, 1/3, 1/3),
si può disegnare il grafo di figura 1.1 e dire che l’evoluzione del sistema, cioè
πn (i) ∀i ∈ S, è regolata da (1.1).
Rispetto alla caratterizzazione grafica, vale la seguente proprietà.
Proposizione 1. Sia P la matrice delle probabilità di transizione di una
catena di Markov. Esiste un cammino tra due stati i e j di lunghezza n se e
solo se pnij > 0.
Dimostrazione. La dimostrazione può essere fatta per induzione sulla lunghezza del cammino.
n = 1: il problema è banale.
n = 2: dall’equazione di Chapman-Kolmogorov
X
p2ij =
pik pkj ,
k∈S
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 lunghezza
2 da i a j.
5
Maurizio Cescon
CAPITOLO 1. CATENE DI MARKOV
n > 2: se supponiamo vera l’affermazione per il caso n, allora
X
pn+1
=
pnik pkj 6= 0
ij
k∈S
se e solo se per almeno un k ∈ S ci sono pnik e pkj enrambi diversi da zero.
Per ipotesi induttiva questo è equivalente ad avere un cammino da i a k di
lunghezza n e uno da k a j di lunghezza 1, cioè un cammino da i a j di
lunghezza n + 1.
6
Capitolo 2
Teorema Ergodico
Questo capitolo è finalizzato alla descrizione dell’andamento di una catena
di Markov a partire dal sistema (1.1). In particolare l’interesse è legato al
comportamento al limite della catena o equivalentemente a quello di πn per n
tendente ad infinito. Questo è regolato dal noto teorema ergodico per catene
di Markov omogenee e a stati finiti. Nella letteratura dei processi stocastici ci
sono diverse tipologie dimostrative del teorema. Alcune si basano su concetti
astratti di analisi matematica, altre si appoggiano alla teoria delle matrici. In
questo lavoro abbiamo seguito la seconda strada, enunciando il teorema come
sottocaso del teorema di Perron-Frobenius per matrici primitive. Volendo
proporre un approccio operativo, abbiamo anche suggerito algoritmi atti a
dimostrare 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) se
i → j e j → i.
In accordo con la proposizione 1, ciò equivale a dire che se pnij > 0 per
qualche n allora esiste un cammino di lunghezza n che collega gli stati i
e j. E’ immediato verificare che la relazione comunicano è di equivalenza.
Pertanto gli stati di una catena di Markov possono essere divisi in classi di
equivalenza.
Definizione 4. Una catena di Markov si dice irriducibile se tutti gli stati
comunicano tra loro. La matrice delle probabilità di transizione P associata
ad una catena di Markov irriducibile si dice irriducibile.
7
Maurizio Cescon
CAPITOLO 2. TEOREMA ERGODICO
Dal punto di vista operativo, questa definizione non fornisce un criterio
implementabile computazionalmente capace di discernere tra catene irriducibili e non. Grazie alla matrice delle probabilità di trasizione, la definizione
può essere cosı̀ riformulata.
Teorema 1. Una catena di Markov è irriducibile se e solo se (I +P)N −1 > 0.
Dimostrazione. Poiché si considerano catene a stati finiti, se due stati comunicano esiste almeno un cammino di lunghezza inferiore a N − 1 dal primo
stato al secondo e viceversa. Allora (I + P)N −1 = I + (N − 1)P + N2−1 P2 +
N −1
−1
··· + N
P
> 0 se e solo se per ogni coppia di stati i, j (i 6= j) almeno
N −2
una delle matrici P, P2 . . . , PN −1 ha un valore strettamente positivo in posizione (i, j). E questo per la proposizione 1 accade se e solo se c’è un cammino
da 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’irriducibilità che
preveda la moltiplicazione di (I + P) per se stessa N − 1 volte non è una
strada percorribile (si pensi ad N di qualche milione). Questo controllo si
può fare in modo più efficiente traslando il problema nella teoria dei grafi. A
tale scopo si veda l’appendice A, in cui è proposto l’algoritmo di Kosaraju
che risolve il problema in tempo O(N + M ). Accanto alla definizione di
irriducibilità, c’è anche l’importante concetto di periodicità.
Definizione 5. Uno stato i ∈ S si dice periodico di periodo δ(i) ≥ 2, se δ(i)
è il massimo comun divisore tra tutti gli n tali che pnii > 0. Se δ(i) = 1 lo
stato è 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,
pm
ji > 0. Vale:
X
n
m n
pn+m
=
pm
jk pkj ≥ pji pij > 0
jj
k∈S
e questo implica che δ(i) è definito. Analogamente per δ(j). Per dimostrare
l’uguaglianza basta far vedere che δ(i) ≤ δ(j) e δ(j) ≤ δ(i).
δ(i) ≤ δ(j): dimostriamo che δ(i) è un divisore di qualsiasi generico k tale
che pkjj > 0. Dalle equazioni di Chapman-Kolmogorov
n k m
pn+m+k
≥ pn+k
pm
ji ≥ pij pjj pji > 0 ⇒ δ(i)|n + m + k,
ii
ij
pn+m
≥ pnij pm
ji > 0 ⇒ δ(i)|n + m.
ii
Ma allora δ(i)|k.
δ(j) ≤ δ(i): in modo analogo.
8
Maurizio Cescon
2.2. MATRICI PRIMITIVE
Come nel caso dell’irriducibilità, anche la proprietà di aperiodicità è una
proprietà di classe e permette di definire una tipologia molto importante di
stati.
Definizione 6. Gli stati di una catena di Markov a stati finiti che sia
omogenea irriducibile e aperiodica si dicono ergodici.
Il teorema ergodico, come già accennato, caratterizza il comportamento al
limite di una catena di Markov i cui stati siano ergodici. E con ciò si intende
che fornisce una probabilità di visita di ciascuno stato fissa ed indipendente
dalle condizioni iniziali. Questa probabilità si definisce distribuzione limite.
Definizione 7. Una distribuzione di probabilità π con π(j) ≥ 0 ∀j ∈ S e
P
j∈S π(j) = 1 si dice distribuzione limite per una catena di Markov omogenea se
lim pnij = π(j), ∀i ∈ S.
n→∞
Accanto alla definizione di distribuzione limite, ce n’è una più debole e
più facile da verificare.
Definizione 8. Una distribuzione di probabilità π si dice distribuzione invariante per una catena di Markov omogenea se ∀j ∈ S
X
π(j) =
π(i) pij ⇐⇒ π = πP.
i∈S
Dal teorema 4 si deduce che ogni distribuzione limite per una catena
di Markov è unica ed invariante. Il viceversa in generale non è vero, cioè
esistono distribuzioni invarianti ed uniche per catene che non sono limite. Ad
esempio si consideri la matrice stocastica1 P̄ = 01 10 . 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) è una distribuzione invariante. Però non
esistono distribuzioni limite perché limn→∞ pnij dipende dallo stato i.
2.2
Matrici primitive
Nell’introduzione abbiamo scritto che il teorema ergodico si può dedurre da
quello di Perron-Frobenius per matrici primitive. Vediamo, quindi, come
legare l’ergodicità a tale ipotesi.
1
Matrice stocastica: una matrice delle probabilità di transizione di una catena di
Markov.
9
Maurizio Cescon
CAPITOLO 2. TEOREMA ERGODICO
Definizione 9. Una matrice delle probabilità di transizione P si dice positiva
se pij > 0 ∀i, j ∈ S. Altrimenti si dice non negativa.
Definizione 10. Una matrice delle probabilità di transizione P non negativa
si dice primitiva se è irriducibile ed ha solamente un autovalore di modulo
massimo.
Questo secondo tipo di matrici è lungi dall’essere un tipo facilmente riconoscibile senza dei criteri adatti a stabilire quando questa ipotesi è verificata
o meno. Come per altri casi il calcolo degli autovalori e la successiva verifica
che ce n’è uno massimale, non è una buona soluzione. Pertanto si ricorre a
teoremi come il seguente.
Teorema 2. Data una matrice delle probabilità di transizione P non negativa, vale che P è primitiva se e solo se P m > 0 per qualche m ≥ 1.
Dimostrazione. Si può trovare la dimostrazione di questo fatto in [3].
Corollario 1. Ogni matrice positiva è primitiva.
Proposizione 3. Se P ≥ 0 e Pk > 0 allora Pm > 0 per ogni m ≥ k.
Dimostrazione. In generale vale Pm = P m−k Pk . Poiché l’insieme delle matrici stocastiche è un semigruppo P m−k è ancora stocastica. Pertanto la somma
dei suoi valori lungo ogni riga è pari a uno e questo implica che nessuna riga
ha coefficienti tutti nulli. Ne segue che Pm = P m−k Pk ha ogni componente
maggiore di zero, visto che Pk > 0.
Va sottolineato che al di là della riformulazione della primitività col
teorema 2, è utile determinare degli upper bound al valore m del teorema.
Proposizione 4. Data una matrice delle probabilità di transizione P irriducibile, se le componenti sulla diagonale principale sono maggiori di zero
allora P N −1 > 0.
Dimostrazione. Siano γ = min{p11 , . . . , pN N } e B = P − diag(p11 , . . . , pN N ).
Allora B è non negativa, irriducibile (poiché P lo è) 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 probabilità di transizione P
2
non negativa, vale che P è primitiva se e solo se P N −2N +2 > 0.
Dimostrazione. La dimostrazione originale si trova in [8] ed è piuttosto semplice richiedendo come prerequisiti il solo teorema di Cayley-Hamilton. Altrimenti si può guardare [3], in cui il tutto è contestualizzato nella teoria dei
grafi.
10
Maurizio Cescon
2.3. TEOREMA DI PERRON-FROBENIUS
Gli ultimi due teoremi sono potenti strumenti per affermare qualcosa di
più sulle matrici primitive. In particolare quello di Wielandt (che considera il
caso generale) produce un upper bound che per matrici irriducibili con tutti
elementi nulli sulla diagonale, è il migliore possibile. La seguente matrice


0
1 0 0 0
 0
0 1 0 0



0
0
0
1
0
P=


 0
0 0 0 1
1/2 1/2 0 0 0
lo dimostra. Come per il caso dell’irriducibilità, è auspicabile verificare questa
proprietà senza ricorrere a N 2 − 2N + 2 moltiplicazioni di P per se stessa
(si pensi sempre a N di qualche milione). A tale scopo è utile la seguente
equivalenza che trasla il problema nella teoria dei grafi.
Corollario 2. Data una matrice delle probabilità di transizione P, vale che
P è primitiva se e solo se gli stati della catena sono ergodici.
Dimostrazione. Se P è primitiva allora esiste k tale che Pk > 0 ∀ k ≥ m. Ne
segue Pk , P k+1 > 0 da cui il loro massimo comune divisore è 1. Concludiamo
δ(i) = 1 ∀i ∈ S e la catena è ergodica.
Se gli stati sono ergodici allora per ogni coppia di stati (i, j) (comprese le
n
coppie (i, i)) esiste un indice nij tale che pijij > 0. Se n̄ è il prodotto di tutti
questi indici allora Pn̄ > 0.
Quanto dimostrato evidenzia la stretta connessione tra l’ergodicità di una
catena di Markov e la primitività di P. A partire da questo corollario, un
modo molto comune per verificare l’ergodicità consiste nel ricorrere all’algoritmo descritto nell’appendice B. Tale algoritmo determina la periodicità di
una catena di Markov irriducibile usando il grafo della catena ed operando
in tempo O(N + M ).
2.3
Teorema di Perron-Frobenius
Teorema 4 (Perron-Frobenius). Sia A = (aij ) una matrice N × N reale. Se
A è primitiva allora valgono:
1. ρ(A) > 02 ;
2. ρ(A) è un autovalore di A;
2
ρ(A) = max{|λ| : λ ∈ σ(A)}.
11
Maurizio Cescon
CAPITOLO 2. TEOREMA ERGODICO
3. ci sono v vettore riga, w vettore colonna in RN con vi , wi > 0 e tali che
vA = ρ(A)v, Aw = ρ(A)w;
4. ρ(A) è un autovalore semplice di A. In particolare gli autospazi destro
e 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;
P
PN
7. vale la seguente stima: min N
j=1 aij ≤ ρ(A) ≤ max
j=1 aij ;
8. P
esistono unici
PN due vettori v e w che soddisfano i punti sopra e tali che
N
i=1 vi =
i=1 wi = 1;
Dimostrazione. Per la dimostrazione si può consultare [3].
Supponendo A ≡ P si può applicare questo teorema per dimostrare l’esistenza della distribuzione limite per tutte le catene di Markov descritte da
una P primitiva. Si ottiene:
1. ρ(A) = 1 è un autovalore semplice di P e tutti gli altri autovalori λ
soddisfano |λ| < 1;
2. esistono e sono uniche due distribuzioni di probabilità π ed e tali che
π = πP, e = Pe. L’autovettore destro ha componenti ei = 1/N ;
3. il limite limn→∞ Pn =: P∞ è ben definito4 e

π(1)
eπ
 ..
∞
n
= .
P = lim P =
n→∞
1/N
π(1)
vale

. . . π(N )
..  .
..
.
. 
. . . π(N )
Pertanto limn→∞ pnij = π(j) ∀i ∈ S e P∞ è una matrice stocastica
positiva di rango uno.
Dai punti del teorema si evince che Pn è ben definita per ogni n e ammette
come limite una matrice stocastica. Di fatto il sistema
(
π0 noto
(n→∞)
πn+1 = πn P = π0 P n+1 −→ π0 P∞ = π,
ha un unico punto di equilibrio stabile che viene raggiunto indipendentemente
dai valori iniziali. Questo prova il teorema seguente.
3
autospazi destro e sinistro: gli autovalori di una matrice e della sua trasposta
coincidono.
4
definito: l’insieme delle matrici stocastiche è un semigruppo quindi la moltiplicazione
di due matrici stocastiche è ancora una matrice stocastica.
12
Maurizio Cescon
2.3. TEOREMA DI PERRON-FROBENIUS
Teorema 5 (Ergodico). Data una catena di Markov omogenea, a stati finiti
ed ergodici esiste un’unica distribuzione di probabilità π tale che πP = π e
limn→∞ pnij = π(j), ∀i ∈ S.
Se, per esempio, si riconsidera il caso con P̄ = 01 10 esso non ha una distribuzione limite poiché ammette due autovalori massimali (anche se il vettore
(1/2, 1/2) è un punto di equilibrio stabile per il sistema). Sempre questo caso, costituisce un contro esempio all’impossibilità d’avere distribuzioni limite
con la sola richiesta per P dell’irriducibilità.
13
Capitolo 3
L’algoritmo del PageRank
Il capito illustra l’applicazione dei concetti trattati al caso del PageRank.
Il PageRank è un algoritmo che fa uso delle catene di Markov per ordinare
le pagine web ed è alla base del funzionamento di Google. Data la natura
commerciale di quest’ultimo, quanto riportato potrebbe differire dall’effettiva
implementazione dell’algoritmo. Ad ogni modo le idee basilari nonché i risultati teorici rimangono validi. Accanto alla teoria abbiamo riportato il power
method (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 è sentita l’esigenza di mezzi che favorissero ricerche rapide ed efficaci. Di strumenti capaci di filtrare ed ordinare
le pagine web rispetto alle query degli utenti. I motori di ricerca sono nati
per rispondere a queste necessità. Nel corso degli anni ne sono stati lanciati parecchi, a volte riscuotendo successo a volte mancando le richieste del
mercato. Uno dei più diffusi è senza dubbio Google, il cui successo è stato decretato dalle ottime capacità d’ordinamento. Il suo funzionamento, essendo
un prodotto commerciale, non è di dominio pubblico. Ad ogni modo si sa che
è basato sull’analisi di tutte le pagine web mediante i cosiddetti Googlebot al
fine di ricavare informazioni su quest’ultime e classificarle. L’analisi avviene
ad intervalli prestabiliti in modo da tenere conto dell’evoluzione del web. La
classificazione è invece una miscela di molteplici elementi di cui l’algoritmo
del PageRank (proposto da Larry Page e Sergey Brin in [10]) ne costituisce
l’ossatura. Cerchiamo di fare chiarezza. In modo semplicistico, si può dire
che una ricerca conta di due azioni: l’estrazione di tutte le pagine relative
ad una specifica query e l’ordinamento per importanza di quest’ultime. Il
Pagerank contribuisce pesantemente alla seconda. Diciamo contribuisce e
14
Maurizio Cescon
3.1. PAGINE WEB E CATENE DI MARKOV
non determina poiché ci sono tanti fattori che influenzano l’ordine. A titolo
informativo si può dare un’occhiata alla Guida introduttiva di Google all’ottimizzazione per motori di ricerca (SEO). Ad ogni modo i risultati di questo
algoritmo, che nel seguito chiameremo ranking1 delle pagine web, sono fondamentali. Il PageRank sfrutta la teoria delle catene di Markov e pertanto
fa uso di una matrice stocastica P di dimensione N × N (dove N è il numero
totale di pagine web) detta hyperlink matrix e cosı̀ composta:
(
1/k se c’è un collegamento dalla pagina i alla pagina j
pij =
0
altrimenti,
con k numero totale di link uscenti dalla pagina i. In questa modellazione
dove P assume il ruolo di matrice delle probabilità di transizione, la navigazione di un utente diventa un cammino casuale avente le pagine web come
stati. Assumendo, almeno inizialmente, che P sia primitiva deve esistere una
distribuzione limite con componenti strettamente positive. Secondo quanto
dimostrato, i coefficienti (π(1), . . . , π(N )) rappresentano le porzioni di tempo
a regime che un cammino casuale spende nello stato j. Chiaramente più il
valore π(i) è alto, più la pagina i è importante. Quello che fa l’algoritmo del
PageRank è di assegnare un coefficiente ad ogni pagina web i proporzionale
alla probabilità π(i).
Può essere utile alla comprensione un esempio pratico. Consideriamo tre
pagine web 1, 2, 3 cosı̀ collegate:
1 → 1, 1 → 2, 1 → 3
2 → 1, 2 → 2,
3 → 2, 3 → 3.
Allora la matrice delle probabilità di

1/3

P = 1/2
0
transizione risulta:

1/3 1/3
1/2 0  .
1/2 1/2
La distribuzione limite è data dall’equazione π = πP con vincolo π(1)+π(2)+
π(3) = 1 da cui si ottiene:
π = (3/9, 4/9, 2/9).
Il ranking massimo è dato dalla pagina 2, la quale ha un collegamento entrante sia da 1 che 3. La pagina 1 è più importante della 3 poiché ha un
1
Usualmente quando si parla di ranking si fa riferimento all’ordinamento delle pagine
rispetto a tutti i fattori, non solo ai risultati del PageRank.
15
Maurizio Cescon
CAPITOLO 3. L’ALGORITMO DEL PAGERANK
collegamento entrante dalla pagina con ranking più alto. In sostanza, l’idea
è che i link da siti importanti (dove per sito importante si intende uno linkato
da molti altri) siano più influenti di quelli da siti meno noti e che ogni pagina
ripartisca 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’ipotesi
di P primitiva. Ma non c’era nessuna conseguenza implicita che la forzasse ad
esserlo quindi in generale bisogna imporlo. A tal scopo, il PageRank lavora
su una matrice leggermente modificata e primitiva2 :




1 ... 1
p11 . . . p1N

..  + 1 − α  .. . . ..  ,
...
(3.1)
A = α  ...
.
. .
. 
N
1 ... 1
pN 1 . . . p N N
con 0 < α < 1, detto valore di modifica. Un tipico valore per α è 0.85; la
sua proposta è dovuta ai costruttori di Google e deriva da alcuni studi di cui
approfondiremo qualcosina nelle sezioni successive. Va precisato che quello
esposto sopra non è l’unico modo per rendere una matrice primitiva. Ci
sono parecchie strategie per farlo, ma i costruttori di Google hanno adottato
questa.
Essendo A primitiva l’ipotesi di esistenza ed unicità della distribuzione
limite è garantita. Il significato di (3.1) può essere parafrasato come: c’è una
probabilità fissa (1−α)/N di passare da una pagina web i ad un’altra j, a cui
si somma una probabilità, (proporzionale ad α) di fare questo passaggio. La
prima serve per rendere la matrice primitiva, la seconda (che può essere nulla
in assenza di collegamenti) tiene conto degli effettivi collegamenti esistenti.
Il ranking di ciascuna pagina va dunque calcolato mediante l’equazione:
 





p11 . . . pN 1
π(1)
1
π(1)
1
−
α




 .. 
 ..
.
.
.
..
..   ..  +
(3.2)
 .. 
 .  = α .
.
N
1
π(N )
p1N . . . pN N
π(N )
N
X
π(i) = 1
i=1
Siccome la sostanza del PageRank si riduce a risolvere il problema (3.2) o
equivalentemente un sistema lineare omogeneo π(I − A) = 0, il tutto sembrerebbe piuttosto facile. Se lo è dal punto di vista teorico, non lo è sicuramente
2
primitiva: di fatto A è positiva.
16
Maurizio Cescon
3.3. POWER METHOD
computazionalmente parlando vista l’enorme dimensione di P. Questa peculiarità limita addirittura la scelta degli algoritmi, tant’è che spesso si definisce
(3.2) the world’s largest matrix computation. Metodi diretti (perfino quelli
messi a punto per matrici sparse) non riescono a sopperire a questo problema. Ad oggi il cosiddetto Power Method o sue modifiche sembrano le uniche
soluzioni percorribili con tempi computazionali di qualche giorno e capaci
di fronteggiare la rapidità di crescita del web. In [13] e [14] sono proposte
varianti risolutive, come il metodo di Gauss–Seidel oppure migliorie al Power Method consistenti in un’estrapolazione quadratica, in metodi adattivi
(per controllare la convergenza delle singole componenti) e in partizioni di P
usando aggregazioni esatte. Questi raffinamenti hanno anche il pregio di non
competere tra loro, ma di combinarsi migliorando il risultato finale. Ma non
ci sono metodi sostanzialmente diversi. Vediamo quindi più da vicino come
è formalizzato il Power Method nella sua versione base.
3.3
Power Method
Il Power Method è un algoritmo per trovare autovalori piuttosto semplice
nel funzionamento perché non esegue nessuna decomposizione della matrice.
Quindi può essere usato quando quest’ultima è molto grande e sparsa. Di
contro trova solo un autovalore e un corrispondente autovettore di modulo
massimo.
In particolare esso parte con un vettore b0 (che potrebbe essere una approssimazione dell’autovettore dominante o un valore random) e usa ricorsivamente la seguente formula:
bk+1 =
Abk
.
kAbk k
Vale il seguente teorema.
Teorema 6. Data una matrice A quadrata N × N che abbia un autovalore
dominante3 e dato un vettore di partenza b0 con componenti non nulle lungo la direzione dell’autovettore dominante, esiste una sottosuccessione di bk
convergente a questo autovettore.
Dimostrazione. Se A è diagonalizzabile siano λ1 , . . . , λN gli N autovalori
(con eventuali molteplicità) tali che |λ1 | > |λ2 | ≥ · · · ≥ |λN | e v1 , . . . , vN
i corrispondenti autovettori. Dalle ipotesi, b0 può essere scritto come b0 =
3
dominante: in modulo strettamente maggiore di tutti gli altri.
17
Maurizio Cescon
CAPITOLO 3. L’ALGORITMO DEL PAGERANK
c1 v1 + · · · + cn vN con c1 6= 0 perché ha componenti non nulle lungo v1 . Allora:
Abk−1
Ak b0
c1 Ak v1 + c2 Ak v2 · · · + cN Ak vN
=
=
=
kAbk−1 k
kAk b0 k
kc1 Ak v1 + c2 Ak v2 · · · + cN Ak vN k
c1 λk1 v1 + c2 λk2 v2 · · · + cN λkN vN
=
=
kc1 λk1 v1 + c2 λk2 v2 · · · + cN λkN vN k
!
k
k
λ k c
v1 + cc21 λλ21 v2 + . . . ccN1 λλN1 vN
1
1
.
=
|λ1 | |c1 | kv1 + c2 λ2 k v2 + . . . cN λN k vN k
c1 λ1
c1 λ1
bk =
Per l’espressione sopra vale che ∀j > 1:
cj λj k (k→∞)
vj −→ 0,
c1 λ 1
poiché |λj |/|λ1 | < 1 .
Se A non è diagonalizzabile si considera la sua forma canonica di Jordan
A := V JV −1 , dove nella prima colonna di V c’è l’autovettore v1 corrispondente all’autovalore dominante λ1 . Dall’unicità dell’autovalore dominante,
ne deriva che il primo blocco di Jordan è composto dal valore λ1 . Poiché il
vettore b0 può essere scritto come combinazione lineare delle colonne di V
b0 = c1 v1 + · · · + cN vN con c1 6= 0, si ha:
(V JV −1 )k b0
(V J k V −1 )b0
Abk−1
=
=
=
kAbk−1 k
kV JV −1 )k b0 k
k(V J k V −1 )b0 k
V J k V −1 (c1 v1 + c2 v2 · · · + cN vN )
=
=
kV J k V −1 (c1 v1 + c2 v2 · · · + cN vN )k
V J k (c1 e1 + c2 e2 · · · + cN eN )
=
=
kV J k (c1 e1 + e2 v2 · · · + eN vN )k
!
1
1
k
λ k c
v
+
V
(
J)
(c
e
+
·
·
·
+
c
e
)
1
2
2
N
N
1
1
c1
λ1
=
.
|λ1 | |c1 | kv1 + c11 V ( λ11 J)k (c2 e2 + · · · + cN eN )k
bk =
Per l’espressione sopra vale che (con M blocchi di Jordan):




1
1
1
k



1 k 
 ( λ1 J 2 )
 (k→∞)  0

( J) = 
 −→ 

.
.
.
.
λ1



. 
.
0
( λ11 JM )k
poiché l’autovalore di ( λ11 Jj )k è in modulo più piccolo di 1 ∀j > 1. Ne segue:
1
1 k
(k→∞)
V
Jj (c2 e2 · · · + cN eN ) −→ 0.
c1 λ 1
18
Maurizio Cescon
3.4. UN PO’ DI ANALISI DEL PAGERANK
Sai per il caso di A diagonalizzabile che per quello non diagonalizzabile, si
perviene all’approsimazione
c1 v1
+ rk ,
bk ∼
= eıφk
|c1 | kv1 k
dove eıφ = λ1 /|λ1 | e krk k → 0 quando k → ∞. La successione bk è limitata
e quindi contiene una sottosuccessione convergente.
Per via della presenza del termine eıφk , non si può concludere che bk converga all’autovettore voluto (si pensi al caso complesso). Nel caso di matrici
stocastiche, l’autovalore dominante è 1 perciò bk converge a v1 /kv1 k. Per
quanto riguarda la velocità di convergenza, essa è geometrica e dipendente
dal rapporto |λ2 |/|λ1 |; risulta quindi lenta se il primo e secondo autovalore
sono molto vicini in modulo. Dal punto di vista computazionale, il carico
maggiore risiede nelle moltiplicazioni matrice-vettore.
Per una trattazione più approfondita degli aspetti di questo metodo, si
può ad esempio consultare [13]. Esso analizza i suoi punti di forza (di carattere sopratutto numerico) consistenti nella limitata quantità di memoria
(solo un vettore), nell’eseguire operazioni con matrici sparse, nell’accuratezza (niente sottrazioni) e nella semplicità. Si sofferma anche sui suoi difetti
coincidenti praticamente con la bassa velocità di convergenza.
3.4
Un po’ di analisi del PageRank
E ’ parecchio difficile fare un’analisi del PageRank che tenga conto di tutte
le caratteristiche del problema e di quelle legate alla sua implementazione
attraverso il Power Method. I motivi sono la grossa quantità di aspetti da
considerare e la dimensione commerciale di Google (per cui i risultati non
sono tutti pubblici). Il taglio di questa sezione sarà, quindi, più di una
chiacchierata che un’esposizione a tutto tondo. Rimandiamo ad esempio a
[13] o [14] per maggiori dettagli su ciò che è riportato.
L’articolo [11], propone dei teoremi aventi grosse conseguenze sulla velocità di convergenza:
Teorema 7. Sia P una matrice stocastica N ×N e sia α un numero reale tale
che: 0 ≤ α ≤ 1. Sia E = ev T la matrice N × N di rango unitario, dove e è il
vettore con tutte le componenti uguali a uno e v è un vettore che rappresenta
T
una distribuzione di probabilità. Allora definita A = αP + (1 − α)E , si ha
che |λ2 | ≤ α.
Dimostrazione. Vedi [11].
19
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 è dato da λ2 = α.
Dimostrazione. Se α = 0 allora A = E T . Poiché E ha rango 1 segue λ2 = 0.
Sia quindi 0 < α ≤ 1. Come prima cosa si ha che ogni autovettore y di PT
che sia ortogonale ad e, è un autovettore di A. Infatti per definizione vale
PT y = γ y, da cui:
A y = α PT y + (1 − α)E T y = α PT y + (1 − α)veT y = α PT y = αγ y,
con λ = αγ. Lo scopo è costruire un vettore soddisfacente alle precedenti richieste. Come riportato ad esempio in [1], la molteplicità geometrica
dell’autovalore 1 di una catena di Markov a stati finiti (cioè il numero di distribuzioni invarianti) è pari al numero di classi di stati chiuse ed irriducibili.
Quindi, nelle ipotesi del teorema, P ha almeno due autovettori linearmente
indipendenti y1 , y2 corrispondenti all’autovalore 1. Siano c1 = y T e, c2 = y T 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 1
e tale che y T e = 0. Pertanto y è un autovettore di A con corrispondente
autovalore α cioè A ha un autovettore con autovalore λ = α ≤ |λ2 |. Per il
teorema 7 si ottiene l’uguaglianza λ2 = α.
Apparentemente sembrerebbe che i due teoremi considerino una matrice
diversa rispetto a quella vista precedentemente. Di fatto è solo una sua
generalizzazione. Il vettore v del PageRank non è quello con valori 1/N
(con N numero totale di pagine) ma quello sopra con v > 0 distribuzione di
probabilità. I motivi sono più che altro di natura algoritmica e commerciale:
cosı̀ si permette ad uno stato d’avere una ranking alto a prescindere dai suoi
collegamenti.
Le conseguenze più forti sono nel secondo teorema: esso fornisce una
valore esatto per il modulo del secondo autovalore di A. E’, però, applicabile
a patto di aggiungere ipotesi alla matrice P; sperimentalmente si è visto che P
realizza sempre la richiesta d’avere due sottoinsiemi irriducibili, fatto poi non
cosı̀ sorprendente vista la grandezza della rete. La velocità di convergenza
del Power Method diventa quindi λ2 /λ1 = α da cui la formula per l’errore è
data da (dimostrata in [15]):
kπk − πk1 ≤ αk kπ0 − πk1 .
Il tutto è perciò condizionato dal solo α. Va da sé che la sua scelta è estremamente delicata: più il suo valore è vicino a zero più alta è la velocità di
4
stati : cioè due classi di equivalenza rispetto alla relazione comunicano.
20
Maurizio Cescon
3.4. UN PO’ DI ANALISI DEL PAGERANK
convergenza; ma più è basso, più alta è la distorsione del Web, dato che la
matrice A dipende meno da P. Inoltre per α ≈ 1 subentrano anche problemi
con la sensibilità.
Nella direzione di questo ultimo aspetto, c’è anche l’articolo [12]. Esso
tratta della stabilità-sensibilità dell’algoritmo proponendo il seguente teorema:
Teorema 9. Sia P una matrice stocastica N × N i cui elementi diagonali
sono nulli (pii = 0 ∀i) e sia α un numero reale tale che: 0 ≤ α < 1. Sia
E = ev T la matrice N × N di rango unitario, dove e è il vettore con tutte le
componenti uguali a 1 e v è un vettore che rappresenta una distribuzione di
T
probabilità. Allora definita A = αP + (1 − α)E , 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 matrice
A, il che potrebbe rappresentare un cambiamento dei link nel web (aggiunta
o rimozione di collegamenti) o una modifica di α. Siano dunque Ā = A +
B (con B matrice dell’errore), x e x̄ vettori delle distribuzioni stazionarie
corrispondenti rispettivamente ad A e Ā. Ricordando che per sistemi di
equazioni lineari vale che:
kx − x̄k1 ≤ kkBk,
(con k numero di condizionamento del problema), l’articolo [12] approda alla
seguente formula:
1+α
kBk.
kx − x̄k1 ≤
1−α
Parafrasando il risultato, abbiamo che per valori di α prossimi a 1, il PageRank non è stabile ed un piccolo cambiamento nella struttura di A potrebbe
causare un grosso cambiamento nei valori di x. Nuovamente si giunge alla
conclusione che la scelta di α deve essere ragionata affinché l’algoritmo sia
stabile.
Un altro aspetto degno di nota del PageRank è quello dell’aggiornamento.
Siccome il calcolo di π è oneroso, il team di Google effettua il suo aggiornamento ogni due settimane circa. Inoltre la quasi inutilità delle precedenti
computazioni5 (cioè il precedente ranking non è utile come punto di partenza
per una nuova computazione), ne impone ogni volta una più o meno da zero.
Anche se esistono tecniche capaci di usare il vecchio ranking e i cambiamenti
5
inutilità delle precedenti computazioni : si fa riferimento agli algoritmi standard per
aggiornare catene di Markov.
21
Maurizio Cescon
CAPITOLO 3. L’ALGORITMO DEL PAGERANK
strutturali per aggiornare π (senza eseguire una nuova computazione), questi
metodi funzionano se gli aggiornamenti sono i link, non i nodi. L’aggiunta
di nodi allarga π complicando il problema. Ad oggi questo ambito è ancora
in pieno sviluppo. Le tecniche di aggregazione o l’accelerazione adattiva del
Power Method sono i risultati più promettenti.
22
Appendice A
Algoritmo di Kosaraju
Grazie alla proposizione 1, una catena di Markov descritta da una matrice P è
irriducibile se e solo se per ogni coppia di stati esiste un cammino di lunghezza
finita che li congiunge. Questo è equivalente a richiedere che il grafo relativo
alla catena abbia un’unica componente fortemente connessa. Pertanto un
algoritmo capace di risolvere efficientemente il problema di determinare le
componenti fortemente connesse di un grafo, è un algoritmo capace di asserire
l’irriducibilità di P. In letteratura ci sono almeno tre algoritmi notevoli per
questo problema: l’algoritmo di Kosaraju, quello di Tarjan e quello di Gabow.
Le differenze sono per lo più di natura computazionale. Kosaraju propose
per primo il suo algoritmo che usa pesantemente il teorema seguente.
Teorema 10. Le componenti fortemente connesse di un grafo G sono le
stesse del grafo G0 ottenuto invertendo1 la direzione di tutti gli archi di G.
Lo pseudo codice dell’algoritmo è 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 è non vuoto){
Togli il primo nodo v da U.
Esegui una depth-first search partendo da v.
L’insieme dei nodi visitati darà la componente
1
invertendo: essenzialmente considerando la trasposta della matrice descrivente il grafo.
23
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 esempi
chiarificatori e per considerazioni sulla complessità pari a O(N + M ), con N
numero di nodi e M numero di archi di G.
24
Appendice B
Algoritmo per la periodicità
L’algoritmo per determinare la periodicità di una catena, prevede di considerarne una irriducibile. Sotto questa ipotesi, vale il teorema seguente.
Teorema 11. Una catena di Markov irriducibile con grafo G = (V, E) ha
periodo d ≥ 1 se e solo se l’insieme dei nodi V può essere partizionato in d
classi C0 , C1 , . . . , Cd−1 tali che: se i ∈ Ck e (i, j) ∈ E allora j ∈ C(k+1) mod d
e d è il più grande intero con questa proprietà.
Quindi il periodo di una catena determina una partizione dei nodi in d
classi attraverso le quali la catena transita in ordine fisso e ciclico. Inoltre
valgono 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 cammini
tra una medesima coppia di nodi.
L’algoritmo per risolvere il problema della periodicità, prevede la costruzione di un albero di supporto T per G partendo da un generico nodo v
ed eseguendo una breadth-first search (il grafo è fortemente connesso). Ad
ogni nodo viene poi assegnata una etichetta in accordo con: level(v) = 0,
∀e = (i, j) ∈ T level(j) = level(i) + 1. In base a ciò, si può definire un
valore per ogni arco e = (i, j) ∈ E come val(e) = level(i) − level(j) + 1
e 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 può trovare in [9]
oppure in [4]) stabilisce l’uguaglianza tra questi ultimi valori. Lo pseudo
codice dell’algoritmo consiste in:
Sia G=(V,E) il grafo della catena, v un nodo generico di V.
25
Maurizio CesconAPPENDICE B. ALGORITMO PER LA PERIODICITÀ
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 può trovare la dimostrazione della complessità
di questo algoritmo pari a O(N + M ), con N numero di nodi e M numero
di archi di G.
26
Bibliografia
[1] A. N. Shiryaev, Probability. Springer, (1996).
[2] Wai-Ki Ching, Michaele K. Ng, Markov Chains, Model Algorithms and
Applications. Springer, (2006).
[3] R. Horn, C. R. Johson, Matrix Analysis. Cambridge University Press,
(1990).
[4] E. Denardo, Periods of Connected Networks and Powers of Nonnegative
Matrices. 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 Primitive 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 Search
Engine. http://ilpubs.stanford.edu:8090/361/1/1998-8.pdf
[11] S. D. Kamvar, T. H. Haveliwala, The second Eingenvalue of the Google
Matrix. http://kamvar.org/assets/papers/secondeigenvalue.pdf.
[12] S. D. Kamvar, T. H. Haveliwala, The Condition Number of the PageRank
Problem. http://kamvar.org/assets/papers/condition.pdf.
27
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,
for
Web
Information.
surveyEVwebIRReprint.pdf
A Survey of Eingvector Methods
http://www.cofc.edu/~langvillea/
[15] Bianchini, Gori, Scarselli, PageRank and Web Communities. nautilus.dii.unisi.it/pubblicazioni/files/journal/googleACMTran.ps.gz.
28