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)q⊆EXP .
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 PSPACE⊊EXPSPACE et P⊊EXP ) 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.