of 31 /31
Autómatas y Lenguajes Formales LAS MAQUINAS DE TURING

MAQUINAS DE TURING

Embed Size (px)

Text of MAQUINAS DE TURING

Autmatas y Lenguajes Formales

LAS MAQUINAS DE TURING

LA MQUINA DE TURINGEs un modelo computacional introducido por Alan Turing en el trabajo ON COMPUTABLE NUMBERS, WITH AN APPLICATION TO THE NTSCHEIDUNGSPROBLEM ,Publicado por la Sociedad Matemtica de Londres en 1936

ON COMPUTABLE NUMBERS, WITH AN APPLICATION TO THE NTSCHEIDUNGSPROBLEM ,Existe algn procedimiento mecnico general que pueda, en principio, resolver todos los problemas de las matemticas, que pertenezcan a alguna clase bien definida?

LA MQUINA DE TURING es una caja negra (tan simple como una mquina de escribir y tan compleja como un ser humano) capaz no slo de leer y escribir un alfabeto de smbolos finito a partir de una cantidad finita pero muy grande de cinta de papel, sino de modificar su propia configuracin o "estado mental". LA MQUINA DE TURING se convirti en un instrumento ideal para probar si un procedimiento es efectivamente computable o no.

En realidad LA MQUINA DE TURING es ms una abstraccin matemtica que un dispositivo fsico o mecnico. El hecho que se le denomine "mquina" se debe a que su funcionamiento puede ser descrito en trminos de operaciones individuales muy sencillas que sugieren una implementacin real muy simple.

TURING construy un modelo formal de computador, LA MQUINA DE TURING, y demostr que existan problemas que una mquina no poda resolver. LA MQUINA DE TURING Es un modelo matemtico abstracto que formaliza el concepto de algoritmo.

TEOREMA DE TURING Cualquier cosa que puede hacer una computadora puede ser descrita de manera precisa Pero adems, es posible afirmar (aunque no probar) que si un procedimiento es considerado intuitivamente eficaz podr realizarse mediante una mquina: Cualquier procedimiento que puede ser descrito con precisin puede ser programado para que lo realice una computadora - TESIS TURING-CHURCH

UNA MQUINA DE TURING es un autmata que se mueve sobre una secuencia lineal de datos. En cada instante la mquina puede leer un solo dato de la secuencia (generalmente un carcter) y realiza ciertas acciones en base a una tabla que tiene en cuenta su "estado" actual (interno) y el ltimo dato ledo. Entre las acciones est *la posibilidad de escribir nuevos datos en la secuencia; *recorrer la sec en ambos sentidos *y cambiar de "estado" dentro de un conjunto finito de estados posibles.

ESQUEMA DE UNA MAQUINA DE TURINGcabeza: lee / escribe movimientos: izda / dcha

a

cinta infinita

Existen diversas "variedades" de una MQUINA DE TURING, pero la ms simple puede ser descrita diciendo que es cualquier dispositivo que cumple las siguientes condiciones:

Tiene una cinta sobre la que puede desplazarse a izquierda y derecha un cabezal de lectura/escritura. La cinta contiene una serie de celdas, y en cada una de ellas puede escribirse un smbolo de un conjunto finito; denominado EL ALFABETO DE LA MQUINA .

