Definiciones equivalentes de constructibilidad en el tiempo


13

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.f:NNMnf(n)nnMf(n)

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.f:NNMnf(n)

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í"?EXPTIMENEXPTIMEPNP

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.


Curioso: ¿podría señalarme una referencia para estas definiciones? No estoy familiarizado con las funciones construibles, y no puedo encontrar estas definiciones en línea (tampoco es obvio para mí si son equivalentes, por ejemplo, a las de Wikipedia ).
usul

@usul La referencia es: JE Hopcroft, JD Ullman. Introducción a la teoría de autómatas, lenguajes y computación. Addison-Wesley Series in Computer Science, 1979 La misma definición se puede encontrar aquí: cse.ohio-state.edu/~gurari/theory-bk/theory-bk-fivese2.html
David G

Respuestas:


5

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:NNϵ>0f(n)(1+ϵ)nO(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 + ...22nn!nlognpNp(n)(1+ϵ)n(1+ϵ)nn+lognqqQ+

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 1f 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.f1f2f1+f2f1f2f1f2f1f2

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 ) ) . fM1nf(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 LEXPTIME=NEXPTIMELNEXPTIMEL{0,1}kNLpuede 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 M2nk1M

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

Afirmo que es construible en el tiempo. Considere la siguiente máquina determinista de Turing T :fT

  • en la entrada de longitud n calcula ( primero k wnenO(n)tiempo(first logn+1k bits of bin(n))O(n)
  • entonces simula en estos bits, donde los bits de w determinan qué opciones (anteriormente no deterministas) tomar.Mw
  • aceptar iff .(M accepts using choices given by w)

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=nMrealiza como máximonpasos.(first logn+1k 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:T8n+1f

  • en la entrada de longitud n ejecute T y cuente los pasos en paralelo para que se realicen exactamente 8 n pasos.wnT8n
  • si rechazó o rechazaría en el siguiente paso, vaya a un estado de detención en el siguiente paso. De lo contrario, da un paso más y luego ve a un estado de detención.T

fEXPTIME=NEXPTIME

L

  • xnx000|x|k1x=(first logn+1k bits of bin(n)).
  • compute f(n) in time f(n) and check whether it is divisible by 2.

This algorithm runs in exponential time and solves L. Since LNEXPTIME was arbitrary, EXPTIME=NEXPTIME.


4
Very nice! [padding to make the comment box happy]
Emil Jeřábek supports Monica

1
A very similar idea to the one presented in the answer to the question Q1 is also used here.
David G
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.