Salta al contenuto
Note per Studenti Formulario · Probability and Computing

FormularioProbability and Computing: definizioni, teoremi e formule delle note, in ordine di capitolo

In questa pagina 7

I. Probabilità discreta e algoritmi randomizzati

Algoritmi randomizzati - Monte Carlo, Las Vegas e amplificazione

Definizione. Un algoritmo è Las Vegas se la risposta è sempre corretta e il tempo di esecuzione TT è una variabile aleatoria: si studia E[T]E[T]. È Monte Carlo se il tempo è limitato (deterministico) ma la risposta può essere sbagliata con una probabilità limitata.

Definizione (errore unilaterale). Un algoritmo è RP (randomized polynomial time) se lavora in tempo polinomiale e

  • x∈L ⇒ Pr⁡[SI]≥1/2x\in L\ \Rightarrow\ \Pr[\text{SI}]\ge 1/2;
  • x∉L ⇒ Pr⁡[SI]=0x\notin L\ \Rightarrow\ \Pr[\text{SI}]=0.

Un SI è quindi certo, un NO può essere un errore. La classe co-RP è speculare: un NO è certo, un SI può essere un errore.

Definizione (errore bilaterale). Un algoritmo è BPP (bounded-error probabilistic polynomial time) se, in tempo polinomiale, risponde correttamente con probabilità almeno 2/32/3 per ogni xx, sia in LL sia fuori.

Definizione. ZPP (zero-error) è la classe dei linguaggi decisi da un algoritmo Las Vegas con tempo atteso polinomiale.

Teorema. ZPP=RP∩co-RP\text{ZPP}=\text{RP}\cap\text{co-RP}.

Dimostrazione. (⊇\supseteq) Siano AA un algoritmo RP e BB un co-RP per LL. A turno: si esegue AA e, se dice SI, si risponde SI (certo); si esegue BB e, se dice NO, si risponde NO (certo); altrimenti si ricomincia. Se x∈Lx\in L, AA dice SI con probabilità ≥1/2\ge 1/2 (e BB non dice mai NO); se x∉Lx\notin L, BB dice NO con probabilità ≥1/2\ge 1/2. Ogni giro termina quindi con probabilità ≥1/2\ge 1/2: i giri sono geometrici, in media ≤2\le 2, e la risposta è sempre corretta. (⊆\subseteq) Sia VV un Las Vegas con E[T]≤q(n)E[T]\le q(n) polinomiale. Lo si interrompe a 2q(n)2q(n) passi: per Markov Pr⁡[T>2q(n)]≤1/2\Pr[T>2q(n)]\le 1/2. Se si risponde NO allo scadere del tempo si ottiene un algoritmo RP (un SI è sempre certo, perché prodotto da VV concluso, e se x∈Lx\in L si risponde SI con probabilità ≥1/2\ge1/2); se si risponde SI si ottiene un co-RP. □\square

Union bound e verifica randomizzata - identità polinomiali e prodotti di matrici

Teorema (union bound). Per eventi A1,A2,…A_1,A_2,\dots qualunque (finiti o numerabili) Pr⁡(⋃iAi)≤∑iPr⁡(Ai).\Pr\Big(\bigcup_i A_i\Big)\le\sum_i\Pr(A_i).

Dimostrazione. Si pone Bi=Ai∖⋃j<iAjB_i=A_i\setminus\bigcup_{j<i}A_j. Gli BiB_i sono disgiunti, Bi⊆AiB_i\subseteq A_i e ⋃Bi=⋃Ai\bigcup B_i=\bigcup A_i. Quindi Pr⁡(⋃Ai)=∑Pr⁡(Bi)≤∑Pr⁡(Ai)\Pr(\bigcup A_i)=\sum\Pr(B_i)\le\sum\Pr(A_i) per monotonia. □\square

Teorema (Schwartz-Zippel). Sia P(x1,…,xn)P(x_1,\dots,x_n) un polinomio non nullo di grado totale dd su un campo F\mathbb F (CampiUn campo è un insieme di numeri con somma e prodotto che rispettano le regole usuali (associativa, commutativa, neutri, opposti, inversi, distributiva): è ciò che serve per risolvere le equazioni di primo grado. Esempi: Q, R, C e i campi finiti.Campi →) e sia S⊆FS\subseteq\mathbb F finito. Se r1,…,rnr_1,\dots,r_n sono scelti uniformemente e indipendentemente in SS, allora Pr⁡[P(r1,…,rn)=0]≤d∣S∣.\Pr[P(r_1,\dots,r_n)=0]\le\frac d{|S|}.

Dimostrazione. Per induzione sul numero nn di variabili.

  • n=1n=1. Un polinomio non nullo di grado dd in un campo ha al più dd radici, quindi si annulla in al più dd punti di SS: probabilità ≤d/∣S∣\le d/|S|.
  • Passo. Si scrive P=∑i=0kx1 iPi(x2,…,xn)P=\sum_{i=0}^{k}x_1^{\,i}P_i(x_2,\dots,x_n), con kk la massima potenza di x1x_1 presente, cioè Pk≢0P_k\not\equiv0. Il grado totale di PkP_k è ≤d−k\le d-k. Sia E1E_1 l'evento Pk(r2,…,rn)=0P_k(r_2,\dots,r_n)=0: per ipotesi induttiva Pr⁡[E1]≤(d−k)/∣S∣\Pr[E_1]\le(d-k)/|S|. Se E1E_1 non accade, il polinomio in una variabile Q(x1)=P(x1,r2,…,rn)Q(x_1)=P(x_1,r_2,\dots,r_n) ha coefficiente direttivo Pk(r2,…,rn)≠0P_k(r_2,\dots,r_n)\ne0: è non nullo di grado kk. Per decisioni differite, r1r_1 è indipendente da r2,…,rnr_2,\dots,r_n, quindi Pr⁡[Q(r1)=0∣E1‾]≤k/∣S∣\Pr[Q(r_1)=0\mid\overline{E_1}]\le k/|S|. Allora Pr⁡[P(r)=0]≤Pr⁡[E1]+Pr⁡[P(r)=0∣E1‾]≤d−k∣S∣+k∣S∣=d∣S∣. □\Pr[P(r)=0]\le\Pr[E_1]+\Pr[P(r)=0\mid\overline{E_1}]\le\frac{d-k}{|S|}+\frac k{|S|}=\frac d{|S|}.\ \square (Se k=0k=0 la variabile x1x_1 non compare e basta l'ipotesi induttiva.)

Teorema. Se AB=CAB=C risponde sempre giusto. Se AB≠CAB\ne C risponde AB=CAB=C (errore) con probabilità ≤1/2\le1/2.

Dimostrazione. Se AB=CAB=C allora A(Br)=(AB)r=CrA(Br)=(AB)r=Cr per ogni rr. Se AB≠CAB\ne C la matrice D=AB−CD=AB-C ha un elemento Dij≠0D_{ij}\ne0. L'algoritmo sbaglia solo se Dr=0Dr=0, e in particolare solo se (Dr)i=∑lDilrl=0(Dr)_i=\sum_lD_{il}r_l=0. Per decisioni differite si fissano tutte le componenti rlr_l con l≠jl\ne j: la somma diventa Dijrj+cD_{ij}r_j+c con cc numero fisso. Poiché rj∈{0,1}r_j\in\{0,1\}, i due valori cc e c+Dijc+D_{ij} sono diversi, quindi al più uno annulla la somma: Pr⁡[(Dr)i=0∣r−j]≤1/2\Pr[(Dr)_i=0\mid r_{-j}]\le1/2 per ogni r−jr_{-j}, e perciò Pr⁡[Dr=0]≤1/2\Pr[Dr=0]\le1/2. □\square

Teorema. Se a=ba=b l'esito è sempre giusto. Se a≠ba\ne b l'errore ha probabilità ≤n/π(M)\le n/\pi(M), dove π(M)≈M/ln⁡M\pi(M)\approx M/\ln M è il numero di primi ≤M\le M.

Dimostrazione. L'errore avviene se pp divide d=∣a−b∣d=|a-b|, con 1≤d<2n1\le d<2^n. Ogni primo divisore è ≥2\ge2, quindi dd ha al più nn divisori primi distinti (il loro prodotto è ≤d<2n\le d<2^n). Scegliendo pp uniforme tra i π(M)\pi(M) primi, la probabilità di cadere in uno di quegli ≤n\le n è ≤n/π(M)\le n/\pi(M). □\square

