¿Puede la entrada a una máquina Turing ser de longitud infinita?

26

Considerando solo el alfabeto , las cadenas que se pueden dar como entrada a las máquinas de Turing son del conjunto Σ . Pero, ¿tiene sentido que la entrada sea una cadena binaria infinita? Por ejemplo, si una máquina de Turing acepta todas las cadenas que comienzan con un 0, ¿una cadena binaria de ceros infinitos también pertenece al lenguaje aceptado por la máquina de Turing?Σ={0,1}Σ

Sashas
fuente

Respuestas:

21

No hay ningún problema en ejecutar una máquina Turing en una cinta inicializada con una cadena infinita, aunque esto generalmente no se considera. Sin embargo, todavía necesitamos que la máquina termine en un tiempo finito. También hay nociones de cálculo de tiempo infinito, que pueden ser apropiadas aquí.

Yuval Filmus
fuente
44
Terminar los cálculos en tiempo finito mientras la entrada es infinita parece un desafío difícil.
Mástil
55
@ Mástil No necesariamente. Simplemente no puede permitirse el lujo de leer la entrada completa.
Yuval Filmus
1
@JulesMazur La palabra clave es hipercomputación .
Yuval Filmus
3
@JulesMazur No necesariamente necesita ninguna hipercomputación. El programa puede seguir escribiendo en una cinta de salida, y el resultado converge en una cadena infinita como en una máquina de Turing Tipo II.
jkabrg
1
Creo que te metes en dificultades si permites cadenas infinitas como entrada. En particular, el conjunto de entradas ya no son contables, lo que rompe varias pruebas.
Taemyr
17

Esa es una de las características de las máquinas de Turing Tipo 2 . Se usan, entre otras cosas, para analizar la computabilidad de las funciones entre números reales. Aún más interesante, se utilizan para analizar la computabilidad de los operadores como la integración.

Dato curioso: la integración numérica exacta es computable.

jkabrg
fuente
5

Para responder a la pregunta "¿tiene sentido", esto incluso puede ser útil si considera las máquinas de Turing que funcionan en tiempo limitado.

Específicamente, esta es una forma muy útil de pensar máquinas Turing sin prefijos . Estas son máquinas cuyo conjunto de entradas de detención está libre de prefijos; es decir, ninguna entrada que haga que la máquina se detenga es el prefijo de otra. Estos son equivalentes en potencia a las máquinas Turing normales, pero solo si permitimos que la máquina Turing decida sus propias entradas de detención: es decir. el usuario no tiene idea de qué entradas detendrá la máquina (y esta es una propiedad indecidible).

Una forma de ver esto es como una máquina Turing normal con una cinta de entrada infinita unidireccional con un cabezal de cinta que no puede retroceder. El usuario llena la cinta con bits y ejecuta la máquina. Esta es, por definición, una máquina de Turing sin prefijos. Si la máquina se detiene, debe haber leído solo un número finito de bits, y ningún prefijo de esa parte de la cinta puede ser un programa, o la máquina se habría detenido allí.

Esta es una buena manera de hablar sobre distribuciones de probabilidad computables: el usuario llena la cinta con bits aleatorios (la fuente de aleatoriedad de la máquina), y la máquina escupe una cadena de bits aleatoria. El conjunto de todas esas máquinas de Turing corresponde al conjunto de distribuciones computables (específicamente las semimensiones semicomputables más bajas).

La ventaja de la entrada infinita es que no tenemos que especificar qué hace la máquina si le damos el prefijo de un programa de detención, es decir. la máquina intenta leer más allá del final de la entrada que le hemos dado.

Peter
fuente
2

Incluso si no tiene una cinta de este tipo, puede emplear otra máquina de Turing para producirla.

Una máquina Turing tiene acceso a la cinta de datos vacía, pero infinita (o algunas fuentes dicen que "la máquina solo tiene una pequeña fábrica de cintas incorporada"). Por lo tanto, puede inicializarlo con algún patrón de datos programable, y luego la cinta podría consumirse como entrada de otra máquina Turing.

Por supuesto, si su contenido es tal que ningún algoritmo podría definirse cómo producirlo, dicho contenido no puede ser creado por la máquina Turing.

