È contenuto in ?


31

Ho pensato di condividere questa domanda in quanto potrebbe essere interessante per altri utenti qui.

Supponiamo che una funzione che si trova in una classe uniforme (come ) sia anche in una piccola classe non uniforme (come , cioè non uniforme ), ciò implica che la funzione è contenuta in una classe uniforme più piccola ( come )? Se la risposta a questa domanda è positiva, qual è la più piccola classe di complessità uniforme che contiene ? Se negativo, possiamo trovare un controesempio naturale interessante?A C 0 / p o l y A C 0 P N P A C 0 / p o l yNPAC0/polyAC0PNPAC0/poly

È contenuto in ?PAC0/polyNPP

Nota: un amico ha già parzialmente risposto alla mia domanda offline, aggiungerò la sua risposta se non la aggiunge da sola.

La domanda è il mio secondo tentativo di formalizzare la seguente domanda informale:

La non uniformità può aiutarci a calcolare i problemi di uniformità naturali?


Relazionato:


@Kaveh: Forse una domanda interessante sarebbe quella di chiedere un problema naturale in P / poly e NP, ma non in P. (O forse è troppo facile?)
Robin Kothari,

@Robin: che sembra interessante, ma non sono sicuro che sarebbe stato più facile trovare un problema naturale in . NPP/polyP
Kaveh,

1
@tutti: ho bisogno di pensare un po 'di più a questa domanda e alle risposte. Sembra una domanda molto naturale. Ma mi sento a disagio per le risposte: in primo luogo, possiamo indebolire il presupposto sostituendo con dove è una funzione in rapida crescita; secondo, il controesempio non è solo in ma ha circuiti di dimensione 1 in quanto la funzione è costante su tutti gli ingressi di dimensione per tutti ! Queste due ragioni potrebbero dire che questa non è la domanda giusta da porre. N T i m e ( f ) D T i m e ( f ) f A C 0 / p o l y n nNEXPEXPNTime(f)DTime(f)fAC0/polynn
Kaveh,

2
@Kaveh: Forse potresti voler guardare la classe YP, definita da Scott Aaronson. È come P / poly, ma il "consiglio" non è attendibile. In altre parole, è come NP intersecare CONP, ma il testimone può dipendere solo dalla lunghezza dell'input. YP è in P / poli ed è una classe uniforme. Forse un problema in YP ma non in P è un esempio del problema che stai cercando. Sarebbe naturale, uniforme, non in P, in P / poli, e forse non banale poiché il consiglio deve essere verificato dal circuito.
Robin Kothari,

2
@Kaveh: La classe YP ("Yoda Polynomial-Time") è definita più formalmente nel documento di Scott "L'apprendibilità degli stati quantistici" [quant-ph / 0608142]
Alessandro Cosentino,

Risposte:


30

Ecco una semplificazione della risposta di Ryan. Supponiamo che . Definisci la lingua . L'assunzione traduce . Inoltre, banalmente .L = { x : | x | Λ } Λ N E E L N P PΛNEEL={x:|x|Λ}ΛNEELNPPLAC0/poly


1
Bella risposta Yuval!
Dai Le

1
Sostanzialmente la stessa trasformazione è usata nel libro 1974 per mostrare che E ≠ NE se e solo se NP ∖ P contiene un linguaggio di conteggio.
Tsuyoshi Ito

Giusto per essere sicuri: capisco correttamente cheè la lunghezza di scritta in unario? X|x|x
Vincent,

@Vincent Qui è una stringa anziché un numero intero eè la sua lunghezza. | x |x|x|
Yuval Filmus,

sì, questo è ciò che mi confonde. Seè la lunghezza di una stringa, quindiè un numero intero, quindi come può essere un elemento di ? | x | Λ|x||x|Λ
Vincent,

32

Rispondi alla tua prima domanda: sembra improbabile.

Teorema: Se poi .NPAC0/polyPNEXP=EXP

Dato un circuito che emette un bit, definire la decompressione di C come stringa di bit ottenuta valutando su tutti i possibili ingressi. Cioè, la decompressione è .C C ( 0 n ) C ( 0 n - 1 1 ) C ( 0 n - 2 10 ) C ( 1 n )CCC(0n)C(0n11)C(0n210)C(1n)

Definire il problema Succinct 3SAT come: dato un circuito di dimensione , la sua decompressione codifica una formula booleana soddisfacente? nCn N E X PSuccinct 3SAT è noto per essere completo .NEXP

Ora considera la lingua