Esempio piccolo. a=181=101101012a=181=10110101_2, b=165=101001012b=165=10100101_2, d=16=24d=16=2^4 (unico primo: 22). Con pp scelto tra {2,3,5,7,11,13}\{2,3,5,7,11,13\} i resti di aa sono 1,1,1,6,5,121,1,1,6,5,12 e quelli di bb sono 1,0,0,4,0,91,0,0,4,0,9: coincidono solo per p=2p=2, errore 1/61/6. Con b′=151b'=151, d=30=2⋅3⋅5d=30=2\cdot3\cdot5: coincidono per p=2,3,5p=2,3,5, errore 3/63/6.

Taglio minimo randomizzato - algoritmo di Karger

Definizione. Contrarre un arco e={u,v}e=\{u,v\} significa fondere uu e vv in un unico supervertice: gli archi paralleli a ee diventano cappi e si eliminano, gli altri archi restano (anche se diventano paralleli tra loro). Il numero di vertici scende di 11.

Esempio. Due triangoli collegati da un ponte: vertici 1,2,3,4,5,61,2,3,4,5,6, archi a=12a=12, b=13b=13, c=23c=23, d=45d=45, e=46e=46, f=56f=56 e il ponte g=34g=34. Il taglio minimo è {g}\{g\}, di dimensione k=1k=1, con S={1,2,3}S=\{1,2,3\}.

Grafico interattivo: Due triangoli collegati dal ponte 3-4 (evidenziato): il taglio minimo ha dimensione 1

Teorema. Sia CC un taglio minimo di GG e k=∣C∣k=|C|. L'algoritmo restituisce proprio CC con probabilità Pr⁡[output=C] ≥ 2n(n−1)=1(n2).\Pr[\text{output}=C]\ \ge\ \frac2{n(n-1)}=\frac1{\binom n2}.

Dimostrazione. (1) Quando CC sopravvive. Gli archi tra le due parti di CC sono esattamente gli archi di CC. Se nessun arco di CC viene mai contratto, ogni contrazione fonde due vertici della stessa parte, quindi ogni supervertice sta tutto in una parte; alla fine i due supervertici coprono VV e le due parti sono non vuote, dunque sono proprio le due parti di CC e l'output è CC. Viceversa, se si contrae un arco di CC l'output non può essere CC. Quindi basta stimare la probabilità che ai passi i=1,…,n−2i=1,\dots,n-2 si scelga un arco fuori da CC: sia EiE_i l'evento «al passo ii non si sceglie un arco di CC».

(2) Un passo. Si supponga che E1,…,Ei−1E_1,\dots,E_{i-1} siano accaduti. Il multigrafo corrente GiG_i ha ni=n−i+1n_i=n-i+1 vertici e CC è ancora un taglio di GiG_i (con kk archi). Ogni taglio di GiG_i è anche un taglio di GG con lo stesso numero di archi, quindi il taglio minimo di GiG_i è ancora kk. Il grado di ogni supervertice è ≥k\ge k (gli archi uscenti da un supervertice formano un taglio), perciò ∣Ei∣=12∑vdeg⁡(v) ≥ nik2.|E_i|=\tfrac12\sum_v\deg(v)\ \ge\ \frac{n_ik}2 . Si sceglie un arco di CC con probabilità k/∣Ei∣≤2/nik/|E_i|\le2/n_i, quindi Pr⁡[Ei∣E1∩⋯∩Ei−1] ≥ 1−2ni=n−i−1n−i+1.\Pr[E_i\mid E_1\cap\dots\cap E_{i-1}]\ \ge\ 1-\frac2{n_i}=\frac{n-i-1}{n-i+1}.

(3) Prodotto. Per la regola del prodotto (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 →) Pr⁡[⋂i=1n−2Ei]≥∏i=1n−2n−i−1n−i+1=n−2n⋅n−3n−1⋅n−4n−2⋯24⋅13=2n(n−1),\Pr\Big[\bigcap_{i=1}^{n-2}E_i\Big]\ge\prod_{i=1}^{n-2}\frac{n-i-1}{n-i+1}=\frac{n-2}{n}\cdot\frac{n-3}{n-1}\cdot\frac{n-4}{n-2}\cdots\frac24\cdot\frac13=\frac{2}{n(n-1)} , perché è un prodotto telescopico: restano a numeratore 2⋅12\cdot1 e a denominatore n(n−1)n(n-1). □\square

Corollario. Un grafo con nn vertici ha al più (n2)\binom n2 tagli minimi.

Dimostrazione. Gli eventi «l'output è CC» per tagli minimi distinti sono disgiunti, ciascuno ha probabilità ≥1/(n2)\ge1/\binom n2 e la somma non supera 11. □\square

II. Variabili aleatorie e valore atteso

Linearità del valore atteso e variabili indicatrici

Teorema (linearità). Per ogni coppia di variabili aleatorie X,YX,Y sullo stesso spazio di probabilità e ogni a,b∈Ra,b\in\mathbb R (con attese finite) E[aX+bY]=aE[X]+bE[Y].E[aX+bY]=aE[X]+bE[Y]. Non serve nessuna ipotesi di indipendenza.

Esempio (binomiale). Il numero di teste in nn lanci di una moneta con probabilità pp è X=∑kIkX=\sum_k I_k, dove IkI_k indica "il lancio kk è testa". Segue E[X]=npE[X]=np senza sommare ∑jj(nj)pj(1−p)n−j\sum_j j\binom nj p^j(1-p)^{n-j} (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 →).

Proprietà. ln⁡(n+1)≤Hn≤1+ln⁡n\ln(n+1)\le H_n\le 1+\ln n; più finemente Hn=ln⁡n+γ+12n−112n2+…H_n=\ln n+\gamma+\tfrac1{2n}-\tfrac1{12n^2}+\dots, con γ≈0,5772\gamma\approx0{,}5772.

Esempio. H10=73812520≈2,929H_{10}=\frac{7381}{2520}\approx2{,}929; la formula fine dà ln⁡10+0,5772+120=2,3026+0,5772+0,05=2,930\ln10+0{,}5772+\frac1{20}=2{,}3026+0{,}5772+0{,}05=2{,}930.

Teorema. E[T]=nHn≈nln⁡n+γnE[T]=nH_n\approx n\ln n+\gamma n.

Esempio. Un dado (n=6n=6): 6H6=6⋅4920=14,76H_6=6\cdot\frac{49}{20}=14{,}7 lanci in media per veder uscire tutte le facce. Con n=50n=50: 50H50≈224,9650H_{50}\approx224{,}96. L'ultima figurina da sola costa in media nn acquisti (per n=50n=50, 5050 su 225225): la coda è lunga. Quanto TT si discosta da nHnnH_n si studia con Momenti e deviazioni - Markov, Chebyshev e mediana randomizzataVar(ΣX_i) = ΣVar + 2ΣCov, e basta l'indipendenza a coppie perché la varianza si sommi. Chebyshev dà code polinomiali (collezionista: P(T ≥ nH_n + cn) ≤ π²/(6c²)); il metodo del secondo momento dà P(X=0) ≤ Var(X)/E[X]². Algoritmo della mediana: campione di n^(3/4) elementi, due estremi d e u a ±√n, ordinamento dei soli elementi tra d e u; fallisce con probabilità ≤ n^(-1/4) ed è Las Vegas con 2n + o(n) confronti.Momenti e deviazioni - Markov, Chebyshev e mediana randomizzata →.

Definizione. Se P(A)>0P(A)>0, E[X∣A]=E[X IA]P(A)=∑xx P(X=x∣A)E[X\mid A]=\frac{E[X\,I_A]}{P(A)}=\sum_x x\,P(X=x\mid A) (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 →).

