Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Una mquina de Turing es un dispositivo que manipula Estudiando sus propiedades abstractas, la mquina de Tusmbolos sobre una tira de cinta de acuerdo a una tabla de ring produce muchas perspectivas en las ciencias de la
reglas. A pesar de su simplicidad, una mquina de Turing computacin y en la teora de la complejidad.
puede ser adaptada para simular la lgica de cualquier
algoritmo de computador y es particularmente til en la
explicacin de las funciones de una CPU dentro de un 1 Historia
computador.
La mquina de Turing fue descrita por Alan Turing como una mquina automtica en 1936 en la revista
Proceedings of the London Mathematical Society,[1] La
mquina de Turing no est diseada como una tecnologa
de computacin prctica, sino como un dispositivo hipottico que representa una mquina de computacin. Las
mquinas de Turing ayudan a los cientcos a entender
los lmites del clculo mecnico.
Turing dio una denicin sucinta del experimento en su
ensayo de 1948, Mquinas inteligentes. Rerindose a
su publicacin de 1936, Turing escribi que la mquina de
Turing, aqu llamada una mquina de computacin lgica,
consista en:
...una ilimitada capacidad de memoria obtenida en la forma de una cinta innita marcada
con cuadrados, en cada uno de los cuales podra imprimirse un smbolo. En cualquier momento hay un smbolo en la mquina; llamado
el smbolo ledo. La mquina puede alterar el
smbolo ledo y su comportamiento est en parte determinado por ese smbolo, pero los smbolos en otros lugares de la cinta no afectan el
comportamiento de la mquina. Sin embargo,
la cinta se puede mover hacia adelante y hacia
atrs a travs de la mquina, siendo esto una
de las operaciones elementales de la mquina.
Por lo tanto cualquier smbolo en la cinta puede tener nalmente una oportunidad.[2] (Turing
1948, p. 61)
2 DESCRIPCIN INFORMAL
3.1
Funcionamiento
se est leyendo en la cinta (el smbolo actualmente la vez). Esto se repite segn se indique en la funcin de
debajo del cabezal) le indica a la mquina hacer lo transicin, para nalmente detenerse en un estado nal o
siguiente en secuencia (para los modelos de 5-tupla): de aceptacin, representando as la salida.
Borra o escribe un smbolo (reemplazando a
con a ), y entonces
Mueve el cabezal (que es descrito por d y puede tener los valores: 'L' para un paso a la izM = (Q, , , s, b, F, ),
quierda, o 'R' para un paso a la derecha, o 'N'
para permanecer en el mismo lugar) y luego
donde:[5]
Asume el mismo o un nuevo estado como prescrito (ve al estado q).
Qes un conjunto nito de estados.
En los modelos de 4-tupla, son especicadas como instrucciones separadas: borrar o escribir un smbolo (a ) y mover el cabezal a la izquierda o la derecha (d ). Especcamente, la tabla indica a la mquina: (ia) borrar o escribir un smbolo
o (ib) mover el cabezal a la izquierda o a la derecha, y luego (ii) asumir
el mismo o un nuevo estado, pero
no las dos acciones (ia) y (ib) en la
misma instruccin. En algunos modelos, si no hay ninguna entrada en
la tabla para la actual combinacin
de smbolo y estado, la mquina se
detendr; otros modelos requieren
que estn llenas todas las entradas.
Note que cada parte de la mquina su estado y colecciones de smbolos y sus acciones imprimir, borrar,
movimiento de la cinta es nito, discreto y distinguible; es la cantidad potencialmente ilimitada de cinta lo
que le da una cantidad ilimitada de espacio de almacenamiento.
Denicin formal
es un conjunto nito de smbolos distinto del espacio en blanco, denominado alfabeto de mquina o
de entrada.
es un conjunto nito de smbolos de cinta, denominado alfabeto de cinta ( ).
s Q es el estado inicial.
b es un smbolo denominado blanco, y es el nico smbolo que se puede repetir un nmero innito
de veces.
F Q es el conjunto de estados nales de aceptacin.
: Q Q {L, R} es una funcin
parcial denominada funcin de transicin, donde L
es un movimiento a la izquierda y Res el movimiento
a la derecha.
Existen en la literatura un abundante nmero de deniciones alternativas, pero todas ellas tienen el mismo poder
computacional, por ejemplo se puede aadir el smbolo S
como smbolo de no movimiento en un paso de cmputo.
3.1 Funcionamiento
EJEMPLO
Una transicin desde un estado a otro, se representa mediante una arista dirigida que une a estos vrtices, y est 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 nales se representan mediante vrtices que estn encerrados a su vez por otra circunferencia.
La mquina de Turing puede considerarse como un Por ejemplo, para la mquina de Turing
autmata capaz de reconocer lenguajes formales. En
ese sentido, es capaz de reconocer los lenguajes recursivamente enumerables, de acuerdo a la jerarqua de M T = ({p, q}, {0, 1}, {0, 1, x}, , p, , {q}),
Chomsky. Su potencia es, por tanto, superior a otros tipos de autmatas, como el autmata nito, o el autmata con las transiciones
con pila, o igual a otros modelos con la misma potencia
computacional.
(p, 1) = (p, x, D),
(p, 0) = (p, 0, D)y
3.2
4 Ejemplo
Esta mquina de Turing est denida 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 nal 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 an bn cn
con n >= 0 .
5.2
Modicaciones equivalentes
Subdivisin de una celda de la cinta.
5.1
Mquina de Turing con movimiento cada celda de esta mquina de Turing contiene mltiples
caracteres, el contenido de las celdas de la cinta puede
stay o esperar
ser representado mediante n-tuplas ordenadas. Los moLa funcin de transicin de la MT sencilla est denida vimientos que realice esta mquina dependern de su estado actual y de la n-tupla que represente el contenido de
por
la celda actual. Cabe mencionar que posee un solo cabezal al igual que una MT sencilla.
: Q Q {L, R},
la cual puede ser modicada como
Una MT con ms de una cinta consiste de un control nito con k cabezales lectores/escritores y k cintas. Cada
: Q Q {L, R, S}.
cinta es innita en ambos sentidos. La MT dene su movimiento dependiendo del smbolo que est leyendo cada
Donde S signica permanecer o esperar, es decir uno de sus cabezales, da reglas de sustitucin para cada
no mover el cabezal de lectura/escritura. Por lo tanto, uno de los smbolos y direccin de movimiento para ca(q, ) = (p, , S) signica que se pasa del estado q da uno de los cabezales. Inicialmente la MT empieza con
al p, se escribe en la celda actual y la cabeza se queda la entrada en la primera cinta y el resto de las cintas en
sobre la celda actual.
blanco.
Diagrama de una mquina de Turing multicinta, las echas indican los cabezales de lectura/escritura.
5.5
Cmo sabe una mquina no determinista qu accin tomar de las varias posibles? Hay dos formas de verlo: una
es decir que la mquina es el mejor adivino posible, esto
es, que siempre elige la transicin que nalmente la llevar a un estado nal de aceptacin. La otra es imaginarse
que la mquina se clona, bifurcndose en varias copias,
cada una de las cuales sigue una de las posibles transiciones. Mientras que una mquina determinista sigue un
nico camino computacional, una mquina no determinista tiene un "rbol computacional. Si cualquiera de las
ramas del rbol naliza en un estado de aceptacin, se
dice que la mquina acepta la entrada.
La capacidad de cmputo de ambas versiones es equivalente; se puede demostrar que dada una mquina de Turing no determinista existe otra mquina de Turing determinista equivalente, en el sentido de que reconoce el
mismo lenguaje, y viceversa. No obstante, la velocidad
de ejecucin de ambos formalismos no es la misma, pues
si una mquina no determinista M reconoce una cierta
palabra de tamao n en un tiempo O(t(n)) , la mquina determinista equivalente reconocer la palabra en un
tiempo O(2t(n) ). Es decir, el no determinismo permitir
reducir la complejidad de la solucin de los problemas,
permitiendo resolver, por ejemplo, problemas de complejidad exponencial en un tiempo polinmico.
El problema de la parada o problema de la detencin (halting problem en ingls) para mquinas de Turing consiste
en: dada una MT M y una palabra w, determinar si M
terminar en un nmero nito de pasos cuando se ejecuta usando w como entrada.
7
Alan Turing, en su famoso artculo On computable num- 9 Mquina de Turing universal
bers, with an application to the Entscheidungsproblem"
(1936), demostr que el problema de la parada de la m- Una mquina de Turing computa una determinada funquina de Turing es indecidible, en el sentido de que nin- cin parcial de carcter denido y unvoca, denida soguna mquina de Turing lo puede resolver.
bre las secuencias de posibles cadenas de smbolos de su
alfabeto. En este sentido se puede considerar como equivalente a un programa de ordenador, o a un algoritmo. Sin
8 Codicacin de una mquina de embargo es posible realizar una codicacin de la tabla
que representa a una mquina de Turing, a su vez, como
Turing
una secuencia de smbolos en un determinado alfabeto;
por ello, podemos construir una mquina de Turing que
Toda mquina de Turing puede codicarse como una se- acepte como entrada la tabla que representa a otra mcuencia binaria nita, es decir una secuencia nita de ce- quina de Turing, y, de esta manera, simule su comportaros y unos. Para simplicar la codicacin, suponemos miento.
que toda MT tiene un nico estado inicial denotado por
q1 , y un nico estado nal denotado q2 . Tendremos que En 1947, Turing indic:
para una MT M de la forma
Se puede demostrar que es posible construir una mquina especial de este tipo que pue = {s1 , s2 , . . . , sm , . . . , sp } donde s1 representa
da realizar el trabajo de todas las dems. Esta
el smbolo blanco 0, o b (segn se desee denotar),
mquina especial puede ser denominada m = {s2 , . . . , sm }es alfabeto de entrada y
quina universal.
{sm+1 , . . . , sp } son los smbolos auxiliares utilizados por M (cada MT utiliza su propia coleccin - Con esta codicacin de tablas como cadenas, se abre la
posibilidad de que unas mquinas de Turing se compornito de smbolos auxiliares).
ten como otras mquinas de Turing. Sin embargo, muTodos estos smbolos se codican como secuencias de chas de sus posibilidades son indecidibles, pues no admiten una solucin algortmica. Por ejemplo, un probleunos:
ma interesante es determinar si una mquina de Turing
Los estados de una MT q1 , q2 , q3 , . . . , qn se codican cualquiera se parar en un tiempo nito sobre una detertambin con secuencias de unos:
minada entrada; problema conocido como problema de
Las directrices de desplazamiento R , L y S se codi- la parada, y que Turing demostr que era indecidible. En
can con 1, 11, 111, respectivamente. Una transicin general, se puede demostrar que cualquier cuestin no tri(q, a) = (p, c, R)se codica usando ceros como separa- vial sobre el comportamiento o la salida de una mquina
dores entre los estados, los smbolos del alfabeto de cin- de Turing es un problema indecidible.
ta y la directriz de desplazamiento R . As, la transicin El concepto de Mquina de Turing universal est relacio(q3 , s2 ) = (q5 , s3 , R)se codica como
nado con el de un sistema operativo bsico, pues puede
ejecutar cualquier instruccin computable sobre l.[6]
01110110111110111010.
En general, la codicacin de una transicin cualquiera
(qi , sk ) = (qj , st , R)es
En 1985, Deutsch present el diseo de la primera Mquina cuntica basada en una mquina de Turing. Con
este n enunci una nueva variante la tesis de ChurchTuring dando lugar al denominado principio de ChurchTuring-Deutsch.
13 ENLACES EXTERNOS
11
Vase tambin
Teora de autmatas
Sistema combinacional
Autmata nito
Autmata con pila
Mquina abstracta
Mquina de Turing universal
Mquina de Turing alternante
Problema de la parada
Jerarqua de Chomsky
(Hodges 1983:93). Turing envi su artculo el 31 de mayo de 1936 a la London Mathematical Society para su publicacin en la revista Proceedings (cf Hodges 1983:112),
pero no fue publicada hasta principios de 1937 (cf Hodges
1983:129).
[2] See the denition of "innings" on Wiktionary
[3] Gmez de Silva Garza, Gmez de Silva Garza (2008) (en
espaol). Introduccin a la computacin. pp. 522.
[4] Teora de Autmatas. Teora de Autmatas, RAI 2012
Universidad Carlos III
[5] Prez, Ivn (2005) (en espaol). Lenguaje y Compiladores.
pp. 137.
[6] Paun, Gheorghe (2002). II. Prerequisites. Membrane Computing: An Introduction (en ingls). 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, 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.
12.2 Bibliografa
Feynman, Richard (1996). Conferencias sobre
computacin. Gracromo. ISBN 84-8432-444-3.
Consultado el 11 de julio de 2010.
Viso, Elisa (2008). Introduccin a la teora de la
computacin. ISBN 978-970-32-5415-6. Consultado
el 11 de julio de 2010.
De Castro, Rodrigo (2004). Teora de la computacin : lenguajes, autmatas, gramticas. Consultado el 15 de julio de 2010.
on computable numbers,with an application to the
entscheidungsproblem (en espaol). Consultado el
15 de julio de 2010.
Variantes de una Mquina de Turing (en espaol).
Consultado el 11 de julio de 2010.
Juego de la vida
Clculo lambda
12
Referencias
12.1
Notas al pie
13 Enlaces externos
14
14.1
14.2
Images
Archivo:Cinta_infinita.JPG Fuente: http://upload.wikimedia.org/wikipedia/commons/7/77/Cinta_infinita.JPG Licencia: CC-BY-SA3.0 Colaboradores: Trabajo propio Artista original: Aldo.martinez.n
Archivo:Commons-logo.svg Fuente: http://upload.wikimedia.org/wikipedia/commons/4/4a/Commons-logo.svg Licencia: Public domain
Colaboradores: This version created by Pumbaa, using a proper partial circle and SVG geometry features. (Former versions used to be slightly
warped.) Artista original: SVG version was created by User:Grunt and cleaned up by 3247, based on the earlier PNG version, created by
Reidab.
Archivo:Diagrama_Mquina_Turing.JPG
Fuente:
http://upload.wikimedia.org/wikipedia/commons/e/ea/Diagrama_M%C3%
A1quina_Turing.JPG Licencia: CC-BY-SA-3.0 Colaboradores: Trabajo propio Artista original: Aldo.martinez.n
Archivo:MT_bidimensional.PNG Fuente: http://upload.wikimedia.org/wikipedia/commons/0/03/MT_bidimensional.PNG Licencia:
CC-BY-SA-3.0 Colaboradores: Trabajo propio Artista original: Aldo.martinez.n
Archivo:MT_multicintas.PNG Fuente: http://upload.wikimedia.org/wikipedia/commons/7/76/MT_multicintas.PNG Licencia: CC-BYSA-3.0 Colaboradores: Trabajo propio Artista original: Aldo.martinez.n
Archivo:MT_multipista.JPG Fuente: http://upload.wikimedia.org/wikipedia/commons/4/4c/MT_multipista.JPG Licencia: CC-BY-SA3.0 Colaboradores: Trabajo propio Artista original: Aldo.martinez.n
Archivo:Maquina_cuantica.png Fuente: http://upload.wikimedia.org/wikipedia/commons/6/67/Maquina_cuantica.png Licencia: CCBY-SA-3.0 Colaboradores: ? Artista original: ?
Archivo:Mquina_de_Turing.png Fuente: http://upload.wikimedia.org/wikipedia/commons/2/2c/M%C3%A1quina_de_Turing.png
Licencia: Public domain Colaboradores: Trabajo propio Artista original: Aldo.martinez.n
Archivo:TuringBeispielAnimatedGIF.gif
Fuente:
http://upload.wikimedia.org/wikipedia/commons/9/94/
TuringBeispielAnimatedGIF.gif Licencia: CC-BY-SA-3.0 Colaboradores: Trabajo propio Artista original: RosarioVanTulpe
Archivo:Turing_Machine.png Fuente: http://upload.wikimedia.org/wikipedia/commons/b/b7/Turing_Machine.png Licencia: Public domain Colaboradores: ? Artista original: ?
Archivo:Turing_machine_2b.svg Fuente: http://upload.wikimedia.org/wikipedia/commons/a/a2/Turing_machine_2b.svg Licencia: Public domain Colaboradores: Transferred from en.wikipedia; transferred to Commons by User:Lampak using CommonsHelper.
Artista original: User:Nynexman4464. Original uploader was Nynexman4464 at en.wikipedia
Archivo:Turing_statue_Surrey.jpg Fuente: http://upload.wikimedia.org/wikipedia/commons/7/76/Turing_statue_Surrey.jpg Licencia:
Public domain Colaboradores: Trabajo propio Artista original: Fernrohr
14.3
Content license