Salta al contenuto
Note per Studenti Catene di Markov - matrice di transizione, classificazione degli stati e distribuzione stazionaria

Catene di Markov - matrice di transizione, classificazione degli stati e distribuzione stazionaria

In questa pagina 6

Una catena di Markov descrive un processo casuale che "dimentica il passato": dove va dipende solo da dove si trova. È il modello di fondo di passeggiate aleatorie, algoritmi randomizzati con memoria finita, PageRank e campionamento MCMC (altre note di questa materia: Passeggiate aleatorie - rovina del giocatore, 2-SAT e grafiPasseggiata sulla retta con barriere (rovina del giocatore): da i con N come traguardo, P(vittoria)=i/N e durata attesa i(N-i) se il gioco è equo; con p diverso da 1/2, P=(1-r^i)/(1-r^N), r=q/p. Il 2-SAT si risolve con una passeggiata randomizzata (flip di una variabile di una clausola violata): E[T] ≤ n^2 passi, quindi 2n^2 passi bastano con errore ≤ 1/2 (3-SAT: deriva contraria, esponenziale). Sul grafo la passeggiata ha π_v=d(v)/2m, tempo di ritorno 2m/d(v), tempo di copertura < 4m(n-1), da cui la connettività s-t in spazio logaritmico; PageRank è la stazionaria di una passeggiata con teletrasporto.Passeggiate aleatorie - rovina del giocatore, 2-SAT e grafi →, Metodi Monte Carlo - stima, generazione di variabili aleatorie e MCMCMonte Carlo stima una grandezza come media di campioni casuali: errore tipico σ/√N, numero di campioni N ≥ ln(2/δ)/(2ε²) per Hoeffding (probabilità), N ≥ 3 ln(2/δ)/(pε²) per Chernoff (errore relativo). Stima di π con p=π/4; integrali come media di g(U); eventi rari con campionamento per importanza (pesi φ/q); conteggio DNF con Karp-Luby in tempo polinomiale perché P(Y=1) ≥ 1/m. Generazione: trasformazione inversa X=F^{-1}(U) e accettazione-rifiuto (f ≤ M g, efficienza 1/M). MCMC: Metropolis-Hastings costruisce una catena con stazionaria π (nota a meno di costante) imponendo il bilancio dettagliato con probabilità di accettazione min(1, π(y)Q(y,x)/(π(x)Q(x,y))).Metodi Monte Carlo - stima, generazione di variabili aleatorie e MCMC →). Prerequisiti: Probabilità condizionataLa probabilità di A sapendo che si è verificato B è P(A ∣ B) = P(A ∩ B) / P(B), con P(B) > 0; è una nuova misura di probabilità, e da essa seguono la regola del prodotto e la regola della catena.Probabilità condizionata →, Formula delle probabilità totali e formula di BayesSe (A_i) è una partizione di Ω, P(B) = Σ P(B ∣ A_i) P(A_i) (probabilità totali); la formula di Bayes inverte il condizionamento: P(A_k ∣ B) = P(B ∣ A_k) P(A_k) / P(B).Formula delle probabilità totali e formula di Bayes →, Valore attesoIl valore atteso E[X] = Σ x p_X(x) è la media dei valori di X pesata con le loro probabilità (esiste se la serie converge assolutamente); per una funzione g vale E[g(X)] = Σ g(x) p_X(x) senza trovare la legge di g(X), ed E è lineare: E[aX + bY + c] = aE[X] + bE[Y] + c.Valore atteso →. Le catene di Markov nei modelli probabilistici dell'IA (HMM, filtraggio) sono in Ragionamento probabilistico nel tempo - catene di Markov, HMM, filtraggio e smoothingPer ragionare sul tempo il mondo è una sequenza di istanti: stato nascosto $X_t$ ed evidenza osservata $E_t$. Ipotesi di Markov del primo ordine $P(X_t\mid X_{0:t-1})=P(X_t\mid X_{t-1})$ (modello di transizione) e ipotesi del sensore $P(E_t\mid X_{0:t},E_{1:t-1})=P(E_t\mid X_t)$ (modello del sensore): congiunta $P(X_0)\prod_t P(X_t\mid X_{t-1})P(E_t\mid X_t)$. Un HMM ha uno stato discreto a $S$ valori: transizione = matrice $\mathbf T$ ($T_{ij}=P(X_t=j\mid X_{t-1}=i)$), sensore = matrici diagonali $\mathbf O_t$. Compiti: filtraggio $P(X_t\mid e_{1:t})$, predizione $P(X_{t+k}\mid e_{1:t})$, smoothing $P(X_{t-k}\mid e_{1:t})$, spiegazione più probabile $\arg\max P(x_{1:t}\mid e_{1:t})$. Filtraggio ricorsivo: $\mathbf f_t=\alpha,\mathbf O_t\mathbf T^\top\mathbf f_{t-1}$ (predizione, poi aggiornamento). Mondo dell'ombrello: $\mathbf f_1=\langle0{,}818;\ 0{,}182\rangle$, $\mathbf f_2=\langle0{,}883;\ 0{,}117\rangle$. Senza normalizzare, $\mathbf s_t=\mathbf O_t\mathbf T^\top\mathbf s_{t-1}$ dà la verosimiglianza $P(e_{1:t})$.Ragionamento probabilistico nel tempo - catene di Markov, HMM, filtraggio e smoothing →.

