NC = P conséquences?

35

Le zoo de complexité souligne dans l'entrée sur EXP que si L = P, alors PSPACE = EXP. Depuis NPSPACE = PSPACE par Savitch, dans la mesure où je peux dire, l’argument de remplissage de base sous-jacent s'étend pour montrer que Nous savons également que L NL NC P via la hiérarchie alternée liée aux ressources de Ruzzo.

(NL=P)(PSPACE=EXP).

Si NC = P, cela signifie-t-il que PSPACE = EXP?

Une interprétation différente de la question, dans l’esprit de Richard Lipton: est-il plus probable que certains problèmes de P ne puissent pas être mis en parallèle, plutôt qu’aucune procédure à exponentielle n’exige plus que de l’espace polynomial?

Je serais également intéressé par d’autres conséquences "surprenantes" de NC = P (le plus improbable sera le mieux).

Edit: La réponse de Ryan conduit à une autre question: quelle est l'hypothèse la plus faible connue pour garantir PSPACE = EXP?

  • W. Savitch. Relations entre la complexité des bandes non déterministes et déterministes, Journal of Computer and System Sciences 4 (2): 177-192, 1970.
  • WL Ruzzo. Sur la complexité du circuit uniforme, Journal of Computer Science and System Sciences 22 (3): 365-383, 1971.

Edit (2014): ancien lien de Zoo mis à jour et liens ajoutés pour toutes les autres classes.

András Salamon
la source
1
Comme je suis sûr que je ne suis pas le seul à ne pas savoir ce que NC est, voici un lien: fr.wikipedia.org/wiki/NC_%28complexity%29
Emil
@Andras: Une autre conséquence que vous connaissez peut-être déjà, mais que vous n'avez pas encore mentionnée, est qu'alors la hiérarchie s'effondrerait, car a des problèmes complets sous -reductions . NCPL
Joshua Grochow

Réponses:

28

Oui. peut être considéré comme la classe de langages reconnus en alternant les machines de Turing utilisant un espace et un temps . (Ceci a été prouvé pour la première fois par Ruzzo.) est la classe dans laquelle les machines de Turing en alternance utilisent un espace mais peuvent prendre jusqu'à temps. Par souci de concision Appelons ces classes et .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

Supposons que les deux classes sont égales. En remplaçant le par dans ce qui précède (en appliquant des lemmes de traduction standard), on obtient2 nn2n

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

Si alors également, car il existe des langues complètes dans .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)]

Edit: Bien que la réponse ci-dessus soit peut-être plus éducative, voici un argument plus simple: découle déjà de " est contenu dans un espace polylog" et d'une traduction standard. Note « est contenu dans l' espace polylog » est une hypothèse beaucoup plus faible que .PEXP=PSPACEPN C = PPNC=P

Plus de détails: comme les familles de circuits ont une profondeur constante, chaque famille de circuits de ce type peut être évaluée dans un espace . D'où . Donc implique . Appliquer la traduction (remplacer par ) implique . L'existence d'un langage complet dans termine l'argument.( 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)]

