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)

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))


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.)

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.