NC = P conseguenze?


35

Lo zoo di complessità indica nella voce su EXP che se L = P allora PSPACE = EXP. Dato che NPSPACE = PSPACE di Savitch, per quanto ne so, l'argomento di riempimento sottostante si estende per mostrare che Sappiamo anche che L NL NC P attraverso la gerarchia alternata limitata dalle risorse di Ruzzo.

(NL=P)(PSPACE=EXP).

Se NC = P, segue PSPACE = EXP?

Un'interpretazione diversa della domanda, nello spirito di Richard Lipton: è più probabile che alcuni problemi in P non possano essere parallelizzati, che nessuna procedura a tempo esponenziale richiede più dello spazio polinomiale?

Sarei anche interessato ad altre conseguenze "sorprendenti" di NC = P (più è improbabile, meglio è).

Modifica: la risposta di Ryan porta a un'ulteriore domanda: qual è l'ipotesi più debole che è nota per garantire PSPACE = EXP?

  • W. Savitch. Relazioni tra complessità nastro non deterministiche e deterministiche, Journal of Computer and System Sciences 4 (2): 177-192, 1970.
  • WL Ruzzo. Sulla complessità del circuito uniforme, Journal of Computer and System Sciences 22 (3): 365-383, 1971.

Modifica (2014): aggiornato il vecchio collegamento Zoo e collegamenti aggiunti per tutte le altre classi.


1
Sicuramente non sono l'unico a non sapere cosa sia NC, ecco un link: en.wikipedia.org/wiki/NC_%28complexity%29
Emil

@Andras: Un'altra conseguenza che forse già conosci, ma non è ancora stata menzionata, è che la crollerebbe, poiché ha problemi completi in -riduzioni . NCPL
Joshua Grochow,

Risposte:


28

Sì. può essere visto come la classe di lingue riconosciute alternando macchine di Turing che usano spazio e tempo. (Questo è stato dimostrato per la prima volta da Ruzzo.) è la classe in cui le macchine Turing alternate usano lo spazio ma possono richiedere fino a tempo. Per brevità Chiamiamo queste classi e .NCO(logn)(logn)O(1)PO(logn)nO(1)ATISP[(logn)O(1),logn]=NCASPACE[O(logn)]=P

Supponiamo che le due classi siano uguali. Sostituendo con in precedenza (cioè applicando i lemmi di traduzione standard), si ottienen2n

TIME[2O(n)]=ASPACE[O(n)]=ATISP[nO(1),n]ATIME[nO(1)]=PSPACE .

Se poi così, dato che ci sono lingue -Complete in .E X P = P S P A C E E X P T I M E [ 2 O ( n ) ]TIME[2O(n)]PSPACEEXP=PSPACEEXPTIME[2O(n)]

Modifica: sebbene la risposta sopra sia forse più istruttiva, ecco un argomento più semplice: segue già da " è contenuta nello spazio polifunzionale" e la traduzione standard. Nota " è contenuta nello spazio polylog" è un'ipotesi molto più debole rispetto .PEXP=PSPACEPN C = PPNC=P

Maggiori dettagli: poiché le famiglie di circuiti hanno profondità per alcune costanti, ogni famiglia di circuiti può essere valutata nello spazio . Quindi . Quindi implica . L'applicazione della traduzione (sostituendo con ) implica . L'esistenza di un linguaggio completo di in l'argomento.( log n ) c O ( ( log n ) c ) N C c > 0 S P A C E [ ( log n ) c ] P = N C P c > 0 S P A C E [ ( log n ) c ] n 2 n TNC(logn)cO((logn)c)NCc>0SPACE[(logn)c]P=NCPc>0SPACE[(logn)c]n2nE X P T I M E [ 2 O ( n ) ]TIME[2O(n)]PSPACEEXPTIME[2O(n)]

Aggiornamento: affrontando la domanda aggiuntiva di Andreas, credo che dovrebbe essere possibile provare qualcosa del tipo: iff per tutto , ogni linguaggio polinomialmente sparsa in tempo è risolvibile nello spazio polifunzionale. (Essere polinomialmente sparsi significa che ci sono al massimo stringhe di lunghezza nella lingua, per tutti i .) Se vero, la prova probabilmente andrebbe lungo le linee di Hartmanis, Immerman e Sewelson che se e solo se ogni lingua polinomialmente sparse in è contenuto in . (Nota,c n O ( log c n ) p o l y ( n ) n n N E = E N P P n O ( log c n ) P S P A C E = E X PEXP=PSPACEcnO(logcn)poly(n)nnNE=ENPPnO(logcn)il tempo nello spazio poliflog è ancora sufficiente per implicare .)PSPACE=EXP


1
Grazie per la bella risposta La teoria della computazione di Dexter Kozen ha una bella notazione "uniforme" per le classi di Ruzzo a pagina 69: dove limita lo spazio, limita il tempo e limita le alternanze. Quindi mentre che evidenzia davvero la costruzione. f g h NC = S T A ( log n , , ( log n ) O ( 1 ) ) P = S T A ( log n , , )STA(f,g,h)fghNC=STA(logn,,(logn)O(1))P=STA(logn,,)
András Salamon,

1
Nota che sto dicendo sopra. Comunque penso che questi siano gli stessi. Una macchina che richiede il tempo polinomiale e lo spazio ma fa solo alternanze può essere trasformata in un'altra macchina alternata che richiede solo tempo e spazio. (L'altra direzione è ovvia.) L'idea è quella di inserire più alternanze in modo che ogni fase esistenziale del tempo polinomiale e la fase universale sia "accelerata" per funzionare solo in tempo e spazio, lungo le linee del teorema di Savitch. O ( registro n ) ( registro n ) O ( 1 ) ( registro n ) O ( 1 ) O ( registro n ) ( registro n ) O ( 1 ) O ( log n )NC=STA(logn,(logn)O(1),)O(logn)(logn)O(1)(logn)O(1)O(logn)(logn)O(1)O(logn)
Ryan Williams,

