Salta al contenuto
Note per Studenti Esercizio - mediana randomizzata, parametri e probabilità di fallimento

Esercizio - mediana randomizzata, parametri e probabilità di fallimento

Teoria: 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 → (algoritmo e analisi); per il confronto con le code esponenziali Limiti di Chernoff e di HoeffdingMarkov applicato a e^(tX) dà code esponenziali. Per somme di Bernoulli indipendenti con media μ: P(X ≥ (1+δ)μ) ≤ [e^δ/(1+δ)^(1+δ)]^μ ≤ e^(-δ²μ/3) per 0<δ≤1, P(X ≤ (1-δ)μ) ≤ e^(-δ²μ/2), P(X ≥ R) ≤ 2^(-R) se R ≥ 6μ. Hoeffding per X_i in [a_i,b_i]: P(|S-E[S]| ≥ t) ≤ 2exp(-2t²/Σ(b_i-a_i)²). Applicazioni: n ≥ ln(2/δ)/(2ε²) campioni per stimare una probabilità, amplificazione BPP con k = O(log 1/ε) ripetizioni, bilanciamento di insiemi con scarto √(4m ln n).Limiti di Chernoff e di Hoeffding →.

Testo. Si esegue l'algoritmo della mediana per campionamento su n=106+1n=10^6+1 numeri distinti: campione di m=⌈n3/4⌉m=\lceil n^{3/4}\rceil elementi con reinserimento, dd e uu ai ranghi m/2∓nm/2\mp\sqrt n del campione, C={x:d≤x≤u}C=\{x:d\le x\le u\}, si ricomincia se la mediana non è in CC o se ∣C∣>4m|C|>4m.

  1. Calcolare mm, n\sqrt n, il numero atteso di elementi in CC e il costo di un giro in confronti.
  2. Dimostrare che la probabilità che dd sia sopra la mediana è al più 14n−1/4\frac14n^{-1/4} e calcolare il limite per l'intero fallimento.
  3. Rifare il limite con Hoeffding al posto di Chebyshev.
  4. Confrontare con una simulazione.

Soluzione

1. Parametri. n3/4=104,5=31622,8n^{3/4}=10^{4{,}5}=31622{,}8, quindi m=31623m=31623; n=1000,0005≈1000\sqrt n=1000{,}0005\approx1000 (la mediana ha rango k=500001k=500001). I due estremi distano 2n=20002\sqrt n=2000 ranghi nel campione di mm elementi, cioè una frazione 2000m\frac{2000}{m} dell'insieme: ∣C∣≈n⋅2nm=2n3/4≈63246≈2m|C|\approx n\cdot\frac{2\sqrt n}{m}=2n^{3/4}\approx63246\approx2m, ben sotto il limite 4m=1264924m=126492. Un giro costa:

  • ordinare il campione: O(mlog⁡m)O(m\log m), circa 31623⋅15≈4,7×10531623\cdot15\approx4{,}7\times10^5 operazioni;
  • confrontare ogni elemento con dd e con uu: 2n=2 000 0022n=2\,000\,002 confronti;
  • ordinare CC: O(∣C∣log⁡∣C∣)O(|C|\log|C|), circa 63246⋅16≈10663246\cdot16\approx10^6.

In totale circa 2×106+1,5×106=3,5×1062\times10^6+1{,}5\times10^6=3{,}5\times10^6 confronti, contro nlog⁡2n≈2×107n\log_2n\approx2\times10^7 dell'ordinamento diretto. Asintoticamente domina 2n2n, perché i due ordinamenti costano O(n3/4log⁡n)=o(n)O(n^{3/4}\log n)=o(n); per n=106n=10^6 però pesano ancora quasi quanto il passaggio sull'input.

2. Limite di Chebyshev. Sia YY il numero di elementi del campione che sono ≤\le mediana: Y∼Bin(m,q)Y\sim\mathrm{Bin}(m,q) con q=kn≥12q=\frac{k}{n}\ge\frac12. Se d>d> mediana, meno di m/2−nm/2-\sqrt n campioni sono ≤\le mediana, cioè Y<m/2−n≤E[Y]−nY<m/2-\sqrt n\le E[Y]-\sqrt n. Con Var(Y)=mq(1−q)≤m4\mathrm{Var}(Y)=mq(1-q)\le\frac m4 e Chebyshev: P(Y≤E[Y]−n)≤m/4n=n3/44n=14n−1/4=14⋅0,0316=0.0079.P\big(Y\le E[Y]-\sqrt n\big)\le\frac{m/4}{n}=\frac{n^{3/4}}{4n}=\frac14n^{-1/4}=\frac14\cdot0{,}0316=0.0079. Gli altri tre eventi cattivi (la mediana sopra uu, uu oltre il rango k+2mk+2m, dd sotto k−2mk-2m) hanno la stessa limitazione, quindi P(giro fallito)≤4⋅0,0079=n−1/4=0.0316.P(\text{giro fallito})\le4\cdot0{,}0079=n^{-1/4}=0.0316. In media si fanno meno di 11−0,0316=1,033\frac1{1-0{,}0316}=1{,}033 giri.

