Quali algoritmi randomizzati hanno probabilità di errore esponenzialmente piccole?


15

Supponiamo che un algoritmo randomizzato usi bit casuali. La probabilità di errore più bassa che ci si può aspettare (non all'altezza di un algoritmo deterministico con errore 0) è . Quali algoritmi randomizzati raggiungono una probabilità di errore minima?2 - Ω ( r )r2Ω(r)

Un paio di esempi che vengono in mente sono:

  • Algoritmi di campionamento, ad esempio, in cui si desidera stimare la dimensione di un set per il quale è possibile verificare l'appartenenza. Se si campionano uniformemente a caso gli elementi da verificare, il limite di Chernoff garantisce una probabilità di errore esponenzialmente piccola.
  • L'algoritmo Karger-Klein-Tarjan per il calcolo dell'albero di spanning minimo. L'algoritmo seleziona ogni fronte con probabilità 1/2 e trova ricorsivamente l'MST nel campione. Si può usare Chernoff per sostenere che è esponenzialmente improbabile che ci siano 2n + 0.1m dei bordi che sono migliori dell'albero (cioè, si preferirebbe prenderli su uno dei bordi dell'albero).

Riesci a pensare ad altri esempi?

Seguendo la risposta di Andras di seguito: In effetti, ogni algoritmo di tempo polinomiale può essere convertito in un algoritmo di tempo polinomiale più lento con probabilità di errore esponenzialmente piccola. Il mio focus è sugli algoritmi che sono il più efficienti possibile. In particolare, per i due esempi che ho dato ci sono algoritmi di tempo polinomiale deterministici che risolvono i problemi. L'interesse per gli algoritmi randomizzati è dovuto alla loro efficienza.


1
Non è una risposta completa, ma c'è stato un po 'di lavoro nell'algebra lineare numerica randomizzata. youtube.com/watch?v=VTroCeIqDVc
Baby Dragon l'

Forse non ci si può aspettare , ma si può certamente sperare (ancora "non all'altezza di un algoritmo deterministico con errore 0") che per tutti i numeri reali c, Se c<1 poi c'è un algoritmo la cui probabilità di errore è 2cr. Credo che il test di identità polinomiale sia un tale problema.

@RickyDemer Non capisco il tuo commento. Il solito algoritmo randomizzato per PIT ha un errore che non è esponenziale nella casualità. Quindi cosa stai dicendo? Stai dicendo che potrebbe esistere un tale algoritmo per qualsiasi problema BPP?
Sasho Nikolov,

Ora mi rendo conto che in realtà non vedo alcun modo di dimostrare che PIT è nella classe che ho descritto. D'altra parte, lasciare che sia super polinomiale in d (cioè, lasciare che la lunghezza (S) sia superlineare in lunghezza (d)) sarebbe sufficiente per il lemma di Schwartz-ZippelSd (continua ...)

1
Molte costruzioni di metodi probabilsitici hanno un tale comportamento, no? Ad esempio, selezionando un insieme casuale di stringhe binarie e osservando la loro coppia più vicina, la probabilità che ci siano due stringhe in distanza più piccole di è molto piccola. -------------------------------------------------- ----------------------- Nello spirito della risposta BPP di seguito: Dato un espansore di gradi costante, con n vertici e n / 2 vertici contrassegnati, il la probabilità di una camminata casuale di lunghezza O ( t ) di perdere un vertice marcato è 2 - Ω ( t ) , se t = Ω (n/4n/2O(t)2Ω(t) . t=Ω(logn)
Sariel Har-Peled,

Risposte:


18

Impagliazzo e Zuckerman hanno dimostrato (FOCS'89, vedi qui ) che se un algoritmo BPP usa bit casuali per ottenere una probabilità di correttezza di almeno 2/3, quindi, applicando passeggiate casuali sui grafici di espansione, questo può essere migliorato con una probabilità di correttezza di 1 - 2 - k , usando bit casuali O ( r + k ) . ( Nota: mentre gli autori usano la costante specifica 2/3 in astratto, può essere sostituita con qualsiasi altra costante maggiore di 1/2.)r1-2-KO(r+K)

Se prendiamo , ciò significa che qualsiasi algoritmo BPP che realizza una probabilità di errore costante < 1 / 2 , con r bit casuali, può essere (non banalmente) migliorata per avere probabilità di errore 2 - Ω ( r ) . Pertanto, (a meno che non abbia frainteso qualcosa), la probabilità di errore di 2 - Ω ( r ) è realizzabile per ogni problema in BPP.K=r<1/2r2-Ω(r)2-Ω(r)


6
Il problema con tali tecniche di amplificazione è che rallentano l'algoritmo. Il nuovo algoritmo può usare solo bit casuali O (r), ma il suo tempo di esecuzione è r volte (tempo di esecuzione originale). Se r è, diciamo, almeno lineare nella dimensione di input n (che di solito è), hai appena rallentato l'algoritmo di un fattore n. Non è qualcosa di cui la maggior parte degli algoritmi sarebbe contenta ...
Dana Moshkovitz l'

2

Non sono sicuro che questo è quello che stai cercando, ma è correlato:

Supponiamo che io voglio trovare un casuale numero primo bit. Il solito algoritmo è quello di scegliere un intero casuale (dispari) k- bit ed eseguire il test di primalità di Miller-Rabin per t round su di esso e ripetere fino a trovare un probabile primo. Qual è la probabilità che questa procedura restituisca un numero composto? Chiama questa probabilità p k , t .KKtpK,t

L'analisi standard del test di primalità di Miller-Rabin mostra che dà una probabilità di fallimento al massimo di 4 - t . Questo, insieme al teorema dei numeri primi, implica p k , tO ( k 4 - t ) .t4-t

pK,tO(K4-t).

Tuttavia, stiamo eseguendo il test Miller-Rabin su input casuali, quindi possiamo utilizzare una garanzia di errore nel caso medio. Otteniamo un limite molto migliore. In particolare, per , p k , 12 - ( 1 - o ( 1 ) ) k ln ln kt=1 Vale a dire, abbiamo una probabilità di fallimento esponenzialmente piccola conuna sola ripetizionedel test!

pK,12-(1-o(1))KlnlnKlnK2-Ω~(K).

Vedi Erdös and Pomerance (1986) , Kim and Pomerance (1989) e Dåmgard, Landrock e Pomerance (1993) per maggiori dettagli.

O(K2)O(K)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.