Salta al contenuto
Note per Studenti Esercizio - Poissonizzazione di cento palline in cento urne e confronto con il modello esatto

Esercizio - Poissonizzazione di cento palline in cento urne e confronto con il modello esatto

Teoria: Distribuzione esponenziale e processo di Poisson per l'informaticaL'esponenziale Exp(λ) è l'unica legge continua senza memoria: P(X>s+t | X>s)=P(X>t). Il minimo di esponenziali indipendenti è Exp(Σλ_i) e l'indice del minimo è i con probabilità λ_i/Σλ (indipendente dal valore del minimo); il massimo di n esponenziali Exp(λ) ha media H_n/λ. Il processo di Poisson di intensità λ ha interarrivi Exp(λ) i.i.d., N(t) ~ Poisson(λt) e incrementi indipendenti; la scomposizione (ogni evento tenuto con probabilità p) dà due processi di Poisson indipendenti, la sovrapposizione dà un processo di intensità somma. Applicazioni: carichi Poisson delle urne (poissonizzazione, con costo e√m), server replicati, arrivi durante un servizio.Distribuzione esponenziale e processo di Poisson per l'informatica →; carico massimo: Palline e urne - compleanno, carico massimo e approssimazione di PoissonModello palline e urne (m palline, n urne, scelte indipendenti e uniformi): paradosso del compleanno con soglia sqrt(2 n ln 2), urne vuote attese n e^(-m/n), carico massimo ln n / ln ln n con dimostrazione (first moment e union bound), approssimazione di Poisson con il fattore e sqrt(m), potere delle due scelte (ln ln n / ln 2).Palline e urne - compleanno, carico massimo e approssimazione di Poisson →.

Testo. Si lanciano m=100m=100 palline in n=100n=100 urne, ciascuna in un'urna uniforme e indipendentemente dalle altre ("modello esatto"). Nel "modello poissoniano" il numero di palline è invece N∼Poisson(100)N\sim\text{Poisson}(100).

  1. Nel modello poissoniano, qual è la legge dei carichi L1,…,LnL_1,\dots,L_n? Calcolare il numero atteso di urne vuote e confrontarlo con il modello esatto.
  2. Calcolare P(max⁡jLj≥k)P(\max_jL_j\ge k) per k=4,…,7k=4,\dots,7 nei due modelli (esatto con un calcolo dei coefficienti, poissoniano con la formula del punto 1).
  3. Dimostrare che ogni evento di probabilità pPp_P nel modello poissoniano ha probabilità ≤em pP\le e\sqrt m\,p_P nel modello esatto.
  4. Usare il punto 3 per maggiorare P(max⁡≥10)P(\max\ge10) nel modello esatto, e confrontare con il valore vero.

Soluzione

1. Ogni pallina del processo di Poisson va nell'urna jj con probabilità 1n\tfrac1n: per la scomposizione i conteggi sono Poisson indipendenti di media m/n=1m/n=1. Quindi Lj∼Poisson(1)L_j\sim\text{Poisson}(1) i.i.d. e P(Lj=0)=e−1P(L_j=0)=e^{-1}. Urne vuote attese nel modello poissoniano: 100 e−1=36,79100\,e^{-1}=36{,}79. Nel modello esatto, P(urna vuota)=(1−1100)100P(\text{urna vuota})=\bigl(1-\tfrac1{100}\bigr)^{100} e per linearità del valore atteso (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 →) le urne vuote attese sono 100⋅0,99100=36,60100\cdot0{,}99^{100}=36{,}60. Differenza dello 0,5%0{,}5\%.

2. Modello poissoniano: i carichi sono indipendenti, quindi P(max⁡<k)=(P(Poi(1)<k))100P(\max<k)=\bigl(P(\text{Poi}(1)<k)\bigr)^{100} e P(max⁡≥k)=1−(∑j<ke−1j!)100.P(\max\ge k)=1-\Bigl(\sum_{j<k}\frac{e^{-1}}{j!}\Bigr)^{100}. Per k=5k=5: P(Poi(1)≥5)=0,003660P(\text{Poi}(1)\ge5)=0{,}003660, quindi 1−(1−0,003660)100=0,30701-(1-0{,}003660)^{100}=0{,}3070. Modello esatto: P(max⁡≤k)=m!nm [xm](∑j=0kxjj!)nP(\max\le k)=\dfrac{m!}{n^m}\,[x^m]\Bigl(\sum_{j=0}^{k}\tfrac{x^j}{j!}\Bigr)^n (conteggio delle disposizioni con ogni urna di al più kk palline). Calcolato con frazioni esatte:

kk 4 5 6 7 8 10
esatto 0,87380{,}8738 0,29840{,}2984 0,05240{,}0524 0,007090{,}00709 8,2⋅10−48{,}2\cdot10^{-4} 7,6⋅10−67{,}6\cdot10^{-6}
poissoniano 0,85300{,}8530 0,30700{,}3070 0,05770{,}0577 0,008290{,}00829 1,02⋅10−31{,}02\cdot10^{-3} 1,1⋅10−51{,}1\cdot10^{-5}

(simulazione di 10510^5 lanci: P(max⁡≥5)=0,298P(\max\ge5)=0{,}298). I due modelli danno valori molto vicini. Per k≥5k\ge5 nell'esatto le code sono un po' più leggere: i carichi hanno somma fissa 100100 (correlazione negativa), quindi i grandi valori sono un po' meno probabili; a k=4k=4, evento tipico, il confronto si inverte.

