Sunteți pe pagina 1din 21

Lant uri Markov. Denit ie, propriet a ti, simulare.

Algoritmul PageRank-Google
10.1 Denit ia si simularea lant urilor Markov

Lant urile Markov discrete se folosesc n practica model arii si simul arii sistemelor n care se produc evenimente la momente discrete de timp t = 0, 1, 2, . . . , n, . . .. Ele modeleaz a sisteme de comunicat ii, sistemul calculator, piat a nanciar a, sisteme biologice, etc. Lant urile Markov se folosesc n design-ul algoritmilor de rutare n ret ele, n simularea cozilor la un server. Exist a chiar si un limbaj de modelare pentru sisteme hardware/software n timp real, numit POOSL, Parallel Object Oriented Specification Language, care genereaz a un lant Markov, ca model al sistemului. Studiul modelului permite evaluarea performant elor si abilit a tii sistemului. Elemente denitorii ale lant ului Markov O mult ime nit a S = {1, 2, . . . , m} numit a spat iul st arilor (se consider a S , un sistem ce poate avea un num ar nit de st ari). Schimb arile de stare se produc la nt amplare, la momente discrete de timp t = 0, 1, 2, . . . , n, . . .. Starea la momentul n este descris a de o variabil a aleatoare discret a Xn . Mult imea valorilor variabilei aleatoare Xn este deci S = {1, 2, . . . , m}. Denit ia 10.1.1 S irul de variabile aleatoare (Xn ), n N, dene ste un lant Markov discret dac a probabilitatea ca la momentul (n + 1) sistemul s a se ae n starea j , stiind c a n momentele de timp precedente se aa respectiv n st arile s0 , s1 , . . . sn1 , i este: P (Xn+1 = j |X0 = s0 , X1 = s1 , . . . Xn = i) = P (Xn+1 = j |Xn = i) (10.1)

P (Xn+1 = j |Xn = i) se cite ste: probabilitatea ca sistemul s a treac a n starea j la momentul n + 1, stiind c a se a a n starea i la momentul n. a. Proprietatea markovian a caRelat ia (10.1) se nume ste proprietate markovian racterizeaz a lipsa part ial a de memorie a lant ului: cunosc and succesiunea de st ari, s0 , s1 , . . . , sn1 , i, prin care a trecut sistemul p an a la momentul n, doar starea prezent a eaz a probabilitatea de trecere, n momentul urm ator, la o nou a stare, nu (Xn = i) inuent si drumul parcurs p an a la momentul curent n (cu alte cuvinte doar istoria recent a, nu si cea trecut a, inuent eaz a evolut ia viitoare). 1

In mod normal probabilit a tile P (Xn+1 = j |Xn = i) depind n, adic a P (Xn+1 = j |Xn = i) = pij (n) Un lant Markov discret (Xn ) se nume ste lant Markov omogen, dac a probabilit a tile condit ionate: P (Xn+1 = j |Xn = i) nu depind de n. Pentru un lant Markov omogen, not am cu pij = P (Xn+1 = j |Xn = i), i, j = 1, m probabilitatea ca la momentul n + 1 lant ul Markov s a treac a n starea j stiind c a la momentul n se aa n starea i. pij se nume ste probabilitate de trecere ntr-un singur pas ste din starea i n starea j , iar matricea Q de elemente Q(i, j ) := pij , i, j = 1, m, se nume matricea de tranzit ie a lant ului Markov. Matricea de tranzit ie Q = (pij )i,j S veric a propriet a tile: 1) pij 0, (i, j ) S S a suma elementelor de pe ecare linie este 1. 2) m j =1 pij = 1, i S , adic O astfel de matrice se nume ste matrice stochastic a, iar liniile ei, vectori stochastici. Practic (pi1 , pi2 , . . . , pim ), i = 1, m, indic a probabilit a tile ca din starea i sistemul s a treac a 453.707 Inverse Problems, G.K. Nicholls, The University of Auckland 7-2 respectiv n st arile 1, 2, . . . , m.
0.4

0.2 0.5 0.4

0.1

0.1

2
0.7

0.4

3
0.2

P i

ij

Figure 7.1 Digraph corresponding to the transition matrix of Example 1. Fig.10.1: 1 1 1 1. Pick X0 using the initializing distribution Pr (X0 = i) = 3 ; 3 ; 3 . Since we have a = b = c = 1 imea st Mult a rilor S , a unui lant Markov s i matricea de tranzit ie denesc un graf orienand u = 0 : 429 ; we select X = 2 : 1 0 3
5 ; 10 ; 10

tat ale c arui v arfuri sunt st arile. Exist a arc orientat de la starea i la j , dac a probabilitatea 2. We are now in state 2. We must choose a new state by jumping from state 2. Since P2j .= a. Graful astfel 1 nenul ie al lant ului Markov pij este asociat se nume s1te graf de tranzit 1 7 1 7
; we have a = 5 ; b =
10

and c =

10 :

3. We are now in state 1. Iterating, since P1j Since u3 = 0:446 < a; we select X2 = 4: We thus obtain X0 X1 X2

Since u2 = 0:456 < a; we select X1 = 4: 1 1 2 1 = 2 5 ; 2 ; 10 ; we have a = 5 ; b = 2 and c =

1 10 :

X3

X4

X5

:::

Exemplul 1. Fie S = {1, 2, 3} mult imea st arilor la o stare la alta denit a de: 0.4 0.5 0.2 0.7 Q= 0.4 0.4 Graful asociat este vizualizat n Fig. 10.1.

unui sistem si matricea de tranzit ie de 0.1 0.1 0.2

Aceast a relat ie ne permite exprimarea concentrat a a propriet a tii lui Q de a avea toate liniile vectori stochastici: Qe = e In continuare o vom folosi ca relat ie denit ie a unei matrici stochastice (sub ant eleg and c a elementele ei sunt mai mari sau egale cu zero). Produsul a dou a matrici stochastice P, Q, este o matrice stochastic a, deoarece P e = e si Qe = e implic a (P Q)e = P (Qe) = P e = e. Dac a P, Q sunt matrici stochastice si (0, 1) atunci combinat ia convex a: M = P + (1 )Q este matrice stochastic a. O realizare a lant ului Markov (Xn ), sau o observat ie asupra lant ului este un sir de st ari posibile, (s0 , s1 , . . . , sn , . . .), sk S , si se nume ste traiectorie a lant ului. Pentru a putea analiza si simula un lant Markov, trebuie precizat a distribut ia init ial a de probabilitate, 0 = [0 (1), 0 (2), . . . , 0 (m)], cu 0 (k ) 0 si m ( k ) = 1, unde k=1 0 0 (k ) = P (X0 = k ) este probabilitatea ca la momentul t = 0 lant ul s a porneasc a din starea k . Cu alte cuvinte, distribut ia init ial a de probabilitate a lant ului Markov este distribut ia de probabilitate a variabilei aleatoare discrete X0 : X0 = 1 2 ... m 0 (1) 0 (2) . . . 0 (m) 1 2 3 0.2 0.5 0.3 (10.2)

