Вы находитесь на странице: 1из 7

Una mquina de Turing (MT) es un modelo computacional que realiza una lectura/escritura de manera automtica 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 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 puede ser infinita) pertenecientes al alfabeto de entrada. La mquina va leyendo una celda de la cinta en cada paso, borrando el smbolo en el que se encuentra posicionado su cabezal y escribiendo un nuevo smbolo 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 segn se indique en la funcin de transicin, para finalmente detenerse en un estado final o de aceptacin, representando as la salida.

Historia

Representacin artstica de una mquina de Turing. Alan Turing introdujo el concepto de mquina de Turing en el trabajo On computable numbers, with an application to the Entscheidungsproblem, publicado por la Sociedad Matemtica de Londres en 1936, en el que se estudiaba la cuestin planteada por David Hilbert sobre si las matemticas son decidibles, es decir, si hay un mtodo definido que pueda aplicarse a cualquier sentencia matemtica y que nos diga si esa sentencia es cierta o no. Turing ide un modelo formal de computador, la mquina de Turing, y demostr que existan problemas que una mquina no poda resolver. 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 la complejidad de los 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 pueden encontrarse en tiempo polinmico por mquinas de Turing deterministas y no deterministas, respectivamente.Precisamente, la tesis de Church-Turing formulada por Alan Turing y Alonzo Church, de forma independiente a mediados del siglo XX caracteriza la nocin informal de computabilidad con la computacin mediante una mquina de Turing.1La idea subyacente es el concepto de que una mquina de Turing puede verse como un autmata ejecutando un procedimiento efectivo definido formalmente, donde el espacio de memoria de trabajo es ilimitado, pero en un momento determinado slo una parte finita es accesible

Definicin formal Una mquina de Turing con una sola cinta puede definirse como una 7-tupla

donde:

es un conjunto finito de estados. es un conjunto finito de smbolos distinto del espacio en blanco, denominado alfabeto de mquina o de entrada. es un conjunto finito de smbolos de cinta, denominado alfabeto de cinta ( es el estado inicial. es un smbolo denominado blanco, y es el nico smbolo que se puede repetir un nmero infinito de veces. es el conjunto de estados finales de aceptacin. es una funcin parcial denominada funcin de es un movimiento a la izquierda y es el movimiento a la derecha. ).

transicin, donde

Existen en la literatura un abundante nmero de definiciones alternativas, pero todas ellas tienen el mismo poder computacional, por ejemplo se puede aadir el smbolo como smbolo de "no movimiento" en un paso de cmputo.

Funcionamiento 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 escribir en la cinta.La memoria es la cinta de la mquina que 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 enumerables, 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.

Representacin como diagrama de estados


Las maquinas de Turing pueden representarse mediante grafos particulares, tambin llamados diagramas de estados finitos, de la siguiente manera:

Esta mquina de Turing est definida sobre el alfabeto = {a,b,c}, posee el conjunto de estados Q = {qo,q1,q2,q3,q4,q5,q6}, con las transiciones que se pueden ver. Su estado inicial es q0 y el estado final es q2, el lenguaje de salida = {X,Y,Z,B} siendo B el smbolo denominado "blanco". Esta mquina reconoce la expresin regular de la forma anbncn con n > = 0. Los estados se representan como vrtices, etiquetados con su nombre en el interior.Una transicin desde un estado a otro, se representa mediante una arista dirigida que une a estos vrtices, y esta rotulada por smbolo que lee el cabezal/smbolo que escribir el cabezal, movimiento del cabezal.El estado inicial se caracteriza por tener una arista que llega a l y que no proviene de ningn otro vrtice.El o los estados finales se representan mediante vrtices que estn encerrados a su vez por otra circunferencia.

Ejemplo
Definimos una mquina de Turing sobre el alfabeto {0,1}, donde 0 representa el smbolo blanco. La mquina comenzar su proceso situada sobre un smbolo "1" de una serie. La mquina de Turing copiar el nmero de smbolos "1" que encuentre hasta el primer blanco detrs de dicho smbolo blanco. Es decir, posicionad el cabezal sobre el 1 situado en el extremo izquierdo, doblar el nmero de smbolos 1, con un 0 en medio. As, si tenemos la entrada "111" devolver "1110111", con "1111" devolver "111101111", y sucesivamente. El conjunto de estados es describe la funcin de transicin es la siguiente: y el estado inicial es . La tabla que

El funcionamiento de una computacin de esta mquina puede mostrarse con el siguiente ejemplo (en negrita se resalta la posicin de la cabeza lectora/escritora):

La mquina realiza su proceso por medio de un bucle, en el estado inicial , reemplaza el primer 1 con un 0, y pasa al estado , con el que avanza hacia la derecha, saltando los smbolos 1 hasta un 0 (que debe existir), cuando lo encuentra pasa al estado , con este estado avanza saltando los 1 hasta encontrar otro 0 (la primera vez no habr ningn 1). Una vez en el extremo derecho, aade un 1. Despus comienza el proceso de retorno; con vuelve a la izquierda saltando los 1, cuando encuentra un 0 (en el medio de la secuencia), pasa a que contina a la izquierda saltando los 1 hasta el 0 que se escribi al principio. Se reemplaza de nuevo este 0 por 1, y pasa al smbolo siguiente, si es un 1, se pasa a otra iteracin del bucle, pasando al estado s1 de nuevo. Si es un smbolo 0, ser el smbolo central, con lo que la mquina se detiene al haber finalizado el cmputo.

Вам также может понравиться