Una Máquina de Turing (MT) es un modelo computacional que realiza una lectura/escritura de manera automática sobre una entrada llamada cinta, generando
una salida en esta misma.
Este modelo está formado por un alfabeto de entrada y uno de salida, un símbolo especial llamado blanco, un
conjunto de estados finitos y un conjunto de transiciones entre dichos
estados. Su funcionamiento se basa en una función de transición, que recibe un estado
inicial y una cadena de caracteres (la cinta, la cual puede ser infinita) pertenecientes
al alfabeto de entrada. La máquina va leyendo una celda de la cinta en cada paso,
borrando el símbolo en el que se encuentra posicionado su cabezal y escribiendo
un nuevo símbolo perteneciente al alfabeto de salida, para luego desplazar el
cabezal a la izquierda o a la derecha (solo una celda a la vez). Esto se repite
según se indique en la función de transición, para finalmente detenerse en un estado final o de
aceptación, representando así la salida.
La máquina de Turing consta
de un cabezal lector/escritor y una cinta infinita en la que el cabezal lee el
contenido, borra el contenido anterior y escribe un nuevo valor. Las
operaciones que se pueden realizar en esta máquina se limitan a:
Mover el cabezal
lector/escritor hacia la derecha o izquierda.
El cómputo se determina a
partir de una tabla de estados de la forma:
(Estado,
valor) (Nuevo estado, nuevo valor,
dirección)
Esta tabla toma como
parámetros el estado actual de la máquina y el carácter leído de la cinta,
dando la dirección para mover el cabezal, el nuevo estado de la máquina y el
valor a escribir en la cinta.
La memoria es la cinta de
la máquina que se divide en espacios de trabajo denominados celdas, donde se
pueden escribir y leer símbolos. Inicialmente todas las celdas contienen un
símbolo especial denominado "blanco". Las instrucciones que
determinan el funcionamiento de la máquina tienen la forma, "si estamos en
el estado x leyendo la posición y, donde hay escrito el
símbolo z, entonces este símbolo debe ser reemplazado por este otro símbolo
(x), y pasar a leer la celda siguiente, bien a la izquierda o bien a la
derecha".
La máquina de Turing puede considerarse
como un autómata capaz de reconocer lenguajes formales. En ese sentido, es capaz de reconocer
los lenguajes recursivamente enumerables, de acuerdo a la jerarquía de Chomsky. Su potencia es, por tanto, superior a otros tipos
de autómatas, como el autómata finito, o el autómata con pila, o igual a otros modelos con la misma potencia
computacional.
No hay comentarios:
Publicar un comentario