Propriet a ti ale matricilor stochastice Not am cu e vectorul de elemente e = [1, 1, . . . , 1]T . Produsul Qe este: p11 + p12 + + p1m 1 p11 p12 . . . p1m . . . . . . . . . pk1 pk2 . . . pkm 1 = pk1 + pk2 + + pkm = . . . . . . . . . pm1 + pm2 + + pmm 1 pm1 pm2 . . . pmm

1 . . . 1 . . . 1

Dac a pentru lant ul Markov din Exemplul 1 distribut ia init ial a de probabilitate este: X0 =

atunci nseamn a c a probabilitatea ca un mers (drum) aleator n mult imea S = {1, 2, 3} s a porneasc a din starea 2 este 0.5.

10.1.1

Simularea unei traiectorii a lant ului Markov

Un lant Markov discret este simulat n mod iterativ. Algoritmul de simulare este prototip pentru clasa algoritmilor iterativi aleatori. Av and dat spat iul st arilor S = {1, 2, . . . , m}, distribut ia init ial a de probabilitate 0 = [0 (1), 0 (2), . . . , 0 (m)] si matricea de tranzit ie a Q = (pij ), i, j = 1, m, a unui lant Markov (Xn ), putem genera o traiectorie aleatoare s0 , s1 , . . . , sN , astfel: construim simulatorul unei variabile aleatoare discrete arbitrare: 1 2 ... m Y = p1 p2 . . . pm pe care l not am simbolic {1, 2, . . . , m; p} p este vectorul de probabilitate al variabilei aleatoare discrete ce ia valori n {1, 2, . . . , m}. j R {1, 2, . . . , m; p} simbolizeaz a faptul c a simulatorul genereaz a o valoare j . Se genereaz a starea init ial a s0 , din care porne ste traiectoria, simul and variabila aleatoare X0 denit a n (10.2). Probabilit a tile de trecere din starea i = s0 n una din st arile sistemului sunt date de elementele din linia i a matricii de tranzit ie Q = (pij ). Astfel starea la momentul t = 1, s1 , este valoare de observat ie asupra variabilei aleatoare discrete, ce ia valorile {1, 2, . . . , m} cu probabilit a tile din linia i a matricii de tanzit ie p = [pi1 , pi2 , . . . , pm ], etc. Algoritmul de generare a segmentului de traiectorie s0 , s1 , . . . , sN , este atunci: s0 R {1, 2, . . . , m; 0 }; j s0 ; for i=1:N { p [linia j din matricea Q]; si R {1, 2, . . . , m; p}; j si ; } return s0 , s1 , . . . , sN Vizualizarea traiectoriei unui lant Markov se face astfel: se marcheaz a n plan punctele de coordonate (i, si ) si se unesc punctele consecutive (i, si ), (i + 1, si+1 ). In Fig. 10.2 este vizualizat a o traiectorie de lungime 100 a lant ului Markov cu 3 st ari, av and matricea de tranzit ie din Exemplul 1 si distribut ia init ial a de probabilitate, distribut ia uniform a. In concluzie, un lant Markov discret dene ste o lege de evolut ie la nt amplare pe mult imea st arilor.

10.2

Analiza unui lant Markov

Pe l ang a tranzit ia ntr-un singur pas a unui lant Markov, suntem interesat i si de tranzit ia dintr-o stare n alta, n n pa si. Not am cu:
n Pij = P (Xn = j |X0 = i),

i, j S,

5
3.5 3 2.5 2 1.5 1 0.5 0 20 40 60 80 100

Fig.10.2:

probabilitatea ca sistemul s a treac a din starea init ial a i n starea j la momentul n sau dup a n pa si. Se demonstreaz a c a matricea de tranzit ie n n pa si, adic a matricea de elemente n Pij , este chiar Qn matricea de tranzit ie ntr-un pas, ridicat a la puterea n. Pentru a putea face predict ii asupra evolut iei sistemului s a calcul am c ateva probabilit a ti ale unor evenimente de interes. S i anume calcul am probabilitatea ca sistemul s a evolueze pe traiectoria s0 , s1 , . . . , sn :
P (X0 = s0 , X1 = s1 , . . . Xn1 = sn1 , Xn = sn ) = P (X0 = s0 , X1 = s1 , . . . Xn1 = sn1 , Xn = sn ) P (X0 = s0 , X1 = s1 , . . . Xn1 = sn1 ) P (X0 = s0 , X1 = s1 , X2 = s2 ) P (X0 = s0 , X1 = s1 , . . . Xn1 = sn1 ) P (X0 = s0 , X1 = s1 , . . . Xn2 = sn2 ) P (X0 = s0 , X1 = s1 ) P (X0 = s0 , X1 = s1 ) P (X0 = s0 ) P (X0 = s0 ) (10.3)

P (A B ) , si a propriet a tii markoviene P (B ) (10.1) rezult a c a fract iile de mai sus, n ordinea de la dreapta spre st anga, conduc la: Din denit ia probabilit a tii condit ionate P (A|B ) =
P (X0 = s0 , X1 = s1 , . . . Xn1 = sn1 , Xn = sn ) = 0 (s0 ) P (X1 = s1 |X0 = s0 ) P (X2 = s2 |X0 = s0 , X1 = s1 ) P (Xn = sn |X0 = s0 , X1 = s1 . . . Xn1 = sn1 ) = 0 (s0 )P (X1 = s1 |X0 = s0 ) P (X2 = s2 |X1 = s1 ) P (Xn = sn |Xn1 = sn1 ) = 0 (s0 )Q(s0 , s1 ) . . . Q(sn1 , sn )

(10.4)

ul s a admit a segmentul de traiectorie s0 , s1 , . . . , sn Deci, probabilitatea ca lant este:


