Decimos que una función es construible en el tiempo , si existe una máquina de Turing multi-cinta determinista M que en todas las entradas de longitud n realiza como máximo f ( n ) pasos y para cada n existe alguna entrada de longitud n en la que M realiza exactamente f ( n ) pasos.
Decimos que una función es completamente construible en el tiempo , si existe una máquina de Turing multi-cinta determinista M que en todas las entradas de longitud n realiza exactamente f ( n ) pasos.
P1: ¿Existe una función que sea construible en el tiempo y no sea completamente construible en el tiempo?
La respuesta es sí (véase esta respuesta ), si . ¿Se puede fortalecer la condición de "sí" a P ≠ N P ? ¿Se puede probar "sí"?
P2: ¿Cambia la clase de funciones (totalmente) constuctibles en el tiempo si permitimos solo máquinas Turing de 2 cintas en la definición?
P3: ¿Cuáles son las razones "comprobables" para creer que todas las funciones agradables son completamente construibles en el tiempo?
El documento
Kojiro Kobayashi: Sobre el tiempo de prueba Constructibilidad de funciones. Theor Comput Sci. 35: 215-225 (1985)
parcialmente responde Q3. El resumen parcial y la actualización se encuentran en esta respuesta . Tomo Q3 como respondido.
Históricamente, se utilizó la noción de función contable en tiempo real en lugar de (totalmente) constructible en el tiempo. Vea esta pregunta para más.
Respuestas:
En los últimos días pensé mucho en las funciones (totalmente) construibles en el tiempo y presentaré lo que descubrí respondiendo Q1 y Q3. Q2 parece demasiado difícil.
Q3:
Kobayashi en su artículo (la referencia está en la pregunta) demostró que una función , para la cual existe un ϵ > 0 st f ( n ) ≥ ( 1 + ϵ ) n , es completamente construible en el tiempo si es computable en O ( f ( n ) ) tiempo. (tenga en cuenta que es irrelevante si la entrada o salida está en unario / binario ya que podemos transformar entre estas dos representaciones en tiempo lineal). Esto hace que las siguientes funciones sean completamente construibles en el tiempo: 2 n ,f:N→N ϵ>0 f(n)≥(1+ϵ)n O(f(n)) 2n , n ! , n ⌊ log n ⌋ , todos los polinomios p sobre N st p ( n ) ≥ ( 1 + ϵ ) n ... Kobayashi también demostró una completa constructibilidad temporal para algunas funciones que crecen más lentamente que ( 1 + ϵ ) n , como n + ⌊ ⌊ log n ⌋ q ⌋ para q ∈ Q + ...22n n! n⌊logn⌋ p N p(n)≥(1+ϵ)n (1+ϵ)n n+⌊⌊logn⌋q⌋ q∈Q+
Para continuar con ejemplos de funciones completamente construibles en el tiempo, se puede demostrar que si y f 2 son completamente construibles en el tiempo, entonces f 1 + f 2 , f 1 f 2 , f f 2 1 y f 1 ∘ f 2 son también completamente construible en el tiempo (lo que sigue más adelante directamente del Teorema 3.1 en Kobayashi) Esto me convence por completo de que muchas funciones agradables son completamente construibles en el tiempo.f1 f2 f1+f2 f1f2 ff21 f1∘f2
Es sorprendente que Kobayashi no haya visto una manera de demostrar la capacidad de construcción de la función (agradable) (y yo tampoco).⌊nlogn⌋
Comentemos también la definición del artículo de Wikipedia : una función es construible en el tiempo, si existe una máquina de Turing M que, dada una cadena 1 n , genera f ( n ) en el tiempo O ( f ( n ) ) .f M 1n f(n) O(f(n)) Vemos que esta definición es equivalente a nuestra definición de total constructibilidad en el tiempo para las funciones .f(n)≥(1+ϵ)n
Q1:
Esta pregunta tiene una respuesta realmente interesante. REIVINDICACIONES que si todas las funciones de tiempo de construible son completamente tiempo-construible, entonces . Para probar eso, tomemos un problema arbitrario L ∈ N E X P - T I M E , L ⊆ { 0 , 1 } ∗ . Entonces existe una k ∈ N , st LEXP−TIME=NEXP−TIME L∈NEXP−TIME L⊆{0,1}∗ k∈N L puede resolverse con un NDTM en 2 n k - 1 pasos. Podemos suponer que en cada paso M entra como máximo en dos estados diferentes por simplicidad. Ahora defina la función
f ( n ) = { 8 n + 2 if ( primero ⌊ k √M 2nk−1 M
Afirmo que es construible en el tiempo. Considere la siguiente máquina determinista de Turing T :f T
Tenga en cuenta que la longitud de ( = n ) es suficiente para determinar todas las opciones no deterministas, ya que M en la entrada ( primero ⌊ k √w =n M realiza como máximonpasos.(first ⌊⌊logn⌋+1−−−−−−−−−√k⌋ bits of bin(n)) n
Podemos hacer que ejecute a lo sumo 8 n + 1 pasos. Ahora la siguiente máquina de Turing demuestra que f es construible en el tiempo:T 8n+1 f
This algorithm runs in exponential time and solvesL . Since L∈NEXP−TIME was arbitrary, EXP−TIME=NEXP−TIME .
fuente