NC = P consequências?

35

O zoológico de complexidade indica na entrada em EXP que, se L = P , PSPACE = EXP. Como NPSPACE = PSPACE da Savitch, até onde eu sei, o argumento de preenchimento subjacente se estende para mostrar que Também sabemos que L NL NC P via hierarquia alternada limitada por recursos de Ruzzo.

(NL=P)(PSPACE=EXP).

Se NC = P, segue-se PSPACE = EXP?

Uma interpretação diferente da questão, no espírito de Richard Lipton: é mais provável que alguns problemas em P não possam ser paralelizados, do que nenhum procedimento de tempo exponencial requer mais que o espaço polinomial?

Eu também estaria interessado em outras consequências "surpreendentes" de NC = P (quanto mais improvável, melhor).

Edit: A resposta de Ryan leva a uma pergunta adicional: qual é a hipótese mais fraca que se sabe garantir PSPACE = EXP?

  • W. Savitch. Relações entre complexidades de fita não-determinísticas e determinísticas, Journal of Computer and System Sciences 4 (2): 177-192, 1970.
  • WL Ruzzo. Sobre a complexidade do circuito uniforme, Journal of Computer and System Sciences 22 (3): 365-383, 1971.

Editar (2014): link antigo atualizado do Zoo e links adicionados para todas as outras classes.

András Salamon
fonte
11
Como eu tenho certeza que não sou o único a não saber o que NC é, aqui está um link: en.wikipedia.org/wiki/NC_%28complexity%29
Emil
@ Andras: Uma outra consequência que talvez você já saiba, mas que ainda não foi mencionada, é que a hierarquia entraria em colapso, pois P tem problemas completos nas reduções em L. NCPL
Joshua Grochow

Respostas:

28

