Sa G ({1, 2,..., n}, E) un grafo orentato. Defnzone d matrc d Adacenza e d ranszone del grafo G: { { 1 j E 1/deg() j E Adac(G) j 0 j / E, rans(g) j 0 j / E ( deg() #arch uscent dal vertce ). Notamo che se sommamo gl element d ogn rga della matrce rans(g) ottenamo 1 oppure 0. Precsamente, { 1 deg () > 0 rans(g) j 0 deg () 0. j sservazone mportante: la matrce rans(g) compare nel momento n cu scrvamo n forma vettorale le seguent condzon p j p, j 1, 2,..., n, deg () ( 1) : j soddsfatte dalle mportanze (authortes) p j de vertc j d G. Infatt, ( 1) è equvalente all denttà p rans(g) p, dove p p 1 p 2 p n è l vettore delle mportanze. Defnzone. Una matrce A n n s dce rducble se esste P n n matrce d permutazone tale che R P AP,, N quadrate. N Se A n n è rducble, allora esste P n n matrce d permutazone tale che R P AP,, N quadrate, con nulla o rrducble. N Dunque nella defnzone potremmo anche rchedere che sa nulla oppure rrducble. Proposzone. Sa A n n rrducble non negatva e tale che j a j 1 & k per cu j a kj < 1. Allora 1 non è autovalore d A. Dmostrazone. È una conseguenza mmedata del terzo teorema d Gershgorn. eorema. Dato un grafo orentato G, affnché possa essere vera la seguente affermazone! p R n, p > 0, p 1 1 tale che p rans(g) p, (0) la matrce rans(g) deve essere stocastca per rghe ed rrducble. Dmostrazone. Supponamo che vale (0). L denttà p rans(g) p e la condzone p 1 1 mplcano 1 p (rans(g) p) (rans(g) ) j p j j
(rans(g)) j p j j j ( (rans(g)) j )p j + j:deg (j)>0 j:deg (j)>0 ( ) 1 p j + ( (rans(g)) j )p j j:deg (j)0 j:deg (j)0 ( (rans(g)) j )p j ( ) 0 p j : α. Se esstesse un ndce j per cu deg (j ) 0, allora, dall denttà 1 α appena dmostrata e dal fatto che ogn componente d p è postva e che la somma delle component d p è uguale a 1, segurebbe che 1 α < 1, l che è assurdo. Dunque s deve avere che deg(j) > 0 per ogn j 1, 2,..., n, o, equvalentemente, rans(g) deve essere stocastca per rghe. ra supponamo d nuovo che vale (0) e, noltre, che rans(g) è stocastca per rghe. Dmostramo che allora rans(g) deve essere rrducble. Supponamo per assurdo che rans(g) è rducble. Dunque esste P n n matrce d permutazone tale che P rans(g)p R N,, N quadrate, con nulla o rrducble. (1) Notamo che dal fatto che rans(g) è stocastca per rghe segue che anche la matrce qu sopra deve essere stocastca per rghe. R La (1) mplca rans(g) P N p rans(g) p P (P p) up (P p) down P. Dunque (0) mplca R N P p, P p R N (P p) up (P p) down R N P p, R N, (2) dove (P p) up è l vettore costtuto dalle prme k component d P p, essendo k (1 k < n) l ordne della matrce e (P p) down è l vettore costtuto dalle ultme n k component d P p. sservamo che la matrce è stocastca per colonne. R Faremo ora vedere che dalla (2) segue N - o che, oltre p, v sono un numero nfnto d altr vettor z α R n, z α > 0, z α 1 1, tal che z α rans(g) z α, Caso R - oppure che almeno una delle component d p deve essere nulla. Caso R Poché quest sono entramb event che contraddcono le potes, ne segurà che rans(g) deve essere rrducble.
Caso R : n questo caso l uguaglanza (2), che dventa (P p) up (P (P p) up p) down N (P p) down, mplca α (P p) up (P p) up 1 (1 α) (P p) down (P p) down 1 N α (P p) up (P p) up 1 (1 α) (P p) down (P p) down 1 Sa z α R n la famgla d vettor defnt dall denttà α (P p) up P z α (P p) up 1 (1 α) (P p) down, α (0, 1). (P p) down 1, α C. S not che tal vettor z α sono tutt dstnt tra loro, sono postv e hanno norma-1 uguale a 1. Inoltre, per come sono stat defnt, ess soddsfano le denttà P z α N P z α, z α P N P z α rans(g) z α. Qund, oltre p, v sono altr nfnt vettor z α (costrubl a partre da p) che verfcano le condzon x > 0, x 1 1, x rans(g) x, mentre avevamo supposto che ne essteva uno solo. Caso R : l uguaglanza (2) (P p) up (P (P p) up p) down R N (P p) down (dove, rcordamo, è stocastca per colonne) mplca R N (P p) up (P p) up, nulla o rrducble. (3) Se è nulla, allora (3) mplca (P p) up 0, coè almeno k element d p devono essere null. (S rcorda che k 1). Supponamo n alternatva che è rrducble. Poché R è non nulla, c è almeno una colonna d R, dcamo quella d ndce u, n cu c è almeno un elemento postvo. Dunque è non negatva, rrducble e tale che j j 1 e j j,u < 1, ovvero è non negatva, rrducble e tale che j j 1 e j u,j < 1. Qund, per la Proposzone, 1 non può essere autovalore d, ovvero non può essere autovalore d. Questo fatto e l fatto che vale la condzone (3) mplcano (P p) up 0, coè almeno k element d p devono essere null. (S rcorda che k 1).
In conclusone, nel caso R, abbamo mostrato che almeno una componente d p deve essere nulla, contro l potes nzale che tutte le component d p sono postve. Abbamo vsto che n entramb cas R e R gungamo a contraddre le potes. Dunque rans(g) non può essere rducble (se vale (0)). Esempo d rduzone d una matrce. Sa 0 0 0 0 a 0 b 0 l m n A 0 0 0 0, h, f, n, l 0 c 0 d 0 0 0 0 0 e f g h A P A e f g h a 0 b 0 l m n c 0 d 0 0 0 0 0 0 0 0 0 0 0 0 0 P AP (P scamba le rghe/colonne 1 e 7 e le rghe/colonne 4 e 5) (Nota: Q P AP h e f g n l m 0 a 0 b 0 c 0 d h e f g 0 a 0 b n l m 0 c 0 d (PQ) A(PQ) h e f g 0 a 0 b n l m 0 c 0 d è rducble) h f e g n l m 0 0 a b 0 0 c d (Q scamba le rghe/colonne 2 e 3) Nota: la matrce PQ è una matrce d permutazone; la matrce h f n l è rrducble. Ved anche l artcolo Berkhn survey pagerank computng Internet athematcs
S è vsto che se vale la seguente affermazone! p > 0, p 1 1 tale che p rans(g) p ( ) allora necessaramente rans(g) deve essere, oltre che non negatva, stocastca per colonne e rrducble. Pù avant s noterà che, data A R n n, l problema z Az, se A è non negatva, stocastca per colonne, e rrducble, ammette una unca soluzone z > 0, z 1 1. Qund, per l nostro partcolare problema, se rans(g), oltre che non negatva, fosse stocastca per colonne e rrducble, allora s avrebbe effettvamente (*). Nella maggor parte de cas, però, la matrce rans(g) non soddsfa queste condzon, qund, n quest cas, l rsultato d esstenza e unctà (*) s potrà ottenere se e solo se s sosttusce rans(g) con una matrce A vcna a rans(g), che sa stocastca per colonne e rrducble (oltre che non negatva). sservazone. Prma d prosegure, accennamo a un modello d vsta del grafo che porterà ad un metodo per l calcolo del vettore p n (*), se quest ultmo è ben defnto. Sa p (k) la probabltà che un vstatore del grafo al passo k della sua vsta sa nel vertce. È ragonevole rchedere che p (k) > 0 (c e probabltà che al passo k della sua vsta l vstatore sa sul vertce, ) e che p(k) 1 (al passo k della sua vsta l vstatore deve essere n uno de vertc del grafo). Inoltre, è ragonevole dre che p (k+1) j : j p (k) n deg () 1 j p (k) dove j rans(g) j (uguale a 1 deg () se deg() > 0 e a zero se deg () 0) è la probabltà che l vstatore dal vertce vada nel vertce j. Ne segue che vettor delle probabltà p (k) e p (k+1) soddsfano l denttà p (k+1) (rans(g) p (k). Dato un vettore nzale p (0), p (0) > 0, p(0) 1, la legge p (k+1) (rans(g) p (k) genera una successone d vettor che vorremmo fossero tutt tal che p (k) > 0 e p (k) 1 1, e vorremmo noltre che p (k) p rans(g) p, quando k +, n modo da avere un metodo per calcolare l vettore p rans(g) p, se ben defnto. 1 1 Dato n generale l problema d determnare n un certo spazo S un x che rmanga nvarato sotto l azone d un operatore ϕ, l prmo metodo che vene n mente per calcolare un tale x S è l metodo delle approssmazon successve che, a partre da un certo x 0 S, tramte la legge x k+1 ϕ(x k ), k 0, 1,..., genera una successone x k S che s spera converga ad x. In partcolare, se lo spazo S è R e ϕ : R R, allora da uno studo grafco della successone x k+1 ϕ(x k ) s possono nture faclmente delle condzon su x 0 e su ϕ che obblgano tale successone a convergere ad un punto x ascssa d una delle ntersezon (che s suppongono esstent) tra la funzone ϕ e la bsettrce. Ad esempo, se ϕ C 1 n un ntorno d x, allora {x k } converge a x se ϕ (x ) < 1 e x 0 non è troppo lontano da x ; e non converge a x se ϕ (x ) > 1 (a meno d event fortut)....
Premessa (rsultat d algebra lneare). S osserva che 0 1 0 0 0 0 1 0 B 0 0 1 0 0 0 0 1 B2 0 0 0 1 0 0 0 0, B3 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0, Bk, k 4. α 1 0 0 α 1 0 0 α S osserva che, per ogn α C, k αk kα k 1 k(k 1) 2 α k 2 0 α k kα k 1 0 0 α k, α 1 0 0 0 α 1 0 0 0 α 1 0 0 0 α k α k kα k 1 k(k 1) 2 α k 2 k(k 1)(k 2) 6 α k 3 0 α k kα k 1 k(k 1) 2 α k 2 0 0 α k kα k 1 0 0 0 α k, k 0, 1, 2,.... Pù n generale, s dmostra che B B s (α) α 1 α 1 α s B k mn{k,s 1} j0 c k,j+1 (Z ) j, Z 1... 1 s, dove c k,j+1 1 d j (α k ) j! dα 1 j! k(k 1) (k j + 1)αk j. È evdente che B k se e solo se α < 1. Nel caso α 0 s ha che B k per k s. eorema d Jordan. gn matrce C n n è smle a una matrce J dagonale a blocch cu blocch dagonal sono fatt come B (tale matrce J è detta forma canonca d Jordan d ). In ogn blocco dagonale, al posto d α, ovvamente, c è un autovalore λ d. Lo stesso autovalore può comparre n pù blocch dagonal. La matrce è dagonalzzable se e solo se blocch dagonal della forma canonca d Jordan sono tutt 1 1. C n n X : X 1 X B s (λ) : J. ( eojordan) Corollaro del eorema d Jordan. Data C n n, la successone d matrc k, k N, tende alla matrce nulla se e solo se tutt gl autovalor d hanno modulo mnore d 1. Dmostrazone. La tes segue dalla seguente rappresentazone d k : k ( X B s (λ) ) k X 1 X B s (λ) k X 1 X B s (λ) k X 1.
Sa ora A n n non negatva, stocastca per colonne, rrducble. Per l fatto che A è stocastca per colonne (A e e) l numero reale 1 deve essere autovalore d A, dunque deve esstere z R n z 0 tale che z Az. Per l fatto che A è non negatva e stocastca per colonne, gl altr autovalor d A, λ 2 (A),...,λ n (A), devono avere modulo mnore o uguale d uno. Per l fatto che A è non negatva, stocastca per colonne e rrducble, nessuno degl autovalor λ j (A), j 2,...,n, può essere uguale a 1, coè 1 come autovalore d A ha molteplctà algebrca uguale a uno, e ogn autovettore d 1 che è defnto a meno d un multplo ha le sue component tutte non nulle e dello stesso segno. (Quest ultm rsultat, d cu s omette la dmostrazone, fanno parte della teora d Perron-Frobenus). Ne segue che vale l seguente EREA PF. A, stocastca per colonne, rrducble λ 1 (A) 1, λ j (A) 1, j 2,..., n e! z > 0, z 1 1 tale che z Az. ( ) Se A fosse anche stocastca per rghe (coè Ae e), allora è semplce capre ch è l vettore z n (**): z 1 e. Altrment, occorre fare calcol per ottenere z. n Esempo. Sa 0 1 0 A 1 a 0 1, a 0, 1. a 0 0 Se a (0, 1, allora A è non negatva, stocastca per colonne, rrducble, qund vale (**). Se a 1, A è anche stocastca per rghe, qund z 1 1 1 3 3 3. Se a (0, 1), per ottenere z occorre fare qualche conto: 1 1 0 z 1 1 a 1 1 z 2 0, z > 0, z 1 z 1...... z 2 1 1 1. 2 + a a 0 1 z 3 z 3 a S osserva che per a 0 esste ed è unco un vettore z tale che z Az, che z è non negatvo, ma z non è postvo (z 3 0); coè non vale (**). E nfatt A è rducble se a 0. S osserva noltre che A rans(g) per un grafo G se e solo se a 0, 1, 1 2. EREA Potenze (calcolo d z: costruzone d una successone d vettor convergente a z). Sa z 0 > 0 z 0 1 1 arbtraro. Defnamo z 1 Az 0, z 2 Az 1, z k+1 Az k, k 0, 1, 2,.... Se A è non negatva, stocastca per colonne e rrducble, allora vettor z k sono tutt postv e d norma-1 uguale a 1. Se noltre λ j (A) < 1, j 2,..., n, allora per k che tende a pù nfnto vettor z k convergono al vettore z n (**), e pù max j2,...,n λ j (A) è mnore d 1, pù rapda è la convergenza. sservazone. Prma d dmostrare questo rsultato, notamo che la condzone λ j (A) < 1, j 2,...,n, non è n generale soddsfatta da una matrce A non negatva, stocastca per
0 1 colonne, rrducble. Ved ad esempo le matrc A 1 0 A 0 1 0 0 0 1 1 0 0, σ(a) {1, e 2π/3, e 4π/3 }; A 0 a 0 1 0 1 0 1 a 0, σ(a) {1, 1};, a (0, 1), σ(a) {1, 0, 1}. Dmostrazone. S verfca che z k > 0, z k 1 1 z k+1 > 0, z k+1 1 1. Poché z k+1 Az k con A e z k > 0, l vettore z k+1 deve essere non negatvo. Se una componente d z k+1 fosse nulla, allora la rga d A dovrebbe essere nulla e A sarebbe rducble, contro l fatto che nvece A s suppone rrducble. Ne segue che ogn componente d z k+1 deve essere postva. Inoltre (z k+1) (Az k) j A j(z k ) j j A j(z k ) j j (z k) j 1. Dunque z k+1 1 1. Supponamo ora λ j (A) < 1, j 2,...,n. Dalle equazon z Az e z k+1 Az k segue l denttà z z k+1 A(z z k ) che mette n relazone l errore commesso al passo k + 1 con l errore al passo k ( k). Scrvendo questa denttà per k 0, 1, 2,..., z z 1 A(z z 0 ), z z 2 A(z z 1 ) A(A(z z 0 )) A 2 (z z 0 ), z z 3 A(z z 2 ) A(A 2 (z z 0 )) A 3 (z z 0 ), c s accorge che l errore al passo k è legato all errore nzale z z 0 dall uguaglanza z z k A k (z z 0 ) ( k). La successone A k scuramente non converge alla matrce nulla perché uno degl autovalor d A è uguale a 1 (per l Corollaro del teorema d Jordan), qund questa espressone d z z k non c permette d concludere che z z k 0, se k +. Essendo però e z 1 ed e z k 1 k, s ha anche z z k+1 A(z z k ) (A ze + ze )(z z k ) (A ze )(z z k ). Dunque vale anche l denttà z z k+1 (A ze )(z z k ) e, d conseguenza, s ha la seguente espressone alternatva per l errore al passo k: z z k (A ze ) k (z z 0 ) ( k). Poché σ(a ze ) {0, λ 2 (A),...,λ n (A)} 2, stavolta (A ze ) k, se k +, dunque z z k 0. I eorem PF e Potenze c dcono che se rans(g) è non negatva, stocastca per colonne, rrducble e n 1 de suo autovalor hanno modulo strettamente mnore d 1, allora (*) è vera e l p n (*) è calcolable come lmte della successone d dstrbuzon dscrete d probabltà (d.d.p.) p (0) > 0, p (0) 1 1, p (k+1) rans(g) p (k), k 0, 1, 2,.... Se nvece rans(g) non soddsfa quelle potes, allora gl stess eorem PF e Potenze c nducono a modfcare rans(g) n una matrce A (vcna a rans(g) ) non negatva, stocastca per colonne, rrducble, con n 1 de suo autovalor d modulo strettamente mnore d 1, n modo che! p > 0, p 1 1 tale che p A p, ( ) 2 Sano y j tal che X z y 2 y n è nvertble. Allora Az y 2 y n AzAy 2 Ay n z Ay 2 Ay n 1 X 1 AX X 1 z X 1 Ay 2 X 1 Ay n σ(b) {λ 0 B 2 (A),..., λ n (A)}. Inoltre, X 1 (A 1 1 0 ze )X X 0 B 1 ze X e 0 B 1 1 σ(a ze 0 B ) {0, λ 2 (A),..., λ n (A)}.
e p lm k + p(k), p (0) > 0, p (0) 1 1 e p (k) d.d.p. generate da p (k+1) A p (k), (alg ) e a spostare l nostro nteresse da p a questo nuovo vettore p. Caso IPESI de eorem PF e Potenze non soddsfatte da rans(g) Sa d 1 se deg() 0 e d 0 se deg() > 0 ( 1,..., n). Il vettore d è detto danglng vertces (pages) ndcator. Sa v R n v > 0 v 1 1, v personalzaton vector. La matrce rans(g) s sosttusce con una matrce stocastca per rghe: rans(g) rans(g) + dv. S not che rans(g)+dv è la matrce d transzone del grafo G ottenuto arrcchendo G con gl arch orentat 1, 2,...,n, per ogn vertce da cu n G non parte nessun arco. Anche la matrce rans(g) + dv e l denttà p (k+1) rans(g) + dv p (k) possono rspecchare la realtà: l vstatore del grafo, nel momento n cu arrva su un vertce che non ha outlnks da lì può andare n un qualsas altro vertce j del grafo, con probabltà v j (1/n se v è unforme). Sa σ(rans(g) + dv ) {1, µ 2,...,µ n }; sappamo che µ j 1, j 2,..., n. Se rans(g)+dv fosse anche rrducble e se suo autovalor µ j avessero modulo strettamente mnore d 1, allora la matrce A che voglamo ntrodurre (per cu valgono ( ) e alg( ) ) può essere propro rans(g) + vd. Se queste due condzon non sono soddsfatte, oppure se non è possble verfcare che sono soddsfatte, allora s ntroduce una ulterore modfca d rans(g): rans(g) rans(g) + dv c(rans(g) + dv ) + (1 c)ev, c (0, 1). Esamnamo la generca rga della matrce c(rans(g) + dv ) + (1 c)ev : deg () 0 : cv + (1 c)v v, 1 deg () > 0 : c...0 0 1 0... 0 1 0... + (1 deg() deg() deg() c)v. È evdente che c(rans(g)+dv )+(1 c)ev è non negatva, stocastca per rghe e rrducble (è postva!), e modfca poco rans(g) + dv (la realtà ) se c 1. Inoltre, vedremo che σ(c(rans(g) + dv ) + (1 c)ev ) {1, λ 2,...,λ n } con λ j < 1, j 2,...,n. Dunque la matrce A che voglamo ntrodurre (per cu valgono ( ) e (alg )) può essere la matrce: Google c(rans(g) + vd ) + (1 c)ve. sservazone. S not che la trasposta d A Google non è la matrce d ranszone d un grafo G, perché gl element dvers da zero della ogn sua rga : deg() > 0 non sono ugual tra loro. Comunque, la formula p (k+1) A p (k), A Google, n (alg ) c dce che la probabltà che l vstatore da vada a j è dventata (dopo la nostra sosttuzone d rans(g) con A Google) l elemento j d A Google: è v j (pccola) se n G da non parte nessun arco; è (1 c)v j (pccola) se n G da partono arch ma non c è un arco da a j; è c/deg () + (1 c)v j (grande) se n G c è un arco da a j.
Dmostramo ora che σ(c(rans(g) + dv ) + (1 c)ev ) {1, λ 2,...,λ n } con λ j < 1, j 2,...,n. Innanztutto s osserva che σ((rans(g) + dv ) + 1 c c ev ) { 1, µ c 2,...,µ n }. (sfruttare l fatto che (rans(g)+dv )e e) e che qund σ(c(rans(g)+dv )+(1 c)ev ) {1, cµ 2,...,cµ n }. Ne segue che gl n 1 autovalor d c(rans(g)+dv )+(1 c)ev dvers da 1, hanno tutt modulo mnore o uguale a c (perché cµ j c µ j c 1 c). P.S. Una dmostrazone dretta d Francesco e Leonardo del fatto che per A Google vale l affermazone p (k) p n (alg ) (le altre affermazon n ( ) e (alg ) s suppongono vere): p p (k+1) Google( p p (k) ) c(rans(g) + vd )( p p (k) ) p p (k) c k (rans(g) + vd ) k ( p p (0) ) dove la matrce (rans(g) + vd ) k è non negatva e stocastca per colonne per ogn k, dunque suo element sono non negatv e mnor o ugual a 1. Ne segue che la matrce c k (rans(g) + vd ) k tende alla matrce nulla e qund p p (k) 0, se k +. Inoltre p p (k) 1 c k (rans(g) + vd ) k 1 p p (0) 1 c k p p (0) 1. Il rsultato d F.&L. c dce che per avere una rapda convergenza, c dovrebbe essere scelto pccolo, ma questa scelta non può essere fatta perché voglamo che nella defnzone della matrce Google la parte rans(g) + vd (che rflette la realtà ) sa domnante. Berkhn scrve che l motore d rcerca google pone c 0.85. Come l motore d rcerca google utlzza l vettore p defnto n ( ), (alg ) dove A Google La matrce Google, quando è relatva al grafo del web, camba contnuamente, perché camba l grafo G del web. Qund l vettore p n ( ) va perodcamente r-calcolato, tramte l algortmo n (alg ). ale algortmo è mplementable utlzzando solo un numero costante d vettor d n component ed ogn suo passo non rchede pù d (n) operazon artmetche (questo perché ogn rga j d rans(g) ha n meda un numero costante una dozzna d element dvers da zero; cò è come dre che al vertce j, nella realtà, sono collegat n meda una dozzna d altr vertc del grafo). Berkhn dce che p vene r-calcolato ogn mese. A cosa serve p? Per ogn ER d un huge dctonary l motore d rcerca ha a dsposzone la lsta LIS ER delle pagne del web che contengono quel ER. L utente sottopone al motore d rcerca una QUERY composta da alcun ERS, ad esempo QUERY {Berkhn survey pagerank}. Il motore d rcerca, leggendo la QUERY, forma l nseme delle pagne web che possono essere d nteresse per l utente I LIS ER {7, 23789, 1234567, 305, 11,...} ER QUERY e l nseme delle corrspondent mportanze { p 7, p 23789, p 1234567, p 305, p 11,...} (l motore d rcerca ha a dsposzone l vettore pagerank p), ordna tal mportanze, p 23789 > p 11 > p 305 >..., e resttusce all utente ttol delle pagne web n I, elencandol n ordne d mportanza, prma 23789, po 11, po 305,....