3. Limite di Hoeffding. YY è somma di mm indicatori indipendenti: P(Y≤E[Y]−n)≤e−2(n)2/m=e−2n/m=e−2n1/4=e−63,2=3,4×10−28P(Y\le E[Y]-\sqrt n)\le e^{-2(\sqrt n)^2/m}=e^{-2n/m}=e^{-2n^{1/4}}=e^{-63{,}2}=3{,}4\times10^{-28}. Per i quattro eventi ≤1,4×10−27\le1{,}4\times10^{-27}: la probabilità di fallimento passa da 3×10−23\times10^{-2} a 10−2710^{-27}: il limite di Chebyshev è molto prudente.

4. Simulazione. Su 300300 esecuzioni con n=106+1n=10^6+1: 00 giri falliti, ∣C∣|C| medio 6316163161 (da 5918459184 a 6665766657, previsto ≈2m=63246\approx2m=63246), quindi il costo di un giro resta quello stimato al punto 1.

Risultato. m=31623m=31623, ∣C∣≈63246|C|\approx63246, costo 2n+O(n3/4log⁡n)2n+O(n^{3/4}\log n), circa 3,5×1063{,}5\times10^6 confronti; fallimento ≤n−1/4=0,0316\le n^{-1/4}=0{,}0316 (Chebyshev), ≤1,4×10−27\le1{,}4\times10^{-27} (Hoeffding).

Verifica.

python
import math
import numpy as np

n = 10**6 + 1
m = math.ceil(n**0.75); r = math.isqrt(n); k = (n + 1) // 2
print(m, r, n**-0.25, 4 * math.exp(-2 * n / m))     # 31623 1000 0.0316 1.4e-27

rng = np.random.default_rng(1)
a = np.arange(n)                                     # i numeri sono 0..n-1, la mediana e' n // 2
falliti, dim = 0, []
for _ in range(300):
    R = np.sort(rng.integers(0, n, size=m))          # campione con reinserimento (valori = ranghi)
    d, u = R[m // 2 - r - 1], R[m // 2 + r]
    sotto, sopra = (a < d).sum(), (a > u).sum()
    C = ((a >= d) & (a <= u)).sum(); dim.append(C)
    falliti += not (sotto < k and sopra < k and C <= 4 * m)
print(falliti, np.mean(dim))                         # 0 ~63200

Versione ripasso

Parametri (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 →). n=106+1n=10^6+1: m=⌈n3/4⌉=31623m=\lceil n^{3/4}\rceil=31623, n≈1000\sqrt n\approx1000, k=500001k=500001. Estremi a 2n2\sqrt n ranghi del campione: ∣C∣≈2n3/4≈63246≈2m<4m=126492|C|\approx2n^{3/4}\approx63246\approx2m<4m=126492.

Costo. Confronti con dd e uu: 2n2n; ordinamenti di RR e CC: O(mlog⁡m)O(m\log m), circa 1,5×1061{,}5\times10^6. Totale ≈3,5×106\approx3{,}5\times10^6 contro nlog⁡2n≈2×107n\log_2n\approx2\times10^7.

Chebyshev. Y∼Bin(m,q)Y\sim\mathrm{Bin}(m,q), q≥12q\ge\frac12, Var(Y)≤m4\mathrm{Var}(Y)\le\frac m4. dd sopra la mediana richiede Y≤E[Y]−nY\le E[Y]-\sqrt n: probabilità ≤m/4n=14n−1/4=0,0079\le\frac{m/4}{n}=\frac14n^{-1/4}=0{,}0079. Quattro eventi: fallimento ≤n−1/4=0,0316\le n^{-1/4}=0{,}0316, quindi in media 1,0331{,}033 giri.

Hoeffding (Limiti di Chernoff e di HoeffdingMarkov applicato a e^(tX) dà code esponenziali. Per somme di Bernoulli indipendenti con media μ: P(X ≥ (1+δ)μ) ≤ [e^δ/(1+δ)^(1+δ)]^μ ≤ e^(-δ²μ/3) per 0<δ≤1, P(X ≤ (1-δ)μ) ≤ e^(-δ²μ/2), P(X ≥ R) ≤ 2^(-R) se R ≥ 6μ. Hoeffding per X_i in [a_i,b_i]: P(|S-E[S]| ≥ t) ≤ 2exp(-2t²/Σ(b_i-a_i)²). Applicazioni: n ≥ ln(2/δ)/(2ε²) campioni per stimare una probabilità, amplificazione BPP con k = O(log 1/ε) ripetizioni, bilanciamento di insiemi con scarto √(4m ln n).Limiti di Chernoff e di Hoeffding →). Ogni evento ≤e−2n/m=e−2n1/4=e−63,2\le e^{-2n/m}=e^{-2n^{1/4}}=e^{-63{,}2}; in totale ≤1,4×10−27\le1{,}4\times10^{-27}.

Simulazione. 300 giri, 0 falliti, ∣C∣|C| medio 6316163161.

Errore tipico. Usare m=nm=n o dimenticare che il campione è con reinserimento: la binomiale richiede estrazioni indipendenti.

Teoria collegata