Mise à jour: Pour répondre à la question supplémentaire d’Andreas, je pense qu’il devrait être possible de prouver quelque chose du type: si et pour tout , tout langage polynomial peu développé en un temps peut être résolu dans l’espace polylog. (Être polynomialement rare signifie qu'il existe au plus chaînes de longueur dans la langue, pour tout .) Si cela est vrai, la preuve irait probablement dans le sens de la preuve de Hartmanis, Immerman et Sewelson selon laquelle ssi toutes les langues polynomiale rares dans est contenu dans . (Remarque,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)le temps en espace de polylogue est encore suffisant pour impliquer .)PSPACE=EXP

Ryan Williams
la source
1
Merci pour la belle réponse. La théorie du calcul de Dexter Kozen a une belle notation "uniforme" pour les classes de Ruzzo à la page 69: où limite l’espace, temps et alternances. Puis tandis que qui met vraiment en valeur la construction. 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 le
1
Notez que je dis dans ce qui précède. Cependant, je pense que ce sont les mêmes. Une machine qui prend un temps polynomial et un espace mais effectue uniquement des alternations peut être transformée en une autre machine alternée prenant uniquement heure et espace. (L’autre direction est évidente.) L’idée est d’insérer plus d’alternances pour que chaque phase existentielle polynomiale et chaque phase universelle soit "accélérée" pour ne fonctionner que dans temps et space, dans le sens du théorème de Savitch. 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 le
6
ce dont nous avons besoin, c'est une sorte de script greasemonkey qui lie automatiquement quelque chose comme "\ NP" à l'entrée du zoo.
Suresh Venkat
12

(J'ai vu la réponse de Ryan, mais je voulais simplement fournir une autre perspective, qui était trop longue pour tenir dans un commentaire.)

Dans la preuve , tout ce que vous devez savoir à propos de L, de manière informelle, est que, lorsqu'il est gonflé par une exponentielle, L devient PSPACE. La même preuve est valable pour NL, car NL qui est agrandi par une exponentielle devient également PSPACE. L=PPSPACE=EXP

De même, lorsque NC est expulsé par une exponentielle, vous obtenez PSPACE. J'aime voir cela en termes de circuits: NC est la classe des circuits de taille polynomiale à profondeur de polylogue. Lorsque gonflé, cela devient des circuits de taille exponentielle avec une profondeur polynomiale. On peut montrer que c'est exactement PSPACE, une fois que les conditions d'uniformité appropriées ont été ajoutées. Je suppose que si NC est défini avec L-uniformity, alors cela obtiendra l'uniformité PSPACE.

La preuve devrait être facile. Dans un sens, prenez un problème complet de PSPACE tel que TQBF et exprimez les quantificateurs en utilisant les portes ET et OU de taille exponentielle. Dans l’autre direction, essayez de traverser le circuit de profondeur polynomial de manière récursive. La taille de la pile sera polynomiale, cela peut donc être fait dans PSPACE.

Finalement, j'ai eu cet argument lorsque j'ai vu la question (et avant de lire la réponse de Ryan), donc il pourrait y avoir des bugs. S'il vous plaît les signaler.

Robin Kothari
la source
1
Une correction: NC a des circuits de taille polynomiale et de profondeur de polylogue, mais il ne s’agit toujours que de profondeur polynomiale après translation.
Ryan Williams le
@ Ryan: Vous avez raison. Je vais arranger ça.
Robin Kothari le
1

Voici un peu plus de détails du point de vue de la simulation d'une machine de Turing alternante limitée dans le temps.

Supposons que .P=NC

Puisque , nous obtenonsP = 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))).

Maintenant, considérons le problème de simulation universelle linéaire du temps où nous recevons un codage sur une machine de Turing et une chaîne d'entrée de longueur et nous voulons savoir si accepte au plus étapes.M x n M x nLinUMxnMxn

LinUPc

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

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

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

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

k

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

(3)EXP=PSPACE

==================== Après réflexion ==================

P=NC

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

Tous les commentaires ou corrections sont les bienvenus. :)

Michael Wehar
la source
1
NCkPSPACEkNC2PSPACENCPSPACE
1
@ MichaelWehar Je ne sais pas mais je n'ai jamais vu nulle part que . En fait, un commentaire dans cstheory.stackexchange.com/questions/39046/… indique que est possible. J'ai posté une requête de clarification dans cstheory.stackexchange.com/questions/40689/… . Pensez-vous que vous pouvez jeter un oeil? NCPSPACEPuniformNC1=PSPACE
T .... le
1
@Turbo Merci beaucoup pour l'aimable réponse !! Cela peut dépendre du type d'uniforme. Par exemple, ne peut être valable que pour Logspace-uniform NC. Laissez-moi y réfléchir et revenir à vous. :)NC=ATISP((log(n))O(1),O(log(n)))
Michael Wehar
1
@Turbo Merci pour le suivi !! Je pense vraiment que vous devriez lire la définition au bas de la page 370 de: sciencedirect.com/science/article/pii/0022000081900386
Michael Wehar
1
@Turbo Merci pour tous vos suivis! Je vous recommande vivement de lire le document que j'ai lié car il indique que la plupart de ces notions de uniforme sont équivalentes. Cependant, le document ne considère pas uniforme qui pourrait éventuellement être différent car je n'ai aucun moyen de prouver que c'est le même. NCPNC
Michael Wehar