Teorema (probabilità totale per l'attesa). Se A1,…,AmA_1,\dots,A_m è una partizione dello spazio con P(Ai)>0P(A_i)>0, E[X]=∑iE[X∣Ai] P(Ai).E[X]=\sum_i E[X\mid A_i]\,P(A_i).

Esempio (due teste consecutive). Quanti lanci servono in media per vedere HHHH con una moneta equa? Sia E0E_0 l'attesa a partire da "nessuna testa in fila" ed E1E_1 da "ultima uscita testa". Condizionando sul lancio successivo:

  • E0=1+12E1+12E0E_0=1+\frac12E_1+\frac12E_0, da cui E0=2+E1E_0=2+E_1;
  • E1=1+12⋅0+12E0E_1=1+\frac12\cdot0+\frac12E_0 (con HH si finisce, con TT si torna a E0E_0), da cui E1=1+E02E_1=1+\frac{E_0}2.

Teorema (identità di Wald). Siano X1,X2,…X_1,X_2,\dots con la stessa media μ\mu e NN un numero aleatorio di termini a valori interi non negativi, con E[N]<∞E[N]<\infty. Se per ogni ii l'evento {N≥i}\{N\ge i\} è indipendente da XiX_i (vale se NN è indipendente dagli XiX_i, oppure se NN è un tempo d'arresto: la decisione di fermarsi dopo i−1i-1 termini dipende solo da X1..Xi−1X_1..X_{i-1}), allora per SN=X1+⋯+XNS_N=X_1+\dots+X_N E[SN]=μ E[N].E[S_N]=\mu\,E[N].

Esempio 1 (NN indipendente). Si lancia un dado per scegliere NN uniforme in {1..6}\{1..6\}, poi si lanciano NN dadi e si somma: E[S]=E[N]⋅3,5=3,5⋅3,5=12,25E[S]=E[N]\cdot3{,}5=3{,}5\cdot3{,}5=12{,}25.

Analisi probabilistica di quicksort e quickselect

Lemma. Per i<ji<j, ziz_i e zjz_j sono confrontati (al più una volta) con probabilità P(zi e zj confrontati)=2j−i+1.P(z_i\text{ e }z_j\text{ confrontati})=\frac{2}{j-i+1}.

Esempio (n=5n=5). Le coppie con j−i=1j-i=1 (adiacenti) sono sempre confrontate: probabilità 22=1\frac22=1; con j−i=2j-i=2: 23\frac23; con j−i=3j-i=3: 24=12\frac24=\frac12; con j−i=4j-i=4 (z1,z5z_1,z_5): 25\frac25. Per z1,z5z_1,z_5 vale 25\frac25: sono confrontati solo se il primo pivot dell'intero insieme è z1z_1 o z5z_5.

Teorema. E[Cn]=2(n+1)Hn−4n=2nln⁡n−(4−2γ) n+2ln⁡n+O(1)E[C_n]=2(n+1)H_n-4n=2n\ln n-(4-2\gamma)\,n+2\ln n+O(1), con 4−2γ≈2,8464-2\gamma\approx2{,}846. In particolare E[Cn]∼2nln⁡n≈1,386 nlog⁡2nE[C_n]\sim 2n\ln n\approx1{,}386\,n\log_2n.

Grafico interattivo: Confronti di quicksort con pivot casuale: attesa 2(n+1)H_n - 4n (con H_n approssimato) contro il caso pessimo n(n-1)/2

Proprietà. Il caso pessimo (n2)\binom n2 è raggiunto solo se ogni pivot è il minimo o il massimo del suo sottoproblema. Un sottoproblema di taglia m≥2m\ge2 lo permette con probabilità 2m\frac2m, quindi P(Cn=(n2))=∏m=2n2m=2n−1n!P(C_n=\binom n2)=\prod_{m=2}^n\frac2m=\frac{2^{n-1}}{n!}.

Esempio. n=6n=6: 25720=245≈0,044\frac{2^5}{720}=\frac2{45}\approx0{,}044; n=10n=10: 5123 628 800≈1,4⋅10−4\frac{512}{3\,628\,800}\approx1{,}4\cdot10^{-4}. Per n=4n=4 la distribuzione esatta è C4=4C_4=4 con probabilità 12\frac12, 55 con 16\frac16, 66 con 13\frac13, media 2+56+2=2962+\frac56+2=\frac{29}6.

Teorema. Il numero atteso di confronti di quickselect su nn elementi è al più 4n4n, per ogni kk.

III. Momenti e concentrazione

Momenti e deviazioni - Markov, Chebyshev e mediana randomizzata

Teorema. Se XX è a valori interi non negativi con E[X]>0E[X] > 0: P(X=0)≤Var(X)E[X]2,P(X>0)≥E[X]2E[X2].P(X = 0) \le \frac{\mathrm{Var}(X)}{E[X]^2}, \qquad P(X > 0) \ge \frac{E[X]^2}{E[X^2]}.

Teorema. Un giro dell'algoritmo fallisce con probabilità al più n−1/4n^{-1/4} (a meno di arrotondamenti di ±1\pm1 nei ranghi). Il costo di un giro è 2n+O(n3/4log⁡n)2n + O(n^{3/4}\log n) confronti, quindi il costo atteso totale è 2n+o(n)2n + o(n).

Limiti di Chernoff e di Hoeffding

Teorema (Chernoff, forma esatta). P(X≥(1+δ)μ)≤[eδ(1+δ)1+δ]μ(δ>0),P(X≤(1−δ)μ)≤[e−δ(1−δ)1−δ]μ(0<δ<1).P\big(X\ge(1+\delta)\mu\big)\le\Big[\frac{e^{\delta}}{(1+\delta)^{1+\delta}}\Big]^{\mu}\quad(\delta>0),\qquad P\big(X\le(1-\delta)\mu\big)\le\Big[\frac{e^{-\delta}}{(1-\delta)^{1-\delta}}\Big]^{\mu}\quad(0<\delta<1).

Teorema. Con le stesse ipotesi:

  1. per 0<δ≤10<\delta\le1: P(X≥(1+δ)μ)≤e−δ2μ/3P(X\ge(1+\delta)\mu)\le e^{-\delta^2\mu/3};
  2. per 0<δ<10<\delta<1: P(X≤(1−δ)μ)≤e−δ2μ/2P(X\le(1-\delta)\mu)\le e^{-\delta^2\mu/2};
  3. per R≥6μR\ge 6\mu: P(X≥R)≤2−RP(X\ge R)\le 2^{-R}.

Insieme: P(∣X−μ∣≥δμ)≤2e−δ2μ/3P(|X-\mu|\ge\delta\mu)\le 2e^{-\delta^2\mu/3} per 0<δ≤10<\delta\le1.

Lemma di Hoeffding. Se a≤X≤ba\le X\le b e E[X]=0E[X]=0, per ogni s∈Rs\in\mathbb R: E[esX]≤es2(b−a)2/8E[e^{sX}]\le e^{s^2(b-a)^2/8}.

Teorema (Hoeffding). X1,…,XnX_1,\dots,X_n indipendenti con ai≤Xi≤bia_i\le X_i\le b_i, S=∑XiS=\sum X_i, c=∑i(bi−ai)2c=\sum_i(b_i-a_i)^2. Per ogni t>0t>0: P(S−E[S]≥t)≤e−2t2/c,P(∣S−E[S]∣≥t)≤2e−2t2/c.P(S-E[S]\ge t)\le e^{-2t^2/c},\qquad P(|S-E[S]|\ge t)\le2e^{-2t^2/c}.

Teorema. Sia AA una matrice n×mn\times m con entrate 00 o 11 (n≥3n\ge3). Esiste b∈{−1,+1}mb\in\{-1,+1\}^m tale che ogni riga ha ∣(Ab)i∣≤4mln⁡n|(Ab)_i|\le\sqrt{4m\ln n}.

IV. Palline e urne e hashing

Palline e urne - compleanno, carico massimo e approssimazione di Poisson

Definizione (palline e urne). Si lanciano mm palline in nn urne: ogni pallina sceglie la sua urna uniformemente e indipendentemente dalle altre. Il carico dell'urna ii è LiL_i = numero di palline in ii. Vale L1+⋯+Ln=mL_1+\dots+L_n=m.

Teorema (soglia del compleanno). Per m≤n/2m\le n/2 exp⁡(−m(m−1)2n−m33n2) ≤ P(nessuna collisione) ≤ exp⁡(−m(m−1)2n).\exp\Bigl(-\frac{m(m-1)}{2n}-\frac{m^3}{3n^2}\Bigr)\ \le\ P(\text{nessuna collisione})\ \le\ \exp\Bigl(-\frac{m(m-1)}{2n}\Bigr). Quindi la collisione ha probabilità circa 1/21/2 per m≈2nln⁡2≈1,18nm\approx\sqrt{2n\ln 2}\approx 1{,}18\sqrt n: la soglia è Θ(n)\Theta(\sqrt n), non Θ(n)\Theta(n).