P(X0 = s0 , X1 = s1 , . . . Xn1 = sn1 , Xn = sn ) = 0 (s0 )Q(s0 , s1 ) . . . Q(sn1 , sn ). (10.5)

Exemplul 2. Consider am lant ul Markov din exemplul 1, av and distribut ia init ial a de probabilitate 0 = [0.2, 0.35, 0.45]. S a se calculeze probabilitatea ca lant ul s a evolueze din starea s0 = 2, n starea s11 = 3 pe traiectoria: 2, 1, 3, 2, 1, 2, 3, 1, 3, 2, 1, 3. Conform formulei deduse probabilitatea ca lant ul s a aib a traiectoria 2, 1, 3, 2, 1, 2, 3, 1, 3, 2, 1, 3 este P = 0 (2)Q(2, 1)Q(1, 3)Q(3, 2)Q(2, 1)Q(1, 2)Q(2, 3)Q(3, 1)Q(1, 3)Q(3, 2)Q(2, 1)Q(1, 3). Calculul numeric al acestui produs conduce la: P (X0 = 2, X1 = 1, X2 = 3, X3 = 2, X4 = 1, X5 = 2, X6 = 3, X7 = 1, X8 = 3, X9 = 2, X10 = 1, X11 = 3) = 8.9600000000e 09. 10.2.1 Determinarea distribut iei de probabilitate n a variabilei de stare Xn , la momentul n

In denit ia lant ului Markov (Xn ) nu se precizeaz a si distribut ia de probabilitate a variabilei aleatoare de stare Xn . Variabila aleatoare Xn ia valorile {1, 2, . . . , m} si evenimentul (Xn = j ) este evenimentul ca la momentul n traiectoria aleatoare s a ajung a n starea j S. Vom ar ata c a dac a se cunoa ste distribut ia init ial a de probabilitate 0 si matricea de tranzit ie Q a lant ului Markov (Xn ) atunci putem determina si distribut ia de probabilitate n = [n (1), n (2), . . . , n (m)] a variabilei aleatore Xn , n > 0. Preciz am c a n (j ) = P (Xn = j ). Propozit ia 10.2.1 Distribut ia de probabilitate a st arii la momentul n este: n = 0 Qn sau detaliat: n (1) n (2) . . . n (m) = 0 (1) 0 (2) . . . 0 (m) Q

Demonstrat ie: Not am cu B evenimentul (Xn = j ) si cu Ai = (X0 = i), i = 1, 2, . . . , m. Evident c a A1 , A2 , . . . , Am constituie o o descompunere a evenimentului sigur n m evenimente mutual exclusive dou a c ate dou a. Conform formulei probabilit a tii totale avem:
n

P (B ) =
i=1

P (Ai )PAi (B )

(10.6)

Rescriem formula probabilit a tii totale nlocuind B cu (Xn = j ) si Ai cu (X0 = i):


m

P (Xn = j ) =
i=1

P (X0 = i)P (Xn = j |X0 = i),

(10.7)

adic a P (Xn = j ) =

m n 0 (i)Pij i=1

=
i=1

0 (i)Qn (i, j ).

(10.8)

Rezult a astfel c a: n (j ) =

0 (i)Qn (i, j ),
i=1

(10.9)

ceea ce ne conduce la relat ia matricial a: [ n (1) n (2) . . . n (m) ] = [ 0 (1) 0 (2) . . . 0 (m) ]Qn sau concentrat n = 0 Qn (10.11) (10.10)

Din relat ia (10.10) rezult a c a distribut ia de probabilitate a st arii la momentul n, Xn se poate calcula recursiv pornind de la distribut ia init ial a 0 : 1 = 0 Q 2 = 0 Q2 = 1 Q . . . n = n1 Q (10.12) Aceast a metod a se recomand a pentru calculul numeric al distribut iei de probabilitate n a st arii n. Exemplul 3. Pentru lantul Markov din Exemplul 1 av and distribut ia initial a de probabilitate 0 = [0.2, 0.35, 0.45] distribut iile de probabilitate ale st arilor p an a la momentul n = 100, X1 , X2 , . . . , X100 , calculate conform relat iei de recurent a de mai sus, sunt: 1 2 3 4 5 6 7 8 9 10 = = = = = = = = = = [0.330000000000.5250000000000.145000000000]; [0.295000000000.5905000000000.114500000000]; [0.281900000000.6066500000000.111450000000]; [0.278670000000.6101850000000.111145000000]; [0.277963000000.6109225000000.111114500000]; [0.277815500000.6110730500000.111111450000]; [0.277785390000.6111034650000.111111145000]; [0.277779307000.6111095785000.111111114500]; [0.277778084300.6111108042500.111111111450]; [0.277777839150.6111110497050.111111111145];

Pentru variabilele aleatoare X50 , . . . , X100 obt inem cu 15 zecimale, distribut ia de probabilitate : 50 = 51 = = 100 = [0.277777777778, 0.611111111111, 0.111111111111] Observ am c a P (X50 = k ) = = P (X100 = k ), k = 1, 2, 3. Aceste egalit a ti au loc pentru trunchierea la 15 zecimale. Orice distribut ie de probabilitate n , cu n 50, am calcula cu 15 zecimale, am obt ine toate distribut iile identice. In continuare interpret am semnicat ia acestui comportamnet.

10.2.2

Distribut ie de echilibru a unui lant Markov