Definizione e matrice di transizione

Definizione (catena di Markov). Una successione di variabili aleatorie X0,X1,X2,…X_0, X_1, X_2, \dots a valori in un insieme finito di stati S={1,…,k}S=\{1,\dots,k\} è una catena di Markov (omogenea) se per ogni nn e per ogni scelta di stati vale la proprietà di Markov P(Xn+1=j∣Xn=i, Xn−1=in−1,…,X0=i0)=P(Xn+1=j∣Xn=i)=Pij,P(X_{n+1}=j\mid X_n=i,\,X_{n-1}=i_{n-1},\dots,X_0=i_0)=P(X_{n+1}=j\mid X_n=i)=P_{ij}, con PijP_{ij} che non dipende da nn. La matrice P=(Pij)P=(P_{ij}) è la matrice di transizione: ha entrate ≥0\ge0 e ogni riga somma a 1 (matrice stocastica), perché dallo stato ii si va per forza da qualche parte.

Una catena si disegna come un grafo orientato pesato: un arco i→ji\to j con peso PijP_{ij} per ogni Pij>0P_{ij}>0.

Esempio (meteo). Stati 1=1= sole, 2=2= pioggia. Se oggi c'è il sole, domani c'è sole con probabilità 0,90{,}9; se oggi piove, domani piove con probabilità 0,50{,}5: P=(0,90,10,50,5).P=\begin{pmatrix}0{,}9&0{,}1\\0{,}5&0{,}5\end{pmatrix}. Ogni riga somma a 1. Un "giorno" è un passo; il meteo di domani non dipende dal meteo di ieri una volta noto quello di oggi.

Potenze di P e distribuzione al tempo n

Sia π(n)\pi^{(n)} il vettore riga con πj(n)=P(Xn=j)\pi^{(n)}_j=P(X_n=j). Per la formula delle probabilità totali (Formula delle probabilità totali e formula di BayesSe (A_i) è una partizione di Ω, P(B) = Σ P(B ∣ A_i) P(A_i) (probabilità totali); la formula di Bayes inverte il condizionamento: P(A_k ∣ B) = P(B ∣ A_k) P(A_k) / P(B).Formula delle probabilità totali e formula di Bayes →) sulle posizioni al tempo nn: πj(n+1)=∑iP(Xn=i) P(Xn+1=j∣Xn=i)=∑iπi(n)Pij⟹π(n+1)=π(n)P,π(n)=π(0)Pn.\pi^{(n+1)}_j=\sum_i P(X_n=i)\,P(X_{n+1}=j\mid X_n=i)=\sum_i\pi^{(n)}_iP_{ij}\quad\Longrightarrow\quad \pi^{(n+1)}=\pi^{(n)}P,\qquad \pi^{(n)}=\pi^{(0)}P^n. L'entrata (Pn)ij(P^n)_{ij} è la probabilità P(Xn=j∣X0=i)P(X_n=j\mid X_0=i) di andare da ii a jj in esattamente nn passi. Vale l'equazione di Chapman-Kolmogorov Pm+n=PmPnP^{m+n}=P^mP^n: per andare da ii a jj in m+nm+n passi si passa al tempo mm da qualche stato kk, e si somma su kk.