Sim. pode ser visto como a classe de idiomas reconhecida por máquinas de Turing alternadas que usam espaço O ( log n ) e ( log n ) tempo O ( 1 ) . (Isso foi comprovado pela primeira vez por Ruzzo.) P é a classe em que as máquinas de Turing alternadas usam espaço O ( log n ) , mas podem levar até n O ( 1 ) tempo. Por uma questão de brevidade, vamos chamar essas classes A T I S P [ ( log nNCO(logn)(logn)O(1)PO(logn)nO(1) e A S P A C E [ O ( log n ) ] = P .ATISP[(logn)O(1),logn]=NCASPACE[O(logn)]=P

Suponha que as duas classes sejam iguais. Substituindo por 2 n acima (isto é, aplicando lemas de tradução padrão), obtém-sen2n

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

Se então E X P = P S P A C E também, uma vez que existem idiomas completos E X P em T I M E [ 2 O ( n ) ] .TIME[2O(n)]PSPACEEXP=PSPACEEXPTIME[2O(n)]

Edit: Embora a resposta acima seja talvez mais educativa, aqui está um argumento mais simples: já segue de " P está contido no espaço polylog" e tradução padrão. EXP=PSPACEPNota " está contido no espaço polylog" é uma hipótese muito mais fraco do que o N C = P .PNC=P

Mais detalhes: Como as famílias de circuitos têm profundidade ( log n ) c para alguma constante, cada família de circuitos pode ser avaliada no espaço O ( ( log n ) c ) . Daí N C c > 0 S P A C E [ ( log n ) C ] . Então P = N C implica P c > 0 SNC(logn)cO((logn)c)NCc>0SPACE[(logn)c]P=NC . Aplicando tradução (substituindo n com 2 N ) implica T I H E [ 2 S ( n ) ] P S P A C E . A existência de um E X P língua -completo em T I H E [ 2 S ( n ) ] termina o argumento.Pc>0SPACE[(logn)c]n2nTIME[2O(n)]PSPACEEXPTIME[2O(n)]

Atualização: Respondendo à pergunta adicional de Andreas, acredito que deve ser possível provar algo como: se, para todos os c , toda linguagem polinomialmente esparsa em n O ( log c n ) o tempo é solucionável em espaço polylog. (Sendo meios polinomialmente esparsos que há, no máximo, p o l y ( n ) cadeias de comprimento N da língua, para todos os nEXP=PSPACEcnO(logcn)poly(n)nn.) Se for verdade, a prova seria provavelmente ir ao longo das linhas de Hartmanis, Immerman, e comprovante de Sewelson que sse todas as línguas polinomialmente escassa em N P está contido em P . (Observe que o tempo n O ( log c n ) no espaço polylog ainda é suficiente para implicar P S P A C E = E X P. )NE=ENPPnO(logcn)PSPACE=EXP

Ryan Williams
fonte
11
Obrigado pela resposta agradável. Dexter Kozen Teoria da Computação tem uma boa notação de "uniforme" para as classes de RUZZO na página 69: , onde f espaço limites, g limites de tempo, e h Bounds alternâncias. Então NC = S T A ( log n , , ( log n ) O ( 1 ) ) enquanto P = S T A (STA(f,g,h)fghNC=STA(logn,,(logn)O(1)) que realmente destaca a construção. P=STA(logn,,)
András Salamon
11
Observe que estou dizendo acima. No entanto, acho que estes são os mesmos. Uma máquina que ocupa tempo polinomial e espaço O ( log n ) , mas faz apenas ( log n ) O ( 1 ) alternações pode ser transformada em outra máquina alternada que usa apenas ( log n ) O ( 1NC=STA(logn,(logn)O(1),)O(logn)(logn)O(1) tempo e espaçoO(logn). (A outra direcção é evidente.) A ideia é a de inserir mais alternâncias de modo a que cada fase existencial tempo polinomial e fase universal é "acelerado" para ser executado em apenas(logn ) S ( 1 ) hora eO(logn)espaço , na linha do teorema de Savitch. (logn)O(1)O(logn)(logn)O(1)O(logn)
Ryan Williams
6
o que precisamos é de algum tipo de script greasemonkey que vincule automaticamente algo como "\ NP" à entrada no zoológico.
Suresh Venkat
12

(Vi a resposta de Ryan, mas só queria fornecer outra perspectiva, que era longa demais para caber em um comentário.)

Na prova , tudo o que você precisa saber sobre L, informalmente, é que, quando explodido por um exponencial, L se torna PSPACE. A mesma prova é válida para NL, porque NL explodido por um exponencial também se torna PSPACE. L=PPSPACE=EXP

Da mesma forma, quando NC é explodido por um exponencial, você obtém o PSPACE. Eu gosto de ver isso em termos de circuitos: NC é a classe de circuitos polinomiais de tamanho com profundidade de polilog. Quando explodido, isso se transforma em circuitos de tamanho exponencial com profundidade polinomial. Pode-se mostrar que esse é exatamente o PSPACE, uma vez que as condições de uniformidade apropriadas sejam adicionadas. Acho que se NC for definido com uniformidade L, isso obterá uniformidade PSPACE.

A prova deve ser fácil. Em uma direção, pegue um problema completo do PSPACE como o TQBF e expresse os quantificadores usando portas AND e OR de tamanho exponencial. Na outra direção, tente atravessar o circuito de profundidade polinomial recursivamente. O tamanho da pilha será polinomial, portanto, isso pode ser feito no PSPACE.

Finalmente, cheguei a esse argumento quando vi a pergunta (e antes de ler a resposta de Ryan), para que houvesse erros. Por favor, aponte-os.

Robin Kothari
fonte
11
Uma correção: NC possui circuitos de tamanho polinomial e profundidade de polilog, mas ainda é apenas a profundidade polinomial após a tradução.
Ryan Williams
@ Ryan: Você está certo. Eu vou consertar isso.
Robin Kothari
1

Aqui está um pouco mais detalhadamente da perspectiva da simulação da máquina de Turing Alternada no espaço-tempo.

Suponha-se que .P=NC

Como , obtemos P = 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))).

Agora, considere o tempo linear problema de simulação universal , onde nos é dada uma codificação em uma máquina de Turing M e um string de entrada x de comprimento n e queremos saber se M aceita x em no máximo n passos.LinUMxnMxn

Sabemos que . Portanto, existe uma constante c (suficientemente grande) tal que ( )LinUPc

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

Como resultado de um argumento de preenchimento (um pouco complicado ver comentários), temos

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

Estendendo o argumento de preenchimento, obtemos ( 3 )

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

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

Therefore, we (essentially) have the following for all natural numbers k:

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

From (3), we would get that EXP=PSPACE.

====================After Thought===================

It is important to notice that P=NC implies

ATISP((log(n))O(1),O(log(n)))=ATISP(logc(n),O(log(n)))
for some constant c.

Any comments or corrections are welcomed. :)

Michael Wehar
fonte
1
@MichaelWehar Sabemos NCkPSPUMACE em qualquer fixo k? Em particular, sabemosNC2PSPUMACE e portanto NCPSPUMACE?
T ....
1
@MichaelWehar Eu não sei, mas eu nunca vi em qualquer lugar que NCPSPUMACE. De fato, um comentário em cstheory.stackexchange.com/questions/39046/… dizP-vocênEuformNC1 1=PSPUMACEé possível. Publiquei uma consulta de esclarecimento em cstheory.stackexchange.com/questions/40689/… . Você acha que pode dar uma olhada?
T ....
1
@Turbo Thank you very much for the kind reply!! It may depend on the kind of uniform. For example, NC=ATISP((log(n))O(1),O(log(n))) might only hold for Logspace-uniform NC. Let me think about it and get back to you. :)
Michael Wehar
1
@Turbo Obrigado pelo acompanhamento !! Eu realmente acho que você deve ler a definição na parte inferior da página 370 em: sciencedirect.com/science/article/pii/0022000081900386
Michael Wehar
1
@ Turbo Obrigado por todos os seus acompanhamentos !! Eu recomendo que você leia o artigo que eu vinculei porque nele, ele diz que a maioria dessas noções de uniformeNCsão equivalentes. O artigo, no entanto, não consideraP-uniforme NC o que poderia ser diferente, pois não tenho como provar que é o mesmo.
Michael Wehar