h22
fuente
66
No estoy seguro de cómo esto responde la pregunta. En cualquier caso, las máquinas de Turing no pueden generar todas las secuencias infinitas, ya que hay innumerables cadenas infinitas sobre cualquier alfabeto con al menos dos símbolos, mientras que solo hay innumerables máquinas de Turing y muchas entradas finitas para sembrarlas.
David Richerby
2

Hay algunos casos en que la entrada infinita se puede considerar y reducir a la acción de una máquina de Turing "estándar". Por ejemplo, considere un patrón finito que se repite infinitamente especificado en la entrada. Se puede crear una máquina Turing que haga un seguimiento de cuánto de este patrón infinito ha sido modificado por las acciones actuales del cabezal de la cinta utilizando una cantidad finita de almacenamiento de memoria / cinta. En otras palabras, "simula de manera equivalente" un patrón de tamaño infinito en la cinta.

Otro caso en el que se ha considerado la "entrada infinita" es el análisis de la equivalencia / integridad de Turing de los autómatas celulares. En una prueba compleja, Cook introdujo un concepto ahora conocido por algunos como "equivalencia débil de Turing" al convertir operaciones de regla CA 110 en operaciones de máquina de Turing que comienzan en una cinta inicial infinitamente especificada pero con patrones (de repetición) de tamaño finito.

vzn
fuente
1
Los términos "entrada infinita" y "codificación finita de un objeto infinito" son claramente distintos y elementales (cada lenguaje regular infinito con su DFA mínimo es un ejemplo). No deben confundirse aquí.
Raphael
2
Sí, los DFA se pueden usar para la codificación descrita. Como esbozó una cinta con una codificación finita de una cadena de longitud infinita (a través de patrones finitos repetitivos) es diferente / similar en capacidad a una cinta con solo cadenas finitas.
vzn
1

En lenguajes formales, una cadena es, por definición, una secuencia finita de símbolos. Una máquina clásica de Turing tiene una cinta infinita con una cadena de entrada finita. Como tal, aunque no hay límite en cuanto a la duración de la entrada, no puede ser infinita.

Dicho esto, hay muchas máquinas alternativas que funcionan de manera similar a una TM pero con secuencias de entrada infinitas.

Si tiene sentido tener una entrada de longitud infinita depende del propósito. Estrictamente dentro del contexto de Turing Machines, no tiene sentido (ya que no es posible), pero en el contexto de Turing-like Machines, tiene sentido y tiene muchas aplicaciones.

todos
fuente
44
Es perfectamente posible tener cadenas infinitas. De hecho, hay toda una rama de la teoría de autómatas que se ocupa de esta situación exacta. Y, dado que el único cambio necesario en la definición de máquinas de Turing para permitirles manejar entradas infinitas es eliminar la condición que dice que la entrada debe ser finita, no estoy de acuerdo en que "no tiene sentido" hablar de máquinas de Turing y Cuerdas infinitas.
David Richerby
1
@DavidRicherby: parece que estamos de acuerdo. No dude en decirme cómo puedo reformular el último párrafo para aclarar que solo es estrictamente en el contexto de las máquinas de Turing originales, clásicas y sin adulterar (donde las entradas son, por definición, finitas), que no tiene sentido hablamos de entrada de longitud infinita. Tan pronto como eliminamos la condición, ya no es estrictamente una TM, sino (lo que denominé) una máquina similar a Turing.
todos
1
No estoy de acuerdo con que el dispositivo deje de ser una máquina de Turing solo porque lo inicias con infinitas cosas en la cinta. La máquina sigue siendo la misma máquina; acabas de cambiar las condiciones iniciales. Las definiciones de cómo las máquinas de Turing se relacionan con los idiomas de cadenas finitas (por ejemplo, idiomas decidibles o semidecidibles) están en términos de entradas finitas, pero eso no significa que la máquina lo requiera. Del mismo modo, su computadora no dejaría de ser una computadora si coloca una pila infinita de CDROM al lado.
David Richerby
1
@DavidRicherby Bueno, técnicamente una máquina de Turing es una máquina que toma datos finitos. Si cambia esta restricción en la definición, define otra cosa. La idea detrás de la informática sigue siendo la misma, en cierto sentido, pero ¿cómo expresa la complejidad ahora? Cuestiones muy diferentes.
Raphael