En principio todas las celdas que no se hayan escrito antes contienen un carcter especial nulo (0 o #). La cinta puede contener tantas celdas a derecha e izquierda del cabezal como sean necesarias para el funcionamiento de la mquina.

El cabezal puede moverse a derecha (R) a izquierda (L) de su posicin actual, as como leer el contenido de una celda o escribir en ella cualquier carcter de su alfabeto. Existe un registro de estado que almacena el estado de la mquina. El nmero de estados posibles es finito, y no se exige ningn estado especial con el que sea iniciada la mquina.

Existe una tabla de accin, que contiene las instrucciones de lo que har el autmata. Estas instrucciones representan en cierta forma el "PROGRAMA" de la mquina. Las ejecucin de cada instruccin de la tabla de accin incluye cuatro pasos:

1. Leer un carcter en la posicin actual. 2. Escribir un nuevo smbolo en esta posicin (puede ser el mismo que haba). El smbolo a escribir es alguno del alfabeto de la mquina, y depende del carcter ledo y del estado actual. 3. Desplazar el cabezal una celda a derecha o izquierda (R/L); en algunos modelos el desplazamiento puede ser nulo (detener H).

4. Decidir cual ser el nuevo estado en funcin del carcter que se acaba de leer y del estado actual. Si la tabla de accin no contiene ninguna correspondencia con el estado actual y el smbolo ledo, entonces la mquina detiene su Funcionamiento.

DEFINICIN FORMAL DE LA MAQUINA DE TURING Una mquina de Turing determinista es una tupla formada por varios objetos. 1. Q - un conjunto finito de estados.

2. - El alfabeto de entrada: Un conjunto finito de smbolos que no contiene al smbolo blanco.

3.

- el alfabeto de cinta, tal que: y en smbolo _ est en . Q {I,D} la funcin de transicin.

4. :Q

5. q0 Q el estado inicial

6. qsi Q el estado aceptador.

En los modelos didcticos computarizados la tabla suele definirse mediante una matriz de cinco columnas que contiene:Estado/Carcter-ledo/Carcter-a-escribir/Movimiento/Nuevo-estado

S: R: W: M: N:

Estado anterior Smbolo ledo Smbolo a escribir Movimiento (R, L). Nuevo estado.

FUNCIONAMIENTO DE UNA MAQUINA DE TURING

EJEMPLO DE PROGRAMA PARA UNA MAQUINA DE TURINGMaquina de Turing para sumar 2 nmerosEstado actualS0 S0 S1 S1 S2 S2 S3 S4

Smbolo ledob 1 1 b 1 b 1 b

OperacinR R R 1 L R b H

Estado siguienteS0 S1 S1 S2 S2 S3 S4 S0

ComentariosBuscando el primer 1 Primer 1 encontrado Buscando blanco de separacin Blanco encontrado, se cambia por 1 Buscando blanco de la izquierda Hallado blanco, cambiar el 1 siguiente Se cambia el primer 1 por blanco Fin del proceso

CLASES DE MQUINAS DE TURING

MQUINAS DE TURING DETERMINISTAS Y NO DETERMINISTAS En el caso de que para cada par [estado y smbolo] posible exista a lo sumo una posibilidad de ejecucin, se dir que es DETERMINISTA, Mientras que en el caso de que exista al menos un par [estado, smbolo] con ms de una posible combinacin de actuaciones se dir que se trata de una mquina NO DETERMINISTA.

MQUINA UNIVERSAL DE TURING La MTu es, en efecto una mquina universal, ya que simula el comportamiento de cualquier otra mquina codificada en su cinta. La mquina universal de Turing es un modelo de modelos, un modelo universal. La mquina de Turing es el modelo terico de la computabilidad por excelencia.

Supongamos que tenemos una Mquina de Turing dada, MTo, que realiza algn proceso de computo. Por ejemplo la suma de 2 enteros, la tabla de transiciones de esta maquina MTo es la siguiente:

*Esta maquina MTo solamente tiene esa funcin, no puede calcular la multiplicacin o la raz cuadrada

Pero, seria posible codificar esta maquina utilizando un alfabeto mas complejo?,,, Si fuera posible podramos colocar la tabla codificada de MTo en la cinta de otra Maquina de Turing.

La tabla de MTo podra ser codificada como una secuencia lineal de smbolos para escribirla en una cinta.

Una opcin seria:

Donde al inicio se escribe el estado inicial y las transiciones se separan con el Smbolo *. La entrada para la MTo comienza despus del smbolo E

Ahora tenemos una nueva maquina MTu, que tiene escrita en su cinta la tabla de otra maquina de Turing. Solamente resta construir la tabla para la nueva maquina. La tabla de Transiciones de MTu tendra las instrucciones que le indicaran como seguir las instrucciones de la tabla MTo codificada en su cinta.

Las transiciones de MTu harn que se comporte de la misma manera que MTo. Es decir, MTu simulara cualquier MAQUINA DE TURING con una entrada arbitraria MTu se detendr cuando MTo lo haga y no lo har si MTo no se detiene. Cuando MTu se detenga, la cinta lucir como si se hubiese ejecutado Mto.

Aunque el computador actual tiene antecedentes tan antiguos como las calculadoras mecnicas de Leibniz y Pascal (s. XVII), hoy se acepta que el concepto generador de todos los ordenadores es LA MQUINA UNIVERSAL DE TURING, Ideada en 1936.

SHIRLEY ESPITIA GONZALEZ JOSE MARIA ESPINOSA BUELVAS FRANKLIN GUIHUR MONTALVAN GERARDO PADILLA DE LOS RIOS

GRACIAS!