Faptul c a ncep and de la n = 50 distribut iile de probabilitate trunchiate la 15 zecimale coincid, adic a, de exemplu, 50 = 51 si 51 = 50 Q, implic a not and ambele distribut ii cu c a = Q. Denit ia 10.2.1 O distribut ie de probabilitate , pe spat iul st arilor unui lant Markov cu proprietatea c a = Q, unde Q este matricea de tranzit ie a lant ului, se nume ste distribut ie invariant a sau stat ionar a sau nc a distribut ie de echilibru. Se poate verica c a dac a sirul (n ) al distribut iilor de stare este convergent, atunci limita sa este un vector probabilist , adic a un vector de coordonate 0 si suma coordonatelor este 1. Interpretarea distribut iei stat ionare: Dac a la un moment dat n, n = , atunci din n+1 = n Q = Q = , rezult a c a n orice moment n + k , k 1, ulterior lui n, lant ul va avea aceea si distribut ie de probabilitate a st arilor, n+k = , adic a dup a momentul n distribut ia este stat ionar a, nu se mai modic a si deci sistemul a ajuns ntr-un echilibru. De-a lungul oric arei traiectorii, sn , sn+1 , . . . sn+N , de orice lungime N+1, starea 1 este vizitat a de lant ul Markov n proport ie de 100 (1)%, starea 2 de 100 (2)%, . . . , starea m n proport ie de 100 (m)%. In continuare evident iem condit ii care asigur a c a lant ul Markov admite distribut ie de echilibru, iar apoi preciz am c and astfel de condit ii sunt ndeplinite. Propozit ia 10.2.2 Dac a sirul n converge la , atunci este distribut ie de echilibru a lant ului Markov. Demonstrat ie: Dac a limn n = atunci si limn n1 = . Trec and la limit a c and n n relat ia: n = n1 Q obt inem: = Q, adic a este distribut ie de echilibru a lant ului Markov. Observat ia 10.2.1 S irul (n ) ind construit recursiv, pornind de la distribut ia init ial a 0 , n = 0 Q n = n1 Q, este evident c a n general ecare distribut ie init ial a conduce la un alt sir (n ) si dac a acesta este convergent, la alt a limit a . Cu alte cuvinte un lant Markov poate admite mai multe distribut ii invariante. Propozit ia 10.2.3 Dac a sirul n converge la , indiferent de distribut ia init ial a de probn abilitate, 0 , atunci sirul de matrici (Q ) converge la o matrice care are pe ecare linie coordonatele vectorului probabilist .

Demonstrat ie: Avem relat ia n = 0 Qn Deoarece n , oricare ar 0 , n particular n si pentru 0 = [0, 0, . . . , 1 , . . . , 0, 0]. In acest caz, 0 Qn = q11 q12 . . . q1m . . . 0, 0, . . . , 1 , . . . , 0, 0 qk1 qk2 . . . qkm . k . . qm1 qm2 . . . qmm
k

Prin urmare n = [ qk1 qk2 . . . qkm ]. Trec and la limit a c and n obt inem c a linia k din matricea Qn tinde la (deoarece n ). Cum k a fost ales arbitrar, rezult a c a n toate liniile din Q tind la = [ (1), (2), . . . , (n)]. Prin urmare (1) (2) . . . (n) (1) (2) . . . (n) Qn . . . . . . (1) (2) . . . (n) Propozit ia precedent a are o ipotez a greu de ndeplinit la prima vedere, adic a indiferent de distribut ia init ial a 0 , cerem ca sirul corespunz ator (n ), cu n = 0 Q, s a e convergent si s a aib a aceea si limit a . Vom ar ata n continuare c a exist a lant uri Markov care au aceast a proprietate si mai mult c a pe mult imea tuturor paginilor WEB, ca spat iul al st arilor, se poate deni un lant Markov (ale c arui traiectorii sunt traiectoriile unui navigator pe WWW), ce are o distribut ie de echilibru. Exemplul 4. In Exemplul 3 am ilustrat c a distribut iile de probabilitate n tind la = [0.277777777778, 0.611111111111, 0.111111111111] pentru o anumit a distribut ie init ial a. Prin experimente numerice se poate vedea c a limita este aceea si orice distribut ie init ial a am lua lua (aici facem abuz de limbaj: ceea ce numim limita este n realitate o aproximat ie a ei, adic a un N cu proprietatea c a ||N || < ). n Calcul and Q , pentru n = 100 obt inem: 0.277777777778 0.611111111111 0.111111111111 Q100 = 0.277777777778 0.611111111111 0.111111111111 0.277777777778 0.611111111111 0.111111111111 Remarc am c a pe ecare linie a matricii Q100 avem coordonatele vectorului probabilist 50 = = 100 = , ce pare s a e distribut ia de echilibru a lantului Markov considerat. S a evident iem acum condit iile pe care trebuie s a le ndeplineasc a matricea de tranzit ie Q a unui lant Markov, pentru ca pentru orice distribut ie init ial a de probabilitate a st arilor, 0 , sirul (n ) asociat s a e convergent si s a aib a aceea si limit a .

= [ qk1 qk2 . . . qkm ] linia k din Qn

10

10.2.3

Lant uri Markov ireductibile

Fie S = {1, 2, . . . , m} spat iul st arilor unui lant Markov. Denim pe S o relat ie de echivalent a: starea i intercomunic a cu starea j dac a probabilitatea de tranzit ie de la i la j ntr-un num ar de pa si este pozitiv a, la fel ca si probabilitatea de tranzit ie de la j n k la i, adic a exist an>0 si k > 0, astfel nc at Q (i, j ) > 0 si Q (j, i) > 0. Not am aceast a relat ie prin: ij Clasa de echivalent a a unei st ari, notat a C (i), este format a din mult imea st arilor cu care i intercomunic a. Un lant Markov cu o singur a clas a este lant ireductibil, adic a oricare dou a st ari intercomunic a. ul Dac a matricea de tranzit ie are toate elementele Q(i, j ) > 0, i, j 1, m, atunci lant Markov este ireductibil. Dac a exist a un n > 1 astfel nc at Qn (i, j ) > 0, i, j 1, m, lant ul Markov este de asemenea ireductibil (condit ia precedent a corespunde cazului n = 1). Exemplul 5. tranzit ie: Lant ul Markov av and spat iul st arilor S = {1, 2, 3, 4} si matricea de 0.3 0.7 0 0 0.45 0.55 0 0 Q= 0 0 0.6 0.4 0 0 0.2 0.8

nu este un lant ireductibil, a sa cum se poate observa mai simplu din graful asociat. Mult imile de st ari {1, 2} si {3, 4} nu comunic a ntre ele. Observat ia 10.2.2 Simplul fapt c a Q(i, j ) = 0 nu asigur a c a i nu comunic a cu j . Cele dou a st ari nu comunic a ntr-un pas, dar pot comunica n mai mult i pa si, adic a s-ar putea n ca Q (i, j ) > 0, pentru un n > 1. Un lant Markov poate avea si traiectorii periodice (Fig.10.3).

3 1

Fig.10.3: Graful asociat unui lant Markov ce are traiectoria (1,3,4) periodic a

11

