Máquinas de Turing
Máquinas de Turing
Máquinas de Turing
Grupo: A.
Figura 2. Ejemplo.
Asumimos una cinta infinita de dos vías: se extiende hasta el infinito en ambas
direcciones. Sin embargo, solo una parte finita de la cinta no está en blanco en
ningún punto.
El programa de una TM es una función de transición; Según el símbolo debajo de
la cabeza y el estado, la máquina realiza las siguientes acciones:
1. Escribe un símbolo.
2. Se mueve hacia la izquierda o hacia la derecha o permanece en su lugar.
3. Actualiza su estado.
El programa se representa como un diagrama como el de un AF, excepto que cada
flecha está etiquetada no con un solo símbolo sino con un triple:
Viejo símbolo nuevo símbolo mover dirección
donde "mover dirección" es uno de L, lo que significa mover una celda a la izquierda;
R, que significa mover una celda a la derecha; y S, que significa no mover la cabeza
(izquierda / derecha / permanecer). Por ejemplo, el triple 01L significa "si está
leyendo un 0, luego escriba 1 y mueva la cabeza hacia la izquierda".
El lenguaje de una TM es el conjunto de todas las cadenas de manera que la TM,
cuando comienza con la cadena en su cinta, eventualmente ingresa al estado ha.
Si M es el TM, usamos L (M) para indicar su lenguaje. También decimos que la TM
es un reconocedor de su lenguaje.
EJEMPLO 2
En el siguiente ejemplo podemos observar como a partir de un AF obtener nuestra
Máquina de Turing.
3. Cada una de las cabezas de las cintas realizan un movimiento, que puede
ser hacia la izquierda, hacia la derecha o estacionario. Las cabezas se
mueven de manera independiente, por lo que pueden moverse en
direcciones diferentes y alguna puede no moverse en absoluto.
Máquinas de Turing no deterministas
Una máquina de Turing no determinista (MTN) se diferencia de la máquina
determinista que hemos estudiado hasta el momento en que tiene una función de
transición δ tal que para el estado q y símbolo de cinta X, δ(q,X) es un conjunto de
tuplas:
{(q1,Y1,D1), (q2,Y2,D2),...,(qk,Yk,Dk)}
donde k es cualquier número entero finito. La MTN puede elegir, en cada paso, cuál
de las tuplas será el siguiente movimiento. Sin embargo, no puede elegir un estado
de una, un símbolo de cinta de otra y una dirección de una tercera.
El lenguaje aceptado por una MTN M se define, como era de esperar, de forma
análoga a otros dispositivos no deterministas, tales como los AFN y los autómatas
a pila que ya hemos estudiado. Es decir, M acepta una entrada w si existe cualquier
secuencia de movimientos que lleva desde la configuración inicial con w como
entrada hasta una configuración con un estado de aceptación. La existencia de otras
opciones de movimientos que no lleven a un estado de aceptación es irrelevante, al
igual que en el caso de los AFN y los autómatas a pila.
Las MTN no aceptan ningún lenguaje que no sea aceptado por una MT determinista
(o MTD si necesitamos resaltar que se trata de una máquina determinista). La
demostración implica demostrar que para toda MTN MN, podemos construir una
MTD MD que explore las configuraciones a las que MN puede llegar mediante
cualquier secuencia posible de movimientos. Si MD encuentra una secuencia que
tiene un estado de aceptación, entonces MD entra en uno de sus propios estados
de aceptación. MD tiene que ser sistemática, colocando las nuevas configuraciones
en una cola, en lugar de en una pila, de modo que después de cierto tiempo finito,
MD habrá simulado todas las secuencias que consten como mucho de k
movimientos de MN, para k = 1,2…
REFERENCIAS BIBLIOGRAFICAS
Goddard, Wayne. (2008). Theory of Computation. Turing Machines. 1st ed.
Canadá: Jones and Bartlett Publishers.
Hopcroft, John E. y Ullman, Jeffrey D. (1996). Introducción a la teoría de
autómatas, lenguajes y computación. Máquinas de Turing. Segunda Edición.
México: Compañía editorial continental, S.A. de C.V.