Esempio (n=365n=365). Il limite superiore dà P(nessuna)≤12P(\text{nessuna})\le\frac12 non appena m(m−1)≥2nln⁡2=2⋅365⋅0,6931=505,997m(m-1)\ge 2n\ln2=2\cdot365\cdot0{,}6931=505{,}997. Con m=23m=23: 23⋅22=506≥505,99723\cdot22=506\ge505{,}997, quindi m=23m=23 basta; con m=22m=22: 22⋅21=462<50622\cdot21=462<506. Il calcolo esatto del prodotto conferma: P(collisione)=0,4757P(\text{collisione})=0{,}4757 per m=22m=22 e 0,50730{,}5073 per m=23m=23 (il limite dà 0,46890{,}4689 e 0,50000{,}5000). Per il 99%99\% servono m=57m=57 persone (0,99010{,}9901).

Grafico interattivo: Probabilità di nessuna collisione con n = 365: limite superiore e inferiore, e soglia 1/2 raggiunta a m = 23

Teorema (urne vuote). Sia ZZ il numero di urne vuote. Allora E[Z]=n(1−1n)m≈n e−m/n,Var(Z)=n(n−1)(1−2n)m+n(1−1n)m−n2(1−1n)2m.E[Z]=n\Bigl(1-\frac1n\Bigr)^m\approx n\,e^{-m/n},\qquad \text{Var}(Z)=n(n-1)\Bigl(1-\frac2n\Bigr)^m+n\Bigl(1-\frac1n\Bigr)^m-n^2\Bigl(1-\frac1n\Bigr)^{2m}.

Teorema (carico massimo, estremo superiore). Lanciando nn palline in nn urne, con probabilità almeno 1−1n1-\frac1n il carico massimo è al più k=⌈3ln⁡nln⁡ln⁡n⌉k=\bigl\lceil\frac{3\ln n}{\ln\ln n}\bigr\rceil (per n≥16n\ge16, così che ln⁡ln⁡n>1\ln\ln n>1).

Teorema (esatto contro Poisson). Sia L=(L1,…,Ln)L=(L_1,\dots,L_n) il vettore dei carichi esatti e Y=(Y1,…,Yn)Y=(Y_1,\dots,Y_n) quello Poisson con media m/nm/n. Per ogni funzione f≥0f\ge0 E[f(L)]≤em  E[f(Y)].E[f(L)]\le e\sqrt m\;E[f(Y)]. In particolare, per ogni evento AA sui carichi: P(L∈A)≤em P(Y∈A)P(L\in A)\le e\sqrt m\,P(Y\in A).

Hashing randomizzato - famiglie universali, filtri di Bloom e fingerprint

Definizione (famiglia universale). Una famiglia H\mathcal H di funzioni U→[m]U\to[m] è universale se per ogni coppia di chiavi x≠yx\ne y, scegliendo h∈Hh\in\mathcal H uniformemente a caso, Ph(h(x)=h(y))≤1m.P_h\bigl(h(x)=h(y)\bigr)\le\frac1m.

Teorema (catene). Sia H\mathcal H universale, S⊆US\subseteq U un insieme di nn chiavi e hh scelta a caso. Per una chiave xx il numero atteso di chiavi di S∖{x}S\setminus\{x\} nel suo bucket è al più n−1m\frac{n-1}m se x∈Sx\in S e nm\frac nm se x∉Sx\notin S. Quindi ricerca, inserimento e cancellazione costano in media O(1+α)O(1+\alpha).

Teorema (costruzione). Siano pp un primo con p≥∣U∣p\ge|U|, chiavi U={0,…,p−1}U=\{0,\dots,p-1\} e, per a∈{1,…,p−1}a\in\{1,\dots,p-1\}, b∈{0,…,p−1}b\in\{0,\dots,p-1\}, ha,b(x)=((ax+b) mod p) mod m.h_{a,b}(x)=\bigl((ax+b)\bmod p\bigr)\bmod m. La famiglia H={ha,b}\mathcal H=\{h_{a,b}\}, di p(p−1)p(p-1) funzioni, è universale.

Esempio (p=17p=17, m=5m=5, a=3a=3, b=4b=4). h(x)=((3x+4) mod 17) mod 5h(x)=((3x+4)\bmod17)\bmod5.

Definizione (filtro di Bloom). Un vettore di mm bit, inizialmente 00, e kk funzioni hash h1,…,hk:U→[m]h_1,\dots,h_k:U\to[m]. Inserimento di xx: si pongono a 11 i bit h1(x),…,hk(x)h_1(x),\dots,h_k(x). Interrogazione di xx: si risponde "presente" se tutti i kk bit sono 11, "assente" altrimenti.

Teorema (falsi positivi). Dopo nn inserimenti, con kk funzioni indipendenti e uniformi,

  • un bit specifico è ancora 00 con probabilità (1−1m)kn≈e−kn/m\bigl(1-\frac1m\bigr)^{kn}\approx e^{-kn/m};
  • un elemento non inserito è un falso positivo con probabilità f≈(1−e−kn/m)kf\approx\Bigl(1-e^{-kn/m}\Bigr)^k.
  • Per m,nm,n fissati ff è minima per k=mnln⁡2k=\frac mn\ln2, e vale allora f=2−k=(0,6185)m/nf=2^{-k}=(0{,}6185)^{m/n}.

Esempio (n=1000n=1000, m=10 000m=10\,000). Con k=7k=7 (mnln⁡2=6,93\frac mn\ln2=6{,}93): f=(1−e−0,7)7=0,00819f=(1-e^{-0{,}7})^7=0{,}00819; una simulazione con 200 000200\,000 interrogazioni dà 0,00810{,}0081 e una frazione di bit a 11 pari a 0,5030{,}503 (attesa 0,5030{,}503). Con k=3k=3 sarebbe 0,01740{,}0174, con k=5k=5 0,00940{,}0094, con k=8k=8 0,00850{,}0085: il minimo è piatto e un kk intero vicino a 6,936{,}93 basta.

Definizione (fingerprint). Una fingerprint di bb bit di un oggetto grande xx è ϕ(x)=h(x)∈{0,1}b\phi(x)=h(x)\in\{0,1\}^b con hh scelta a caso; si usa ϕ(x)=ϕ(y)\phi(x)=\phi(y) come test (probabilistico) per x=yx=y. Se x=yx=y le fingerprint coincidono sempre; se x≠yx\ne y possono coincidere per caso (errore unilaterale, Algoritmi randomizzati - Monte Carlo, Las Vegas e amplificazioneUn algoritmo randomizzato usa bit casuali indipendenti; la probabilità è sulle scelte dell'algoritmo, mai sull'input (garanzia per ogni input). Las Vegas: sempre corretto, tempo aleatorio (conta il tempo atteso). Monte Carlo: tempo fisso, risposta sbagliata con probabilità limitata; errore unilaterale (RP: accetta solo se x sta nel linguaggio, accetta con prob almeno 1/2) o bilaterale (BPP: giusto con prob almeno 2/3). ZPP = RP ∩ co-RP = Las Vegas con tempo atteso polinomiale. Amplificazione: unilaterale, k ripetizioni indipendenti, errore (1-p)^k ≤ e^(-pk), serve k ≥ ln(1/ε)/p; bilaterale, voto di maggioranza su k esecuzioni, errore binomiale esatto, esponenziale in k (Chernoff, e^(-k/18) per p=2/3) mentre Chebyshev dà solo 8/k. Las Vegas -> Monte Carlo: interrompere a c volte il tempo atteso (Markov, errore ≤ 1/c). Monte Carlo -> Las Vegas: solo se la risposta si verifica in fretta. Esempio: Miller-Rabin, errore ≤ 1/4 per esecuzione.Algoritmi randomizzati - Monte Carlo, Las Vegas e amplificazione →).

Algoritmi di streaming - campionamento di riserva e conteggio degli elementi distinti

