Salta al contenuto
Note per Studenti Esercizio - amplificazione di un algoritmo BPP con il voto di maggioranza

Esercizio - amplificazione di un algoritmo BPP con il voto di maggioranza

Teoria: 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 → (applicazione all'amplificazione) e 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 →. Calcolo esatto per k=3,5k=3,5 e confronto con Chebyshev (errore iniziale 14\frac14, obiettivo 10−310^{-3}, 3333 copie): Esercizio - Voto di maggioranza per un algoritmo a errore bilaterale.

Testo. Un algoritmo randomizzato risponde sì/no e sbaglia con probabilità al più 13\frac13 su ogni input, con casualità indipendente a ogni esecuzione. Si ripete kk volte (kk dispari) e si risponde con la maggioranza.

  1. Dimostrare con Hoeffding e con Chernoff che l'errore finale è ≤e−k/18\le e^{-k/18} e ≤e−k/36\le e^{-k/36}.
  2. Quante ripetizioni garantiscono errore ≤2−20\le2^{-20} con i due limiti? Qual è il minimo vero?
  3. Rifare con errore iniziale 14\frac14.
  4. Confrontare i limiti con il valore esatto per k=101k=101.

Soluzione

1. Limiti. Sia YY il numero di esecuzioni sbagliate: somma di kk indicatori indipendenti con probabilità ≤13\le\frac13, quindi E[Y]≤k3E[Y]\le\frac k3. La maggioranza è sbagliata se e solo se Y≥k2Y\ge\frac k2 (con kk dispari non ci sono pareggi); questo è uno scostamento di almeno k2−k3=k6\frac k2-\frac k3=\frac k6 dalla media.

  • Hoeffding (c=kc=k, t=k6t=\frac k6): P≤e−2(k/6)2/k=e−k/18P\le e^{-2(k/6)^2/k}=e^{-k/18}.
  • Chernoff con μ=k3\mu=\frac k3 e (1+δ)μ=k2(1+\delta)\mu=\frac k2, cioè δ=12\delta=\frac12: P≤e−δ2μ/3=e−k/36P\le e^{-\delta^2\mu/3}=e^{-k/36}.

(Se la probabilità di errore è minore di 13\frac13 i limiti valgono ancora: l'errore finale può solo diminuire.)

2. Per 2−202^{-20}. Hoeffding: e−k/18≤2−20  ⟺  k≥18⋅20ln⁡2=249,5e^{-k/18}\le2^{-20}\iff k\ge18\cdot20\ln2=249{,}5, quindi k=251k=251 (dispari). Chernoff: k≥36⋅20ln⁡2=499,1k\ge36\cdot20\ln2=499{,}1, quindi k=501k=501. Minimo vero (somma della binomiale Bin(k,13)\mathrm{Bin}(k,\frac13), P(Y≥k+12)P(Y\ge\frac{k+1}2)): k=193k=193 con errore 9,03×10−7≤9,54×10−79{,}03\times10^{-7}\le9{,}54\times10^{-7}; k=191k=191 dà 1,02×10−61{,}02\times10^{-6}, troppo. I limiti sono prudenti di un fattore 1,31{,}3 (Hoeffding) e 2,62{,}6 (Chernoff) sulle ripetizioni, ma hanno la forma giusta: k=O(log⁡1ε)k=O(\log\frac1\varepsilon).

3. Errore iniziale 14\frac14. Ora E[Y]≤k4E[Y]\le\frac k4 e lo scostamento fino a k2\frac k2 è k4\frac k4: Hoeffding e−2(k/4)2/k=e−k/8e^{-2(k/4)^2/k}=e^{-k/8}; per 2−202^{-20} servono k≥8⋅20ln⁡2=110,9k\ge8\cdot20\ln2=110{,}9, cioè k=111k=111. Il minimo vero è k=79k=79.

4. k=101k=101, errore iniziale 13\frac13.

Valore Errore finale
Hoeffding e−101/18e^{-101/18} 3,66×10−33{,}66\times10^{-3}
Chernoff e−101/36e^{-101/36} 6,05×10−26{,}05\times10^{-2}
Esatto 2,72×10−42{,}72\times10^{-4}

Il costo dell'amplificazione è lineare in kk, quindi migliorare l'errore da 13\frac13 a 2−202^{-20} costa circa 200200 volte il tempo, non 2202^{20} volte.

Risultato. k=251k=251 (Hoeffding), 501501 (Chernoff), 193193 (minimo vero) per errore ≤2−20\le2^{-20} partendo da 13\frac13; 111111 e 7979 partendo da 14\frac14.

Verifica.

python
import math

def errore(k, p):                       # P(piu' della meta' delle k esecuzioni sbagliate)
    return sum(math.comb(k, i) * p**i * (1 - p)**(k - i) for i in range((k + 1) // 2, k + 1))

for p, k0 in ((1 / 3, 1), (1 / 4, 1)):
    k = k0
    while errore(k, p) > 2.0**-20: k += 2
    print(p, k, errore(k, p))                              # 1/3: 193 ; 1/4: 79
print(18 * 20 * math.log(2), 36 * 20 * math.log(2), 8 * 20 * math.log(2))
print(math.exp(-101 / 18), math.exp(-101 / 36), errore(101, 1 / 3))

Versione ripasso

Setup (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 →). YY = numero di esecuzioni sbagliate su kk (dispari), E[Y]≤k3E[Y]\le\frac k3; risposta finale sbagliata se Y≥k2Y\ge\frac k2, scostamento k6\frac k6.

Limiti. Hoeffding e−2(k/6)2/k=e−k/18e^{-2(k/6)^2/k}=e^{-k/18}. Chernoff con μ=k3\mu=\frac k3, δ=12\delta=\frac12: e−δ2μ/3=e−k/36e^{-\delta^2\mu/3}=e^{-k/36}.

Per 2−202^{-20}. Hoeffding k≥18⋅20ln⁡2=249,5k\ge18\cdot20\ln2=249{,}5, quindi 251251; Chernoff k≥499,1k\ge499{,}1, quindi 501501; minimo vero 193193 (errore 9,03×10−79{,}03\times10^{-7}). Errore iniziale 14\frac14: Hoeffding e−k/8e^{-k/8}, k≥110,9k\ge110{,}9, quindi 111111; minimo vero 7979.

k=101k=101. Hoeffding 3,66×10−33{,}66\times10^{-3}, Chernoff 6,05×10−26{,}05\times10^{-2}, esatto 2,72×10−42{,}72\times10^{-4} (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 →). Costo lineare in kk per errore esponenzialmente piccolo.

Errore tipico. Usare kk pari (pareggi) o ripetere con la stessa sequenza casuale: serve l'indipendenza.

Esercizi su questo argomento

Teoria collegata