¿Por qué la cinta no forma parte de la definición de una máquina de Turing?


11

Me he preguntado por qué las cintas / cintas no son parte de la definición formal de una máquina de Turing. Considere, por ejemplo, la definición formal de una máquina de Turing en la página de Wikipedia . La definición, siguiendo a Hopcroft y Ullman, incluye: el conjunto finito de estados , el alfabeto de cinta , el símbolo en blanco , el estado inicial , el conjunto de estados finales , y la función de transición . Ninguno de los cuales es la cinta en sí.Q b Γ q 0Q F Q δ : ( Q F ) × Γ Q × Γ × { L , R }ΓbΓq0QFQδ:(QF)×ΓQ×Γ×{L,R}

Una máquina de Turing siempre se considera que funciona en una cinta, y la función de transición se interpreta como mover la cabeza, sustituir el símbolo y cambiar el estado. Entonces, ¿por qué la cinta queda fuera de la definición matemática de una máquina de Turing?

Por lo que puedo ver, la definición formal en sí misma no parece implicar que la máquina de Turing funcione como a menudo se describe informalmente (con una cabeza moviéndose en una cinta). O lo hace?


1
La siguiente sección de Wikipedia dice: "En palabras de van Emde Boas (1990), p. 6:" El objeto teórico conjunto [su descripción formal de siete tuplas similar a la anterior] proporciona solo información parcial sobre cómo se comportará la máquina y cómo se verán sus cálculos. "" es bastante similar a la dicotomía / sinergia / interdependencia de software / hardware. El software asume un hardware particular en el que se ejecuta. Si alguien descubriera algún software en el futuro, no podría entender su "significado" sin comprender también el hardware en el que se ejecuta.
vzn

¿Por qué la carretera no es parte del automóvil?
Andrej Bauer

Respuestas:


8

Para definir formalmente una instancia de una máquina de Turing (no el concepto general), no necesita mencionar explícitamente la cinta en sí o sus contenidos. Para denotar una configuración de esta máquina en particular, o un cálculo realizado por ella, es cuando necesita alguna forma de notación para describir el contenido de la cinta.


Entonces, ¿se necesita una cinta para definir una configuración y un cálculo?
Shuzheng

Sí, la máquina solo funciona con la cinta. Los diferentes contenidos de la cinta no crean máquinas diferentes.
André Souza Lemos

1
En otras palabras: la pregunta solo cita la sintaxis de TM. Solo cuando se define la semántica la cinta ingresa a la imagen. (Analogía: la definición de sintaxis de C (o cualquier otro lenguaje de programación) tampoco menciona el conjunto de instrucciones de arquitectura de hardware / SO / CPU asumidas.)
Raphael

Incluso semánticamente, es más natural pensar que la máquina siga siendo la misma incluso cuando cambie el contenido de la cinta. (Formalmente, este no es el caso, ya que los contenidos iniciales son parte de la definición de la máquina.)
reintroduzca el

2

Es un área un poco gris, pero diría que la definición divide el modelo de la instancia . Si desea tener una idea simple en mente, piense en hardware vs software.

El modelo es el hardware: es una cabeza. Hay una cinta La cinta es infinita en un lado y contiene espacios en blanco (además de la entrada). La cabeza puede moverse paso a paso.

La instancia es el software: la entrada dicta lo que la cinta contiene al principio, la función de estado / transición indica cómo se mueve el cabezal y cómo "funciona" la máquina. Los estados finales dan el significado de éxito / fracaso.

Ambos parámetros son configurables --- ambos se pueden cambiar. Existen modelos alternativos con dos cintas, dos cabezales, cintas de dos lados, cinta no vacía, etc. Pero una vez que arregle el modelo, debe resolver los otros parámetros "configurables", como el número de estados posibles y la función de transición .

¿Qué hace que un parámetro sea parte del modelo en lugar de ser parte de la instancia? Eso es solo un área gris, y no creo que haya una buena respuesta (tal vez me equivoque. ¿Alguien?). Parece que separarse a "Hardware" / "Software" tiene más sentido clasificar parámetros como parte del modelo o parte de la instancia, pero podemos imaginar otros universos en los que esta clasificación es diferente (por ejemplo, donde TM es un 8-tuplas, que también contienen = la posición de la cabeza al principio, o = el número de cintas, o = un patrón que aparece repetidamente en la cinta después del final de la entrada, etc.)M p a t t e r nPMpattern


1

Aquí ya hay buenas respuestas, pero trato de hacer una sucinta.

Las definiciones no deben ser excesivas o detalladas.

De hecho, la definición de máquina de Turing define la abstracción de la cinta también. El q0 - es el comienzo de la cinta. El alfabeto es un contenido de la cinta. Y δ: (Q ∖ F) × Γ → Q × Γ × {L, R} indica que la cinta tiene izquierda y derecha e infinito en ambas direcciones.

Entonces, la cinta, la cabeza, se mueve solo representaciones del modelo amigables para los humanos, ya están en el modelo matemático , pero no son un modelo formal en sí mismos.


1

