31
Autómatas y Lenguajes Formales LAS MAQUINAS DE TURING

MAQUINAS DE TURING

Embed Size (px)

Citation preview

Page 1: MAQUINAS DE TURING

Autómatas y Lenguajes Formales

LAS MAQUINAS DE TURING

Page 2: MAQUINAS DE TURING

LA MÁQUINA DE TURING

Es un modelo computacional introducido por Alan Turing en el trabajo “ON COMPUTABLE NUMBERS, WITH AN APPLICATION TO THE NTSCHEIDUNGSPROBLEM”,

Publicado por la Sociedad Matemática de Londres en 1936

Page 3: MAQUINAS DE TURING

“ON COMPUTABLE NUMBERS, WITH AN APPLICATION TO THE NTSCHEIDUNGSPROBLEM”,

¿Existe algún procedimiento mecánico

general que pueda, en principio,

resolver todos los problemas

de las matemáticas, que

pertenezcan a alguna clase

bien definida?

Page 4: MAQUINAS DE TURING

LA MÁQUINA DE TURING es una caja negra (tan simple como una máquina de escribir y tan

compleja como un ser humano) capaz no sólo de leer y escribir un alfabeto de símbolos finito a partir de una cantidad finita pero muy grande de cinta de papel, sino de modificar su propia configuración o

"estado mental".

LA MÁQUINA DE TURING se convirtió en un instrumento ideal para probar si un procedimiento

es efectivamente computable o no.

Page 5: MAQUINAS DE TURING

En realidad LA MÁQUINA DE TURING es másuna abstracción matemática queun dispositivo físico o mecánico.

El hecho que se le denomine "máquina" sedebe a que su funcionamiento puede ser descrito en términos de operaciones individuales muy sencillas que sugieren unaimplementación real muy simple.

Page 6: MAQUINAS DE TURING

TURING construyó un modelo formal de computador,

LA MÁQUINA DE TURING, y demostró que existían

problemas que una máquina no podía resolver.

LA MÁQUINA DE TURING Es un modelo matemático abstracto que

formaliza el concepto de algoritmo.

Page 7: MAQUINAS DE TURING

TEOREMA DE TURING “Cualquier cosa que puede hacer una computadora

puede ser descrita de manera precisa”

Pero además, es posible afirmar (aunque no probar) que si un procedimiento es considerado

intuitivamente eficaz podrá realizarse mediante una máquina:

“Cualquier procedimiento que puede ser descrito con precisión puede ser programado para que lo realice

una computadora” - TESIS TURING-CHURCH

Page 8: MAQUINAS DE TURING

UNA MÁQUINA DE TURING es un autómata que se mueve sobre una secuencia lineal de datos.

En cada instante la máquina puede leer un solo dato de la secuencia (generalmente un carácter) y realiza ciertas acciones en base a una tabla que tiene en cuenta su "estado" actual (interno) y el último dato leído.

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.

Page 9: MAQUINAS DE TURING

ESQUEMA DE UNA MAQUINA DE TURING

¡Aquí hay una b!

a

cabeza: lee / escribe

movimientos: izda / dcha

cinta infinita

Page 10: MAQUINAS DE TURING

Existen diversas "variedades" de una MÁQUINA DE TURING, pero la más simple puede ser descrita diciendo que es cualquier dispositivo que cumple las siguientes condiciones:

Page 11: MAQUINAS DE TURING

Tiene una cinta sobre la que puede desplazarse aizquierda y derecha un cabezal de lectura/escritura.La cinta contiene una serie de celdas, y en cada unade ellas puede escribirse un símbolo de un conjuntofinito; denominado EL ALFABETO DE LA MÁQUINA .

