¿Por qué a menudo se requiere la construcción del espacio en el teorema de Savitch?

8

Cuando se afirma el famoso teorema de Savitch, a menudo se ve el requisito de que sea ​​espacialmente construible (curiosamente, se omite en Wikipedia). Mi simple pregunta es: ¿Por qué necesitamos esto? Entiendo el requisito de que esté en , lo que queda claro en la prueba. Pero ninguna prueba que he visto hasta ahora utiliza explícitamente que sea ​​construible en el espacio.S(n)S(n)Ω(logn)S(n)

Mi explicación: para llamar al procedimiento REACH (o PATH o como quiera llamarlo), el último parámetro debe "explicarse", y para no dejar nuestros límites de espacio de S (n) para una llamada , no debemos necesitar más que espacio para escribirlo.S(n)

Marca Cornelius
fuente

Respuestas:

2

Creo que tu explicación es correcta. La subrutina st-REACH obtiene como entrada y determina si es accesible desde por (s,t,)ts pasos. s y t serán las configuraciones iniciales y finales, y =2O(s(n)), el límite superior en el número de configuraciones diferentes.

Para establecer uno necesita poder calcular s(n) (o mejor, 2O(s(n))) Si este proceso lleva más deO(s2(n))espacio, entonces toda la máquina tendrá más espacio del permitido. Es posible que inclusoO(s2(n)) es demasiado debido a la llamada recursiva a st-REACH (¿hay alguna otra razón posible?), pero no lo comprobé.

Sonó.
fuente
8

Esto se elabora muy bien en el libro de texto Teoría de la computación de Dexter Kozen, en el capítulo 2.

El teorema de Savitch (Teorema 1 en su artículo) dice: si S(norte)Iniciar sesiónnorte, entonces NSPACE(S(norte))DSPACE(S(norte)2). La construcción del espacio a menudo parece suponerse en una prueba, pero este requisito puede eliminarse reiniciando la búsqueda con un límite de espacio fijo que se permite aumentar con cada intento.

La confusión tal vez surge porque el documento original de Savitch se trata principalmente de investigar siNSPACE(S(norte))DSPACE(S(norte)). Por lo tanto, gasta mucho esfuerzo en funciones construibles en el espacio, debido a la siguiente observación del artículo:

Es natural preguntar si hay alguna función de almacenamiento cuyas clases de complejidad deterministas y no deterministas sean iguales. La respuesta fue dada por Manuel Blum y es "sí". Blum demostró que existen funciones de almacenamiento arbitrariamente grandes L (n) de modo que se acepta un conjunto dentro del almacenamiento determinista L (n) si, y solo si, se acepta dentro del almacenamiento no determinista L (n). Sin embargo, estas funciones L (n) no se "comportan bien" y el Teorema 3 no se aplica a ellas.

(Aquí "buen comportamiento" se refiere a las funciones construibles en el espacio, llamadas medibles por Savitch).

András Salamon
fuente