Definizione (modello a flusso). Gli elementi x1,x2,…,xNx_1,x_2,\dots,x_N arrivano uno alla volta, si leggono una volta sola e non si possono riguardare. La memoria è molto minore di NN (spesso polilogaritmica) e NN può essere ignoto. Gli algoritmi sono randomizzati e approssimati: si chiede una stima entro ε\varepsilon con probabilità almeno 1−δ1-\delta.

Teorema. Dopo aver letto i≥ki\ge k elementi, ognuno di essi è nel campione con probabilità esattamente k/ik/i (e ogni sottoinsieme di kk elementi ha probabilità 1/(ik)1/\binom ik).

Esempio (N=5N=5, k=2k=2, elenco esatto). Si enumerano tutte le scelte casuali del programma (con probabilità razionali): ognuno dei 55 elementi è nel campione con probabilità 25\frac25 e ognuno dei (52)=10\binom52=10 sottoinsiemi ha probabilità 110\frac1{10}. L'algoritmo "ogni nuovo elemento entra con probabilità 12\frac12 in uno slot a caso" non è uniforme: con N=5N=5, k=2k=2 dà 2764\frac{27}{64} ai primi due elementi e 12\frac12 all'ultimo, invece di 25\frac25 a tutti. Per k=1k=1 e sostituzione con probabilità 12\frac12 i cinque elementi hanno probabilità 116,116,18,14,12\frac1{16},\frac1{16},\frac18,\frac14,\frac12.

Teorema. Dopo nn eventi, E[2Xn−1]=nE[2^{X_n}-1]=n (stima non distorta) e Var(2Xn−1)=n(n−1)2\text{Var}(2^{X_n}-1)=\frac{n(n-1)}2.

Esempio (n=3n=3). XX vale 1,2,31,2,3 con probabilità 14,58,18\frac14,\frac58,\frac18 (da X=1X=1: sale con 12\frac12; da X=2X=2: sale con 14\frac14). Le stime 2X−1=1,3,72^X-1=1,3,7 danno E=14+158+78=3E=\frac14+\frac{15}8+\frac78=3, come deve. L'enumerazione esatta con frazioni conferma E[Zn]=n+1E[Z_n]=n+1 e Var=n(n−1)2\text{Var}=\frac{n(n-1)}2 per n=1,2,3,4,10,30n=1,2,3,4,10,30.

Teorema. Per k≥3k\ge3, E[k−1Vk]=dE\bigl[\frac{k-1}{V_k}\bigr]=d (stima non distorta) e lo scarto relativo è circa 1k−2\frac1{\sqrt{k-2}}.

Definizione (Count-Min sketch). Una matrice CC di dd righe e ww colonne di contatori, inizialmente 00, e dd funzioni hash indipendenti h1,…,hd:U→[w]h_1,\dots,h_d:U\to[w] da una famiglia universale. Arrivo di xx: C[j][hj(x)]+=1C[j][h_j(x)]\mathrel{+}=1 per ogni riga jj. Stima: f^(x)=min⁡jC[j][hj(x)]\hat f(x)=\min_{j}C[j][h_j(x)].

Teorema (garanzia (ε,δ)(\varepsilon,\delta)). Sia F=∑yf(y)=NF=\sum_yf(y)=N il numero totale di arrivi. Con w=⌈e/ε⌉w=\lceil e/\varepsilon\rceil e d=⌈ln⁡(1/δ)⌉d=\lceil\ln(1/\delta)\rceil: f(x)≤f^(x)sempre,P(f^(x)≤f(x)+εN)≥1−δ.f(x)\le\hat f(x)\quad\text{sempre},\qquad P\bigl(\hat f(x)\le f(x)+\varepsilon N\bigr)\ge1-\delta.

Esempio piccolo (p=17p=17, w=5w=5, d=3d=3). Funzioni hj(x)=((ajx+bj) mod 17) mod 5h_j(x)=((a_jx+b_j)\bmod17)\bmod5 con (aj,bj)=(3,4),(5,1),(7,9)(a_j,b_j)=(3,4),(5,1),(7,9); flusso di N=20N=20 arrivi con frequenze f(3)=7f(3)=7, f(8)=5f(8)=5, f(12)=3f(12)=3, f(15)=2f(15)=2, f(9)=2f(9)=2, f(4)=1f(4)=1. Posizioni (riga 00/11/22): 3↦3/1/33\mapsto3/1/3, 8↦1/2/48\mapsto1/2/4, 12↦1/0/312\mapsto1/0/3, 15↦0/3/215\mapsto0/3/2, 9↦4/2/49\mapsto4/2/4, 4↦1/4/34\mapsto1/4/3. Contatori finali:

V. Metodo probabilistico

Metodo probabilistico - valore atteso, alterazioni e derandomizzazione

Lemma (principio del valore atteso). Se XX è una variabile aleatoria discreta con E[X]=μE[X]=\mu, allora P(X≥μ)>0P(X\ge\mu)>0 e P(X≤μ)>0P(X\le\mu)>0. Esistono quindi un esito con X≥μX\ge\mu e uno con X≤μX\le\mu.

