Máquina de Turing Saltar a: navegación navegación,, búsqu búsqueda eda Para otros usos de este término, véase Turing (desambiguación). (desambiguación) .
Una máquina de Turing (MT) 1 es un modelo computacional que realiza una lectura//escritura de manera automática sobre una entrada llamada cinta, generando una lectura salida en esta misma. Este modelo está formado por un alfabeto de entrada y uno de salida, un símbolo 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 función de transición, transición , que recibe un estado inicial y inicial y una cadena de caracteres (la cinta, la cual puede ser infinita) pertenecientes pertenecientes al alfabeto de entrada. La máquina va leyendo una celda de la cinta en cada paso, borrando borrando el símbolo símbolo en en el que se encuentra encuentra posicionad posicionado o su cabezal cabezal y escribiendo escribiendo un 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, transición, para finalmente detenerse en un estado final o final o de aceptación, aceptación, representando así la salida.
Contenido • •
• •
1 His Histo tori riaa 2 Defin Definición ición formal 2.1 Funcion Funcionamient amiento o o 2.2 Representación como diagrama de estados o 2.3 Descri Descripción pción insta instantáne ntáneaa o 3 Ej Ejemp emplo lo 4 Modifi Modificaci caciones ones equiva equivalente lentess 4.1 Máquina de Turin Turing g con movimiento movimient o stay o "esperar" o 4.2 Máquina de Turing con cinta infinita a ambos lados o 4.3 Máquina de Turin Turing g con cinta multipista multipi sta o 4.4 Máquina de Turin Turing g multic multicinta inta o 4.5 Máquin Máquinaa de Turin Turing g multid multidimensi imensional onal o
The world’s largest digital library
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
The world’s largest digital library
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
The world’s largest digital library
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
The world’s largest digital library
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
• • • • • • • •
5 Máquina de Turing determinista y no determinista determini sta problem) 6 Problema de la parada parad a (halting (halting problem) 7 Codificación Codificac ión de una máquina de Turin Turing g 8 Máquin Máquinaa de Turin Turing g universal 9 Máquin Máquinaa de Turin Turing g cuántica 10 Véas Véasee tam tambié bién n 11 Enlac Enlaces es extern externos os 12 Ref Refere erenci ncias as 12.1 Notas Nota s al pie o o
12.2 Bibli Bibliograf ografía ía
Historia
Representación artística de una máquina de Turing Turing.. Alan Turing introdujo el concepto de máquina de Turing en el trabajo On computable numbers, with an application to the Entscheidung the Entscheidungsproblem sproblem,, publicado por la Sociedad Matemática de Londres en 1936, en el que se estudiaba la cuestión planteada por David por David Hilbert sobre si las matemáticas son decidibles, es decir, si hay un método definido que pueda aplicarse a cualquier cualquier sentencia sentencia matemática matemática y que que nos diga si si esa sentencia sentencia es es cierta o no. Turing ideó un modelo formal de computador, la máquina de Turing, y demostró que existían problemas que una máquina no podía resolver. Con este aparato extremadamente sencillo es posible realizar cualquier cómputo que un computador digital sea capaz de realizar. Mediante este modelo teórico y el análisis de la complejidad de los algoritmos algoritmos,, fue posible posible la categorización categorización de problemas problemas computacio computacionales nales de acuerdo acuerdo a su comporta comportamiento, miento, apareciendo así, el conjunto de problemas denominados P y NP NP,, cuyas soluciones pueden encontrarse en tiempo polinómico por máquinas de Turing deterministas y no deterministas, respectivamente. Precisamente, la tesis de Church-Turing formulada por Alan por Alan Turing y Alonzo Church, Church, de forma independiente a mediados del siglo XX caracteriza la noción informal de computabilidad con computabilidad con la computación mediante una máquina de Turing. 2 La idea subyacente es el concepto de que una máquina de Turing puede verse como un
The world’s largest digital library
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
The world’s largest digital library
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
The world’s largest digital library
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Definición formal Una máquina de Turing con una sola cinta puede definirse como una 7- tupla
donde:3 • •
•
• •
•
es un conjunto finito de estados estados.. es un conjunto finito de símbolos distinto del espacio en blanco, denominado alfabeto de máquina o de entrada. es un conjunto finito de símbolos de cinta, denominado alfabeto de cinta ( ). es el estado inicial. es un símbolo denominado blanco, y es el único símbolo que se puede repetir un número infinito de veces. es el conjunto de estados finales de aceptación.
•
de transición, donde derecha.
es una función parcial denominada función es un movimiento a la izquierda y es el movimiento a la
Existen en la literatura un abundante número de definiciones alternativas, pero todas ellas tienen el mismo poder computacional, por ejemplo se puede añadir el símbolo como símbolo de "no movimiento" en un paso de cómputo.
Funcionamiento 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.
Visualización de una máquina de Turing, en la que se ve el cabezal y la cinta que se lee. •
Mover el cabezal lector/escritor hacia la izquierda.
The world’s largest digital library
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
The world’s largest digital library
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
The world’s largest digital library
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
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 estado x leyendo la posición posición y, y, donde hay escrito el símbolo z símbolo z , entonces este símbolo debe ser reemplazado por este este otro símbolo símbolo,, y pasar pasar a leer leer la celda siguien siguiente, te, bien a la izquierda izquierda o bien bien a la derecha". La máquina de Turing puede considerarse como un autómata capaz de reconocer lenguajes formales. formales. En ese sentido, es capaz de reconocer los lenguajes recursivamente enumerables, de acuerdo a la jerarqu la jerarquía ía de Chomsk Chomsky y. Su potencia es, por tanto, superior a otros tipos de autómatas, como el autómata finito, finito, o el autómata con pila, pila, o igual a otros modelos con la misma potencia computacional.
Representación como diagrama de estados Las maquinas de Turing pueden representarse mediante grafos grafos particula particulares, res, también también llamados diagramas de estados finitos, de la siguiente manera:
Esta máquina de Turing está definida sobre el alfabeto de estados Su estado inicial es
y el estado final es
, posee el conjunto
, con las transiciones que se pueden ver. , el lenguaje de salida
siendo el símbolo denominado "blanco". Esta máquina reconoce la expresión regular de la forma con . •
•
Los estados se representan como vértices, etiquetados con su nombre en el interior. Una transición desde un estado a otro, se representa mediante una arista dirigida que une a estos vértices, y esta rotulada por símbolo que lee el cabezal/símbolo que escribirá el cabezal, movimiento del cabezal.
The world’s largest digital library
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
The world’s largest digital library
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
The world’s largest digital library
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Descripción instantánea Es una secuencia de la forma donde de una MT. La cinta contiene la cadena señala el primer símbolo de .
y que escribe el estado seguida de infinitos blancos. El cabezal
Por ejemplo, para la máquina de Turing
con las transiciones
La descripción instantánea para la cinta 1011 es:
Ejemplo Definimos una máquina de Turing sobre el alfabeto , donde 0 representa el símbolo blanco. La máquina comenzará su proceso situada sobre un símbolo "1" de una serie. La máquina de Turing copiará el número de símbolos "1" que encuentre hasta el primer blanco blanco detrás detrás de dicho dicho símbolo símbolo blanco. Es decir, decir, posiciona posiciona el el cabezal sobre sobre el 1 situado en el extremo izquierdo, doblará el número de símbolos 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 y el estado inicial es describe la función de transición es la siguiente:
Esta Estado do Símb Símbol olo o leíd leído o Símb Símbol olo o escr escrito ito Mov. Mov. Esta Estado do sig sig..
1
0
. La tabla que
The world’s largest digital library
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
The world’s largest digital library
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
The world’s largest digital library
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
0
0
0
1
1
1
1
1
0
0
1
1
0
1
El funcionamiento de una computación de esta máquina puede mostrarse con el siguiente ejemplo (en negrita se resalta la posición de la cabeza lectora/escritora):
Paso aso Estad stado o Cinta inta
1
11
2
01
3
010
4
0100
5
0101
6
0101
7
0101
The world’s largest digital library
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
The world’s largest digital library
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
The world’s largest digital library
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
The world’s largest digital library
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
9
1001
10
1001
11
10010
12
10011
13
10011
14
10011
15
11011
Parada
La máquina realiza su proceso por medio de un bucle, en el estado inicial , reemplaza el primer 1 con un un 0, y pasa al estado , con el el que avanza avanza hacia hacia la derecha, derecha, saltando saltando los los símbolos 1 hasta un 0 (que debe debe existir), cuando lo encuentra pasa al estado , con este estado avanza saltando los 1 hasta encontrar otro 0 (la primera vez no habrá ningún 1). Una vez en el extremo derecho, añade un 1. Después 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 continúa a la izquierda saltando los 1 hasta el 0 que se escribió escribió al principio. principio. Se reemplaza reemplaza de nuevo nuevo este este 0 por 1, y pasa pasa al símbolo símbolo siguient siguiente, e, si es un 1, 1, se pasa a otra otra iteración iteración del bucle, bucle, pasando pasando al estado estado s1 de de nuevo. nuevo. Si es es un símbolo símbolo 0, será el el símbolo central, con lo que la máquina se detiene al haber finalizado el cómputo.
Modificaciones equivalentes
The world’s largest digital library
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
The world’s largest digital library
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
The world’s largest digital library
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Donde
significa "permanecer" o "esperar", es decir no mover el cabezal de
lectura/escritura. lectura/escri tura. Por lo tanto, significa que se pasa del estado q al p, p, se escribe en la celda actual y la cabeza se queda sobre la celda actual.
Máquina de Turing con cinta infinita a ambos lados
Máquina de Turing con cinta infinita a ambos lados Esta modificación se denota al igual que una MT sencilla, lo que la hace diferente es que la cinta es infinita tanto por la derecha como por la izquierda, lo cual permite realizar transiciones iniciales como
.
Máquina de Turing con cinta multipista
Subdivisión de una celda de la cinta. Es aquella que mediante la cual cada celda de la cinta de una máquina sencilla se divide en subceldas. Cada celda es así capaz de contener varios símbolos de la cinta. Por ejemplo, la cinta de la figura tiene cada celda subdividida en tres subceldas. Se dice que esta cinta tiene múltiples pistas puesto que cada celda de esta máquina de Turing contiene múltiples caracteres, el contenido de las celdas de la cinta puede ser representado mediante n-tuplas ordenadas. Los movimientos que realice está máquina dependerán de su estado actual y de la n-tupla que represente el contenido de la celda actual. Cabe mencionar que posee un solo cabezal al igual que una MT sencilla.
Máquina de Turing multicinta
The world’s largest digital library
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
The world’s largest digital library
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
The world’s largest digital library
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Una MT con más de una cinta consiste de un control finito con k cabezales k cabezales lectores/escritores y k cintas. k cintas. Cada cinta es infinita en ambos sentidos. La MT define su movimiento dependiendo del símbolo que está leyendo cada uno de sus cabezales, da reglas de sustitución para cada uno de los símbolos y dirección de movimiento para cada uno de los cabezales. Inicialmente la MT empieza con la entrada en la primera cinta y el resto de las cintas en blanco.
Máquina de Turing multidimensional
Diagrama de una máquina de Turing bidimensional. Una MT multidimensional es aquella cuya cinta puede verse como extendiéndose infinitamente en más de una dirección, el ejemplo más básico sería el de una máquina bidimensiona bidimensionall cuya cinta cinta se extende extendería ría infinitamente infinitamente hacia hacia arriba, abajo, abajo, derecha derecha e izquierda. En la modificación bidimensional de MT que se muestra en la figura también se agregan dos nuevos movimientos del cabezal {U,D} (es decir arriba y abajo). De esta forma la definición de los movimientos que realiza el cabezal será {L,R,U,D}.
Máquina de Turing determinista y no determinista Véase también: Complejidad computacional
The world’s largest digital library
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
The world’s largest digital library
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
The world’s largest digital library
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
¿Cómo sabe una máquina no determinista qué acción tomar de las varias posibles? Hay dos formas de verlo: una es decir que la máquina es "el mejor adivino posible", esto es, que siempre elige la transición que finalmente la llevará a un estado final de aceptación. La otra es imaginarse que la máquina se "clona", bifurcándose en varias copias, cada una de las cuales sigue una de las posibles transiciones. Mientras que una máquina determinista sigue un único "camino computacional", una máquina no determinista tiene un "árbol computacional". Si cualquiera de las ramas del árbol finaliza en un estado de aceptación, se dice que la máquina acepta la entrada. La capacidad de cómputo de ambas versiones es equivalente; se puede demostrar que dada una máquina de Turing no determinista existe otra máquina de Turing determinista equivalente, en el sentido de que reconoce el mismo lenguaje, y viceversa. No obstante, la velocidad de ejecución de ambos formalismos no es la misma, pues si una máquina no determinista M determinista M reconoce reconoce una cierta palabra de tamaño n en un tiempo
, la
máquina determinista equivalente reconocerá la palabra en un tiempo . Es decir, el no determinismo permitirá reducir la complejidad de la solución de los problemas, permitiendo permitiendo resolver, resolver, por por ejemplo, ejemplo, problemas problemas de complejidad complejidad exponencial exponencial en un tiempo polinómico polinó mico..
Problema de la parada (halting problem) Véase también: Problema de la parada
detención (halting problem en inglés) para El problema El problema de la parada o problema de la detención máquinas de Turing consiste en: dada una MT M MT M y y una palabra w, determinar si M si M terminará en un número finito de pasos cuando se ejecuta usando w como entrada. Alan Turing, Turing, en su famoso artículo "On computable numbers, with an application to the Entscheidungsproblem Entscheidung sproblem"" (1936), demostró que el problema de la parada de la máquina de Turing es indecidible indecidible,, en el sentido de que ninguna máquina de Turing lo puede resolver.
Codificación de una máquina de Turing Toda máquina de Turing puede codificarse como una secuencia binaria finita, es decir una secuencia finita de ceros y unos. Para simplificar la codificación codificación,, suponemos que toda MT
The world’s largest digital library
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
The world’s largest digital library
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
The world’s largest digital library
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Símbol Símbolo o Codific Codificació ación n
1
11
111
. . .
. . .
Los estados de una MT
Símbolo
Codificación
1
11
. .
. .
se codifican también con secuencias de unos:
The world’s largest digital library
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
The world’s largest digital library
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
The world’s largest digital library
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
The world’s largest digital library
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
En general, la codificación de una transición cualquiera
donde
es
, según la dirección sea .
Una MT se codifica escribiendo consecutivamente las secuencias de las modificaciones de todas sus transiciones. Más precisamente, la codificación de una MT M MT M es es de la forma , donde es la codificación de la -ésima transición de M de M . Puesto que el orden en que se representen las transiciones de una MT no es relevante, una misma MT tiene varias codificaciones diferentes. Esto no representa ninguna desventaja práctica o conceptual ya que no se pretende que las codificaciones sean únicas.
Máquina de Turing universal Una máquina de Turing computa una determinada función parcial de carácter definido y unívoca,, definida sobre las secuencias de posibles cadenas de símbolos de su alfabeto. En unívoca este sentido se puede considerar como equivalente a un progra un programa ma de ordenador, o a un algoritmo.. Sin embargo es posible realizar una codificación de la tabla que representa a algoritmo una máquina de Turing, a su vez, como una secuencia de símbolos en un determinado alfabeto; por ello, podemos construir una máquina de Turing que acepte como entrada la tabla que representa a otra máquina de Turing, y, de esta manera, simule su comportamiento. En 1947, Turing indicó:
The world’s largest digital library
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
The world’s largest digital library
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
The world’s largest digital library
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Ilustración de una máquina de Turing cuántica. En 1985, Deutsch presentó el diseño de la primera Máquina cuántica basada en una máquina de Turing. Con este fin enunció una nueva variante la tesis de Church-Turing dando lugar al denominado "principio de Church-Turing-Deutsch". La estructura de una máquina de Turing cuántica es muy similar a la de una máquina de Turing clásica. Está compuesta por los tres elementos clásicos: • • •
una cinta de memoria infinita en donde cada elemento es un qubit qubit,, un procesador finito y un cabezal.
El procesador contiene el conjunto de instrucciones que se aplica sobre el elemento de la cinta señalado por el cabezal. El resultado dependerá del qubit de la cinta y del estado del procesador. procesador. El procesador procesador ejecuta ejecuta una instrucción instrucción por por unidad unidad de tiempo. tiempo. La cinta de memoria es similar a la de una máquina de Turing tradicional. La única diferencia es que cada elemento de la cinta de la máquina cuántica es un qubit qubit.. El alfabeto de esta nueva máquina está formado por el espacio de valores del qubit qubit.. La posición del cabezal se representa con una variable entera.
The world’s largest digital library
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
The world’s largest digital library
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
The world’s largest digital library
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Referencias Notas al pie 1. ↑ «Teoría de Autómatas». Autómatas». Teoría de Autómatas, RAI 2012 Universidad Carlos III 2. ↑ Gómez de Silva Garza, Gómez de Silva Garza (2008) (en español español)). Introducción Introducción a la computación computación.. pp. 522. 3. ↑ Pérez, Iván (2005) (en español español)). Lenguaje y Compiladores Compiladores.. pp. 137. 4. ↑ Paun, Gheorghe (2002). «II. « II. Prerequisites» Prerequisites» (en inglés). inglés). Membrane Computing: An Introduction. Introduction. New York: Springer-Verlag. ISBN 3540436014. Consultado el 24 de junio de 2012. «The parallelism with a computer, as we know computers in their general form, is clear: the code of a Turing machine is its program, program, the strings to be recognized represent the input data, and the universal Turing machine is the computer itself, with the instructions of the universal Turing machine corresponding to the operating system of a computer.»
Bibliografía •
•
•
•
Feynman, Richard (1996). Conferencias sobre computación. computación. Graficromo. ISBN 848432-444-3. Consultado el 11 de julio de 2010. Viso, Elisa (2008). Introducció (2008). Introducción n a la teoría de la computación computación.. ISBN 978-970-325415-6. Consultado el 11 de julio de 2010. De Castro, Rodrigo (2004). Teoría de la computación : lenguajes, autómatas, gramáticass. Consultado el 15 de julio de 2010. gramática «on computable numbers,with an application to the entscheidungsproblem » (en español).. Consultado el 15 de julio de 2010. español)