Esempio. Nel meteo, P2P^2 ha prima riga (0,9⋅0,9+0,1⋅0,5, 0,9⋅0,1+0,1⋅0,5)=(0,86, 0,14)(0{,}9\cdot0{,}9+0{,}1\cdot0{,}5,\ 0{,}9\cdot0{,}1+0{,}1\cdot0{,}5)=(0{,}86,\ 0{,}14) e seconda riga (0,5⋅0,9+0,5⋅0,5, 0,5⋅0,1+0,5⋅0,5)=(0,70, 0,30)(0{,}5\cdot0{,}9+0{,}5\cdot0{,}5,\ 0{,}5\cdot0{,}1+0{,}5\cdot0{,}5)=(0{,}70,\ 0{,}30). Partendo dal sole, la probabilità di sole dopo n=1,2,3,5,10n=1,2,3,5,10 giorni vale 0,9; 0,86; 0,844; 0,83504; 0,833350{,}9;\ 0{,}86;\ 0{,}844;\ 0{,}83504;\ 0{,}83335: si avvicina a 5/6≈0,83335/6\approx0{,}8333.

Per due stati con P=(1−aab1−b)P=\begin{pmatrix}1-a&a\\b&1-b\end{pmatrix} c'è la forma chiusa Pn=1a+b(baba)+(1−a−b)na+b(a−a−bb).P^n=\frac1{a+b}\begin{pmatrix}b&a\\b&a\end{pmatrix}+\frac{(1-a-b)^n}{a+b}\begin{pmatrix}a&-a\\-b&b\end{pmatrix}. Col meteo (a=0,1a=0{,}1, b=0,5b=0{,}5, 1−a−b=0,41-a-b=0{,}4) il primo addendo ha righe uguali (5/6, 1/6)(5/6,\,1/6) e il secondo tende a zero come 0,4n0{,}4^n: è la convergenza all'equilibrio (verificata con frazioni esatte per n≤5n\le5).

Classificazione degli stati

Il grafo della catena dice quasi tutto. Si scrive i→ji\to j ("jj è raggiungibile da ii") se (Pn)ij>0(P^n)_{ij}>0 per qualche n≥0n\ge0, cioè se nel grafo c'è un cammino da ii a jj; e i↔ji\leftrightarrow j ("comunicano") se i→ji\to j e j→ij\to i. La comunicazione è una relazione di equivalenza, quindi gli stati si dividono in classi comunicanti.

Definizione (irriducibilità). Una catena è irriducibile se ha una sola classe, cioè da ogni stato si può raggiungere ogni altro: il grafo è fortemente connesso.

Una classe è chiusa se da essa non si esce; altrimenti è aperta. Uno stato con Pii=1P_{ii}=1 è assorbente (classe chiusa di un solo stato).

Definizione (periodo). Il periodo di ii è d(i)=gcd⁡{n≥1:(Pn)ii>0}d(i)=\gcd\{n\ge1:(P^n)_{ii}>0\} (massimo comun divisore delle lunghezze dei cammini chiusi per ii). Se d(i)=1d(i)=1 lo stato è aperiodico. Il periodo è uguale per tutti gli stati di una classe. Una catena irriducibile è aperiodica se lo è un suo stato; in particolare basta un cappio Pii>0P_{ii}>0.

