In quale classe sono gli algoritmi randomizzati che sbagliano con una probabilità del 25%?


17

Supponiamo che io consideri la seguente variante di BPP, che chiamiamo E (xact) BPP: una lingua è in EBPP se esiste un TG polinomiale randomizzato che accetta ogni parola della lingua con probabilità esattamente 3/4 e ogni parola non in la lingua con esattamente 1/4 di probabilità. Ovviamente EBPP è contenuto in BPP ma sono uguali? Questo è stato studiato? Che dire dell'ERP similmente definibile?

Motivazione. La mia motivazione principale è che volevo sapere quale fosse l'algoritmo teorico della complessità dell'algoritmo randomizzato `` corretto nel valore atteso '' di Faenza et al. (vedi http://arxiv.org/abs/1105.4127 ) sarebbe. Innanzitutto volevo capire quali problemi decisionali un tale algoritmo può risolvere (con il peggior tempo di esecuzione polinomiale). Indichiamo questa classe con E (xpected) V (alue) PP. È facile vedere che USAT EVPP. Inoltre è facile vedere che EBPP EVPP. Quindi questa era la mia motivazione. Qualsiasi feedback su EVPP è anche il benvenuto.

In effetti, il loro algoritmo genera sempre un numero non negativo. Se denotiamo i problemi di decisione riconoscibili da un tale algoritmo da EVP (ositive) PP, allora abbiamo ancora USAT EVPPP. Sebbene EBPP potrebbe non essere un sottoinsieme di EVPPP, abbiamo ERP EVPPP. Forse usando questi possiamo definire un rango (non negativo) per problemi di decisione.


10
Immagino che tu lo sappia già, ma se allenti il ​​vincolo ad accettare le parole nella lingua con probabilità per allora le classi dovrebbero essere uguali. ε 1 / poli ( n )3/4±εε1/poly(n)
Huck Bennett,

3
@domotorp Qual è la motivazione dietro questa domanda? Cosa intendi fare con questa classe di complessità semantica? Vedi un modo di usare l'EBPP da qualche parte per dimostrare un teorema? Puoi elaborare?
Tayfun paga il

1
Leggi l'articolo "Classi di probabilità probabilistica e Lowness" di Uwe Schoning, 1989.
Tayfun paga il

1
@Tayfun: l'ho verificato ma non sono riuscito a trovare nulla di rilevante. Potresti essere più specifico?
domotorp,

2
@HuckBennett: o per ε exp ( - p o l y ( n ) ) . 3/4±ϵϵexp(poly(n))
Colin McQuillan,

Risposte:


10

Da un lato, non è chiaro che EBPP sia una classe solida. Ad esempio, se invece di consentire all'algoritmo di lanciare una moneta imparziale, se ricevesse una moneta a 3 facce imparziale o un dado a 6 facce, non è chiaro che ottieni la stessa classe. BPP rimane lo stesso se si modificano questi dettagli.

Comunque, la tua domanda principale è se l'EBPP è uguale o meno a BPP. Mi sembra che l'EBPP sia più vicino a P che a BPP. Considera la complessità della query o la versione di Oracle di queste classi in cui hanno accesso a una stringa di input di grandi dimensioni e devono eseguire query per apprendere i bit di questa stringa. Se si dispone di un algoritmo che calcola P una funzione con Q query, allora esiste un esatto che rappresenta polinomio di grado Q per f su R . (Questo è il solito argomento del metodo polinomiale.) D'altra parte, se si dispone di un algoritmo BPP, si ottiene un grado Q polinomiale su R che approssima ffQQfRQRfnel senso che il suo valore è vicino al valore di ad ogni input.f

Dato un algoritmo EBPP per una funzione , possiamo costruire un polinomio che genera 1/4 quando la risposta è NO e 3/4 quando la risposta è SÌ. Sottraendo 1/2 e moltiplicando per 2, è possibile ottenere un polinomio che rappresenta esattamente, proprio come nel caso di P. Questo mi suggerisce che EBPP è più vicino a P.f

Questa osservazione può anche essere usata per mostrare una separazione dell'oracolo tra EBPP e BPP. Considera il problema della maggioranza delle promesse in cui ti viene promesso che l'input ha più di 2 N / 3 1 o meno di N / 3 1 e devi decidere qual è il caso. Questo è chiaramente in BPP. Utilizzando l'argomento polinomiale sopra descritto si può dimostrare che questa funzione richiede query per una macchina EBPP. Ma nota che puoi anche provare una separazione dell'oracolo dall'altra parte, tra P ed EBPP. Quindi forse i risultati dell'oracolo non dicono molto per questo problema? O forse quello che dicono è che sarà difficile mostrare l'uguaglianza in entrambe le direzioni.Ω(N)


1
Sì, la separazione dell'oracolo sembra abbastanza semplice in entrambi i casi.
domotorp,

1

Per quanto riguarda le separazioni dell'oracolo, esiste un oracolo con EBPP = BPP = EXP NP e un oracolo con P = ⊕P (e quindi EBPP = P) e BPP = EXP NP .

Una costruzione di BPP = L' oracolo di EXP NP (incluso quello nell'articolo di BPP su Wikipedia ) è scegliere un problema completo EXP NP relativizzato e procedere ricorsivamente sulla dimensione di input (per quel problema), fissare i risultati per istanze problematiche di quella dimensione e quindi fornire risposte a quel problema se viene richiesto con l'input e un filler (di lunghezza appropriata) che non è stato risolto. Per EBPP = EXP NP , invece di dare quasi sempre le risposte corrette, possiamo dare abbastanza risposte errate per rendere i conteggi esattamente corretti. Esiste anche un oracolo in cui l'analogo dell'errore zero di EBPP (esattamente 1/2 probabilità di errore di segnalazione) è uguale a EXP (e un oracolo con P = ⊕P ma ZPP = EXP).

P = ⊕P e BPP = EXP NP oracolo si nota qui .

Oltre ad essere in BPP e in C = P, EBPP è in ⊕P poiché possiamo ridurre la probabilità al numero di testimoni e quindi modificare quel numero.

Nel mondo non relativizzato, BPP è probabilmente uguale a P, ma l'evidenza è ancora più forte per EBPP. L'EBPP dipende dal numero esatto di percorsi in un modo che, a meno che non si verifichi una cancellazione imprevista, sembra sostanzialmente impossibile da sfruttare.


0

Questa è una risposta parziale; forse ispirerà qualcun altro a fornirne uno migliore.

La classe è un caso speciale di C = P . Penso che un modo per definire C = P sia il seguente (vedere la Sezione 2 di questo documento ). Una lingua L è in C = P se esiste un verificatore di tempo polinomiale V tale cheEBPPC=PC=PLC=PV

  • se è in L , allora Pr w [ V ( x , w )  accetta ] = 3xL ePrw[V(x,w) accepts]=34
  • xLPrw[V(x,w) accepts]34

34

EBPPLEBPPV

  • se x è in L , allora Pr w [ V ( x , w )  accetta ] = xLPrw[V(x,w) accepts]=34
  • xLPrw[V(x,w) accepts]=14

3
È anche un caso speciale di BPP.
Peter Shor,

@argentpepper Quello che ritieni sia un caso speciale di C=PC=PC=P

@PeterShor Exactly
Tayfun paga il

1
@TayfunPay Non credo che il tuo commento abbia un senso. è un insieme di lingue, non macchine, quindi non esiste C = PC=PC=PC=PC=P

Sto
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.