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 e confronto con Chebyshev (errore iniziale , obiettivo , copie): Esercizio - Voto di maggioranza per un algoritmo a errore bilaterale.
Testo. Un algoritmo randomizzato risponde sì/no e sbaglia con probabilità al più su ogni input, con casualità indipendente a ogni esecuzione. Si ripete volte ( dispari) e si risponde con la maggioranza.
- Dimostrare con Hoeffding e con Chernoff che l'errore finale è e .
- Quante ripetizioni garantiscono errore con i due limiti? Qual è il minimo vero?
- Rifare con errore iniziale .
- Confrontare i limiti con il valore esatto per .
Soluzione
1. Limiti. Sia il numero di esecuzioni sbagliate: somma di indicatori indipendenti con probabilità , quindi . La maggioranza è sbagliata se e solo se (con dispari non ci sono pareggi); questo è uno scostamento di almeno dalla media.
- Hoeffding (, ): .
- Chernoff con e , cioè : .
(Se la probabilità di errore è minore di i limiti valgono ancora: l'errore finale può solo diminuire.)
2. Per . Hoeffding: , quindi (dispari). Chernoff: , quindi . Minimo vero (somma della binomiale , ): con errore ; dà , troppo. I limiti sono prudenti di un fattore (Hoeffding) e (Chernoff) sulle ripetizioni, ma hanno la forma giusta: .
3. Errore iniziale . Ora e lo scostamento fino a è : Hoeffding ; per servono , cioè . Il minimo vero è .
4. , errore iniziale .
| Valore | Errore finale |
|---|---|
| Hoeffding | |
| Chernoff | |
| Esatto |
Il costo dell'amplificazione è lineare in , quindi migliorare l'errore da a costa circa volte il tempo, non volte.
Risultato. (Hoeffding), (Chernoff), (minimo vero) per errore partendo da ; e partendo da .
Verifica.
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 →). = numero di esecuzioni sbagliate su (dispari), ; risposta finale sbagliata se , scostamento .
Limiti. Hoeffding . Chernoff con , : .
Per . Hoeffding , quindi ; Chernoff , quindi ; minimo vero (errore ). Errore iniziale : Hoeffding , , quindi ; minimo vero .
Errore tipico. Usare pari (pareggi) o ripetere con la stessa sequenza casuale: serve l'indipendenza.