Din analiza grafului din gur a rezult a c a probabilit a tile Q3 (1, 1) > 0, Q6 (1, 1) > 0 si 3k n general Q (1, 1) > 0, ceea ce ilustreaz a c a, cu o probabilitate pozitiv a, o traiectorie ce porne ste din 1 se re ntoarce n 1 dup a 3, pa si, 6 pa si, sau mai general un multiplu de 3 pa si. Aceast a proprietate indic a c a traiectoria ce porne ste din 1 este periodic a. Analog pentru 3 si 4. Denit ia 10.2.2 Perioada unei st ari i, este num arul i = c.m.m.d.c{n N | Qn (i, i) > 0} In cazul exemplului nostru cel mai mare divizor comun al numerelor de forma 3k , k N este 3, deci starea 1 este periodic a de perioad a 3, si analog starile 3 si 4. O stare i a c arei perioad a este 1 se nume ste stare aperiodic a, iar un lant Markov care are toate st arile aperiodice se nume ste lant Markov aperiodic. Evident c a dac a matricea de tranzit ie are toate elementele de pe diagonala principal a strict pozitive, Q(i, i) > 0, atunci lant ul este aperiodic. Remarc am c a propriet a tile de ireductibilitate si aperiodicitate ale unui lant Markov sunt propriet a ti ale matricii de tranzit ie. Se poate demonstra urm atoarea proprietate: Toate st arile dintr-o clas a de echivalent a , relativ la relat ia de intercomunicare, au aceea si perioad a. Un lant Markov n timp discret, ireductibil are toate st arile de aceea si perioad a d. Prin urmare dac a o stare a unui lant ireductibil este aperiodic a, atunci toate st arile sunt aperiodice. Astfel pentru a ar ata c a un lant ireductibil este aperiodic este sucient s a identic am o stare i pentru care Q(i, i) > 0 (probabilitatea de trecere de la starea i la ea ns a si este nenul a), pentru a concluziona c a starea i este aperiodic a si deci toate st arile lant ului sunt aperiodice. Dup a aceast a clasicare a st arilor unui lant Markov s a caracteriz am lant urile Markov ireductibile si aperiodice. Teorema 10.2.1 Dac a un lant Markov cu o mult ime nit a de st ari S este ireductibil si aperiodic, atunci el admite o unic a distribut ie de echilibru si sirul (n ) al distribut iilor de stare la momentul n este convergent oricare ar distribut ia init ial a 0 . Conform propozit iilor 10.2.2, 10.2.2, limita sirului (n ) este distribut ia de echilibru si n sirul (Q ) este convergent, limita sa ind matricea ale c arei linii coincid toate cu vectorul probabilist . Aceast a teorem a st a la baza algoritmului PageRank pe care se bazeaz a motorul de c autare Google. 10.2.4 Algoritm de determinare a distribut iei invariante a unui lant Markov ireductibil si aperiodic

Presupunem c a lant ul Markov denit pe spat iul st arilor S , |S | = m, are matricea Q ireductibil a si aperiodic a. Conform Teoremei 10.2.1, lant ul are o unic a distribut ie de

12

echilibru = ( (1), (2), . . . , (n)), adic a: = Q si (j ) 0, m j =1 (j ) = 1 Prima condit ie scris a detaliat: [ (1) (2) . . . (m) ] = [ (1) (2) . . . (m) ]Q este echivalent a (aplic and transpunerea ambilor membri ai egalit a tii) cu: (1) (1) (1) (1) T Q . = . . . . . (m) (m) (10.13)

ceea ce nseamn a c a vectorul Rm este vector propriu al transform arii liniare de matrice T T Q corespunz ator valorii proprii 1, pentru c a Q = 1 . a Teorema din algebra liniar a cunoscut a ca teorema lui PerronFrobenius arm c a transpusa matricii de tranzit ie a unui lant Markov ireductibil si aperiodic admite pe 1 ca valoare proprie, cu ordinul de multiplicitate 1 si subspat iul propriu corespunz ator este generat de un vector v = (x1 , x2 , . . . , xm ) av and toate coordonatele strict pozitive. Evident c a si v este vector propriu corespunz ator valorii proprii 1, pentru c a QT (v ) = T Q (v ) = 1 v = 1 (v ). Rezult a astfel urm atorul algoritm de determinare a distribut iei invariante a unui lant Markov ireductibil si aperiodic: se determin a un vector propriu, v = (x1 , x2 , . . . , xm ), corespunz ator valoT rii proprii 1 a matricii Q ; se calculeaz a suma coordonatelor r = x1 + x2 + + xm ; vectorul = v/r = (x1 /r, x2 /r, . . . , xm /r) reprezint a distribut ia de echilibru a lant ului Markov. Preciz am c a conform teoremei Frobenius un vector propriu corespunz ator valorii proprii 1 are e toate coordonatele strict pozitive, e toate strict negative. Deci v/r are sigur coordonatele pozitive si mai mult este un vector probabilist.

10.3

Algoritmul PageRankGoogle

Google este un motor de c autare foarte performant datorit a algoritmului PageRank, dezvoltat de fondatorii Google, Larry Page si Sergei Brin, n 1998, c and nc a erau student i la Stanford. Ei au exploatat ideea mersului aleator denit de un lant Markov n scopul ierarhiz arii paginilor WEB n ordinea descresc atoare a unui indice numit rangul paginii (PageRank). PageRank este distribut ia de echilibru a unui lant Markov denit pe spat iul st arilor ce const a din toate paginile WEB. Aceast a distribut ie de probabilitate este calculat a o dat a pe lun a.

13

S a denim mai precis lant ul Markov ce st a la baza algoritmului PageRank. Fie W = {1, 2, . . . , m} mult imea tuturor paginilor WEB, H = (hij ) matricea de conectivitate a lui W , sau matricea hyperlink: hij = 1 dac a exist a hyperlink n pagina i c atre pagina j 0 dac a nu exist a hyperlink n pagina i c atre pagina j

