Konsekwencje NC = P?

35

Zoo złożoności wskazuje we wpisie na EXP, że jeśli L = P, to PSPACE = EXP. Ponieważ NPSPACE = PSPACE autorstwa Savitcha, o ile mogę powiedzieć, podstawowy argument dopełniania rozszerza się, aby pokazać, że Wiemy również, że L NL NC \ subseteq P poprzez zmienną hierarchię ograniczoną zasobami Ruzzo.

(NL=P)(PSPACE=EXP).

Jeśli NC = P, czy wynika z tego, że PSPACE = EXP?

Inna interpretacja pytania, w duchu Richarda Liptona: czy bardziej prawdopodobne jest, że niektóre problemy w P nie mogą być zrównoleglone, niż że żadna procedura wykładnicza nie wymaga więcej niż przestrzeni wielomianowej?

Byłbym także zainteresowany innymi „zaskakującymi” konsekwencjami NC = P (im bardziej mało prawdopodobne, tym lepiej).

Edycja: odpowiedź Ryana prowadzi do kolejnego pytania: jaka jest najsłabsza hipoteza, o której wiadomo, że gwarantuje PSPACE = EXP?

  • W. Savitch. Związki między niedeterministycznymi i deterministycznymi złożonościami taśm, Journal of Computer and System Sciences 4 (2): 177-192, 1970.
  • WL Ruzzo. O jednolitej złożoności obwodu, Journal of Computer and System Sciences 22 (3): 365-383, 1971.

Edycja (2014): zaktualizowano stary link do Zoo i dodano linki do wszystkich innych klas.

András Salamon
źródło
1
Ponieważ jestem pewien, że nie jestem jedynym, który nie wie, co to jest NC, oto link: en.wikipedia.org/wiki/NC_%28complexity%29
Emil
@Andras: Inną konsekwencją który może wiesz już, ale nie został jeszcze wspomnieć, że jest to NC hierarchia upadnie, ponieważ P ma pełną problemów pod L -reductions .
Joshua Grochow,

Odpowiedzi:

28

Tak. można postrzegać jako klasę języków rozpoznawanych przez naprzemienne maszyny Turinga, które wykorzystują przestrzeń i . (Zostało to po raz pierwszy udowodnione przez Ruzzo.) to klasa, w której naprzemienne maszyny Turinga używają przestrzeni ale mogą zająć nawet czasu. Dla zwięzłości nazwijmy tych klas i .O ( log n ) ( log n ) O ( 1 ) P O ( log n ) n O ( 1 ) A T I S P [ ( log n ) O ( 1 ) , log n ] = N C A S P A C E [ O ( log n ) ]NCO(logn)(logn)O(1)PO(logn)nO(1)ATISP[(logn)O(1),logn]=NCASPACE[O(logn)]=P

Załóżmy, że dwie klasy są równe. Zastępując o w powyżej (tj stosujących standardowe tłumaczenie lematy), otrzymuje się2 nn2n

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

Jeśli to także , ponieważ w znajdują się języki pełne .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)]

Edycja: Chociaż powyższa odpowiedź może być bardziej edukacyjna, oto prostszy argument: już wynika z „ jest zawarty w przestrzeni polilogu” i standardowego tłumaczenia. Uwaga „ zawarty jest w polylog przestrzeni” jest znacznie słabszy niż hipoteza .PEXP=PSPACEPN C = PPNC=P

