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.
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-à-dire
,
l'espace journal, , est défini comme étant S P A C E [ log n ] . Si nous imitons la définition de P , il devient
,
où est appelée la classe d’ espace de polylog . Ma question est:
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?
Existe-t-il des raisons théoriques et / ou pratiques pour utiliser l'espace logarithmique au lieu d'un espace polylog?
la source
Réponses:
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.
la source
la source
la source
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.)
la source