atunci ordinul de ie sire din pagina 2 este r2 = 3 si deci probabilitatea de a trece din pagina 2 n oricare din paginile {1, 2, . . . , 10} este p2j = h2j /3, adic a cu aceea si probabilitate de 1/3, un surfer poate trece din pagina 2 n pagina 1, 5 sau 8. Vom exemplica construct ia propus a de L. Page si S. Brin prin modelul simplu de ret ea izolat a de pagini WEB (ret ea intranet), din Fig.10.4. Not am cu Q = (pij ) matricea a din structura grafului de probabilit a tilor de tranzit ie pij = hij /ri , i, j = 1, 6. Se observ conectivitate c a paginile 1 si 4 sunt pagini ce nu cont in link-uri c atre alte pagini. Acestea sierele pdf, ps sau sierele imagine sunt se numesc dangling pages. De exemplu pagini dangling. Prin urmare liniile 1 si 4 din matricea de tranzit ie au toate elementele nule si astfel Q nu este o matrice stochastic a, deci nu poate interpretat a ca matricea de tranzit ie a unui lant Markov cu spat iul st arilor {1, 2, 3, 4, 5, 6}. Pentru a remedia aceast a situat ie, L. Page si S. Brin au propus ca vector de probabilitate de tranzit ie dintr-o pagin a dangling, i, distribut ia uniform a pij = 1/m, , j = 1, m. Adic a, n mod articial se adaug a link-uri dintr-o pagin a dangling c atre toate paginilie WEB sau echivalent, ajuns ntr-o pagin a dangling, un navigator poate apoi alege cu o probabilitate uniform a orice pagin a din WWW. 1 2 3 4 5 6 1 0 0 0 0 0 0 2 0 0 0 0 1/2 1/2 Q= 3 0 1/4 0 1/4 1/4 1/4 4 0 0 0 0 0 0 5 1/2 0 0 0 0 1/2 6 1/3 0 1/3 1/3 0 0 Matricea stochastic a obt inut a din matricea Q este:

H este o matrice sparse, adic a cu foarte multe zerouri ( n medie cu 3-10 elemente nenule pe o linie). Suma elementelor de pe o linie a matricii hyperlink, ri = m a j =1 hij indic sirilor num arul de hyperlink-uri din pagina i. ri se nume ste outdegree (gradul, ordinul ie din pagin a) al paginii i. L. Page si S. Brin au considerat c a un surfer ajuns n pagina i alege cu aceeas i probabilitate oricare din paginile c atre care pagina i are link-uri, adic a probabilitatea de trecere de la pagina i la pagina j este pij = hij /ri . De exemplu dac a 0 0 1 1 0 0 1 0 0 1 1 0 0 0 1 0 0 1 0 0 H= . . . . . . 0 0 1 0 0 1 0 1 0 0

14
P3 P4

P1

P2

P6 P5

Fig.10.4: Graf orientat ilustr and link-urile din 6 pagini WEB ce constituie o ret ea izolat a.

1 2 Q1 = 3 4 5 6

1 2 3 4 5 6 1/6 1/6 1/6 1/6 1/6 1/6 0 0 0 0 1/2 1/2 0 1/4 0 1/4 1/4 1/4 1/6 1/6 1/6 1/6 1/6 1/6 1/2 0 0 0 0 1/2 1/3 0 1/3 1/3 0 0

Matricea Q1 astfel obt inut a se exprim a astfel: Q1 = Q + av T unde a = [a1 , a2 , . . . , am ]T , cu ai = 1 dac a i este o dangling page , 0 n rest

iar v = [1/m, 1/m, . . . 1/m]T Lant ul Markov av and matricea Q1 poate s a nu e ireductibil ( adic a pornind dintr-o pagin a nu se poate ajunge n orice alt a pagin a n mersul aleator denit de matricea Q1 ) sau navig and pe WWW conform matricii de tranzit ie Q1 un surfer poate intra ntr-un ciclu innit pentru c a matricea Q1 poate conduce la traiectorii periodice. Din aceast a cauz a, dar si pentru c a pentru c a uneori surferul se plictise ste s a urmeze link-uri, se consider a c a doar cu probabilitatea (0, 1) (prescris a), un navigator ajuns n pagina i alege uniform una din paginile c atre care pagina i are hyperlink-uri si cu probabilitatea complementar a 1 ignor a hyperlink-urile si alege uniform oricare din cele m pagini din WWW (inser and o adres a URL n linia de comand a a browser-ului). se nume ste damping factor. Astfel matricea de tranzit ie devine:

15

Matricea G se nume ste la ora actual a matricea Google, iar matricea stochastic a de tip m m si elemente identice, (1/m) se nume ste matricea de teleportare, deoarece datorit a ei surferul se teleporteaz a din mersul urm and link-uri. Matricea Google se exprim a concentrat astfel: G = (Q + av T ) + (1 )ev T . (10.15)

G = Q1 + (1 )

1/m 1/m . . . 1/m 1/m 1/m . . . 1/m . . . 1/m 1/m . . . 1/m

(10.14)

Aceast a modalitate de exprimare permite o stocare redus a a ei. Se crede c a la ora actual a matricea Google este cea mai uria sa matrice cu care se opereaz a n vreo aplicat ie (are aproximativ 9 miliarde linii si 9 miliarde coloane!) Lant ul Markov av and spat iul st arilor constituit din: mult imea paginilor WEB la un moment dat, de cardinal m, matricea de tranzit ie de tipul G cu xat, si distribut ia init ial a de probabilitate 0 , distribut ia uniform a, este un lant ireductibil si aperiodic, deci are o unic a distribut ie de echilibru , numit a vectorul PageRank. Deoarece matricea Google, G, este o matrice p atratic a de tip m m, cu m > 9 aa miliarde, distribut ia de echilibru se calculeaz a numeric folosind a sa numita metod n puterii, ca limit aa sirului n = 0 G a distribut iilor de probabilitate la momentul n: 0 [1/m, 1/m, . . . , 1/m]; eps 107 ; do { 0 ; 0 G; } while( 0 > eps); return 0 ; Cum n = 0 Gn , se consider a c a metoda puterii a atins stadiul de convergent a ntr-o etap a n n care n n1 < . Se demonstreaz a c a rata de convergent a a sirului (n ) este rata cu care k 0, unde este probabilitatea din denit a matricii Google G. In primul raport tehnic al grupului Page-Brin, era 0.85. La ora actual a nu se cunoa ste dac a Google folose ste acela si parametru sau nu. Interpretarea vectorului PageRank . Vectorul Pagerank este distribut ia de echilibru a lant ului Markov ce modeleaz a navigarea aleatoare prin WWW. Cum el este un vector de probabilitate, deci are coordonate subunitare, coordonata j reprezint a proport ia din timpul de navigare pe care surferul ar petrece-o vizit and pagina j . Prin urmare j este votul, nota acordat a paginii j sau n limbaj de WWW, j este o m asur aa

16

