Subido por Yessica Reyes

Máquina de Turing

Anuncio
INSTITUTO TECNOLÓGICO SUPERIOR DE ÁLAMO TEMAPACHE
DOCENTE:
ING. NICOLASA HERNÁNDEZ SOSA
ALUMNAS:
YESSICA CRUZ REYES – 192Z0036
KATIA PAOLA GÓMEZ BAUTISTA – 192Z0040
ASIGNATURA:
LENGUAJES Y AUTÓMATAS I
ACTIVIDAD:
EXPOSICIÓN MÁQUINAS DE TURING
CARRERA Y GRUPO:
INGENIERÍA EN SISTEMAS COMPUTACIONALES, 6S1A
Introducción
Alan Mathison Turing (1912-1954) fue un matemático, lógico, informático teórico, criptógrafo, filósofo y
biólogo. Famoso por descifrar el código nazi en la Segunda Guerra Mundial.
Padre de la ciencia de la computación y precursor de la informática moderna. Formalizó los conceptos de
algoritmo y computación por medio de la utilización de la máquina de Turing (1936)
Una máquina de Turing es un modelo computacional que realiza lectura y escritura de manera automática
sobre una entrada llamada cinta, generando una salida en esta misma.
Introducción
Una máquina de Turing es una máquina hipotética destinada a simular cualquier algoritmo informático, sin
importar la complejidad. La máquina como la pensó el matemático Alan Turing en 1936, es un marco
relativamente simple que consiste en una cinta infinitamente larga que actúa como la memoria de la
computadora.
Componentes de la Máquina de Turing
Una máquina de Turing esencialmente consta de los siguientes elementos:
• Una cinta tan larga como sea necesaria, dividida en casillas o celdas, que son la memoria y en la
que se puede escribir símbolos o caracteres.
• Un cabezal capaz de moverse por la cinta de izquierda a derecha y leer y escribir símbolos en esa
cinta.
• Consta de un programa que le diga a la cabeza que es lo que tiene que hacer. Este programa esta
escrito en lenguaje binario.
Componentes de la Máquina de Turing
Estado de la máquina
Una máquina de Turing continuará procesando valores binarios sin cesar a menos que tenga un punto definido de
finalización. El programa que le dice a la máquina cuando debe detenerse se llama estado de la máquina.
Por ejemplo, cuando un 0 y un 1 tienen instrucciones definidas dentro del estado inicial, un estado secundario puede
tener instrucciones alternativas. Cuando se lee cada símbolo, la máquina ejecuta cada instrucción de escritura, de
movimiento y luego pasa al siguiente estado (que puede tener instrucciones similares para cada símbolo.
Definición formal
La definición formal nos dice que es una séptima tupla formada por:
MT = {Q, ∑, ┌, S, B, F, 𝛿}
Donde:
Q = conjunto finito de estados.
∑ = alfabeto de entrada.
┌ = alfabeto de la cinta.
S = estado inicial (pertenece a Q).
B = cadena vacía.
F = estados finales o de aceptación.
𝛿 = todas las funciones de transición.
Ejemplo
• Se tiene una máquina que tiene lo siguiente: MT = {Q, ∑, ┌, S, B, F, 𝛿}
Q = {q0, q1}
∑ = {a, b}
┌ = {ƀ, a, b}
𝛿
𝛿(q0, a) = (q0, a, R)
𝛿(q0, b) = (q0, a, R)
𝛿(q0, ƀ) = (q1, ƀ, L)
S = q0
B = B{ƀ, #, “”}
F = {q1}
Ejemplo
𝛿(q0, a) = (q0, a, R)
𝛿(q0, b) = (q0, a, R)
𝛿(q0, ƀ) = (q1, ƀ, L)
En la notación, la primera letra indica lo que se debe leer y la segunda lo que se debe escribir y la ultima indica si
se debe mover a la izquierda o a la derecha.
Lo que realizan las transiciones son:
• Estando en el estado inicial 0, si se lee una a se mueve a la derecha.
• Si se lee una b la cambia por a y se mueve a la derecha.
• Si se encuentra un blanco o cadena vacía se mueve a la izquierda y cambia de estado a estado de aceptación.
Tipos de máquinas de Turing
•
Maquina de Turing Multidimensional: una máquina de Turing multidimensional es aquella
cuya cinta puede verse como extendiéndose infinitamente en más de una dirección, el
ejemplo más básico sería el de una máquina bidimensional cuya cinta se extendería
infinitamente hacia arriba o hacia abajo, derecha e izquierda.
•
En esta modificación de la MT también se agregan 2 nuevos movimientos del cabezal. De
esta forma la definición de los movimientos que realiza en el cabezal será (L,R,U,D).
Construcción modular de una Máquina de Turing
Objetivo de la creación modular de la máquina de Turing:
Mediante esta técnica pueden desarrollarse máquinas de Turing complejas a partir de bloques elementales a
partir de máquinas 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.
Construcción modular de una Máquina de Turing
El contenido de la cinta cuando la segunda máquina de Turing comienza la ejecución consiste
en todo lo que sobra de la primera máquina de Turing, la cabeza de la segunda máquina de
Turing se colocará en la celda al comienzo de la ejecución de la primera cinta final.
Pasos para la construcción modular de una Máquina de Turing:
• Elimine las características de inicio de los estados iniciales de las maquinas, excepto la de aquel donde iniciara
la maquina compuesta.
• Elimine las características de detención de los estados de parada de todas las máquinas e introduzca un nuevo
estado de parada que no se encuentre en ninguno de los diagramas que se combinan.
• Para cada uno de los antiguos estados de parada p y cada x en y.
Se pueden combinar 2 máquinas de Turing permitiendo que compartan la misma cinta y, que cuando una termine su
ejecución, el otro empiece. El contenido de la cinta cuando comienza la ejecución de la segunda máquina de Turing, está
formado por todo lo que dejó la primera máquina de Turing, y la cabeza de lectura y escritura de la segunda se situará, al
comienzo de la ejecución, sobre la celda de la cinta sobre la que terminó la primera.
Máquina de Turing compuesta:
Lenguajes aceptados por la Máquina de Turing
•
•
Al lenguaje reconocido por la máquina de Turing se le denomina L(MT) y es el conjunto
de palabras formadas con el alfabeto, que hace que la máquina de Turing se pare al
alcanzar un estado final.
Una máquina de Turing reconoce un lenguaje L si es capaz de reconocer todas las
palabras de dicho lenguaje. Si es una palabra L es aceptada, la máquina se para, es decir,
alcanza un estado final.
La máquina de Turing acepta los siguientes lenguajes:
Lenguajes formales:
Pueden ser generados por una gramática de tipo 0 recursivamente innumerable (r.e). Las máquinas de
Turing son los reconocedores de lenguajes más poderosos que existen.
Lenguajes regulares:
Las gramáticas (de tipo 3) formales definen un lenguaje describiendo como se pueden generar las
cadenas del lenguaje.
Las gramáticas regulares (aquellas reconocidas por un autómata finito). Son las gramáticas más
restrictivas. El lado derecho de una producción debe tener un símbolo terminal y como máximo un
símbolo no terminal.
Lenguajes libres de contexto:
Estas gramáticas conocidas también como gramáticas de tipo 2 o gramáticas independientes libres del contexto.
Los lenguajes libres del contexto son aquellos que pueden ser reconocidos por un autómata de pila determinístico.
Como toda gramática se define mediante una cuádrupla:
G = {N, T, S, P}
Donde:
N = conjunto finito de símbolos no terminales.
T = conjunto de símbolos terminales.
S = conjunto finito de producciones.
P = conjunto de reglas de producción.
Conclusiones
Con esta investigación aprendimos que la máquina de Turing es una máquina que realiza lectura y
escritura de manera automática sobre una cinta.
El objetivo que tiene la máquina de Turing es la solución de problemas computacionales de
reconocimiento de lenguajes, y como vimos, la máquina de Turing es un poderoso reconocedor de
lenguajes.
Esta máquina se encarga de determinar si un problema matemático puede ser resuelto o no mediante un
procedimiento.
En conclusión, es interesante saber del tema ya que la máquina de Turing sentó las bases de las
computadoras que se usan en la actualidad, además de que fue un gran avance en el campo de la
informática.
Referencias bibliograficas
Juan Pizza M. (2022, June 12). 7. Construcción modular de las MT. Blogspot.com. http://maquinasdeturing.blogspot.com/2010/08/el-objetivo-de-la-creacionmodular-de.html
Bermúdez. (2022, June 12). 4.1 DEFINICION FORMAL DE UNA MAQUINA TURING. Blogspot.com. http://teodelacomp.blogspot.com/2011/03/41definicion-formal-de-una-maquina.html
Omar Antolín Camarena. (2014). Definición de Máquinas de Turing. Unam.mx. https://www.matem.unam.mx/~omar/computabilidad/tema1.html
Leonel. (2022). Maquina De Turing. Calameo.com. https://es.calameo.com/books/004798661f180a3ecbfd7
Juan Pizza M. (2022, June 12). 6. Lenguajes aceptados por una MT. Blogspot.com. http://maquinasdeturing.blogspot.com/2010/08/6-lenguajes-aceptadospor-una-mt.html
Cristina, V. (2022, June 12). 6. Cuáles son los lenguajes aceptados para una Máquina de Turing. De 3 ejemplos de cadena de estos lenguajes. Blogspot.com.
http://trab-vanessa7.blogspot.com/2011/05/6-cuales-son-los-lenguajes-aceptados.html
UNAD. (2022, June 12). LOS LENGUAJES ACEPTADOS PARA UNA MAQUINA DE TURING (Ejemplos). Blogspot.com.
http://maquinadeturingunad.blogspot.com/2010/11/los-lenguajes-aceptados-para-una.html
GRACIAS POR SU
ATENCION
Descargar