Principio (conteggio). Se in uno spazio finito P(l’oggetto ha la proprietaˋ P)>0P(\text{l'oggetto ha la proprietà }\mathcal P)>0 allora esiste un oggetto con P\mathcal P. In particolare, se XX conta i "difetti" e E[X]<1E[X]<1, per Markov P(X≥1)≤E[X]<1P(X\ge1)\le E[X]<1 e quindi esiste un oggetto con zero difetti.

Teorema (taglio). Ogni grafo con ∣E∣|E| archi ha un taglio (partizione dei vertici in due insiemi) con almeno ⌈∣E∣/2⌉\lceil|E|/2\rceil archi tra le due parti.

Teorema (MAX-SAT). Una clausola con ℓ\ell letterali su variabili distinte è soddisfatta con probabilità 1−2−ℓ1-2^{-\ell} (è falsa solo se ogni letterale è falso). Quindi in una formula con mm clausole di 33 letterali esiste un'assegnazione che ne soddisfa almeno 78m\frac78m (arrotondato in su). Se tutte le clausole hanno almeno kk letterali e m<2km<2^k, la formula è soddisfacibile.

Teorema. Se (nk)21−(k2)<1\binom nk2^{1-\binom k2}<1 allora R(k,k)>nR(k,k)>n. In particolare R(k,k)>⌊2k/2⌋R(k,k)>\lfloor2^{k/2}\rfloor per ogni k≥3k\ge3.

Teorema (insieme indipendente). Un grafo con nn vertici e m≥n/2m\ge n/2 archi, grado medio d=2m/n≥1d=2m/n\ge1, contiene un insieme indipendente (nessun arco tra i suoi vertici) di almeno n2d=n24m\frac n{2d}=\frac{n^2}{4m} vertici.

Lemma locale di Lovász (forma simmetrica). Siano A1,…,ANA_1,\dots,A_N eventi "cattivi" con P(Ai)≤pP(A_i)\le p e ognuno indipendente da tutti gli altri tranne al più dd. Se e p (d+1)≤1e\,p\,(d+1)\le1 allora P(⋂iAi‾)>0P\bigl(\bigcap_i\overline{A_i}\bigr)>0: con probabilità positiva nessun evento cattivo accade.

VI. Catene di Markov e passeggiate aleatorie

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

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.

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.

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

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.

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.

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

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.

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.

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.

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

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).

Passeggiate aleatorie - rovina del giocatore, 2-SAT e grafi

Teorema. Se la formula è soddisfacibile, il numero atteso di passi per trovare un'assegnazione soddisfacente è al più n2n^2, qualunque sia l'assegnazione iniziale. Quindi con 2n22n^2 passi la probabilità di errore è al più 12\tfrac12, e ripetendo kk blocchi indipendenti di 2n22n^2 passi è al più 2−k2^{-k}.

Esempio. Formula su n=4n=4 variabili (¬x1∨¬x2)∧(¬x1∨x2)∧(x1∨¬x2)∧(x1∨¬x3)∧(x1∨¬x4)(\neg x_1\vee\neg x_2)\wedge(\neg x_1\vee x_2)\wedge(x_1\vee\neg x_2)\wedge(x_1\vee\neg x_3)\wedge(x_1\vee\neg x_4): la soluzione è unica, (0,0,0,0)(0,0,0,0). Il tempo medio esatto per trovarla (prendendo la prima clausola violata) da distanza j=1,2,3,4j=1,2,3,4 vale al massimo 5, 10, 13, 145,\ 10,\ 13,\ 14, sotto i limiti 2jn−j2=7,12,15,162jn-j^2=7,12,15,16. Il dettaglio è in Esercizio - Algoritmo randomizzato per 2-SAT eseguito su un'istanza con quattro variabili.

Teorema. La passeggiata su GG connesso è una catena irriducibile. Ha come unica distribuzione stazionaria πv=d(v)2m\pi_v=\dfrac{d(v)}{2m} e tempo medio di ritorno hvv=2md(v)h_{vv}=\dfrac{2m}{d(v)}. È aperiodica se e solo se GG non è bipartito.

Dimostrazione. Si ha ∑vd(v)=2m\sum_vd(v)=2m, quindi π\pi è una distribuzione. Per ogni arco {u,v}\{u,v\}: πuPuv=d(u)2m⋅1d(u)=12m=πvPvu\pi_uP_{uv}=\tfrac{d(u)}{2m}\cdot\tfrac1{d(u)}=\tfrac1{2m}=\pi_vP_{vu}: bilancio dettagliato, quindi π\pi è stazionaria; l'unicità e hvv=1/πvh_{vv}=1/\pi_v seguono dal teorema fondamentale. Se GG è bipartito i cammini chiusi hanno lunghezza pari (periodo 22); se contiene un ciclo dispari insieme ai cammini di andata e ritorno su un arco (lunghezza 22) il gcd⁡\gcd vale 11. ■\blacksquare

Esempio. Nel grafo del disegno (triangolo 1,2,31,2,3 con coda 3-4-53\text{-}4\text{-}5) m=5m=5, π=(0,2;0,2;0,3;0,2;0,1)\pi=(0{,}2;0{,}2;0{,}3;0{,}2;0{,}1), tempi di ritorno 5,5,103,5,105,5,\tfrac{10}3,5,10. Il nodo 55 (foglia) si rivisita ogni 1010 passi, il nodo 33 (il più connesso) ogni 3,333{,}33.

Grafico interattivo: Grafo con triangolo {1,2,3} e coda 3-4-5: m = 5 archi, gradi 2, 2, 3, 2, 1; passeggiata con pi = (0,2; 0,2; 0,3; 0,2; 0,1)

Lemma. Per ogni arco {u,v}\{u,v\} vale Hvu<2mH_{vu}<2m.

Dimostrazione. Il tempo di ritorno in uu si scrive condizionando sul primo passo: 2md(u)=huu=1+1d(u)∑w∼uHwu\dfrac{2m}{d(u)}=h_{uu}=1+\dfrac1{d(u)}\sum_{w\sim u}H_{wu}. Moltiplicando per d(u)d(u): ∑w∼uHwu=2m−d(u)\sum_{w\sim u}H_{wu}=2m-d(u). Ogni addendo è ≥0\ge0, quindi Hvu≤2m−d(u)<2mH_{vu}\le2m-d(u)<2m. ■\blacksquare

Teorema (copertura). C(G)<4m(n−1)C(G)<4m(n-1).

Dimostrazione. Si prende un albero di copertura TT di GG (esiste perché GG è connesso) e la visita in profondità di TT che parte da ss e ritorna in ss: percorre ogni arco dell'albero una volta per verso, cioè 2(n−1)2(n-1) passaggi u0=s→u1→⋯→u2n−2=su_0=s\to u_1\to\dots\to u_{2n-2}=s tra vertici adiacenti, e visita tutti i vertici. La passeggiata aleatoria da ss, per visitare tutti i vertici, ha tempo medio al più ∑kHukuk+1\sum_{k}H_{u_ku_{k+1}} (il tempo per toccare in ordine questi vertici), e per il lemma ciascun addendo è <2m<2m: totale <2(n−1)⋅2m<2(n-1)\cdot2m. ■\blacksquare

Esempio (grafo del disegno). I tempi di raggiungimento di 55 valgono H15=H25=18H_{15}=H_{25}=18, H35=16H_{35}=16, H45=9H_{45}=9 (a mano, con Hi=Hi5H_i=H_{i5}: H4=1+12H3H_4=1+\tfrac12H_3, H3=1+13(2H1+H4)H_3=1+\tfrac13(2H_1+H_4), H1=1+12(H1+H3)H_1=1+\tfrac12(H_1+H_3) con H1=H2H_1=H_2 per simmetria, quindi H1=2+H3H_1=2+H_3, H3=7+H4H_3=7+H_4, H4=9H_4=9, H3=16H_3=16, H1=18H_1=18). Il tempo di pendolarismo tra 11 e 55 è H15+H51=18+263=803H_{15}+H_{51}=18+\tfrac{26}3=\tfrac{80}3, uguale a 2m R15=10⋅832m\,R_{15}=10\cdot\tfrac83 perché R15=23+1+1R_{15}=\tfrac23+1+1. Il tempo di copertura esatto da 11 è 22912≈19,08\tfrac{229}{12}\approx19{,}08 (sistema lineare sugli stati (insieme visitato, posizione)), molto sotto 4m(n−1)=804m(n-1)=80.

VII. Processi continui e metodi Monte Carlo

Distribuzione esponenziale e processo di Poisson per l'informatica

Definizione. X∼Exp(λ)X\sim\text{Exp}(\lambda), λ>0\lambda>0, ha densità f(x)=λe−λxf(x)=\lambda e^{-\lambda x} per x≥0x\ge0, coda P(X>t)=e−λtP(X>t)=e^{-\lambda t}, media E[X]=1/λE[X]=1/\lambda, varianza 1/λ21/\lambda^2. Il parametro λ\lambda è un tasso (eventi per unità di tempo), 1/λ1/\lambda è il tempo medio.

Esempio. Un server completa un lavoro in media in 0,50{,}5 s: λ=2\lambda=2 al secondo, P(X>1)=e−2=0,1353P(X>1)=e^{-2}=0{,}1353.

Teorema (assenza di memoria). Se X∼Exp(λ)X\sim\text{Exp}(\lambda), per ogni s,t≥0s,t\ge0: P(X>s+t∣X>s)=P(X>t)P(X>s+t\mid X>s)=P(X>t). Viceversa, ogni variabile continua positiva con questa proprietà è esponenziale.

Dimostrazione. P(X>s+t∣X>s)=P(X>s+t)P(X>s)=e−λ(s+t)e−λs=e−λtP(X>s+t\mid X>s)=\dfrac{P(X>s+t)}{P(X>s)}=\dfrac{e^{-\lambda(s+t)}}{e^{-\lambda s}}=e^{-\lambda t}. Viceversa, se g(t)=P(X>t)g(t)=P(X>t) soddisfa g(s+t)=g(s)g(t)g(s+t)=g(s)g(t) ed è continua e decrescente, allora g(t)=e−λtg(t)=e^{-\lambda t} (equazione funzionale di Cauchy, ln⁡g\ln g additiva e monotona, quindi lineare). ■\blacksquare

Teorema (minimo). Siano X1,…,XkX_1,\dots,X_k indipendenti, Xi∼Exp(λi)X_i\sim\text{Exp}(\lambda_i), e Λ=∑iλi\Lambda=\sum_i\lambda_i. Allora M=min⁡iXi∼Exp(Λ)M=\min_iX_i\sim\text{Exp}(\Lambda), P(Xi=M)=λi/ΛP(X_i=M)=\lambda_i/\Lambda, e l'indice del minimo è indipendente da MM.

Dimostrazione. P(M>t)=∏iP(Xi>t)=e−ΛtP(M>t)=\prod_iP(X_i>t)=e^{-\Lambda t}. Per l'indice, con due variabili: P(X1<X2, M>t)=∫t∞λ1e−λ1xe−λ2xdx=λ1Λe−Λt=λ1ΛP(M>t)P(X_1<X_2,\ M>t)=\int_t^\infty\lambda_1e^{-\lambda_1x}e^{-\lambda_2x}dx=\dfrac{\lambda_1}{\Lambda}e^{-\Lambda t}=\dfrac{\lambda_1}{\Lambda}P(M>t). Con t=0t=0 si ha P(X1<X2)=λ1/ΛP(X_1<X_2)=\lambda_1/\Lambda, e il prodotto dice che l'evento "vince X1X_1" e MM sono indipendenti. Per kk variabili si confronta XiX_i con il minimo delle altre, che è Exp(Λ−λi)\text{Exp}(\Lambda-\lambda_i). ■\blacksquare

Esempio. Tre server con tassi 1,2,31,2,3 al secondo lavorano a una richiesta ciascuno; la prima risposta arriva dopo Exp(6)\text{Exp}(6), media 16\tfrac16 s, ed è del server 33 con probabilità 36=12\tfrac36=\tfrac12.

Teorema (massimo di esponenziali identiche). Se X1,…,XnX_1,\dots,X_n sono i.i.d. Exp(λ)\text{Exp}(\lambda), allora E[max⁡iXi]=HnλE[\max_iX_i]=\dfrac{H_n}{\lambda} con Hn=1+12+⋯+1nH_n=1+\tfrac12+\dots+\tfrac1n (numero armonico, come nel collezionista di figurine: Linearità del valore atteso e variabili indicatriciLa linearità $E[X+Y]=E[X]+E[Y]$ vale sempre, anche senza indipendenza; con le variabili indicatrici ($E[I_A]=P(A)$) trasforma un conteggio in una somma di probabilità. Applicazioni: attesa del primo successo $1/p$, collezionista di figurine $nH_n$, punti fissi di una permutazione (media $1$), record (media $H_n$), inversioni ($n(n-1)/4$), attesa condizionata, identità di Wald $E[S_N]=E[N]E[X]$.Linearità del valore atteso e variabili indicatrici →), e Var=1λ2∑k=1n1k2\text{Var}=\dfrac1{\lambda^2}\sum_{k=1}^n\dfrac1{k^2}.

Dimostrazione. Si aspetta che finiscano i lavori uno alla volta. Fino al primo completamento passa un tempo Exp(nλ)\text{Exp}(n\lambda) (minimo di nn), media 1nλ\tfrac1{n\lambda}. Per l'assenza di memoria i n−1n-1 lavori rimasti ricominciano da zero: fino al secondo completamento passa un Exp((n−1)λ)\text{Exp}((n-1)\lambda) indipendente, e così via fino a Exp(λ)\text{Exp}(\lambda). Il massimo è la somma di questi nn tempi indipendenti di medie 1kλ\tfrac1{k\lambda}, k=n,…,1k=n,\dots,1. ■\blacksquare

Esempio. n=10n=10 lavori con λ=1\lambda=1: E[max⁡]=H10=73812520=2,929E[\max]=H_{10}=\tfrac{7381}{2520}=2{,}929 volte la durata media di un lavoro, con deviazione standard ∑1/k2=1,245\sqrt{\sum1/k^2}=1{,}245. P(max⁡>5)=1−(1−e−5)10=0,0654P(\max>5)=1-(1-e^{-5})^{10}=0{,}0654, circa dieci volte la probabilità e−5=0,0067e^{-5}=0{,}0067 per un singolo lavoro: la coda del massimo è ciò che un utente osserva se una richiesta si divide in 1010 sotto-richieste (tail latency).

Definizione. Un processo di Poisson di intensità λ\lambda è un processo di conteggio N(t)N(t) (numero di eventi in [0,t][0,t]) i cui tempi di interarrivo X1,X2,…X_1,X_2,\dots sono i.i.d. Exp(λ)\text{Exp}(\lambda). Il kk-esimo evento avviene al tempo Sk=X1+⋯+Xk∼Erlang(k,λ)S_k=X_1+\dots+X_k\sim\text{Erlang}(k,\lambda).

Teorema (scomposizione, thinning). Se ogni evento di un processo di Poisson di intensità λ\lambda viene tenuto con probabilità pp e scartato con probabilità q=1−pq=1-p, indipendentemente dagli altri, i processi dei tenuti e degli scartati sono processi di Poisson indipendenti di intensità pλp\lambda e qλq\lambda.

Dimostrazione. Che i tenuti da soli formino un processo di Poisson di intensità pλp\lambda è dimostrato in Processi di arrivo e processo di PoissonUn sistema a coda ha clienti che arrivano, un'area di attesa e $m$ servitori. Il processo di arrivo è un processo di punto con tempi di interarrivo $\tau_n=t_n-t_{n-1}$ e tasso $\lambda=\frac1{E[\tau]}$. Nel processo di Poisson omogeneo gli arrivi in intervalli disgiunti sono indipendenti e di Poisson con media $\lambda T$, gli interarrivi sono esponenziali $\lambda e^{-\lambda a}$ e senza memoria; somma di processi di Poisson è Poisson (tassi che si sommano), il diradamento con probabilità $p$ dà Poisson di tasso $p\lambda$; in $[0,h]$ c'è un arrivo con probabilità $\lambda h+o(h)$. Servizio con tasso $\mu=\frac1{E[y]}$; notazione di Kendall $A/B/m/K/N-S$.Processi di arrivo e processo di Poisson →; qui serve soprattutto l'indipendenza fra tenuti e scartati, che è ciò che si usa negli algoritmi (urne, router). Dato N(t)=a+bN(t)=a+b, il numero di tenuti N1(t)N_1(t) è Bin(a+b,p)\text{Bin}(a+b,p). Quindi P(N1=a,N2=b)=e−λt(λt)a+b(a+b)!(a+ba)paqb=[e−pλt(pλt)aa!][e−qλt(qλt)bb!],P(N_1=a,N_2=b)=e^{-\lambda t}\frac{(\lambda t)^{a+b}}{(a+b)!}\binom{a+b}{a}p^aq^b=\Bigl[e^{-p\lambda t}\frac{(p\lambda t)^a}{a!}\Bigr]\Bigl[e^{-q\lambda t}\frac{(q\lambda t)^b}{b!}\Bigr], usando e−λt=e−pλte−qλte^{-\lambda t}=e^{-p\lambda t}e^{-q\lambda t}: il prodotto di due Poisson di parametri pλtp\lambda t e qλtq\lambda t, cioè i conteggi sono indipendenti. Il resto (incrementi indipendenti) segue dalla stessa proprietà del processo originale. ■\blacksquare

Teorema (sovrapposizione). Se N1,N2N_1,N_2 sono processi di Poisson indipendenti di intensità λ1,λ2\lambda_1,\lambda_2, il processo somma è di Poisson con intensità λ1+λ2\lambda_1+\lambda_2, e ogni evento proviene dal processo ii con probabilità λi/(λ1+λ2)\lambda_i/(\lambda_1+\lambda_2), indipendentemente dagli altri.

Dimostrazione. (Con i conteggi, come somma di variabili di Poisson indipendenti, in Processi di arrivo e processo di PoissonUn sistema a coda ha clienti che arrivano, un'area di attesa e $m$ servitori. Il processo di arrivo è un processo di punto con tempi di interarrivo $\tau_n=t_n-t_{n-1}$ e tasso $\lambda=\frac1{E[\tau]}$. Nel processo di Poisson omogeneo gli arrivi in intervalli disgiunti sono indipendenti e di Poisson con media $\lambda T$, gli interarrivi sono esponenziali $\lambda e^{-\lambda a}$ e senza memoria; somma di processi di Poisson è Poisson (tassi che si sommano), il diradamento con probabilità $p$ dà Poisson di tasso $p\lambda$; in $[0,h]$ c'è un arrivo con probabilità $\lambda h+o(h)$. Servizio con tasso $\mu=\frac1{E[y]}$; notazione di Kendall $A/B/m/K/N-S$.Processi di arrivo e processo di Poisson →; qui con i tempi, perché dà anche la provenienza.) Gli interarrivi del processo somma sono il minimo dei residui, che per l'assenza di memoria sono Exp(λ1)\text{Exp}(\lambda_1) e Exp(λ2)\text{Exp}(\lambda_2) indipendenti: il minimo è Exp(λ1+λ2)\text{Exp}(\lambda_1+\lambda_2) e vince ii con probabilità λi/∑λ\lambda_i/\sum\lambda, indipendente dall'istante (teorema del minimo). ■\blacksquare

Esempio (router). Due sorgenti Poisson di 3030 e 5050 pacchetti al secondo; un filtro tiene i pacchetti di AA con probabilità 0,20{,}2 e quelli di BB con 0,60{,}6. Per la scomposizione i tenuti di AA sono Poisson con intensità 66, quelli di BB con intensità 3030 e sono indipendenti; per la sovrapposizione il flusso in uscita è Poisson con intensità 3636. Probabilità di nessun pacchetto in uscita in 5050 ms: e−36⋅0,05=e−1,8=0,1653e^{-36\cdot0{,}05}=e^{-1{,}8}=0{,}1653. Un pacchetto in uscita proviene da AA con probabilità 6/36=166/36=\tfrac16. Tutto in Esercizio - Router con due sorgenti Poisson - sovrapposizione, filtraggio e tempo del quinto pacchetto.

Teorema (costo della poissonizzazione). Se un evento EE dipendente dai carichi ha probabilità pPp_P nel modello poissoniano con media mm, allora ha probabilità pE≤em pPp_E\le e\sqrt m\,p_P nel modello con esattamente mm palline.

Dimostrazione. pP=∑kP(E∣N=k)P(N=k)≥P(E∣N=m)P(N=m)=pE⋅e−mmmm!p_P=\sum_kP(E\mid N=k)P(N=k)\ge P(E\mid N=m)P(N=m)=p_E\cdot e^{-m}\dfrac{m^m}{m!}. Con la maggiorazione m!≤em (m/e)mm!\le e\sqrt m\,(m/e)^m (valida per m≥1m\ge1), e−mmm/m!≥1eme^{-m}m^m/m!\ge\dfrac1{e\sqrt m}. ■\blacksquare

Esempio (n=m=100n=m=100). Urne vuote attese: 100 (1−1100)100=36,60100\,(1-\tfrac1{100})^{100}=36{,}60 (esatto) contro 100 e−1=36,79100\,e^{-1}=36{,}79 (Poisson). Probabilità che il carico massimo sia ≥k\ge k:

Metodi Monte Carlo - stima, generazione di variabili aleatorie e MCMC

Teorema. Sia FF una funzione di distribuzione (Funzione di distribuzioneLa funzione di distribuzione (FdD) F_X(x) = P(X ≤ x) è definita per ogni v.a., è crescente, continua a destra, va da 0 a 1 e determina la legge; per una v.a. discreta è a gradini, con salti in corrispondenza dei valori e di altezza pari alla densità.Funzione di distribuzione →) e F−1(u)=min⁡{x:F(x)≥u}F^{-1}(u)=\min\{x:F(x)\ge u\}. Se U∼U(0,1)U\sim\text{U}(0,1) allora X=F−1(U)X=F^{-1}(U) ha funzione di distribuzione FF.

Dimostrazione. F−1(u)≤x  ⟺  u≤F(x)F^{-1}(u)\le x\iff u\le F(x) (definizione di minimo e monotonia di FF). Quindi P(X≤x)=P(U≤F(x))=F(x)P(X\le x)=P(U\le F(x))=F(x). ■\blacksquare

Teorema. Il valore restituito ha densità ff; la probabilità di accettare a ogni tentativo è 1M\tfrac1M, quindi il numero di tentativi è geometrico di media MM.

Dimostrazione. A ogni tentativo, per Y=yY=y la probabilità di accettazione è f(y)Mg(y)\frac{f(y)}{Mg(y)}. Quindi P(Y∈dy,accetta)=g(y)f(y)Mg(y)dy=f(y)MdyP(Y\in dy,\text{accetta})=g(y)\dfrac{f(y)}{Mg(y)}dy=\dfrac{f(y)}M dy. Integrando su yy: P(accetta)=1MP(\text{accetta})=\dfrac1M (ff ha integrale 11). Dato "accetta", la densità di YY è f(y)/M1/M=f(y)\dfrac{f(y)/M}{1/M}=f(y). ■\blacksquare

Esempio (Beta(2,2)\text{Beta}(2,2)). f(x)=6x(1−x)f(x)=6x(1-x) su [0,1][0,1] con gg uniforme: il massimo di ff è f(12)=1,5f(\tfrac12)=1{,}5, quindi M=1,5M=1{,}5: si accetta con probabilità 6y(1−y)/1,56y(1-y)/1{,}5 e servono in media 1,51{,}5 tentativi (simulazione: 1,5031{,}503; media 0,50100{,}5010, varianza 0,05000{,}0500 contro 12\tfrac12 e 120\tfrac1{20}).

Teorema. La catena P(x,y)=Q(x,y) a(x,y)P(x,y)=Q(x,y)\,a(x,y) per y≠xy\ne x (e P(x,x)=1−∑y≠xP(x,y)P(x,x)=1-\sum_{y\ne x}P(x,y)) soddisfa il bilancio dettagliato π(x)P(x,y)=π(y)P(y,x)\pi(x)P(x,y)=\pi(y)P(y,x), quindi π\pi è stazionaria.

Dimostrazione. Per x≠yx\ne y, π(x)P(x,y)=π(x)Q(x,y)min⁡(1,π(y)Q(y,x)π(x)Q(x,y))=min⁡(π(x)Q(x,y), π(y)Q(y,x))\pi(x)P(x,y)=\pi(x)Q(x,y)\min\bigl(1,\tfrac{\pi(y)Q(y,x)}{\pi(x)Q(x,y)}\bigr)=\min\bigl(\pi(x)Q(x,y),\ \pi(y)Q(y,x)\bigr), che è simmetrico in (x,y)(x,y). Quindi vale anche π(y)P(y,x)\pi(y)P(y,x) (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 →). ■\blacksquare

Esempio (cinque stati). Stati 1,…,51,\dots,5, w=(1,2,3,4,5)w=(1,2,3,4,5), quindi π=(115,215,315,415,515)\pi=(\tfrac1{15},\tfrac2{15},\tfrac3{15},\tfrac4{15},\tfrac5{15}) (qui Z=15Z=15 si conosce, ma non serve). Proposta simmetrica: ±1\pm1 con probabilità 12\tfrac12 ciascuno, e se esce dai bordi il passo è rifiutato. Probabilità di accettazione: da xx a x+1x+1 vale 11 (si sale verso pesi più alti), da xx a x−1x-1 vale x−1x\tfrac{x-1}{x} (ww scende). La matrice è P=(12120001414120001316120003818120002535).P=\begin{pmatrix}\tfrac12&\tfrac12&0&0&0\\\tfrac14&\tfrac14&\tfrac12&0&0\\0&\tfrac13&\tfrac16&\tfrac12&0\\0&0&\tfrac38&\tfrac18&\tfrac12\\0&0&0&\tfrac25&\tfrac35\end{pmatrix}. Per esempio da 33 a 22: 12⋅23=13\tfrac12\cdot\tfrac23=\tfrac13; da 44 a 33: 12⋅34=38\tfrac12\cdot\tfrac34=\tfrac38; il resto va sul cappio (P33=1−13−12=16P_{33}=1-\tfrac13-\tfrac12=\tfrac16). Bilancio dettagliato, per esempio tra 22 e 33: π2P23=215⋅12=115\pi_2P_{23}=\tfrac2{15}\cdot\tfrac12=\tfrac1{15} e π3P32=315⋅13=115\pi_3P_{32}=\tfrac3{15}\cdot\tfrac13=\tfrac1{15} ✓. Gli autovalori sono 1; 0,801; 0,412; −0,062; −0,5091;\ 0{,}801;\ 0{,}412;\ -0{,}062;\ -0{,}509: la convergenza decade come 0,801n0{,}801^n. Partendo da 11, la distanza di variazione totale da π\pi vale 0,8000{,}800 (n=1n=1), 0,3220{,}322 (n=5n=5), 0,1090{,}109 (n=10n=10), 0,01190{,}0119 (n=20n=20), 1,4⋅10−41{,}4\cdot10^{-4} (n=40n=40). La simulazione di 2⋅1052\cdot10^5 passi del codice sotto dà frequenze (0,0678; 0,1349; 0,2023; 0,2667; 0,3283)(0{,}0678;\ 0{,}1349;\ 0{,}2023;\ 0{,}2667;\ 0{,}3283) contro π=(0,0667; 0,1333; 0,2; 0,2667; 0,3333)\pi=(0{,}0667;\ 0{,}1333;\ 0{,}2;\ 0{,}2667;\ 0{,}3333) e media 3,6533{,}653 contro 113=3,667\tfrac{11}3=3{,}667: i passi consecutivi sono correlati, quindi l'errore è più grande di quello di 2⋅1052\cdot10^5 campioni indipendenti.