3. Sia EE un evento che dipende dai carichi. Dalla formula delle probabilità totali sul numero di palline, pP=∑k≥0P(E∣N=k) P(N=k)≥P(E∣N=m) P(N=m)=pE⋅e−mmmm!.p_P=\sum_{k\ge0}P(E\mid N=k)\,P(N=k)\ge P(E\mid N=m)\,P(N=m)=p_E\cdot e^{-m}\frac{m^m}{m!}. Con la maggiorazione di Stirling m!≤em (m/e)mm!\le e\sqrt m\,(m/e)^m (per m≥1m\ge1) si ha e−mmm/m!≥1eme^{-m}m^m/m!\ge\dfrac1{e\sqrt m}, quindi pE≤em pPp_E\le e\sqrt m\,p_P. Per m=100m=100: P(N=100)=0,03986≥1e⋅10=0,03679P(N=100)=0{,}03986\ge\tfrac1{e\cdot10}=0{,}03679 ✓ e e100=27,18e\sqrt{100}=27{,}18. ■\blacksquare

4. Nel modello poissoniano P(max⁡≥10)=1−(1−P(Poi(1)≥10))100≈1,11⋅10−5P(\max\ge10)=1-(1-P(\text{Poi}(1)\ge10))^{100}\approx1{,}11\cdot10^{-5} (con P(Poi(1)≥10)=1,11⋅10−7P(\text{Poi}(1)\ge10)=1{,}11\cdot10^{-7}). Nel modello esatto il punto 3 dà P(max⁡≥10)≤27,18⋅1,11⋅10−5=3,0⋅10−4P(\max\ge10)\le27{,}18\cdot1{,}11\cdot10^{-5}=\boxed{3{,}0\cdot10^{-4}}. Il valore vero è 7,6⋅10−67{,}6\cdot10^{-6}: la maggiorazione è larga, ma è sufficiente a mostrare che un carico ≥10\ge10 è un evento raro, senza calcolare i coefficienti esatti. Per eventi tipici (probabilità vicine a 12\tfrac12) il fattore 2727 è invece inutile, come mostra 27,18⋅0,3070>127{,}18\cdot0{,}3070>1 per k=5k=5.

Codice di verifica

python
from fractions import Fraction as F
from math import exp, factorial, e, sqrt
import numpy as np

n = m = 100
poi = lambda j: exp(-1) / factorial(j)
print("urne vuote:", n * (1 - 1 / n)**m, n * exp(-1))

def pmax_le(k):                              # P(max <= k) esatta: m!/n^m [x^m] (sum_{j<=k} x^j/j!)^n
    base = [F(1, factorial(j)) if j <= k else F(0) for j in range(m + 1)]
    res, ex = [F(1)] + [F(0)] * m, n
    def mul(a, b):
        out = [F(0)] * (m + 1)
        for i, ai in enumerate(a):
            if ai:
                for j in range(m + 1 - i): out[i + j] += ai * b[j]
        return out
    while ex:
        if ex & 1: res = mul(res, base)
        base, ex = mul(base, base), ex >> 1
    return res[m] * factorial(m) / F(n)**m

for k in (4, 5, 6, 7, 8, 10):
    ex = 1 - float(pmax_le(k - 1))
    po = 1 - (1 - (1 - sum(poi(j) for j in range(k))))**n
    print(k, ex, po)
print("e sqrt(m) =", e * sqrt(m), " P(N=m) =", exp(-m) * m**m / factorial(m))
rng = np.random.default_rng(1)
mx = [np.bincount(rng.integers(0, n, m), minlength=n).max() for _ in range(100_000)]
print("simulazione P(max >= 5):", np.mean(np.array(mx) >= 5))

Versione ripasso

Teoria: Distribuzione esponenziale e processo di Poisson per l'informaticaL'esponenziale Exp(λ) è l'unica legge continua senza memoria: P(X>s+t | X>s)=P(X>t). Il minimo di esponenziali indipendenti è Exp(Σλ_i) e l'indice del minimo è i con probabilità λ_i/Σλ (indipendente dal valore del minimo); il massimo di n esponenziali Exp(λ) ha media H_n/λ. Il processo di Poisson di intensità λ ha interarrivi Exp(λ) i.i.d., N(t) ~ Poisson(λt) e incrementi indipendenti; la scomposizione (ogni evento tenuto con probabilità p) dà due processi di Poisson indipendenti, la sovrapposizione dà un processo di intensità somma. Applicazioni: carichi Poisson delle urne (poissonizzazione, con costo e√m), server replicati, arrivi durante un servizio.Distribuzione esponenziale e processo di Poisson per l'informatica →; Palline e urne - compleanno, carico massimo e approssimazione di PoissonModello palline e urne (m palline, n urne, scelte indipendenti e uniformi): paradosso del compleanno con soglia sqrt(2 n ln 2), urne vuote attese n e^(-m/n), carico massimo ln n / ln ln n con dimostrazione (first moment e union bound), approssimazione di Poisson con il fattore e sqrt(m), potere delle due scelte (ln ln n / ln 2).Palline e urne - compleanno, carico massimo e approssimazione di Poisson →.

Teoria collegata