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