UNIVERSIDAD NACIONAL DE SAN AGUSTIN FACULTAD DE INGENIERÍA DE PRODUCCIÓN Y SERVICIOS ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS EDITH PAMELA RIVERO TUPAC Ing. Informática y de Sistemas Magister en Seguridad Informática GUÍA DE LABORATORIO TEORÍA DE LA COMPUTACIÓN 2021 A COMPETENCIAS Al finalizar la asignatura el estudiante podrá aplicar de forma transformadora conocimientos de teoría de la computación como herramienta para evaluar, sintetizar y mostrar información como fundamento de sus ideas y perspectivas para la resolución de problemas. Curso: Teoría de la Computación Laboratorio 10 Página: 1 Variantes de Maquinas de Turing I OBJETIVOS Conocer e interactuar con variantes de una máquina de Turing II TEMAS A TRATAR Variantes de Maquinas de Turing Máquina de Turing de varias cintas Máquina de Turing no determinista III MARCO TEÓRICO 1. Introducción Existen algunos modelos de computadora que están relacionados con las máquinas de Turing y que tienen la misma funcionalidad de reconocimiento de lenguajes que el modelo básico de la MT. Uno de estos modelos es la máquina de Turing de varias cintas, y es importante porque es mucho más fácil ver cómo una MT de este tipo puede simular computadoras reales. Por otro lado, la máquina de Turing no determinista, permite elegir un movimiento entre un conjunto finito de posibles movimientos en una situación dada. Esta extensión también facilita la “programación” de las máquinas de Turing en algunas circunstancias. Mgt. Edith Pamela Rivero Tupac Curso: Teoría de la Computación Página: 2 1.1. Variantes Las variantes de las MT mantienen el concepto original, con ciertas modificaciones que permiten un enfoque diferente para distintos casos. Entre ellas se encuentran: MT de varias cintas MT no deterministas MT de doble cinta infinita MT con varias pilas MT desconectadas, con una cinta solamente para el output MT con solamente movimiento Left (L) y State (S) MT con estados aceptados y rechazados MT contadoras 2. Maquinas de Turing de varias cintas La MT tiene una unidad de control (estado) y un número finito de cintas. Cada cinta está dividida en casillas, y cada casilla puede contener cualquier símbolo del alfabeto. Al igual que en la MT de una sola cinta, el conjunto de símbolos de la cinta incluye el espacio en blanco y también dispone de un subconjunto de símbolos de entrada, al que no pertenece el espacio en blanco. El conjunto de estados incluye un estado inicial y varios estados de aceptación. La función de transición está dada por δ: Q x Γk Q x Γk x {L, R, S}k Mgt. Edith Pamela Rivero Tupac Curso: Teoría de la Computación Página: 3 3. Maquina de Turing no determinista Una máquina de Turing no determinista (MTN) se diferencia de la máquina determinista en que tiene una función de transición δ tal que para el estado q y símbolo de cinta X, δ (q,X) es un conjunto de tuplas. La MTN puede elegir, en cada paso, cuál de las tuplas será el siguiente movimiento. Sin embargo, no puede elegir un estado de una, un símbolo de cinta de otra y una dirección de una tercera. En otras palabras se ha reemplazado las función de transición por una relación de transición. Las MTN no aceptan ningún lenguaje que no sea aceptado por una MT determinista δ:Q x Γ P(Q x Γ x {L, R}) --> P = Power set/potencia de estados IV ACTIVIDADES 1. Realizar los siguientes ejercicios para entender la Maquina de Turing, las herramientas utilizadas serán JFlap. Mgt. Edith Pamela Rivero Tupac Curso: Teoría de la Computación Página: 4 V EJERCICIOS RESUELTOS 1. Ejercicio Nro1: Lenguaje que acepta: L = {anbncn | n ≥ 1} Su diagrama: 2. Ejercicio Nro2: Una máquina de Turing no determinista M empieza con el estado q0 y tiene los siguientes estados y δ. δ: Tabla de transición: Estado 0 1 q0 {(q1, 0, R)} {(q1, 0, R)} {(q1, 0, R)} q1 {(q1, 1, R), (q2, 0, L)} {(q1, 1, R), (q2, 1, L)} {(q1, 1, R), (q2, , L) } q2 {(q3, 0, R)} {(q2, 1, L)} {} q3 {} {} {} Lenguaje: L={w | {0,1}*} Mgt. Edith Pamela Rivero Tupac Curso: Teoría de la Computación Diagrama Configuración aceptada Para la cadena: 01110 q0 q1q2q3 con la siguiente configuración: q0(0;0, R) q1 q1(1;1, L) q2 q2(0;0, R) q3 Mgt. Edith Pamela Rivero Tupac Página: 5 Curso: Teoría de la Computación Página: 6 VI EJERCICIOS PROPUESTOS 1. EJERCICIO Nro 1 (Puntos 4) a) Reconocer el lenguaje que acepta b) Proporcionar tres palabras al azar que pertenezcan al lenguaje y revisar el resultado de la cinta. c) Reconocer cual es la función que se aplica a la cadena. 2. EJERCICIO Nro 2 (Puntos 5) Implementar la Maquina de Turing de 2 cintas cuya definición y funcionamiento sea duplicar una palabra del lenguaje: Lenguaje: L = {ambnam| m, n ≥ 1} 1. Primer paso, iniciar con la cadena en la cinta 1 y en vacio la cinta 2. 2. Segundo paso, al recorrer la cinta 1, se debe copiar en la cinta 2. Mgt. Edith Pamela Rivero Tupac Curso: Teoría de la Computación Página: 3. Tercer paso, mover la cinta 2 hasta al inicio de la palabra. 4. Cuarto paso, copiar los caracteres de la cinta 2 a la cinta 1. a) Obtener el diagrama en JFLAP. b) Ejecutar paso a paso un ejemplo y mostrar la salida para una cadena elegida. 3. EJERCICIO Nro 3 (Puntos 3) He aquí la función de transición de una MT no determinista (Ejercicio propuesto de [1], pagina 291) M = ({q0,q1,q2},{0,1},{0,1,B}, δ ,q0,B,{q2}): Mgt. Edith Pamela Rivero Tupac 7 Curso: Teoría de la Computación Página: 8 Determine la configuración alcanzable a partir de la configuración inicial si la entrada es: a) 01. b) 011. 4. EJERCICIO Nro 4 (Puntos 3) Considere la máquina de Turing no determinista (Ejercicio propuesto de [1], pagina 292): M = ({q0,q1,q2,qf },{0,1},{0,1,B},δ ,q0,B,{qf }) δ consta de los siguientes conjuntos de reglas: δ (q0,0) = {(q0,1,R), (q1,1,R)}; δ (q1,1) = {(q2,0,L)}; δ (q2,1) = {(q0,1,R)}; δ (q1,B) = {(qf ,B,R)} a) Describa el lenguaje que acepta b) Realice el diagrama. c) Determine la configuración alcanzable a partir de la configuración inicial para alguna cadena elegida. 5. EJERCICIO Nro 5 (Puntos 3) Recordando los ejercicios de de MT determinista: a) Obtener la definición formal, puede elegir el nombre de los estados. b) Proporcionar una palabra al azar que pertenezcan al lenguaje y revisar el resultado de la cinta. c) Reconocer cual es la función que se aplica a la cadena. Mgt. Edith Pamela Rivero Tupac Curso: Teoría de la Computación Página: 9 VII CUESTIONARIO 1. Investigar sobre autómatas finitos no deterministas, ¿Que relación tiene con los algoritmos BFS y DFS? (2 puntos) VIII BIBLIOGRAFÍA [1] J. E.Hopcroft, R. Motwani and J. D. Ullman, Teoría de autómatas, lenguajes y computación, Addison Wesley, 2007. [2] https://www2.cs.duke.edu/csed/jflap/tutorial/turing/multi/index.html Mgt. Edith Pamela Rivero Tupac