1 n | nL= {il numero intero scritto in binario è un'istanza sì di Succinct 3SAT}.1n|n

A C 0 / p o l y 1 n L nL è chiaramente in , dato che puoi semplicemente stabilire se è in , per ogni .AC0/poly1nLn

N P n log n O ( n ) O ( n )L è anche in : l'intero scritto in binario ha una lunghezza di circa , quindi la decompressione di questo circuito non ha lunghezza superiore a . Quindi l'incarico soddisfacente ha lunghezza al massimo .NPnlognO(n)O(n)

Ma con le stesse osservazioni, se , quindi , perché significa che hai un algoritmo temporale per decidere ogni istanza di Succinct 3SAT di lunghezza .N E X P = E X P O ( n c ) log nLPNEXP=EXPO(nc)logn

La tua seconda domanda è aperta (e aperta).


Perché hai bisogno di prendere qualche problema completo?
Yuval Filmus,

Ho pensato che rendesse più facile seguire l'argomento.
Ryan Williams,

Grazie Ryan per la tua bella risposta e la spiegazione. Immagino che non ti dispiacerebbe se accetto la risposta di Yuval anche se sei stata la prima persona a pubblicare.
Kaveh,

11

Alla domanda di Kaveh "La non uniformità può aiutarci a calcolare i problemi di uniformità naturali?"

Penso che la risposta sia "sì", a volte. Considera, ad esempio, il problema della somma dei sottoinsiemi: data una sequenza di numeri reali positivi, decidi se alcuni sottoinsiemi di essi sommano fino a . Questo è un problema NP-difficile anche se limitato a numeri interi positivi (Zaino). Ma Friedhelm Meyer auf der Heide (1984) ha dimostrato che, per qualsiasi , il problema può essere risolto da un albero di decisione lineare di profondità inferiore a . In un tale albero i test hanno la forma: è una combinazione lineare di variabili di input maggiori di qualche soglia. La non uniformità qui è importante: per ogni potremmo avere un algoritmo completamente diverso (albero decisionale).1 n n 5 nn1nn5n

Riferimenti:


Grazie. Risultato interessante, ma guardando un algoritmo di ricerca lineare polinomiale per il problema dello zaino n-dimensionale , mi sembra un po 'imbroglione. La dimensione del programma non uniforme è esponenziale, solo la profondità è polinomiale, è come considerare l'intero albero di calcolo di un algoritmo NP su input di dimensione (è come circuiti di dimensioni esponenziali di profondità polinomiale). n
Kaveh,

1
Con un argomento simile, possiamo dire che qualsiasi problema è risolvibile in tempo costante , perché la tabella delle risposte può essere espressa da un CNF. Mi piace più la costruzione di Ryan e Yuval perché dimostra che sebbene il problema sia complicato in un'impostazione uniforme, per ogni dimensione di input è molto facile da risolvere. 2
Kaveh,

1
Kaveh, hai ragione: qui siamo interessati al tempo (= profondità), non allo spazio (= registro delle dimensioni della rete). Ma nota che un banale algoritmo per Subset-Sum richiederebbe tempo (profondità) per testare tutti i sottoinsiemi di una determinata stringa di input. Inoltre, ho pensato che chiedessi dei candidati naturali , non solo per la separazione :-)2n
Stasys

1
Ovviamente, il problema Somma-sottoinsieme ha un banale algoritmo non deterministico: basta indovinare un sottoinsieme che somma fino a . Ma parliamo di algoritmi deterministici . E quello di Mayer auf der Heide è deterministico. A proposito, anche io non sono molto entusiasta del suo risultato. Se avesse mostrato questo per le dimensioni (non solo per la profondità = tempo), avremmo già . Tuttavia, questo è uno dei risultati. N P P / p o l y1NPP/poly
Stasys,

4
@Kaveh: Ma NP stesso è un grande OR di P. La "versione temporale" di P vs. NP è: possiamo sostituire questo grande OR con un albero decisionale algebrico deterministico di profondità polinomiale (con P sulle foglie)? Ricordiamo che la profondità banale per Subset-Sum è 2 ^ n (non n). Dopkin e Lipton (1978) mostrarono che la profondità n ^ 2/2 è necessaria, e si credeva ampiamente che questo potesse essere migliorato in n ^ k per qualsiasi k. Mayer auf der Heide ha confutato questa convinzione: k = 5 è sufficiente. Pertanto, la non uniformità PU help aiutare, se siamo interessati alla profondità (tempo).
Stasys,
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.