autorit a tii paginii j . La o cerere particular a (concretizat a n cuv antul/cuvinte de c autare) din partea unui navigator, Google caut a paginile ce cont in cuvintele cheie si apoi le listeaz a n ordinea descresc atoare a PageRank-ului lor. Se pare c a Google a seaz a n Google toolbar drept Pagerank al paginii j (vizitate), 109 10*j , deoarece coecient ii j ind numere subunitare si 9 si petru j =1 j = 1, chiar paginile cu autoritate mare j este un num ar subunitar sucient de mic. Pagerank-ul unei pagini j este o m asur a global a a autorit a tii ei, care este inuent at a doar de num arul de inlink-uri ale paginii respective si de autoritatea paginilor care au link spre pagina j , nu si de num arul de outlink-uri (care poate controlat de designerul paginii). Pagerank-ul este query independent si depinde doar de structura link-urilor. Google are implementat si un detector de spamlinks, care ar fort a cre sterea PageRank-ului anumitor pagini.

10.4

Modele de lant uri Markov si Probleme

1. . Lant Markov ce modeleaz a schimb arile n volumul tracului ntr-o ret ea internet. Se monitorizeaz a o lung a perioad a volumul V al tracului n ret ea, m asurat n Mbit i/secund a si se constat a c a exist a trei nivele: volum redus, codicat cu L, volum mediu, codicat M , si volum mare, cod H . Pentru ecare nivel, volumul V este cuprins ntre dou a limite bine precizare si intervalele pentru L, M, H sunt adiacente. Mai mult, trecerea de la o stare la alta are probabilit a tile probabilit a tile: 0 3/4 1/4 0 2/3 (10.16) Q = 1/3 0 1 0 Observ am urm atoarea caracteristic a: de la volum mare, tracul trece mereu la unul mediu (probabilitatea p32 = 1). Dac a la momentul n = 0 ncepe monitorizarea volumului tracului, si se constat a c a V0 = M , care este probabilitatea ca V5 = R? Dar probabilitatea s a avem (V0 = M, V1 = R, V2 = M, V3 = H, V4 = M, V5 = R)? Calculat i aceste probabilit a ti scriind codul C adecvat. Admite acest lant Markov o distribut ie de echilibru? Ce interpretare dat i acestei distribut ii? 2. Un lant Markov cu 2 st ari {1, 2}, are matricea de tranzit ie: Q= 0.8 0.2 0.4 0.6

a) S a se calculeze P (X5 = 2|X0 = 1, X1 = 2, X2 = 2, X3 = 2, X4 = 1). b) Determinat i distribut ia de probabilitate a st arilor la momentul n = 3 si calculat i stiind c a distribut ia init ial a de probabilitate este distribut ia uniform a pe spat iul st arilor. Deducet i si P (X3 = 1|X0 = 1),

17

c) S a se argumenteze c a lant ul este ireductibil si aperiodic si s a se determine algebric, distribut ia de echilibru a lant ului. Rezolvare: a) Datorit a lipsei part iale de memorie, P (X5 = 2|X0 = 1, X1 = 2, X2 = 2, X3 = 2, X4 = 1) = P (X5 = 2|X4 = 1) = Q(1, 2) = 0.2. Distribut ia de probabilitate a st arilor la momentul n = 3 este distribut ia de probabilitate a variabilei aleatore X3 , adic a 3 . S tiind c a n = 0 Qn , avem c a 3 = 0 Q3 , unde 0 = [1/2, 1/2]. Deci: [ 3 (1) 3 (2) ] = 1/2 1/2 Q3 P (X3 = 1|X0 = 1) ind probabilitatea trecerii n 3 pa si de la starea 1 la starea 1, avem c a: P (X3 = 1|X0 = 1) = Q3 (1, 1) c) Lant ul este ireductibil deoarece Q(1, 2) > 0 si Q(2, 1) > 0. Fiind ireductibil este sucient s a ar at am c a o singur a stare este aperiodic a (dac a o stare a unui lant ireductibil este aperiodic a, atunci toate st arile sunt aperiodice). Cum Q(1, 1) = 0.8 > 0 rezult a c a starea 1 este aperiodic a. Distribut ia de echilibru a unui lant ireductibil si aperiodic este vector propriu core spunz ator valorii proprii 1 a matricii Q , deoarece: Q = , adic a [1 2 ] Q(1, 1) Q(1, 2) Q(2, 1) Q(2, 2) = [1 2 ]

este echivalent cu Q = : Q(1, 1) Q(2, 1) Q(1, 2) Q(2, 2) 1 2 = 1 2

Un vector propriu corespunz ator valorii proprii 1 se determin a ca o solut ie nebanal a a sistemului: x 0 (Q I2 ) = y 0 adic a: 0.8 1 0.4 0.2 0.6 1 0.2 0.4 0.2 0.4 x y x y = = 0 0 0 0

sau

Aleg and y = ca necunoscut a secundar a avem x = 2 si deci vectorul propriu v = (2, 1). Cum distribut ia de echilibru este un vector probabilist, adica un vector de coordonate din [0, 1] si cu suma coordonatelor egal a cu 1, lu am = (2/s, 1/s) unde s = 2 + 1, suma coordonatelor vectorului v . Prin urmare = (2/3, 1/3). 3. Un lant Markov cu dou a st ari {1, 2} are matricea de tranzit ie:

18

Q=

0.8 0.2 0.3 0.7

S a se calculeze urm atoarele probabilit a ti: i) P (X5 = 2|X4 = 1, X3 = 1); ii) P (X3 = 2|X1 = 1); iii) P (X2 = 1, X1 = 1|X0 = 2); Rezolvare: i) Trecerea unui lant Markov la starea din momentul n + 1 nu depinde de st arile prin care lant ul a trecut n momentele 0, 1, 2, . . . , n 1, ci doar de starea la momentul n. Prin urmare P (X5 = 2|X4 = 1, X3 = 1) = P (X5 = 2|X4 = 1) = Q(1, 2) = 0.2. ii) Deoarece se cere probabilitatea trecerii n doi pa si din starea 1 n starea 2, avem c a 2 P (X3 = 2|X1 = 1) = Q (1, 2). Sau folosind denit ia probabilit a tii condit ionate avem: P (X3 = 2|X1 = 1) = P (X1 = 1 X3 = 2) P (X1 = 1, X3 = 2) = P (X1 = 1) P (X1 = 1)

