Esercizio - Modello di Ehrenfest con quattro palline e bilancio dettagliato
Teoria: Catene di Markov - matrice di transizione, classificazione degli stati e distribuzione stazionariaUna catena di Markov a tempo discreto e stati finiti è descritta da una matrice stocastica P: P(X_{n+1}=j | X_n=i)=P_ij, la legge al tempo n è π_0 P^n. Gli stati si classificano in classi comunicanti (irriducibilità), periodo (aperiodicità) e ricorrenza/transitorietà. Una distribuzione stazionaria soddisfa πP=π; per catene finite irriducibili esiste ed è unica, vale π_i=1/h_ii (h_ii = tempo medio di primo ritorno), e se la catena è anche aperiodica P^n converge a una matrice con tutte le righe uguali a π. Le catene reversibili (π_i P_ij = π_j P_ji) hanno stazionaria immediata.Catene di Markov - matrice di transizione, classificazione degli stati e distribuzione stazionaria →; legge binomiale in Bernoulli, binomiale e uniforme discretaBernoulli Be(p): un solo tentativo, vale 1 con probabilità p; binomiale Bin(n, p): numero di successi in n prove indipendenti, P(X = k) = C(n,k) p^k (1−p)^(n−k), media np e varianza np(1−p); uniforme discreta: n valori equiprobabili.Bernoulli, binomiale e uniforme discreta →.
Testo. Quattro palline numerate stanno in due urne e . A ogni passo si sceglie una pallina a caso (probabilità ciascuna) e la si sposta nell'altra urna. Sia il numero di palline in .
- Scrivere la matrice di transizione sugli stati .
- Dimostrare con il bilancio dettagliato che è stazionaria.
- Tempi medi di ritorno in , , .
- Periodo della catena. Calcolare la legge di partendo da per e per .
- Tempo medio per passare da a e da a .
- Con la catena pigra cosa cambia?
Soluzione
1. Se in ci sono palline, con probabilità si sceglie una pallina di (e scende a ) e con probabilità una di (e sale a ):
2. Il bilancio dettagliato richiede per . Con : sono uguali perché (entrambi valgono ). Per : ✓. Dunque È l'interpretazione "ogni pallina è in con probabilità , indipendentemente": equilibrio che risulta naturale. La catena è irriducibile, quindi è l'unica stazionaria.
3. : , , (e per simmetria , ). Per tornare a "tutte le palline in " ci vogliono in media passi, mentre lo stato , tipico, si rivisita ogni passi.
4. A ogni passo cambia di , quindi la parità di alterna: da si torna a solo a tempi pari, il periodo è (grafo bipartito pari/dispari). La legge di da (calcolata con ):
| 1 | 0 | 1 | 0 | 0 | 0 |
| 2 | 0,25 | 0 | 0,75 | 0 | 0 |
| 3 | 0 | 0,625 | 0 | 0,375 | 0 |
| 4 | 0,1563 | 0 | 0,75 | 0 | 0,0938 |
| 5 | 0 | 0,5312 | 0 | 0,4688 | 0 |
| 6 | 0,1328 | 0 | 0,75 | 0 | 0,1172 |
| 20 | 0,125 | 0 | 0,75 | 0 | 0,125 |
| 21 | 0 | 0,5 | 0 | 0,5 | 0 |
(Per esempio : da si va in e da si va in con o in con .) Per pari la legge tende a , per dispari a : nessun limite, anche se esiste. Gli autovalori sono : l'autovalore segnala il periodo . La media ergodica è proprio .
5. Sia il tempo medio per passare da a . Da si sale per forza: . Da si sale con probabilità in un passo; con probabilità si scende a e poi bisogna tornare in (media ) e riprovare (media ):
- : , .
- : , .
- : , .
Quindi da a : ; da a : passi. Salire fino alla configurazione estrema costa molto più che tornare allo stato tipico: lo stato ha probabilità stazionaria piccola () e la catena è "attratta" verso il centro (deriva verso ). Controllo: , e per simmetria il tempo da a è , quindi ✓.
6. La catena (a ogni passo, con probabilità non si fa nulla) ha la stessa (da ) ed è aperiodica (cappi). Gli autovalori diventano : . Ora la legge converge: da , a vale , vicinissima a ; il passo di contrazione è per passo.
Codice di verifica
import numpy as np
from math import comb
N = 4
P = np.zeros((N + 1, N + 1))
for i in range(N + 1):
if i > 0: P[i, i - 1] = i / N
if i < N: P[i, i + 1] = (N - i) / N
pi = np.array([comb(N, k) for k in range(N + 1)]) / 2**N
print("pi P == pi:", np.allclose(pi @ P, pi), " ritorni:", 1 / pi)
x = np.eye(N + 1)[0]
for n in range(1, 22):
x = x @ P
if n <= 6 or n >= 20: print(n, np.round(x, 4))
print("autovalori:", np.round(np.sort(np.linalg.eigvals(P).real), 4))
def tempo(da, a): # tempo medio per andare da 'da' ad 'a'
idx = [i for i in range(N + 1) if i != a]
A = np.eye(N) - P[np.ix_(idx, idx)]
return np.linalg.solve(A, np.ones(N))[idx.index(da)]
print("0 -> 2:", tempo(0, 2), " 0 -> 4:", tempo(0, 4))
L = (np.eye(N + 1) + P) / 2
print("pigra, n=20:", np.round(np.eye(N + 1)[0] @ np.linalg.matrix_power(L, 20), 4))Output (estratto):
pi P == pi: True ritorni: [16. 4. 2.6667 4. 16.]
autovalori: [-1. -0.5 0. 0.5 1.]
0 -> 2: 2.6667 0 -> 4: 21.3333
pigra, n=20: [0.0633 0.2516 0.375 0.2484 0.0617]Versione ripasso
Teoria: Catene di Markov - matrice di transizione, classificazione degli stati e distribuzione stazionariaUna catena di Markov a tempo discreto e stati finiti è descritta da una matrice stocastica P: P(X_{n+1}=j | X_n=i)=P_ij, la legge al tempo n è π_0 P^n. Gli stati si classificano in classi comunicanti (irriducibilità), periodo (aperiodicità) e ricorrenza/transitorietà. Una distribuzione stazionaria soddisfa πP=π; per catene finite irriducibili esiste ed è unica, vale π_i=1/h_ii (h_ii = tempo medio di primo ritorno), e se la catena è anche aperiodica P^n converge a una matrice con tutte le righe uguali a π. Le catene reversibili (π_i P_ij = π_j P_ji) hanno stazionaria immediata.Catene di Markov - matrice di transizione, classificazione degli stati e distribuzione stazionaria →; Bernoulli, binomiale e uniforme discretaBernoulli Be(p): un solo tentativo, vale 1 con probabilità p; binomiale Bin(n, p): numero di successi in n prove indipendenti, P(X = k) = C(n,k) p^k (1−p)^(n−k), media np e varianza np(1−p); uniforme discreta: n valori equiprobabili.Bernoulli, binomiale e uniforme discreta →.
- Modello: = palline in ; , (righe: , , , ...).
- Stazionaria: per , perché : .
- Ritorni: , , .
- Periodo (la parità alterna): da , per pari , per dispari : nessun limite; autovalori .
- Raggiungimento: con : , , ; da a : , da a : .
- Catena pigra : stessa , aperiodica, converge (autovalori ).
- Errori tipici: sbagliare le probabilità di scelta ( dalla pallina scelta in ); credere che irriducibile basti per il limite; usare come tempo di raggiungimento invece che di ritorno.