Les proporciona una respuesta concisa y correcta: las definiciones matemáticas son lo más concisas posible, e incluir explícitamente una cinta infinita en la definición de una máquina de Turing haría que su definición fuera mucho menos concisa, por lo que no lo hacemos.

Esto no responde la pregunta: ¿por qué ? ¿Cómo puede la definición excluir la cinta infinita cuando la necesitamos?

La respuesta: nosotros no. En cierto sentido, las máquinas de Turing en realidad no requieren cintas infinitas, y su definición lo deja claro.

Por definición, el movimiento de una máquina de Turing lleva la máquina de una configuración a otra; una configuración incluye una cadena finita , que consideramos como un fragmento finito de cinta escrita. Cada movimiento mueve el cabezal de la cinta una posición o sobrescribe el símbolo debajo del cabezal de la cinta. Sin embargo, y esto es esencial para su funcionamiento:

  • cada vez que nos alejamos de esa cuerda finita, asumimos que el símbolo debajo del cabezal de la cinta es , el símbolo en blanco.b
  • podemos hacerlo infinitamente a menudo .

Entonces, para que las máquinas Turing arbitrarias funcionen indefinidamente, se requiere un suministro infinito de celdas de cinta en blanco en ambos extremos. Mientras tanto, en cualquier punto, su configuración, que describe la extensión de la cinta en la que ha escrito, siempre es finita: después de pasos, el cabezal de la cinta nunca puede haberse desviado más de celdas desde su punto de partida.nn

Una forma de reformular esto es decir: la máquina funciona con una cinta infinita, completamente llena de espacios en blanco, excepto por un fragmento finito en el que se encuentra la cabeza de la cinta. Esto es lo que dicen la mayoría de las explicaciones.

Otra forma de reformular esto es decir: la máquina funciona con una cinta finita, extendida con espacios en blanco cada vez que su cabeza se separa de la cinta en cada extremo.

Ambas son formas válidas de conceptualizar cómo funciona la máquina: en ambos casos, si realmente tuviera una máquina que funcionara así, implementaría correctamente una máquina de Turing.

Si todo lo que le interesa es enseñar a los estudiantes cómo funcionan las máquinas de Turing, probablemente no importa qué conceptualización elija.

Sin embargo, creo que la primera conceptualización es un error, por dos razones:

  • No es realista . En realidad no podemos construir una máquina con una cinta infinita. Nosotros podemos construir una máquina con una cinta finita, renovable a petición.
  • Es contraintuitivo. No pensamos que las máquinas que realizan tareas arbitrariamente a menudo contengan una cantidad infinita de recursos. Por ejemplo, no pensamos que una fotocopiadora contenga una cantidad infinita de papel de copia. Las máquinas de Turing modelan la actividad de la informática. Modelan lo que sucedería si reemplazáramos una computadora (que, en el momento de su invención, era una mujer que realizaba cálculos en papel) con una máquina capaz de realizar cálculos programables arbitrarios. No pensamos que esa mujer contenga una cantidad infinita de papel. Más bien, suponemos que se le proporcionará cualquier cantidad de papel que necesite, y consideramos que no hacerlo es una falla del medio ambiente, en lugar de decir que tal mujer no puede existir. ¿Por qué no hacer lo mismo con la máquina?
  • Invita a conclusiones engañosas. He visto esto mucho. Por ejemplo:
    • La gente dice que las máquinas de Turing en realidad no se pueden construir, mientras que las máquinas de estados finitos sí. Bueno, no podemos construir máquinas arbitrarias de estados finitos más de lo que podemos suministrar cantidades arbitrarias de cinta a una máquina Turing.
    • La gente dice que las máquinas de Turing no modelan las computadoras correctamente, mientras que las máquinas de estados finitos sí. Esto sirve para hacer un punto importante: si todo lo que nos interesa es usar una máquina para decidir los idiomas de entrada, entonces una computadora que opera solo en su almacenamiento interno (fijo) puede implementar completamente cualquier máquina de estado finito hasta cierto tamaño, mientras no puede implementar completamente la mayoría de las máquinas de Turing, ya que se quedará sin almacenamiento interno para muchas de ellas. Sin embargo, esto a menudo se generaliza diciendo: las computadoras son máquinas de estados finitos, lo cual es engañoso:
      • No pinta una imagen realista de la mayoría de la programación de computadoras. De hecho, la programación del flujo de datos se basa en máquinas de estados finitos, pero la programación imperativa tradicional no lo es; utiliza programas que están mucho más cerca de las instancias de la máquina Turing.
      • En la práctica, las computadoras también interactúan con fuentes externas de entrada, salida y almacenamiento que no tienen un tamaño fijo.
      • Las máquinas de Turing no deben modelar computadoras en primer lugar; modelan la computación arbitraria.

En resumen: la idea de que las máquinas de Turing utilicen o contengan una cinta infinita sirve para enfatizar un punto técnico importante, pero no es necesariamente la forma más intuitiva de pensar acerca de las máquinas de Turing, e invita a ciertas conclusiones incorrectas. Usar con precaución.

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.