Maquina De Turing
Enviado por Monmooon • 9 de Octubre de 2013 • 1.897 Palabras (8 Páginas) • 574 Visitas
La máquina de Turing
Una máquina de Turing es un autómata que se mueve sobre una secuencia lineal de datos. En cada instante la máquina puede leer un solo dato de la secuencia (generalmente un carácter) y realiza ciertas acciones en base a una tabla que tiene en cuenta su "estado" actual (interno) y el último dato leído. Entre las acciones está la posibilidad de escribir nuevos datos en la secuencia; recorrer la secuencia en ambos sentidos y cambiar de "estado" dentro de un conjunto finito de estados posibles.
En realidad la máquina de Turing es más una abstracción matemática que un dispositivo físico o mecánico. El hecho que se le denomine "máquina" se debe a que su funcionamiento puede ser descrito en términos de operaciones individuales muy sencillas que sugieren una implementación real muy simple, lo que ha motivado que existan muchas versiones prácticas del mismo.
Existen diversas "variedades" de una máquina de Turing, pero la más simple puede ser descrita diciendo que es cualquier dispositivo que cumple las siguientes condiciones:
• Tiene una cinta sobre la que puede desplazarse a izquierda y derecha un cabezal de lectura/escritura. La cinta contiene una serie de celdas, y en cada una de ellas puede escribirse un símbolo de un conjunto finito; este conjunto de símbolos se denomina el alfabeto de la máquina [2]. En principio todas las celdas que no se hayan escrito antes contienen un carácter especial nulo o vacío (que se representa por 0 o #). La cinta puede contener tantas celdas a derecha e izquierda del cabezal como sean necesarias para el funcionamiento de la máquina.
• El cabezal puede moverse a derecha (R) a izquierda (L) de su posición actual, así como leer el contenido de una celda o escribir en ella cualquier carácter de su alfabeto.
• Existe un registro de estado que almacena el estado de la máquina. El número de estados posibles es finito, y no se exige ningún estado especial con el que sea iniciada la máquina.
• Existe una tabla de acción [3], que contiene las instrucciones de lo que hará el autómata. Estas instrucciones representan en cierta forma el "programa" de la máquina. Las ejecución de cada instrucción de la tabla de acción incluye cuatro pasos:
o Leer un carácter en la posición actual.
o Escribir un nuevo símbolo en esta posición (puede ser el mismo que había). El símbolo a escribir es alguno del alfabeto de la máquina, y depende del carácter leído y del estado actual.
o Desplazar el cabezal una celda a derecha o izquierda (R/L); en algunos modelos el desplazamiento puede ser nulo (detener H).
o Decidir cual será el nuevo estado en función del carácter que se acaba de leer y del estado actual. Si la tabla de acción no contiene ninguna correspondencia con el estado actual y el símbolo leído, entonces la máquina detiene su funcionamiento.
En los modelos didácticos computarizados [5] la tabla suele definirse mediante una matriz de cinco columnas que contiene:
Estado/Carácter-leído/Carácter-a-escribir/Movimiento/Nuevo-estado
+---+---++---+---+---+
| S | R || W | M | N |
+---+---++---+---+---+
| 0 | 0 || 0 | R | 0 |
| 0 | 1 || 1 | R | 1 |
| 1 | 0 || 1 | R | 2 |
| 1 | 1 || 1 | R | 1 |
| 2 | 0 || 0 | H | 2 |
| 2 | 1 || 0 | H | 2 |
+---+---++---+---+---+
S = Estado actual
R = Carácter leído
W = Carácter escrito
M = Dirección del movimiento
N = Nuevo estado
En el recuadro se incluye una muestra de una de estas tablas. Representa el comportamiento de una máquina de turing que es capaz de sumar 1 a cualquier número unario ( 0.1). El alfabeto solo tiene dos símbolos: Vacío (0) y valor (1). La máquina puede adoptar tres estados diferentes numerados del 0 al 2 (es costumbre señalar el estado inicial con 0). El movimiento H ("Halt") significa no desplazar el cabezal. En este caso la máquina se detiene (o entra en un bucle sin fin).
También es posible representar la tabla de acción mediante un grafo. Los diferentes estados internos se representan por círculos. Los cambios de estado con flechas a las que se añade una leyenda. Generalmente se utiliza una flecha para señalar el estado inicial. En la figura 1 se muestra el grafo correspondiente a la tabla.
Es notable que el diseño de Turing contiene de forma implícita la idea de que el autómata puede alterar su propio programa, pero el punto más significativo de su filosofía de funcionamiento es que se comporta como la mente, en el sentido que la configuración interna de la máquina establece el entorno en el que se toman las decisiones, de forma que la acción depende de dos factores: el estado interno y la información externa que puede "ver" a través de su cabezal [6]. La consecuencia es que es imposible predecir su comportamiento de la simple inspección de su tabla de acción, ya que el comportamiento depende también de la entrada recibida.
El hecho que el número de estados posibles y su alfabeto sea finitos, califica a estos autómatas como máquinas de estados finitosFSM ("Finite State Machine").
Nota: algunos teóricos sostienen que la genuina máquina de Turing solo utiliza un alfabeto unario, mientras que una máquina de estados finitos es más general y puede utilizar un alfabeto con más símbolos.
Es significativo que la cinta puede extenderse indefinidamente a derecha e izquierda, lo que hace que en la práctica sea imposible construir un modelo real de lo que se denomina un sistema de Turing completo (ver a continuación §4 ). Es también destacable que la máquina da a la cinta tres utilizaciones distintas:
• Como elemento de almacenamiento de los datos de entrada (de capacidad potencialmente ilimitada)
• Como elemento de salida (de cualquier cantidad de datos)
• Como almacenamiento de información intermedia durante
...