Pourquoi croyons-nous que PSPACE ≠ EXPTIME?


31

J'ai du mal à comprendre intuitivement pourquoi PSPACE est généralement considéré comme différent d'EXPTIME. Si PSPACE est l'ensemble des problèmes résolubles dans le polynôme spatial dans la taille d'entrée f(n) , alors comment peut-il y avoir une classe de problèmes qui subissent une plus grande explosion de temps exponentielle et n'utilisent pas l'espace exponentiel?

La réponse de Yuval Filmus est déjà extrêmement utile. Cependant, quelqu'un pourrait-il esquisser mon argument en vrac pourquoi il se pourrait que PSPACE ≠ EXPTIME (c'est-à-dire que PSPACE ne soit pas un sous-ensemble approprié d'EXPTIME)? N'aurons-nous pas besoin d'un espace exponentiel afin de dépasser la limite supérieure pour le nombre total de configurations de système réalisables avec un espace qui évolue polynomialement avec la taille d'entrée? Juste pour dire, je peux comprendre pourquoi EXPTIME ≠ EXPSPACE est une question ouverte, mais je ne comprends pas la relation entre PSPACE et EXPTIME.

Réponses:


40

Rafraîchissons les définitions.

  • PSPACE est la classe de problèmes qui peuvent être résolus sur une machine de Turing déterministe avec des limites d'espace polynomiales: c'est-à-dire que pour chaque problème, il existe une machine qui décide du problème en utilisant au plus cellules de bande lorsque son entrée a une longueur  n , pour certains polynômes  p .p(n)np

  • EXP est la classe de problèmes qui peuvent être résolus sur une machine de Turing déterministe avec des limites de temps exponentielles: pour chaque problème, il y a une machine qui décide du problème en utilisant au plus étapes lorsque son entrée a une longueur  n , pour quelques polynômes  p .2p(n)np

Tout d'abord, nous devons dire que ces deux classes peuvent être égales. Ils semblent plus susceptibles d'être différents, mais les classes se révèlent parfois être les mêmes: par exemple, en 2004, Reingold a prouvé que l'espace de log symétrique est le même que l'espace de log ordinaire; en 1987, Immerman et Szelepcsényi ont prouvé indépendamment que NL=co-NL (et, en fait, que NSPACE [ ]f(n)=co-NSPACE [ ]f(n)pour tout ).f(n)logn

Mais, pour le moment, la plupart des gens pensent que PSPACE et EXP sont différents. Pourquoi? Voyons ce que nous pouvons faire dans les deux classes de complexité. Considérez un problème dans PSPACE . Nous sommes autorisés à utiliser  cellules de bande pour résoudre une entrée de longueur  n mais il est difficile de comparer cela à EXP , qui est spécifié par une limite de temps.p(n)n

Combien de temps pouvons-nous utiliser pour un problème PSPACE ? Si nous écrivons uniquement sur  cellules de bande, il y a 2 p ( n ) chaînes différentes qui pourraient apparaître sur la bande, en supposant un alphabet binaire. La tête de bande peut se trouver dansp(n)2p(n)  endroits différents et la machine de Turing peut être dans l'un des k  états différents. Donc, le nombre total de configurations est T ( n ) = kp(n)kT(n)=kp(n)2p(n). Par le principe du pigeonhole, si nous courons pour T(n)+1 étapes, nous devons visiter une configuration deux fois mais, puisque la machine est déterministe, cela signifie qu'elle va boucler et visiter cette même configuration infiniment souvent, c'est-à-dire qu'elle a gagné '' t arrête. Puisqu'une partie de la définition d'être dans PSPACE est que vous devez décider du problème, toute machine qui ne s'arrête pas ne résout pas un problème PSPACE . En d'autres termes, PSPACE est la classe de problèmes décidables en utilisant au plus  espace et au plus kp(n) temps, qui est au plus 2 q ( n ) pour certains polynômes  q . Nous avons donc montré quePSPACEkp(n)2p(n)2q(n)qEXP .

Et combien d'espace pouvons-nous utiliser pour un problème EXP ? Eh bien, nous avons droit à pas et la tête d'une machine de Turing ne peut déplacer qu'une position à chaque pas. Puisque la tête ne peut pas bouger de plus de 2 p ( n ) positions, nous ne pouvons utiliser que autant de cellules de bande.2p(n)2p(n)

Voilà la différence: bien que les deux PSPACE et EXP soient des problèmes qui peuvent être résolus en temps exponentiel, PSPACE est limité à l'utilisation de l'espace polynomial, tandis que EXP peut utiliser l'espace exponentiel. Cela suggère déjà que l' EXP devrait être plus puissant. Par exemple, supposons que vous essayez de résoudre un problème concernant les graphiques. Dans PSPACE , vous pouvez regarder chaque sous-ensemble des sommets (il ne faut que  bits pour écrire un sous-ensemble). Vous pouvez utiliser un espace de travail pour calculer sur chaque sous-ensemble mais, une fois que vous avez terminé de travailler sur un sous-ensemble, vous devez effacer cet espace de travail et le réutiliser pour le sous-ensemble suivant. Dans EXPn, d'autre part, vous pouvez non seulement regarder chaque sous-ensemble, mais vous n'avez pas besoin de réutiliser votre espace de travail, vous pouvez donc vous souvenir de ce que vous avez appris sur chacun individuellement. Cela semble être plus puissant.

Une autre intuition pour expliquer pourquoi ils devraient être différents est que les théorèmes de la hiérarchie du temps et de l'espace nous disent que permettre même un tout petit peu plus d'espace ou de temps augmente strictement ce que vous pouvez calculer. Les théorèmes de hiérarchie ne vous permettent de comparer que comme avec (par exemple, ils montrent que PSPACEEXPSPACE et PEXP ) donc ils ne s'appliquent pas directement à PSPACE vs EXP mais ils nous donnent une forte intuition que plus de ressources signifient que plus de problèmes deviennent résolubles.


1
Si EXPTIME autorise un espace exponentiel, je suppose que la bonne question est, peut-on dire qu'il pourrait être vrai que EXPTIME est un sous-ensemble approprié d'EXPSPACE parce qu'EXPSPACE permet des problèmes qui peuvent être résolus en temps superexponentiel?
user25876

Si c'est vrai, je pense que tout a du sens pour moi. Pour une raison quelconque, j'avais supposé qu'EXPTIME interdisait l'utilisation de l'espace exponentiel, mais ce n'est pas le cas. C'est de là que vient ma confusion.
user25876

1
J'aime votre exemple de sous-ensemble. IIRC correctement, nous connaissons des problèmes qui ne peuvent pas être calculés en ligne (ainsi qu'avec des informations complètes), vous devez donc conserver tous les éléments en mémoire. Intuitivement parlant.
Raphael

@ user25876 Oui, le même argument qui dit qu'une machine PSPACE peut utiliser le temps exponentiel dit qu'une machine EXPSPACE peut utiliser le temps doublement exponentiel (c'est-à-dire 22poly(n)

1
@DavidRicherby J'accepte votre réponse. Connaissez-vous des références papier BTW discutant des barrières techniques pour prouver ou réfuter PSPACE comme un sous-ensemble approprié d'EXPTIME? Je suis en fait très curieux à ce sujet maintenant.
user25876

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.