Pourquoi exige-t-on souvent une constructibilité de l'espace dans le théorème de Savitch?

8

Lorsque le célèbre théorème de Savitch est énoncé, on voit souvent l'exigence que soit constructible dans l'espace (ce qui est intéressant, il est omis dans Wikipedia). Ma question simple est: pourquoi en avons-nous besoin? Je comprends l'exigence que soit dans , ce qui ressort clairement de la preuve. Mais aucune preuve que j'ai vue jusqu'à présent n'utilise explicitement que est constructible dans l'espace.S(n)S(n)Ω(logn)S(n)

Mon explication: pour appeler la procédure REACH (ou PATH ou comme vous voulez l'appeler), le dernier paramètre doit être "énoncé", et afin de ne pas quitter nos limites d'espace de S (n) pour un appel , nous ne devons pas avoir besoin de plus de espace pour l'écrire.S(n)

Marque Cornelius
la source

Réponses:

2

Je crois que votre explication est correcte. Le sous-programme st-REACH obtient en entrée et recherche si est accessible ou non à partir des étapes par . et seront les configurations initiale et finale, et , la limite supérieure du nombre de configurations différentes.(s,t,)tsst=2O(s(n))

Pour définir il faut être capable de calculer (ou plutôt, ). Si ce processus prend plus que l' espace , alors la machine entière aura plus d'espace que l'espace autorisé. Il est possible que même soit trop à cause de l'appel récursif à st-REACH (y a-t-il une autre raison possible?), Mais je n'ai pas vérifié cela.s(n)2O(s(n))O(s2(n))O(s2(n))

A sonné.
la source
8

Ceci est bien développé dans le manuel Theory of Computation de Dexter Kozen, au chapitre 2.

Le théorème de Savitch (Théorème 1 dans son article) dit: si , alors . La constructibilité de l'espace semble souvent être supposée dans une preuve, mais cette exigence peut être supprimée en relançant la recherche avec une limite d'espace fixe qui peut augmenter à chaque tentative.S(n)lognNSPACE(S(n))DSPACE(S(n)2)

La confusion vient peut-être du fait que l'article original de Savitch consiste en grande partie à rechercher si . Il consacre donc beaucoup d'efforts aux fonctions constructibles dans l'espace, en raison de l'observation suivante de l'article:NSPACE(S(n))DSPACE(S(n))

Il est naturel de se demander s'il existe une fonction de stockage dont les classes de complexité déterministe et non déterministe sont égales. La réponse a été donnée par Manuel Blum et est "oui". Blum a montré qu'il existe des fonctions de stockage L (n) arbitrairement grandes, de sorte qu'un ensemble est accepté dans le stockage déterministe L (n) si, et seulement si, il est accepté dans le stockage non déterministe L (n). Ces fonctions L (n) ne sont cependant pas "bien comportées" et le théorème 3 ne leur est pas applicable.

(Ici "bien élevé" se réfère aux fonctions constructibles dans l'espace, appelées mesurables par Savitch.)

András Salamon
la source