6
ciò di cui abbiamo bisogno è una specie di script greasemonkey che colleghi automaticamente qualcosa come "\ NP" alla voce nello zoo.
Suresh Venkat,

12

(Ho visto la risposta di Ryan, ma volevo solo fornire un'altra prospettiva, che era troppo lunga per adattarsi a un commento.)

In proof, tutto ciò che devi sapere su L, informalmente, è che quando fatto saltare in aria da un esponenziale, L diventa PSPACE. La stessa prova è valida per la NL, perché anche la NL esplosa da un esponenziale diventa PSPACE. L=PPSPACE=EXP

Allo stesso modo, quando NC viene fatto saltare in aria da un esponenziale, ottieni PSPACE. Mi piace vederlo in termini di circuiti: NC è la classe di circuiti di dimensioni polinomiali con profondità poligonale. Quando fatto saltare in aria, questo diventa circuiti di dimensioni esponenziali con profondità polinomiale. Si può dimostrare che si tratta esattamente di PSPACE, una volta aggiunte le condizioni di uniformità appropriate. Immagino che se NC è definito con l'uniformità L, allora otterrà l'uniformità PSPACE.

La prova dovrebbe essere facile. In una direzione, prendi un problema completo di PSPACE come TQBF ed esprimi i quantificatori usando porte AND e OR di dimensioni esponenziali. Nell'altra direzione, prova a attraversare ricorsivamente il circuito di profondità polinomiale. La dimensione dello stack sarà polinomiale, quindi questo può essere fatto in PSPACE.

Alla fine, ho trovato questo argomento quando ho visto la domanda (e prima di leggere la risposta di Ryan), quindi potrebbero esserci dei bug. Per favore, segnalali.


1
Una correzione: NC ha circuiti di dimensione polinomiale e profondità poligonale, ma questa è ancora solo profondità polinomiale dopo la traduzione.
Ryan Williams,

@Ryan: hai ragione. Lo aggiusterò.
Robin Kothari,

1

Ecco un po 'più di dettaglio dal punto di vista della simulazione della macchina di Turing alternata limitata nello spazio-tempo.

Supponiamo che .P=NC

Poiché , otteniamoP = A T I S P ( ( log ( n ) ) O ( 1 ) , O ( log ( n ) ) ) .NC=ATISP((log(n))O(1),O(log(n)))

P=ATISP((log(n))O(1),O(log(n))).

Ora, consideriamo il problema tempo di simulazione universale lineare dove ci viene data una codifica su una macchina di Turing e un ingresso stringa di di lunghezza e vogliamo sapere se accetta in al massimo passi.M x n M x nLinUMxnMxn

Sappiamo che . Pertanto, esiste una costante (sufficientemente grande) tale chec ( )LinUPc

()LinUATISP(logc(n),clog(n)).

Come risultato di un argomento di riempimento (un po 'complicato vedi commenti), abbiamo

(1)DTIME(n)ATISP(logc(n),clog(n)).

Estendendo l'argomento padding, otteniamo

(2)DTIME(nk)ATISP(kclogc(n),kclog(n)).
(3)DTIME(2nk)ATISP(kcnkc,kcnk).

Inoltre, ci sono risultati noti sulla simulazione di macchine Turing limitate spazio-tempo alternate. In particolare, sappiamo che

ATISP(logc(n),clog(n))DSPACE(O(logc+1(n))).

Pertanto, abbiamo (essenzialmente) quanto segue per tutti i numeri naturali :k

(2)DTIME(nk)DSPACE(kc+1logc+1(n))
(3)DTIME(2nk)DSPACE(nk(c+1)).

Da , otterremmo .(3)EXP=PSPACE

==================== Dopo il pensiero ===================

È importante notare che implica per alcune costanti .P=NC

ATISP((log(n))O(1),O(log(n)))=ATISP(logc(n),O(log(n)))
c

Eventuali commenti o correzioni sono i benvenuti. :)


1
@MichaelWehar Conosciamo in qualsiasi fisso ? In particolare conosciamo e quindi ? NCkPSPACEkNC2PSPACENCPSPACE
T ....

1
@MichaelWehar Non lo so ma non ho mai visto da nessuna parte quel . In effetti un commento in cstheory.stackexchange.com/questions/39046/… dice che è possibile. Ho pubblicato una domanda di chiarimento in cstheory.stackexchange.com/questions/40689/… . Pensi di poter dare un'occhiata? NCPSPACEPuniformNC1=PSPACE
T ....

1
@Turbo Grazie mille per la cortese risposta !! Può dipendere dal tipo di uniforme. Ad esempio, potrebbe essere valido solo per NC uniforme di Logspace. Lasciami pensare e torna da te. :)NC=ATISP((log(n))O(1),O(log(n)))
Michael Wehar,

1
@Turbo Grazie per il follow-up !! Penso davvero che dovresti leggere la definizione in fondo a pagina 370 da: sciencedirect.com/science/article/pii/0022000081900386
Michael Wehar,

1
@Turbo Grazie per tutti i tuoi follow-up !! Consiglio vivamente di leggere il documento che ho collegato perché in esso afferma che la maggior parte di queste nozioni di uniforme sono equivalenti. Il documento tuttavia non considera -uniformi che potrebbe essere diverso in quanto non ho modo di provare che sia lo stesso. NCPNC
Michael Wehar,
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.