Evenimentul (X1 = 1, X3 = 2) = (X1 = 1, X2 = 1, X3 = 2) (X1 = 1, X2 = 2, X3 = 2) si deci: P (X1 = 1, X3 = 2) = P (X1 = 1, X2 = 1, X3 = 2) + (X1 = 1, X2 = 2, X3 = 2) = = 1 (1)Q(1, 1)Q(1, 2) + 1 (1)Q(1, 2)Q(2, 2) = = 1 (1)(Q(1, 1)Q(1, 2) + Q(1, 2)Q(2, 2)) = 1 (1)Q2 (1, 2) Astfel avem: P (X3 = 2|X1 = 1) = iii) P (X2 = 1, X1 = 1|X0 = 2) = P (X2 = 1, X1 = 2|X0 = 2) = P (X2 = 1, X1 = 2, X0 = 2) = P (X0 = 2) 0 (2)Q(2, 2)Q(2, 1) P (X0 = 2, X1 = 2, X2 = 1) = = = P (X0 = 2) 0 (2) = Q(2, 2)Q(2, 1) = (0.7)(0.3) 1 (1)Q2 (1, 2) 1 (1)Q2 (1, 2) = = Q2 (1, 2) P (X1 = 1) 1 (1)

4. Un lant Markov cu st arile S = {0, 1, 2, 3, 4, 5, 6} are graful din Fig.10.5: S a se determine din graful asociat urm atoarele probabilit a ti: P (X7 = 4|X0 = 2, X1 = 5, X2 = 1, X3 = 2, X4 = 6, X5 = 3, X6 = 2), P (X4 = 3, X3 = 1|X2 = 5) 5. In gura Fig. 10.6 este reprezentat a o ret ea nchis a de cozi. Acest tip de ret ea este cunoscut ca modelul server central si se folose ste pentru a studia performant a sistemului. P (X10 = 6|X8 = 2)

Analysis
f

45]

g with state space


19

1/7

2/9

3
2/ 7

4/7

4
7/ 9 5 3/
5/6

6 1/
1/2

3/8

0
8 1/

1
1/2

2
1/ 5

1/5

2/ 3

4 1/

1/3

1/4
Fig.10.5:

A. Give the transition probability matrix for X. B. Let , for 0 solicit i 6, the limiting that X is inprobabilitatea state i. Give a complete Fiecare job a be serviciul CPUprobability si dup a servire, cu p0 solicit a un nou
i

C. D.

system ofCPU, equations that these limiting probabilities must satisfy. serviciu iar cu probabilitatea pi , i = 1, m, un serviciu de intrareie sire de la unitatea i , din cele m unit a t i I/O existente n ret ea. Suma probabilit a t ilor este 1, p 0 + p1 + + pm = Solve the system of equations in part B for the limiting probabilities. Use Mathe1. Dup a operat iile I/O,computations orice job se re ntoarce probabilitatea adic a matica to do the actual and includecu the Mathematica1, dialog insigur, your la CPU. Joburile care circul a n ret eaua nchis a se numesc job-uri active Traiectoria unui prosolution. gram (job) prin ret ea poate modelat a ca un lant Markov n timp discret, cu spat iul Assume that X begins in state 0 at time 0; that is, assume that X = 0. What is 0 st arilor {0, 1, 2, 3, . . . , m}. S a se scrie matricea de tranzit ie a acestui lant Markov si s a se P X2 = 4]? What is P X3 = 2]? Explain. arate c a dac a probabilit a tile p sunt strict ntre 0 si 1, lant ul Markov este ireductibil si
i

aperiodic, deci admite o unic a distribut ie de echilibru = [0 , 1 , . . . , m ]. Determinat i aceast a distribut ie de probabilitate prin metoda algebric a (ca vector propriu al matricii


p1

1 I/O 1

0 CPU m p 0 p m I/O m

Fig.10.6: Model de ret ea nchis a de cozi.


20

Q ). Coordona a i-a a acestei distribut ii de echilibru reprezint a num arul mediu de vizite ale unui program tipic la serverul i al sistemului, i = 0, m. 6. Pipelining este o tehnic a folosit a de microprocesoare, ce const a n execut ia unei instruct iuni nainte ca prima (precedenta) s a e complet a. Adic a exist a simultan c ateva instruct iuni n pipeline, ecare ntr-un stadiu diferit de procesare. Termenul pipelining s-a extins si la transiterea pachetelor de nformat ii. Pentru a modela un astfel de pipeline cu dou a stadii (twostage pipeline), printr-un lant Markov discret x am protocolul de transmitere: ecare stadiu (etap a) are un singur buer; Intr-o unitate de timp xat a pachetul poate face o singur a tranzit ie; intervalul de timp dintre k si k + 1 se nume ste slot time. Presupunem c a pipeline-ul evolueaz a astfel ntr-un slot: dac a la nceputul slot-ului nu exist a pachete n stadiul 1, atunci sose ste un nou pachet n acest stadiu cu probabilitatea p, independent de istoria trecut a a pipeline-ului si de ce se nt ampl a n stadiul doi; dac a la nceputul unui slot, exist a un pachet n stadiul 1 si nici un pachet n stadiul 2, atunci pachetul este transferat din stadiul 1 n stadiul 2 cu probabilitatea p1 ; dac a la nceputul unui slot exist a un pachet n stadiul 2, atunci pachetul pleac a din acest stadiu si p ar ase ste sistemul cu probabilitatea p2 , independent de ce se nt ampl a n stadiul 1. St arile modelului pipeline sunt S = {00, 01, 10, 11}, unde de bit ii din perechea b1 b2 S indic a c ate pachete exist a n stadiul 1, respectiv 2. Din descrierea protocolului de transmitere a pachetelor avem probabilit a tile de tranzit ie: p intre st arile 00 si 10; p1 ntre 10 si 01; p2 ntre 11 si 10. a) Deducet i probabilit a tile de tranzit ie corespunz atoare celorlalte arce din graful din Fig. 10.7: b) Ar atat i c a lant ul Markov este ireductibil preciz and traiectoriile care unesc orice stare b1 b2 cu o alta distinct a c1 c2 . Argumentat i de ce este lant ul si aperiodic. G asit i distribut ia de echilibru. c) In cazul n care p = p1 = p2 = 1/2 s a se scrie matricea de tranzit ie si s a se calculeze probabilitatea P (X3 = 11|X0 = 00, X1 = 10, X2 = 01).

21

00

01

p1 p

10

p2

11

Fig.10.7:

S-ar putea să vă placă și