maquinas de turing
TRANSCRIPT
Autómatas y Lenguajes Formales
LAS 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
“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?
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.
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.
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.
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
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.
ESQUEMA DE UNA MAQUINA DE TURING
¡Aquí hay una b!
a
cabeza: lee / escribe
movimientos: izda / dcha
cinta infinita
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:
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.
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.
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:
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).
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.
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.
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.
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.
FUNCIONAMIENTO DE UNA MAQUINA 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
CLASES DE MÁQUINAS 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.
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.
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
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.
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.
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
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.
SHIRLEY ESPITIA GONZALEZ
JOSE MARIA ESPINOSA BUELVAS
FRANKLIN GUIHUR MONTALVAN
GERARDO PADILLA DE LOS RIOS
GRACIAS!