Está en la página 1de 4

La mquina de Turing que es y cmo funciona:

Es un dispositivo de reconocimientos de lenguaje, es ms general que cualquier autmata


finito y cualquier autmata de pila, debido a que ellas pueden reconocer tanto los
lenguajes regulares, como los lenguajes independientes de contexto y adems muchos
otros tipos de lenguajes.

La mquina de Turing (abreviado MT) tiene, un control finito, una cabeza lectora y una
cinta donde puede haber caracteres, y donde eventualmente viene la palabra de entrada.
La cinta es de longitud infinita hacia la derecha, hacia donde se extiende indefinidamente,
llenndose los espacios con el carcter blanco (que representaremos con t). La cinta no
es infinita hacia la izquierda, por lo que hay un cuadro de la cinta que es el extremo
izquierdo, la MT la cabeza lectora es de lectura y escritura, por lo que la cinta puede ser
modificada en curso de ejecucin. Adems, en la MT la cabeza se mueve
bidireccionalmente (izquierda y derecha), por lo que puede pasar repetidas veces sobre
un mismo segmento de la cinta.

Este modelo est conformado por un alfabeto de entrada y uno de salida, un smbolo
especial llamado blanco (normalmente b, o 0), un conjunto de estados finitos y un
conjunto de transiciones entre dichos estados. Su funcionamiento se basa en una funcin
de transicin, que recibe un estado inicial y una cadena de caracteres (la cinta, la cual es
finita por la izquierda) pertenecientes al alfabeto de entrada. Luego va leyendo una celda
de la cinta, borrando el smbolo, escribir el nuevo smbolo perteneciente al alfabeto de
salida y finalmente avanza a la izquierda o a la derecha (solo una celda a la vez), repitiendo
esto segn se indique en la funcin de transicin, para finalmente detenerse en un estado
final o de aceptacin, representando as la salida.

Diagrama Artstico de una Mquina de Turing


La mquina 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 mquina se limitan a: avanzar el cabezal
lector/escritor hacia la derecha. Avanzar el cabezal lector/escritor hacia la izquierda. El
cmputo es determinado a partir de una tabla de estados de la forma: (estado, valor)
(nuevo estado, nuevo valor, direccin)
Esta tabla toma como parmetros el estado actual de la mquina y el carcter ledo de la
cinta, dando la direccin para mover el cabezal, el nuevo estado de la mquina y el valor a
ser escrito en la cinta.

Con este aparato extremadamente sencillo es posible realizar cualquier cmputo que un
computador digital sea capaz de realizar.

Mediante este modelo terico y el anlisis de complejidad de algoritmos, fue posible la


categorizacin de problemas computacionales de acuerdo a su comportamiento,
apareciendo as, el conjunto de problemas denominados P y NP, cuyas soluciones en
tiempo polinmico son encontradas segn el determinismo y no determinismo
respectivamente de la mquina de Turing.

De hecho, se puede probar matemticamente que para cualquier programa de


computadora es posible crear una mquina de Turing equivalente. Esta prueba resulta de
la Tesis de Church-Turing, formulada por Alan Turing y Alonzo Church, de forma
independiente a mediados del siglo XX.

Cmo funciona una mquina de Turing?

Una mquina de Turing es un dispositivo que transforma un INPUT en un OUTPUT


despus de algunos pasos. Tanto el INPUT como el OUPUT constan de nmeros en cdigo
binario (ceros y unos). En su versin original la mquina de Turing consiste en una cinta
infinitamente larga con unos y ceros que pasa a travs de una caja. La caja es tan fina que
solo el trozo de cinta que ocupa un bit (0 1) est en su interior. La mquina tiene una
serie de estados internos finitos que tambin se pueden numerar en binario.

Para llevar a cabo algn algoritmo, la mquina se inicializa en algn estado interno
arbitrario. A continuacin, se pone en marcha y la mquina lee el bit que se encuentra en
ese momento en su interior y ejecuta alguna operacin con ese bit (lo cambia o no,
dependiendo de su estado interno). Despus se mueve hacia la derecha o hacia la
izquierda, y vuelve a procesar el siguiente bit de la misma manera. Al final se para,
dejando el resultado al lado izquierdo por ejemplo.
Una instruccin tpica podra ser: 01 11011i

La traduccin es como sigue: si la mquina se encuentra en el estado interno 0 y lee 1 en


la cinta, entonces pasar al estado interno 1101 (13), escribir 1 y se mover hacia la
izquierda un paso (la cinta se mover hacia la derecha).

A continuacin es conveniente inventar una notacin para la secuencia del INPUT. Esta
notacin se llama notacin binaria expandida. Consiste en cambiar la secuencia original
binaria por otra construida de la siguiente forma: el 0 se cambia por 0 y el 1 por 10 y se
ponen un cero a la izquierda y/o a la derecha del resultado si empieza o acaba en 1
respectivamente. As por ejemplo, el nmero 13 que en binario es 1101 es en binario
expandido 1010010 con un cero delante por esta ltima regla 01010010. Para volver al
original hay que contraer el binario expandido con la siguiente regla:

Empezamos a leer por la izquierda el binario expandido. Cuando encontremos un 0


tomamos nota de cuntos 1 hay hasta llegar al siguiente 0 y lo escribimos. Si encontramos
que hay dos 0 seguidos, apuntaramos un 0 porque no habra ningn 1.Veamos con el 13
cmo se hara. El primer 0 se encuentra en la primera posicin y el siguiente 0 est en la
posicin 3. Entre los dos solo hay un 1. Lo anotamos. Seguidamente hay un 1, y despus
un 0, entonces apuntamos 1 porque hay un 1 entre medias de ellos. Esto es lo que se hace
sucesivamente y encontramos: 1101 que es el nmero original.

La mquina 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 mquina se limitan a:

avanzar el cabezal lector/escritor hacia la derecha.

Visualizacin de una mquina de Turing en la que se ve el cabezal y la cinta que se lee


avanzar el cabezal lector/escritor hacia la izquierda.

El cmputo es determinado a partir de una tabla de estados de la forma:


(estado, valor) (nuevo estado, nuevo valor, direccin)

Esta tabla toma como parmetros el estado actual de la mquina y el carcter ledo de la
cinta, dando la direccin para mover el cabezal, el nuevo estado de la mquina y el valor a
ser escrito en la cinta.

La memoria ser la cinta la cual se divide en espacios de trabajo denominados celdas,


donde se pueden escribir y leer smbolos. Inicialmente todas las celdas contienen un
smbolo especial denominado blanco. Las instrucciones que determinan el
funcionamiento de la mquina tienen la forma, si estamos en el estado x leyendo la
posicin y, donde hay escrito el smbolo z, entonces este smbolo debe ser reemplazado
por este otro smbolo, y pasar a leer la celda siguiente, bien a la izquierda o bien a la
derecha. La mquina de Turing puede considerarse como un autmata capaz de
reconocer lenguajes formales. En ese sentido es capaz de reconocer los lenguajes
recursivamente innumerables, de acuerdo a la jerarqua de Chomsky. Su potencia es, por
tanto, superior a otros tipos de autmatas, como el autmata finito, o el autmata con
pila, o igual a otros modelos con la misma potencia computacional

También podría gustarte