Sunteți pe pagina 1din 11

ndice

Introduccin ...................................................................................................................................1
4.1 Definicin formal MT ..........................................................................................................2
4.2 Construccin modular de una MT ......................................................................................5
4.3 Lenguajes aceptados por la MT .........................................................................................7
Conclusin .....................................................................................................................................9
Referencias bibliogrficas.............................................................................................................10

Introduccin
En este trabajo de investigacin se tratar de explicar las mquinas de Turing. Aunque una mquina
de Turing no es fsicamente una PC, la mquina de Turing se ha reconocido como un modelo preciso
para representar lo que es capaz de hacer cualquier dispositivo fsico de computacin.

4.1 Definicin formal MT


Una Mquina de Turing es un modelo matemtico que consiste en un autmata capaz de
implementar cualquier problema matemtico expresado por medio de un algoritmo. Alan Turing;
fue un matemtico ingls que vivi durante la primera mitad del siglo XX. Aunque fue un matemtico
brillante en muchos campos, destacando especialmente en criptografa, su principal inters se
centraba en la lgica, que en aquellos momentos se encontraba en plena ebullicin gracias al intento
de David Hilbert de hallar una formulacin de las matemticas sobre una base estricta de lgica
formal. La Mquina de Turing, o Mquina de Computacin Lgica como la llamaba l, fue quizs la
mayor aportacin de Alan Turing a esta tarea y con seguridad su descubrimiento de mayor
transcendencia, ya que abri el camino de la ciencia de la Computacin, que a su vez nos lleva al
computador que en estos momentos estoy utilizando para escribir esto, o al que usted est usando
para leerlo. En definitiva, Alan Turing fue uno de los cientficos ms importantes de la primera mitad
del siglo XX y, sin duda, una de las mentes que ms influy en la manera actual que tenemos de ver
el mundo e interactuar con l.

Teora de autmatas

Una mquina de Turing con una sola cinta puede definirse como una 7tupla 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


transicin, donde es un movimiento a la izquierda y es el movimiento a la derecha.

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:

Mover el cabezal lector/escritor hacia la derecha.

Mover el cabezal lector/escritor hacia la izquierda.

El cmputo se determina a partir de una tabla de estados de la forma:


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

Visualizacin de una mquina de Turing,


en la que se ve el cabezal y la cinta que se lee.

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.

Una mquina de Turing consta de:


1. Una cinta que se divide en celdas, una al lado de la otra. Cada celda contiene un smbolo de
algn alfabeto finito. El alfabeto contiene un smbolo especial llamado blanco (aqu escrito
como 'B') y uno o ms smbolos adicionales. La cinta se supone que es arbitrariamente
extensible hacia la izquierda y hacia la derecha, es decir, la mquina de Turing siempre es
suministrada con tanta cinta como necesite para su computacin. Las celdas que no se hayan
escrito previamente se asumen que estn rellenas con el smbolo blanco. En algunos modelos
la cinta tiene un extremo izquierdo marcado con un smbolo especial la cinta se extiende o
es indefinidamente extensible hacia la derecha.

2. Un cabezal que puede leer y escribir smbolos en la cinta y mover la cinta a la izquierda y a la
derecha una (y slo una) celda a la vez. En algunos modelos el cabezal se mueve y la cinta es
estacionaria.
3. Un registro de estado que almacena el estado de la mquina de Turing, uno de los estados
finitos. Hay un estado inicial especial con el que el registro de estado se inicia. Turing escribe
que estos estados reemplazan el "estado de la mente" en que ordinariamente estara una
persona realizando clculos.
4. Una tabla finita de instrucciones (llamada ocasionalmente como tabla de accin o funcin de
transicin). Las instrucciones son usualmente 5tuplas: qiajqi1aj1dk, (a veces 4tuplas), que,
dado el estado (qi) en que la mquina se encuentra actualmente y el smbolo (aj) que se est
leyendo en la cinta (el smbolo actualmente debajo del cabezal) le indica a la mquina hacer
lo siguiente en secuencia (para los modelos de 5tupla):
Borra o escribe un smbolo (reemplazando aj con aj1), y entonces
Mueve el cabezal (que es descrito por dk y puede tener los valores: 'L' para un paso a
la izquierda, o 'R' para un paso a la derecha, o 'N' para permanecer en el mismo lug ar)
y luego
Asume el mismo o un nuevo estado como prescrito (ve al estado qi1).
En los modelos de 4tupla, son especificadas como instrucciones separadas: borrar o escribir un
smbolo (aj1) y mover el cabezal a la izquierda o la derecha (dk). Especficamente, 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.