Definizione (ricorrenza). Sia Ti=min⁡{n≥1:Xn=i}T_i=\min\{n\ge1: X_n=i\} il tempo di primo ritorno in ii partendo da ii. Lo stato è ricorrente se P(Ti<∞∣X0=i)=1P(T_i<\infty\mid X_0=i)=1, transitorio altrimenti. Il tempo medio di ritorno è hii=E[Ti∣X0=i]h_{ii}=E[T_i\mid X_0=i]; se ricorrente e hii<∞h_{ii}<\infty è ricorrente positivo.

Intuizione: in uno stato transitorio c'è una probabilità positiva qq di non tornare mai più. Per la proprietà di Markov ogni visita "ricomincia da capo", quindi il numero di visite (contando la prima) è geometrico di parametro qq, con media finita 1/q1/q (Distribuzione geometricaGeo(p) è il numero della prova in cui arriva il primo successo in prove indipendenti: P(X = n) = (1−p)^(n−1) p per n ≥ 1, P(X > n) = (1−p)^n (lunga attesa), media 1/p, varianza (1−p)/p², ed è senza memoria.Distribuzione geometrica →): prima o poi la catena esce per sempre. Ricorrenza e transitorietà sono proprietà di classe.

Fatti per catene finite.

  • Una classe è ricorrente se e solo se è chiusa. Una classe aperta è transitoria, perché con probabilità positiva ne esce senza tornare. Una classe chiusa finita è ricorrente, perché non può lasciare l'insieme finito e quindi ritorna.
  • Ogni catena finita ha almeno una classe chiusa (ricorrente).
  • In una catena finita irriducibile tutti gli stati sono ricorrenti positivi: hii<∞h_{ii}<\infty. Infatti da ogni stato si raggiunge ii in al più kk passi con probabilità almeno ε>0\varepsilon>0 (il minimo sulle coppie di stati delle probabilità di un cammino più breve); quindi P(Ti>mk)≤(1−ε)mP(T_i>mk)\le(1-\varepsilon)^m e la coda geometrica dà una media finita.

Grafico interattivo: Catena a quattro stati: 1 transitorio (cappio 1/4), {2,3} classe chiusa aperiodica (cappio 1/2 in 3), 4 assorbente. Pesi: 1→2 1/2, 1→4 1/4, 2→3 1, 3→2 1/2

Esempio. Nella catena del disegno (P11=14P_{11}=\tfrac14, P12=12P_{12}=\tfrac12, P14=14P_{14}=\tfrac14; P23=1P_{23}=1; P32=P33=12P_{32}=P_{33}=\tfrac12; P44=1P_{44}=1) le classi sono {1}\{1\}, {2,3}\{2,3\}, {4}\{4\}. Lo stato 11 è transitorio: da 11 si va in 22 o in 44 e non si torna. {2,3}\{2,3\} è chiusa e ricorrente, aperiodica perché P33>0P_{33}>0 (lunghezze di ritorno in 33: 1,2,3,…1,2,3,\dots). 44 è assorbente. La probabilità di assorbimento in {2,3}\{2,3\} partendo da 11 è aa con a=14a+12⋅1+14⋅0a=\tfrac14a+\tfrac12\cdot1+\tfrac14\cdot0 (se si resta in 11 si ricomincia; se si va in 22 si è assorbiti in {2,3}\{2,3\}; se si va in 44 no): 34a=12\tfrac34a=\tfrac12, a=23a=\tfrac23; in 44 finisce con probabilità 13\tfrac13.

Esempio (periodo). Il ciclo orientato 1→2→3→11\to2\to3\to1 (P12=P23=P31=1P_{12}=P_{23}=P_{31}=1) è irriducibile con periodo 33: si torna in 11 solo ai tempi 3,6,9,…3,6,9,\dots. P3=IP^3=I: la distribuzione ruota per sempre e PnP^n non converge. La distribuzione (13,13,13)(\tfrac13,\tfrac13,\tfrac13) è però invariante.

Distribuzione stazionaria

