¿Una separación explícita entre la constructibilidad en el tiempo y la constructibilidad en el espacio?


10

Muestre una función que sea construible en el espacio pero no construible en el tiempo.f(n)

¿Está este problema relacionado con una posible separación entre las clases de complejidad DTIME (f (n)) y SPACE (f (n))?


3
en.wikipedia.org/wiki/Constructible_function Hasta donde yo sé, esta pregunta no está relacionada con TIME (f (n)) vs SPACE (f (n)), pero tenga en cuenta que estas dos clases son diferentes. Busque los artículos "On Time Versus Space", "On Time Versus Space II", "On Time Versus Space III"
Ryan Williams, del

Una observación rápida: creo que el problema es equivalente a preguntar si DTIME (f (n)) ∩TALLY y SPACE (f (n)) ∩TALLY pueden ser diferentes para alguna función construible en el espacio f (n), donde TALLY es la clase de idiomas que son subconjuntos de 1 ^ *.
Tsuyoshi Ito

Vaya, pueden no ser equivalentes. Aquí hay una prueba de una dirección. Si existe un idioma L = {1 ^ n | n∈S} ∈ TALLY∩ (ESPACIO (f (n)) ∖ DTIME (f (n))) para alguna función construible en el espacio f (n), entonces tanto f (n) como f (n) + χ_S (n ) (donde χ_S (n) es la función característica de S) son construibles en el espacio pero no ambos son construibles en el tiempo y, por lo tanto, al menos uno de ellos es una función construible en el espacio pero no construible en el tiempo.
Tsuyoshi Ito

2
Gracias a Ryan, por su comentario, sé que TIME (f (n)) está contenido en SPACE (f (n) / log f (n)) por Hopcroft et al, y este último está contenido adecuadamente en SPACE (f (n )) por el teorema de la jerarquía espacial.
Tian Liu

Gracias a Tsuyoshi, ideas muy inteligentes, si tanto f (n) como f (n) + χ_S (n) son construibles en el tiempo, entonces podemos decidir si n∈S en la mayoría de las veces f (n) +1 tiempo, entonces L ∈TALLY ∩ DTIME (f (n)), una contradicción. pero ¿pueden sus construcciones llamarse "explícitas"? ¿Cuál no es construible en el tiempo, f (n) o f (n) + χ_S (n)? por "explícito" si quiero decir que podemos decidir el valor f (n) para todo n, entonces su construcción es explícita.
Tian Liu

Respuestas:


6

Una función es construible en el tiempo si hay una máquina Turing M que, en la entrada 1 n , calcula la función x T ( | x | ) en el tiempo O ( T ( n ) ) .T:NNM1nxT(|x|)O(T(n))

Una función es construible en el espacio si hay una máquina de Turing M que, en la entrada 1 n , calcula la función x S ( | x | ) en el espacio O ( S ( n ) ) .S:NNM1nxS(|x|)O(S(n))

Algunos textos requieren que las funciones construibles tiempo / espacio no sean decrecientes. Algunos textos requieren que las funciones construibles en el tiempo satisfagan , y las funciones construibles en el espacio satisfacen S ( n ) log n . Algunos textos no hacen uso de la notación O ( ) en la definición.T(n)nS(n)lognO()

De todos modos, es fácil demostrar que todos los "ordinarios" función , que satisface f ( n ) log n y f ( n ) = O ( n ) se puede construir el espacio, pero no construible tiempo.FF(norte)Iniciar sesiónnortef(n)=o(n)

El problema de la constructibilidad no está directamente relacionado con la posible separación entre las clases de complejidad DTIME (f (n)) y SPACE (f (n)). Sin embargo, la declaración de los teoremas de la jerarquía del tiempo y el espacio incorpora la constructibilidad. Por ejemplo:

Teorema de la jerarquía de tiempo Si , g son funciones construibles en el tiempo que satisfacen f ( n ) log f ( n ) = o ( g ( n ) ) , entonces D T I M E ( f ( n ) ) es un subconjunto apropiado de D T I M E ( g ( n ) ) .fgf(n)logf(n)=o(g(n))DTIME(f(n))DTIME(g(n))

Consulte el libro de Arora & Barak o el de Papadimitriou para obtener más información. (Este último usa el término "función de complejidad adecuada" para referirse a uno que es tanto tiempo como espacio construible).


Gracias. Prefiero la definición de que una función es construible en tiempo / espacio si hay una máquina de Turing que se ejecuta exactamente en esos pasos / cuadrados de cinta. Por supuesto, según los teoremas de aceleración lineal del tiempo / espacio, esto es equivalente a sus definiciones / libro de texto.
Tian Liu

Sadeq, sus definiciones de "tiempo construible" y "espacio construible" son idénticas palabra por palabra. ¿Estás diciendo que estos son solo dos nombres diferentes para exactamente el mismo concepto? Si no, tal vez debería arreglar sus definiciones.
Yitz

Es solo un error tipográfico.
Tsuyoshi Ito

Lo siento, Yitz. Arreglé el error tipográfico.
MS Dousti

4

es construible en el espacio pero no en el tiempo. La razón es que puede asignar 1 n a la representación binaria en el espacio O ( log n ) pero no en el tiempo O ( log n ) .f(n)=logn1nO(logn)O(logn)


Gracias al comentario y respuesta. Pero, ¿puedes mostrar una función f (n) que sea al menos lineal, es decir, f (n)> = n, para la separación? Parece que una función construible en el tiempo no puede ser menor que n por una razón aparente: tiene que leer todos los bits de entrada, de lo contrario, un argumento adverso puede mostrar que la función no se calcula correctamente.
Tian Liu

@Tian, es una función construible en el espacio pero no en el tiempo. f(n)=n
Mohammad Al-Turkistany

Gracias de nuevo, pero ¿asume que el cabezal de lectura en la cinta de entrada se encuentra inicialmente a la izquierda del primer bit de entrada? en ese caso, para detectar el último bit de entrada, la cabeza tiene que moverse a la derecha n + 1 veces hasta encontrar el primer espacio en blanco después de la entrada. Entonces es construible en el tiempo. Entonces, ¿puede dar una separación "no trival" mediante una función f (n)> = n + 1? f(n)=n+1
Tian Liu

2

EXPTIME=EXPSPACEEXPSPACECOMPLETELEXPSPACEL{0,1}kNLM2nk

f(n)={8n+2if (first logn+1k bits of bin(n))L8n+1else

2nffL

Esta respuesta usa la misma idea.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.