En principio todas las celdas que no se hayan escritoantes contienen un carácter especial nulo (0 o #).La cinta puede contener tantas celdas a derecha eizquierda del cabezal como sean necesarias para el funcionamiento de la máquina.

Page 12: MAQUINAS DE TURING

El cabezal puede moverse a derecha (R) aizquierda (L) de su posición actual, así como leer el contenido de una celda o escribir en ellacualquier carácter de su alfabeto.

Existe un registro de estado que almacena el estado de la máquina. El número de estados posibles es finito, y no se exige ningún estadoespecial con el que sea iniciada la máquina.

Page 13: MAQUINAS DE TURING

Existe una tabla de acción, que contiene lasinstrucciones de lo que hará el autómata. Estas instrucciones representan en cierta forma el"PROGRAMA" de la máquina. Las ejecución de cada instrucción de la tabla deacción incluye cuatro pasos:

Page 14: MAQUINAS DE TURING

1. Leer un carácter en la posición actual.

2. Escribir un nuevo símbolo en esta posición(puede ser el mismo que había). El símbolo aescribir es alguno del alfabeto de la máquina, y depende del carácter leído y del estado actual.

3. Desplazar el cabezal una celda a derecha oizquierda (R/L); en algunos modelos eldesplazamiento puede ser nulo (detener H).

Page 15: MAQUINAS DE TURING

4. Decidir cual será el nuevo estado en función delcarácter que se acaba de leer y del estado actual.

Si la tabla de acción no contiene ninguna correspondencia con el estado actual y el símbolo leído, entonces la máquina detiene su Funcionamiento.

Page 16: MAQUINAS DE TURING

DEFINICIÓN FORMAL DE LA MAQUINA DE TURING

Una máquina 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 símbolos que no contiene al símbolo blanco.

Page 17: MAQUINAS DE TURING

3. Γ - el alfabeto de cinta, tal que: Σ Γ⊆ y en símbolo “_” está en Γ.

4. δ:Q×Γ→Q×Γ×{I,D} – la función de transición.

5. q0 Q ∈ – el estado inicial

6. qsi Q∈ – el estado aceptador.

Page 18: MAQUINAS DE TURING

En los modelos didácticos computarizados la tabla suele definirse mediante una matriz de cinco columnas que contiene:

Estado/Carácter-leído/Carácter-a-escribir/Movimiento/Nuevo-estado

S: Estado anterior R: Símbolo leído W: Símbolo a escribir M: Movimiento (R, L). N: Nuevo estado.

Page 19: MAQUINAS DE TURING

FUNCIONAMIENTO DE UNA MAQUINA DE TURING

Page 20: MAQUINAS DE TURING

Estado actual

Símbolo leído Operación Estado

siguiente Comentarios

S0 b R S0 Buscando el primer 1

S0 1 R S1 Primer 1 encontrado

S1 1 R S1 Buscando blanco de separación

S1 b 1 S2 Blanco encontrado, se cambia por 1

S2 1 L S2 Buscando blanco de la izquierda

S2 b R S3 Hallado blanco, cambiar el 1 siguiente

S3 1 b S4 Se cambia el primer 1 por blanco

S4 b H S0 Fin del proceso

EJEMPLO DE PROGRAMA PARA UNA MAQUINA DE TURING

Maquina de Turing para sumar 2 números

Page 21: MAQUINAS DE TURING

CLASES DE MÁQUINAS DE TURING

Page 22: MAQUINAS DE TURING

MÁQUINAS DE TURING DETERMINISTAS Y NO DETERMINISTAS

En el caso de que para cada par [estado y símbolo]posible exista a lo sumo una posibilidad de ejecución, se dirá que es DETERMINISTA,Mientras que en el caso de que exista al menos unpar [estado, símbolo] con más de una posible combinación de actuaciones se dirá que se trata de una máquina NO DETERMINISTA.

Page 23: MAQUINAS DE TURING

MÁQUINA UNIVERSAL DE TURING

La MTu es, en efecto una máquina universal, ya que simula el comportamiento de cualquier otra máquina codificada en su cinta.La máquina universal de Turing es un modelo de modelos, un modelo universal.

La máquina de Turing es el modelo teórico de la computabilidad por excelencia.

Page 24: MAQUINAS DE TURING

Supongamos que tenemos una Máquina de Turing dada, MTo, que realiza algún 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 función, no puede calcular la multiplicación o la raíz cuadrada

Page 25: MAQUINAS DE TURING

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

La tabla de MTo podría ser codificada como una secuencia lineal de símbolos para escribirla en una cinta.

Page 26: MAQUINAS DE TURING

Una opción seria:

Donde al inicio se escribe el estado inicial y las transiciones se separan con el Símbolo *. La entrada para la MTo comienza después del símbolo 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 tendría las instrucciones que le indicarían como seguir las instrucciones de la tabla MTo codificada en su cinta.

Page 27: MAQUINAS DE TURING

Las transiciones de MTu harán que se comporte de la misma manera que MTo. Es decir,

• 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.

MTu simulara cualquier MAQUINA DE TURING con una entrada arbitraria

Page 28: MAQUINAS DE TURING
Page 29: MAQUINAS DE TURING

Aunque el computador actual tiene antecedentes tan antiguos como las calculadoras mecánicas de Leibniz y Pascal (s. XVII), hoy se acepta que el

concepto generador de todos los ordenadores es

LA MÁQUINA UNIVERSAL DE TURING, Ideada en 1936.

Page 30: MAQUINAS DE TURING

SHIRLEY ESPITIA GONZALEZ

JOSE MARIA ESPINOSA BUELVAS

FRANKLIN GUIHUR MONTALVAN

GERARDO PADILLA DE LOS RIOS

Page 31: MAQUINAS DE TURING

GRACIAS!