Definizione (distribuzione stazionaria). Un vettore riga π\pi con πi≥0\pi_i\ge0, ∑iπi=1\sum_i\pi_i=1 e πP=π,cioeˋπj=∑iπiPij  per ogni j\pi P=\pi,\qquad\text{cioè}\qquad \pi_j=\sum_i\pi_iP_{ij}\ \ \text{per ogni }j è una distribuzione stazionaria (o invariante): se X0∼πX_0\sim\pi allora Xn∼πX_n\sim\pi per ogni nn.

È un autovettore sinistro di PP con autovalore 11 (l'autovalore 11 c'è sempre: P1=1P\mathbf1=\mathbf1 perché le righe sommano a 11). Si trova risolvendo π(P−I)=0\pi(P-I)=0 con ∑iπi=1\sum_i\pi_i=1 (un'equazione del sistema è ridondante).

Esempio (meteo). Con π=(x,y)\pi=(x,y), x+y=1x+y=1: πP=π\pi P=\pi dà 0,9x+0,5y=x0{,}9x+0{,}5y=x, cioè 0,5y=0,1x0{,}5y=0{,}1x, x=5yx=5y; con x+y=1x+y=1: y=16y=\tfrac16, x=56x=\tfrac56. A lungo termine il 83,3%83{,}3\% dei giorni è di sole, qualunque sia il tempo di oggi.

Teorema fondamentale delle catene di Markov. Sia PP una catena finita e irriducibile. Allora:

  1. esiste un'unica distribuzione stazionaria π\pi, con πi>0\pi_i>0 per ogni ii;
  2. πi=1hii\pi_i=\dfrac1{h_{ii}} (il tempo medio di ritorno è l'inverso della probabilità stazionaria);
  3. la frazione di tempo passata in jj tende a πj\pi_j con probabilità 1 (teorema ergodico), anche se la catena è periodica;
  4. se inoltre è aperiodica, per ogni i,ji,j: lim⁡n→∞(Pn)ij=πj\lim_{n\to\infty}(P^n)_{ij}=\pi_j, cioè Pn→1πP^n\to\mathbf1\pi (tutte le righe tendono a π\pi) e la legge di XnX_n tende a π\pi qualunque sia lo stato iniziale.

Dimostrazione di 1 (esistenza) e 2. Si fissa uno stato ii e si pone, per ogni jj, μj=∑t≥0P(Xt=j, Ti>t∣X0=i),\mu_j=\sum_{t\ge0}P(X_t=j,\ T_i>t\mid X_0=i), il numero medio di visite a jj in una "escursione" da ii che termina al primo ritorno in ii (si conta il tempo 00 ma non il ritorno finale). Sommando su jj si ottiene ∑jμj=∑tP(Ti>t)=E[Ti]=hii<∞\sum_j\mu_j=\sum_tP(T_i>t)=E[T_i]=h_{ii}<\infty. Si verifica μP=μ\mu P=\mu: ∑jμjPjk=∑t≥0∑jP(Xt=j,Ti>t)Pjk=∑t≥0P(Xt+1=k, Ti>t),\sum_j\mu_jP_{jk}=\sum_{t\ge0}\sum_jP(X_t=j,T_i>t)P_{jk}=\sum_{t\ge0}P(X_{t+1}=k,\ T_i>t), perché {Ti>t}\{T_i>t\} dipende solo da X1,…,XtX_1,\dots,X_t e vale la proprietà di Markov. Si divide l'evento {Ti>t}\{T_i>t\} in {Ti>t+1}\{T_i>t+1\} e {Ti=t+1}\{T_i=t+1\}: il primo dà ∑t≥0P(Xt+1=k,Ti>t+1)=μk−P(X0=k)=μk−1[k=i]\sum_{t\ge0}P(X_{t+1}=k,T_i>t+1)=\mu_k-P(X_0=k)=\mu_k-\mathbf 1[k=i] (la somma su t′=t+1≥1t'=t+1\ge1 è μk\mu_k meno il termine t′=0t'=0); il secondo dà ∑tP(Xt+1=k,Ti=t+1)=P(XTi=k)=1[k=i]\sum_{t}P(X_{t+1}=k,T_i=t+1)=P(X_{T_i}=k)=\mathbf1[k=i] (al primo ritorno si è in ii). Totale: μk\mu_k. Quindi π=μ/hii\pi=\mu/h_{ii} è stazionaria e πi=μi/hii=1/hii\pi_i=\mu_i/h_{ii}=1/h_{ii} perché μi=1\mu_i=1 (si visita ii solo al tempo 00). ■\blacksquare

Unicità: lo spazio delle soluzioni di xP=xxP=x ha dimensione 11 per una matrice stocastica irriducibile (Perron-Frobenius, qui senza dimostrazione). Perciò πi=1/hii\pi_i=1/h_{ii} vale per ogni ii con la stessa π\pi.

Idea della dimostrazione di 4 (accoppiamento). Si lanciano due copie della catena, una da ii e una con X0′∼πX_0'\sim\pi (quindi sempre ∼π\sim\pi al tempo nn). Le due evolvono indipendenti finché non si incontrano nello stesso stato, poi si muovono insieme. Per aperiodicità e irriducibilità la coppia (catena prodotto) è irriducibile: l'incontro avviene in tempo finito con coda geometrica, P(non ancora incontrate al tempo n)≤CρnP(\text{non ancora incontrate al tempo }n)\le C\rho^n con ρ<1\rho<1. Dopo l'incontro le due leggi coincidono, quindi la distanza tra la legge di XnX_n e π\pi è ≤Cρn\le C\rho^n. Senza aperiodicità l'incontro può non avvenire mai (ciclo di periodo 33 sopra).

Esempio. Catena "server": stati 1=1= libero, 2=2= occupato, 3=3= guasto, con P=(0,70,20,10,40,50,10,500,5)P=\begin{pmatrix}0{,}7&0{,}2&0{,}1\\0{,}4&0{,}5&0{,}1\\0{,}5&0&0{,}5\end{pmatrix} (svolta nell'esercizio Esercizio - Catena di Markov a tre stati, potenze di P e distribuzione stazionaria): π=(2542,521,16)\pi=(\tfrac{25}{42},\tfrac5{21},\tfrac16) e i tempi medi di ritorno sono 4225=1,68\tfrac{42}{25}=1{,}68, 215=4,2\tfrac{21}5=4{,}2, 66.

Velocità di convergenza e tempo di mescolamento

La distanza di variazione totale tra due leggi è ∥μ−ν∥TV=12∑j∣μj−νj∣=max⁡A∣μ(A)−ν(A)∣\|\mu-\nu\|_{TV}=\tfrac12\sum_j|\mu_j-\nu_j|=\max_A|\mu(A)-\nu(A)|. Il tempo di mescolamento è τ(ε)=min⁡{n:max⁡i∥Pn(i,⋅)−π∥TV≤ε}\tau(\varepsilon)=\min\{n:\max_i\|P^n(i,\cdot)-\pi\|_{TV}\le\varepsilon\}. Se PP è diagonalizzabile, la distanza decade come ∣λ2∣n|\lambda_2|^n, dove λ2\lambda_2 è il secondo autovalore in modulo: il gap spettrale 1−∣λ2∣1-|\lambda_2| misura la velocità.

Esempio. Nel meteo λ2=1−a−b=0,4\lambda_2=1-a-b=0{,}4 e dalla forma chiusa ∥Pn(1,⋅)−π∥TV=16 0,4n\|P^n(1,\cdot)-\pi\|_{TV}=\tfrac16\,0{,}4^n, ∥Pn(2,⋅)−π∥TV=56 0,4n\|P^n(2,\cdot)-\pi\|_{TV}=\tfrac56\,0{,}4^n. Il massimo è 56 0,4n\tfrac56\,0{,}4^n, che vale 0,02130{,}0213 per n=4n=4 e 0,00850{,}0085 per n=5n=5: τ(0,01)=5\tau(0{,}01)=5 giorni. Nell'esercizio sul server gli autovalori sono 11, 0,40{,}4, 0,30{,}3.

Il caso periodico si cura con la catena pigra P~=12(I+P)\tilde P=\tfrac12(I+P): stessa π\pi (da πP~=12(π+πP)=π\pi\tilde P=\tfrac12(\pi+\pi P)=\pi), ma con cappi in ogni stato, quindi aperiodica. Si usa per forzare la convergenza (per esempio nel modello di Ehrenfest, Esercizio - Modello di Ehrenfest con quattro palline e bilancio dettagliato).

Catene reversibili e bilancio dettagliato

Definizione. Una distribuzione π\pi e una matrice PP soddisfano il bilancio dettagliato se πiPij=πjPjiper ogni coppia i,j.\pi_iP_{ij}=\pi_jP_{ji}\qquad\text{per ogni coppia }i,j. Una catena con questa proprietà è reversibile (rispetto a π\pi): in equilibrio il flusso i→ji\to j uguaglia il flusso j→ij\to i, quindi la catena osservata al contrario ha la stessa legge.

Teorema. Se π\pi è una distribuzione che soddisfa il bilancio dettagliato, allora π\pi è stazionaria.

Dimostrazione. Sommando su ii: ∑iπiPij=∑iπjPji=πj∑iPji=πj\sum_i\pi_iP_{ij}=\sum_i\pi_jP_{ji}=\pi_j\sum_iP_{ji}=\pi_j, perché la riga jj di PP somma a 11. ■\blacksquare

Il bilancio dettagliato è condizione sufficiente, non necessaria (il ciclo orientato di periodo 33 ha π\pi uniforme ma π1P12=13≠0=π2P21\pi_1P_{12}=\tfrac13\ne0=\pi_2P_{21}). Il vantaggio: invece di risolvere un sistema, si indovina π\pi e si controlla coppia per coppia. È lo strumento di MCMC (Metodi Monte Carlo - stima, generazione di variabili aleatorie e MCMCMonte Carlo stima una grandezza come media di campioni casuali: errore tipico σ/√N, numero di campioni N ≥ ln(2/δ)/(2ε²) per Hoeffding (probabilità), N ≥ 3 ln(2/δ)/(pε²) per Chernoff (errore relativo). Stima di π con p=π/4; integrali come media di g(U); eventi rari con campionamento per importanza (pesi φ/q); conteggio DNF con Karp-Luby in tempo polinomiale perché P(Y=1) ≥ 1/m. Generazione: trasformazione inversa X=F^{-1}(U) e accettazione-rifiuto (f ≤ M g, efficienza 1/M). MCMC: Metropolis-Hastings costruisce una catena con stazionaria π (nota a meno di costante) imponendo il bilancio dettagliato con probabilità di accettazione min(1, π(y)Q(y,x)/(π(x)Q(x,y))).Metodi Monte Carlo - stima, generazione di variabili aleatorie e MCMC →) e della passeggiata su un grafo (Passeggiate aleatorie - rovina del giocatore, 2-SAT e grafiPasseggiata sulla retta con barriere (rovina del giocatore): da i con N come traguardo, P(vittoria)=i/N e durata attesa i(N-i) se il gioco è equo; con p diverso da 1/2, P=(1-r^i)/(1-r^N), r=q/p. Il 2-SAT si risolve con una passeggiata randomizzata (flip di una variabile di una clausola violata): E[T] ≤ n^2 passi, quindi 2n^2 passi bastano con errore ≤ 1/2 (3-SAT: deriva contraria, esponenziale). Sul grafo la passeggiata ha π_v=d(v)/2m, tempo di ritorno 2m/d(v), tempo di copertura < 4m(n-1), da cui la connettività s-t in spazio logaritmico; PageRank è la stazionaria di una passeggiata con teletrasporto.Passeggiate aleatorie - rovina del giocatore, 2-SAT e grafi →).

Esempio. Q=(1212014121401212)Q=\begin{pmatrix}\tfrac12&\tfrac12&0\\\tfrac14&\tfrac12&\tfrac14\\0&\tfrac12&\tfrac12\end{pmatrix} è una catena nascita-morte (si muove solo tra stati vicini). Si prova π=(x,y,z)\pi=(x,y,z) con π1Q12=π2Q21\pi_1Q_{12}=\pi_2Q_{21}: 12x=14y\tfrac12x=\tfrac14y, y=2xy=2x; e π2Q23=π3Q32\pi_2Q_{23}=\pi_3Q_{32}: 14y=12z\tfrac14y=\tfrac12z, z=y2=xz=\tfrac y2=x. Con la somma 11: x+2x+x=1x+2x+x=1, π=(14,12,14)\pi=(\tfrac14,\tfrac12,\tfrac14). Le uniche altre coppie (1,31,3) hanno entrambi i lati nulli. QQ è aperiodica (cappi) e Q2=(3/81/21/81/41/21/41/81/23/8)Q^2=\begin{pmatrix}3/8&1/2&1/8\\1/4&1/2&1/4\\1/8&1/2&3/8\end{pmatrix}, Q3=(5/161/23/161/41/21/43/161/25/16)Q^3=\begin{pmatrix}5/16&1/2&3/16\\1/4&1/2&1/4\\3/16&1/2&5/16\end{pmatrix} si avvicinano a righe tutte uguali a π\pi (la distanza dal secondo autovalore 1/21/2 dimezza a ogni passo).

Codice: stazionaria e simulazione

python
import numpy as np

P = np.array([[0.9, 0.1],
              [0.5, 0.5]])

def stazionaria(P):
    """Risolve pi (P - I) = 0 con somma 1 (minimi quadrati su sistema sovradeterminato)."""
    k = len(P)
    A = np.vstack([P.T - np.eye(k), np.ones(k)])
    b = np.zeros(k + 1); b[-1] = 1
    return np.linalg.lstsq(A, b, rcond=None)[0]

def frequenze(P, passi, seed=1):
    """Simula la catena e restituisce la frazione di tempo in ogni stato."""
    rng = np.random.default_rng(seed)
    x, visite = 0, np.zeros(len(P))
    for _ in range(passi):
        x = rng.choice(len(P), p=P[x])
        visite[x] += 1
    return visite / passi

print(stazionaria(P))                         # [0.8333 0.1667]
print(np.linalg.matrix_power(P, 10)[0])       # [0.83335 0.16665]
print(frequenze(P, 200_000))                  # circa [0.83 0.17]

Domande d'esame

  1. Dimostra che πi=1/hii\pi_i=1/h_{ii}. Si costruisce μj\mu_j = visite medie a jj in un'escursione da ii; μP=μ\mu P=\mu, ∑jμj=hii\sum_j\mu_j=h_{ii}, μi=1\mu_i=1; si normalizza (dimostrazione sopra).
  2. Meteo (PP sopra): probabilità di sole fra 3 giorni se oggi piove, e tempo medio tra due giorni di pioggia consecutivi nel lungo periodo. si usa P3=P2PP^3=P^2P: la riga 2 di P2P^2 è (0,70; 0,30)(0{,}70;\ 0{,}30), quindi la riga 2 di P3P^3 è (0,70⋅0,9+0,30⋅0,5, 0,70⋅0,1+0,30⋅0,5)=(0,78; 0,22)(0{,}70\cdot0{,}9+0{,}30\cdot0{,}5,\ 0{,}70\cdot0{,}1+0{,}30\cdot0{,}5)=(0{,}78;\ 0{,}22) e la probabilità di sole è 0,780{,}78. Il tempo medio di ritorno alla pioggia è h22=1/π2=6h_{22}=1/\pi_2=6 giorni.
  3. Dimostra che il bilancio dettagliato implica la stazionarietà e fai vedere che non è necessario. Somma su ii (sopra); controesempio: il ciclo di periodo 33.
  4. Perché una catena periodica non converge, e come si risolve? PnP^n ha supporto che ruota con periodo dd; la distribuzione al tempo nn non ha limite. Si passa a 12(I+P)\tfrac12(I+P), con la stessa π\pi.

Versione ripasso

Esercizi su questo argomento

Teoria collegata