Pourquoi considérons-nous log-space comme un modèle de calcul efficace (au lieu de polylog-space)?


49

Cela pourrait être une question subjective plutôt que celle avec une réponse concrète, mais quand même.

Dans la théorie de la complexité, nous étudions la notion de calcul efficace. Il y a des classes comme signifie polynomiale et L représente un espace de journal . Les deux sont considérés comme une sorte d '"efficacité" et résument assez bien les difficultés de certains problèmes.PL

Mais il y a une différence entre et L : alors que le temps polynomial, P , est défini comme l'union des problèmes qui s'exécute en O ( n k ) pour toute constante k , c'est-à-direPLPO(nk)k

,P=k0TIME[nk]

l'espace journal, , est défini comme étant S P A C E [ log n ] . Si nous imitons la définition de P , il devientLSPACE[logn]P

,PolyL=k0SPACE[logkn]

est appelée la classe d’ espace de polylog . Ma question est:PolyL

Pourquoi utilisons-nous l’espace de logarithme comme notion de calcul efficace, au lieu d’espace de polylog?

L'un des problèmes principaux peut concerner l'ensemble des problèmes. Sous logspace plusieurs réductions, et L ont tous deux des problèmes complets. En revanche, si P o l y L a des problèmes complets au titre de ces réductions, nous aurions alors en contradiction avec le théorème de hiérarchie spatiale. Mais que se passe-t-il si nous passons aux réductions de polylog? Peut-on éviter de tels problèmes? En général, si nous faisons de notre mieux pour adapter le P o l y L dans la notion d'efficacité, et ( le cas échéant) modifier certaines des définitions pour obtenir toutes les bonnes propriétés d' une classe « agréable » devrait avoir, jusqu'où peut - on aller?PLPolyLPolyL

Existe-t-il des raisons théoriques et / ou pratiques pour utiliser l'espace logarithmique au lieu d'un espace polylog?


Hsien-Chih, belle question.
Mohammad Al-Turkistany

9
On sait que . Pour autant que je suis personnellement au courant, la relation exacte entre P et p o l y L est peu claire. Comme dans, il est possible que certains problèmes peuvent être résolus en p o l y L qui ne sont pas résoluble en P et vice - versa. (Cela répond en partie à votre question sur la raison pour laquelle p o l y L est un candidat étrange pour une notion de calcul efficace.) Pour un peu plus sur p o l y LpolyLPPpolyLpolyLP polyLpolyL, vous pouvez consulter le manuel de complexité de Papadimitriou , en particulier les exercices et la discussion à la fin du chapitre 16.
Daniel Apon

En fait, un autre commentaire rapide sur une pièce mineure de votre question globale: réduction de l' espace PolyLog ne vous dira pas grand - chose sur , pour les mêmes raisons la réduction du temps polynomiale ne vous disent pas grand - chose sur P . polyLP
Daniel Apon

@Daniel Apon: Merci d'avoir mentionné le livre et c'est sympa :) Pour le deuxième commentaire, par le même argument, nous pouvons utiliser des réductions linéaires au lieu de réductions polynomiales pour obtenir plus d'informations sur , n'est-ce pas? P
Hsien-Chih Chang 張顯 之

Chang Chih: Eh bien, je ne sais pas la réduction du temps linéaire par exemple, mais il y a d' autres notions intéressantes de réductions qui donnent des informations sur la complexité à l' intérieur . P
Daniel Apon

Réponses:


51

La plus petite classe contenant le temps linéaire et fermée sous les sous-routines est P. La plus petite classe contenant un espace de journal et fermée sous les sous-programmes est toujours un espace de journal. Donc, P et L sont les plus petites classes robustes pour le temps et l’espace, c’est pourquoi elles se sentent bien pour modéliser des calculs efficaces.


4
Cela semble être la meilleure réponse à la question posée.
Derrick Stolee

1
Parmi toutes ces bonnes réponses, je pense que la réponse de Lance est la plus précise, et je l'accepterai. Mais encore merci beaucoup à toutes les réponses réfléchies!
Hsien-Chih Chang 之

1
De plus, si P = L.
Diego de Estrada

25

SPACE[log2n]Plogk1(n)NSPACE[logkn]-complete

PLOSS=kTISP[nk,klog2n]DCFLPLOSSSC2SCk


2
QuasiP=k0TIME[2logkn]P

Est-ce un problème ouvert connu? Pourriez-vous fournir une référence?
Mohammad Al-Turkistany

SC2

5
Notez que SC a été nommé par Nick Pippenger dans le cadre d'un arrangement prétendument réciproque avec Steve Cook pour lui donner le nom de NC :)
Suresh Venkat

PPQuasiPpolyLLPSPACE[logkn]PkLk
Hsien-Chih Chang 張顯 之

20

2O(logn)=poly(n)

NSPACE[logkn]SPACE[log2kn]

SCk=TISP[poly(n),logkn]


polyLNLpolyL

{1}

Vous avez raison, désolé pour la question stupide :(
Hsien-Chih Chang

13

Je pense que toutes les autres réponses sont très bonnes; Je vais essayer de donner un point de vue différent sur la question.

Je ne sais pas si P modélise bien le calcul "efficace" dans le monde réel, mais nous aimons la classe en raison de ses propriétés de fermeture intéressantes et d'autres raisons mathématiques. De même, L est également une bonne classe pour certaines des raisons susmentionnées.

Toutefois, comme vous l'avez fait remarquer, si nous assouplissons notre définition du terme "efficient" au temps quasi-polynomial, alors PolyL est également efficace. Nous pourrions discuter de la théorie de la complexité en autorisant les classes définies avec une liaison logarithmique sur une ressource donnée à utiliser des ressources de polylog à la place. De manière correspondante, nous assouplirions également nos définitions de NC, NL, etc. pour permettre plutôt des circuits de taille quasi polynomiale. Si nous faisons cela, NC 1 , L, NL et NC coïncident avec la classe PolyL. En ce sens, PolyL est une classe robuste car de nombreuses classes naturelles coïncident avec elle. Pour plus d'informations sur la théorie de la complexité avec log -> polylog et polynôme -> quasi-polynomial, voir Classes de circuit de taille Quasipolynomial de Barrington.

Une autre raison d'étudier polyL ou des classes similaires comme quasi-AC 0 est que, même si une séparation entre Oracle (par exemple) ParityP et PH implique que PARITY n'est pas contenue dans AC 0 , l'implication inverse n'est pas connue pour être vraie. Par contre, PARITY n'est pas contenu dans le quasi-AC 0 si et seulement si il y a une séparation oracle entre ParityP et PH. De même, les classes quasi-TC 0 et quasi-AC 0 sont différentes si et seulement s'il existe une séparation oracle entre CH et PH. Ainsi, les classes de complexité habituelles telles que PH, ModPH, CH, etc., lorsqu'elles sont réduites à une exponentielle pour prouver que les résultats oracle se transforment en versions quasi-polynomiales des classes usuelles AC 0 , ACC 0 et TC.0 respectivement. De même, l'argument utilisé dans le théorème de Toda (PH est contenu dans P PP ) peut être utilisé pour montrer que le quasi-AC 0 est contenu dans la profondeur 3 quasi-TC 0 . (Je ne sais pas si la même conclusion est connue pour les versions habituelles de ces classes. Je l'ai vu répertorié comme un problème ouvert dans certains journaux.)


1
Votre réponse aide vraiment, merci de partager votre opinion. Je suis étonné que Quasi-quelque chose ait été étudié BEAUCOUP !!
Hsien-Chih Chang 張顯 之
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.