4.2 Construccin modular de una MT


Para describir formalmente lo que hace una mquina de Turing, es necesario desarrollar una
notacin para describir sus configuraciones o descripciones instantneas, parecida a la notacin que
se desarrolla para los autmatas a pila. En principio una mquina de Turing dispone de una cinta de
longitud infinita, por lo cual podr suponerse que no es posible describir espticamente su
configuracin. Sin embargo, despus de un nmero finito de movimientos, la mquina de Turing solo

habr recorrido un nmero finito de casillas. Por tanto, para cualquier configuracin existe un prefijo
y un sufijo infinito de casillas que no se han recorrido nunca. El contenido de dichas casillas debe Ser
espacios en blanco o smbolos del conjunto finito de smbolos de entrada.
Por lo tanto, en una configuracin solo se muestran las casillas que se encuentren entre el smbolo
ms a la izquierda y el smbolo ms a la derecha de la cinta que no sean espacios en blanco, adems,
habr que incluir un nmero finito de espacios en blanco en la configuracin, si se da la condicin
especial de que la cabeza de la cinta seale a uno de los espacios en blanco situados antes o despus
de la cadena de entrada.
Adems de la representacin de la cinta, debe ser posible representar el estado de la unidad de
control, as como la posicin de la cabeza de la cinta. Para ello, insertaremos el estado en la cinta,
situndolo inmediatamente a la izquierda de la casilla sealada por la cabeza. Para que la cadena
que representa el contenido de la cinta junto con el estado de la unidad de control no resulte
ambigua, es necesario asegurarse de que no se utiliza como estado ningn smbolo que forme parte
del conjunto de smbolos de cinta. Sin embargo, es sencillo cambiar los nombres de los estados de
forma que no tengan nada en comn con los smbolos de la cinta, dado que la operacin de la
mquina de Turing no depende de cmo se llamen sus estados. Por tanto, utilizaremos la cadena
x1x2 ...xi1qxixi+1 ...xn para representar una configuracin en la que:

1. q es el estado de la mquina de Turing.


2. La cabeza de la cinta seala al i-ensimo smbolo a partir de la izquierda.
3. x1x2...xn es la porcin de la cinta que se encuentra entre los smbolos no blancos situados ms a
la izquierda y ms a la derecha. Como excepcin, si la cabeza seala a alguna casilla a la izquierda
del smbolo no blanco que se encuentre ms a la izquierda, o a alguna casilla a la derecha del smbolo
no blanco que se encuentre ms a la derecha, entonces algunos caracteres prefijos o sufijos de x1x2
...xn sern espacios en blanco, siendo i = 1 o i = n, respectivamente.

4.3 Lenguajes aceptados por la MT


LAMT
Podremos decir que la forma en la que una mquina de Turing acepta una cadena es la siguiente: la
cadena de entrada se sita en la cinta y la cabeza comienza sealando el smbolo de entrada que se
encuentra ms a la izquierda; si la mquina de Turing llega a un estado de aceptacin al final del
proceso, se considera que la cadena es reconocida, en caso contrario, decimos que la cadena no fue
aceptada.
De manera formal dada una mquina de Turing M = (Q,,,,q0,B,F), el lenguaje L(M) es el conjunto
de cadenas de tales que q0 7 p para algn estado p del conjunto de estado finales F, y
cualesquiera dos cadenas de cinta y . Los lenguajes que son pueden ser aceptados por la mquina
de Turing reciben el nombre de lenguajes recursivamente enumrales o lenguajes RE.
Sin embargo este no es el nico mtodo para la aceptacin de una cadena, existe otro que
comnmente se le conoce con el nombre de aceptacin por parada. Se dice que una mquina
de Turing se para si alcanza un estado q cuando seala a un smbolo de la cinta X, sin que se
produzca ningn movimiento en dicha situacin; es decir (q,X) no est definida. Siempre se
puede suponer que una mquina de Turing se para si acepta, es decir sin introducir variaciones
en el lenguaje aceptado, se puede hacer que (q,X) se quede sin definir siempre que q sea un
estado de aceptacin. En general a menos que se especifique lo contrario, suponemos que una
mquina de Turing siempre se para cundo esta en un estado de aceptacin, aunque no en
todos los casos ocurre esto. Los lenguajes reconocidos por mquinas de Turing que siempre
se paran, acepten o no, se les conoce con el nombre de recursivos. Las mquinas de Turing
que siempre se paran con independencia de que acepten o no, son un buen modelo de

