UNIDAD 6
6. Máquinas de Turing.
Una máquina de Turing es un dispositivo que manipula símbolos sobre una tira de cinta de acuerdo a una tabla de reglas. A pesar de su simplicidad, una máquina de Turing puede ser adaptada para simular la lógica de cualquier algoritmo de computador y es particularmente útil en la explicación de las funciones de una CPU dentro de un computador.
Una máquina de Turing es un dispositivo que manipula símbolos sobre una tira de cinta de acuerdo a una tabla de reglas. A pesar de su simplicidad, una máquina de Turing puede ser adaptada para simular la lógica de cualquier algoritmo de computador y es particularmente útil en la explicación de las funciones de una CPU dentro de un computador.
6.1 Definición formal MT
La Máquina de Turing (MT) fue introducida por Alan M. Turing en 1936, y puede considerarse como un modelo abstracto que formaliza la idea Intuitiva de algoritmo.
(MT) Es un modelo computacional que realiza una lectura/escritura de manera automática sobre una entrada llamada cinta, generando una salida en esta misma. Este modelo está conformado 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.
Esta constituida por los siguiente elementos:
MT = ( E, A, B, e0, F, f)
E = Conjunto de estados, no vacío.
A = Conjunto de símbolos de entrada.
B = Conjunto de símbolos auxiliares.
e0 = Estado inicial.
F = Conjunto de estados finales.
f = Función de control, definida:
donde: f: ( E - F ) x ( A È B ) Þ E x ( A È B) x ( I, O, D )
6.2 Construcción modular de una MT.
El objetivo de la creación modular de una maquina de Turing es poder desarrollar máquinas complejas a partir de bloques elementales, a partir de maquinas más pequeñas, mediante diagramas de transiciones. La construcción de máquinas de Turing se lleva a cabo mediante los diagramas de transición y combinarlos de manera parecida a lo que se realiza en la formación de la unión y concatenación de los autómatas finitos.
Pasos para la construcción de una máquina de Turing:
1. Elimine las características de inicio de los estados iniciales de las maquinas, excepto la de aquel donde iniciara la maquina compuesta.
2. Elimine las características de detención de los estados de parada de todas la maquinas e introduzca un nuevo estado de parada que nos se encuentre en ninguno de los diagramas que se combinan.
3. Para cada uno de los antiguos estados de parada p y cada x en y.
Ejemplificación de dicha construcción.
Pasos para la construcción de una máquina de Turing:
1. Elimine las características de inicio de los estados iniciales de las maquinas, excepto la de aquel donde iniciara la maquina compuesta.
2. Elimine las características de detención de los estados de parada de todas la maquinas e introduzca un nuevo estado de parada que nos se encuentre en ninguno de los diagramas que se combinan.
3. Para cada uno de los antiguos estados de parada p y cada x en y.
Ejemplificación de dicha construcción.
6.3 Lenguajes aceptados por la MT.
Una máquina 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 símbolo del extremo izquierdo de la cadena
w y ponemos en marcha la máquina a partir de su estado inicial.
Entonces w es aceptada si, después de una secuencia de movimientos, la máquina
de Turing llega a un estado final y para. Por tanto w es aceptada.
Si qw * w1pw2 para algún estado final p y unas cadenas w1 y w2.
Entonces, se obtiene la siguiente definición:
Sea M = (Q, S , G, q0=q1, B, F, d) una máquina de
Turing. Entonces el lenguaje aceptado por M es: L(M) = {wÎ S*½q1w
* w1pw2 para pÎF y wiÎG*}.
Los lenguajes formales que son aceptados por una
máquina de Turing son exactamente aquellos que pueden ser generados por una
gramática formal. El cálculo Lambda es una forma de definir funciones. Las
funciones que pueden se computadas con el cálculo Lambda son exactamente
aquellas que pueden ser computadas con una máquina de Turing.
Estos tres formalismos, las máquinas de
Turing, los lenguajes formales y el cálculo Lambda son formalismos muy
disímiles y fueron desarrollados por diferentes personas. Sin embargo, ellos
son todos equivalentes y tienen el mismo poder de expresión. Generalmente se
toma esta notable coincidencia como evidencia de que la tesis de Church-Turing
es cierta, que la afirmación de que la noción intuitiva de algoritmo o
procedimiento efectivo de cómputo corresponde a la noción de cómputo en una
máquina de Turing.
Proceso:
El proceso de la maquina es sencillo, consiste en
generar 0's en la primera cinta y su correspondiente lenguaje en la segunda
cinta. Este proceso será cíclico y sin fin, ya que estamos tratando con un
generador.
Para ello utilizamos multicinta porque nos facilita
de manera considerable el trabajo.
Ejemplifiques el funcionamiento de una Máquina de
Turing.
Se puede construir la MT que calcule la función
f(n,m) = n+m, implementando la transformación
a^n ba^m en a^(n+m) b
Solución:
M=(Q,Σ,Γ,q_0,q_3,B,δ)
Donde la función se define así:
Comentarios
Publicar un comentario