Więcej szczegółów: Ponieważ rodziny obwodów mają głębokość dla pewnej stałej, każdą taką rodzinę obwodów można ocenić w przestrzeni . Stąd . Zatem oznacza . Stosując tłumaczenie (zastępując o ) oznacza . Istnienie języka pełnego w kończy argument.( log n ) c O ( ( logNC(logn)cN 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 T.O((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)]

Aktualizacja: Odpowiadając na dodatkowe pytanie Andreasa, uważam, że powinno być możliwe udowodnienie czegoś w rodzaju: iff dla wszystkich , każdy wielomierzo rzadki język w czas można rozwiązać w przestrzeni polilogu. (Bycie wielomianem rzadkim oznacza, że ​​w języku występują najwyżej łańcuchy dla wszystkich .) Jeśli to prawda, dowód prawdopodobnie byłby zgodny z dowodem Hartmanisa, Immermana i Sewelsona, że IFF każdy język wielomianowo rzadki w jest zawarty w . (Uwaga,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 SEXP=PSPACEcnO(logcn)poly(n)nnNE=ENPPnO(logcn)czas w przestrzeni polilogu wciąż wystarcza, by sugerować .)PSPACE=EXP

Ryan Williams
źródło
1
Dziękuję za miłą odpowiedź. Teoria obliczeń Dextera Kozen'a ma niezłą „jednolitą” notację dla klas Ruzzo na stronie 69: gdzie ogranicza przestrzeń, ogranicza czas, a ogranicza zmiany. Następnie podczas gdy która naprawdę podkreśla konstrukcję. 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
Zauważ, że mówię powyżej. Myślę jednak, że są takie same. Komputer, który zajmuje czas wielomianowy i przestrzeń ale wykonuje tylko można przekształcić w inną maszynę naprzemienną, która zajmuje tylko czas i przestrzeń . (Drugi kierunek jest oczywisty.) Chodzi o to, aby wstawić więcej alternatyw, aby każda faza egzystencjalna czasu wielomianowego i faza uniwersalna była „przyspieszona”, aby działać tylko w czasie i spacja, zgodnie z twierdzeniem Savitcha. O ( log n ) ( log n ) O ( 1 ) ( log n ) O ( 1 ) O ( log n ) ( log 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
potrzebujemy jakiegoś skryptu fatmonkey, który automatycznie łączy coś takiego jak „\ NP” z wpisem w zoo.
Suresh Venkat,
12

(Widziałem odpowiedź Ryana, ale chciałem tylko przedstawić inną perspektywę, która była zbyt długa, aby zmieścić się w komentarzu).

W dowodzie , wszystko, co musisz wiedzieć o L, nieoficjalnie, to że po wysadzeniu przez wykładnik L staje się PSPACE. Ten sam dowód dotyczy NL, ponieważ NL wysadzony przez wykładnik również staje się PSPACE. L=PPSPACE=EXP

Podobnie, gdy NC jest wysadzony przez wykładniczy, dostajesz PSPACE. Lubię to widzieć w kategoriach obwodów: NC to klasa obwodów wielomianowych o głębokości polilogu. Po wysadzeniu staje się to wykładniczym obwodem o wielomianowej głębokości. Można pokazać, że jest to dokładnie PSPACE, po dodaniu odpowiednich warunków jednorodności. Myślę, że jeśli NC jest zdefiniowane z L-jednolitością, to otrzyma jednolitość PSPACE.

Dowód powinien być łatwy. W jednym kierunku weź problem z PSPACE, taki jak TQBF, i wyrażaj kwantyfikatory za pomocą bramek AND i OR o wielkości wykładniczej. W przeciwnym kierunku spróbuj rekurencyjnie przejść przez wielomianowy obwód głębokości. Rozmiar stosu będzie wielomianowy, więc można to zrobić w PSPACE.

Wreszcie wymyśliłem ten argument, gdy zobaczyłem pytanie (i przed przeczytaniem odpowiedzi Ryana), aby mogły wystąpić błędy. Wskaż je.

Robin Kothari
źródło
1
Jedna korekta: NC ma obwody wielkości wielomianu i głębokości polilogu, ale po translacji jest to nadal tylko głębokość wielomianowa.
Ryan Williams
@Ryan: Masz rację. Naprawię to.
Robin Kothari,
1

Oto trochę więcej szczegółów z perspektywy symulacji maszyny naprzemiennej Turinga ograniczonej czasoprzestrzenią.

Załóżmy, że .P=NC

Ponieważ , otrzymujemyP = 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))).

Teraz rozważmy uniwersalny problem symulacji w czasie liniowym którym otrzymujemy kodowanie na maszynie Turinga i łańcuch wejściowy o długości i chcemy wiedzieć, czy akceptuje co najwyżej kroków.M x n M x nLinUMxnMxn

Wiemy, że . Dlatego istnieje stała (wystarczająco duża) taka, żec ( )LinUPc

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

W wyniku argumentu dopełniającego (trochę podchwytliwe zobacz komentarze) mamy

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

Rozszerzając argument dopełniania, otrzymujemy ( 3 )

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

Ponadto znane są wyniki symulacji maszyn Turinga na przemian w czasoprzestrzeni. W szczególności wiemy, że

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

Dlatego (zasadniczo) mamy następujące wartości dla wszystkich liczb naturalnych :k

( 3 )

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

Z otrzymalibyśmy .E X P = P S P A C E(3)EXP=PSPACE

==================== Po przemyśleniu ===================

Należy zauważyć, że oznacza dla pewnej stałej .A T I S P ( ( log ( n ) ) O ( 1 ) , O ( log ( n ) ) ) = A T I S P ( log c ( n ) , O ( log ( n ) ) ) doP=NC

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

Wszelkie uwagi i poprawki są mile widziane. :)

Michael Wehar
źródło
1
@MichaelWehar Czy znamy w jakimkolwiek stałym ? W szczególności czy znamy a zatem ? NCkPSPACEkNC2PSPACENCPSPACE
T ....
1
@MichaelWehar Nie wiem, ale nigdzie nie widziałem, że . W rzeczywistości komentarz w cstheory.stackexchange.com/questions/39046/… mówi, że jest możliwy. I napisali zapytanie uściśleń cstheory.stackexchange.com/questions/40689/... . Myślisz, że możesz rzucić okiem? NCPSPACEPuniformNC1=PSPACE
T ....
1
@Turbo Dziękuję bardzo za miłą odpowiedź !! Może to zależeć od rodzaju munduru. Na przykład może obowiązywać tylko dla NC z log-uniformem. Pozwól mi pomyśleć o tym i wrócić do ciebie. :)NC=ATISP((log(n))O(1),O(log(n)))
Michael Wehar
1
@Turbo Dziękujemy za kontynuację !! Naprawdę uważam, że powinieneś przeczytać definicję na dole strony 370 z: sciencedirect.com/science/article/pii/0022000081900386
Michael Wehar
1
@Turbo Dzięki za wszystkie twoje kontynuacje !! Bardzo polecam przeczytanie artykułu, który połączyłem, ponieważ w nim jest napisane, że większość z tych pojęć jednolitego jest równoważna. Papier jednak nie uważa -uniform , który mógłby być inny, jak nie mam dowodu, że to jest to samo. P N CNCPNC
Michael Wehar