algoritmo. Si existe un algoritmo para resolver un problema dado, entonces se dice que el
problema es decidible, con lo cual se observa que las mquinas de Turing que siempre se paran,
tienen un papel importante en la teora de la dicisibilidad.

LAMT 4.3b
Una mquina de Turing se puede comportar como un aceptador de un lenguaje. Si colocamos una
cadena w en la cinta, situamos la cabeza de lectura/escritura sobre el smbolo del extremo izquierdo
de la cadena w y ponemos en marcha la mquina a partir de su es tado inicial. Entonces w es aceptada
si, despus de una secuencia de movimientos, la mquina de Turing llega a un estado final y para.
Por tanto w es aceptada.
Los lenguajes formales que son aceptados por una mquina de Turing son exactamente aquellos que
pueden ser generados por una gramtica formal. El clculo Lambda es una forma de definir
funciones. Las funciones que pueden se computadas con el clculo Lambda son exactamente
aquellas que pueden ser computadas con una mquina de Turing.
Estos tres formalismos, las mquinas de Turing, los lenguajes formales y el clculo Lambda son
formalismos muy dismiles y fueron desarrollados por diferentes personas. Sin embargo, ellos son
todos equivalentes y tienen el mismo poder de expresin. Generalmente se toma esta notable
coincidencia como evidencia de que la tesis de Church-Turing es cierta, que la afirmacin de que la
nocin intuitiva de algoritmo o procedimiento efectivo de cmputo corresponde a la nocin de
cmputo en una mquina de Turing.
Gramticas estructuradas por frases:
Parte izquierda de las reglas: combinacin de smbolos terminales y no terminales, con al menos un
no terminal.
Parte derecha de las reglas: combinacin de smbolos terminales y no terminales de cualquier
longitud (incluso 0).
Las mquinas de Turing aceptan lenguajes estructurados por frases.

Conclusin
Una mquina de Turing o MT, consiste en una cinta infinita dividida en casillas, cada una de las cuales
contienen un smbolo, y sobre la cual acta un dispositivo que puede adoptar diversos estados, y
que lee un smbolo de la casilla sobre la que est situado.
En funcin de dicho smbolo y del estado actual, se pueden realizar tres acciones siguientes: para
aun nuevo estado, imprime un smbolo en lugar del que acaba de leer y de desplaza a una posicin
hacia la izquierda, derecha, o se detiene.
El objetivo de la creacin modular de una mquina de Turing es poder desarrollar maquinas
complejas a partir de bloques elementales, a partir de mquinas ms pequeas, mediante diagra mas
de transiciones.
Los autmatas as como la mquina de Turing, son elementales ya que estos auxilian a los ingenieros
en programacin a utilizarlos como una metodologa de anlisis y diseo en la resolucin de dicho
problema.

Referencias bibliogrficas

Hopcroft John E., Introduccin a la Teora de Autmatas, Lenguajes y Computacin, 2da ed, Ed.
Addison Wesley, 2004.
M. Alfonseca, J. Sancho, M. Martnez Orga. Teora de Lenguajes, Gramticas y Autmatas, Ediciones
Universidad y Cultura, 1990.
Oribe, J. (2009). Qu es una Mquina de Turing?. 2016, de El mquina de Turing Blog Sitio web:
https://elmaquinadeturing.wordpress.com/2009/12/15/%C2%BFque-es-una-maquina-de-turing-i/

10

S-ar putea să vă placă și