Universidad Tecnológica de la SelvaPresenta: Magnolia Noemí Hernández Gutiérrez ¿Quién fue Alan Turing? Alan Turing fue un científico inglés que hizo grandes aportaciones en: matemáticas, filosofía, biología, ciencias de la computación, etc. La máquina de Turing (MT) fue descrita por Alan Turing en 1936. 2 Máquina de Turing utilizando Jflap pueden simular la lógica de cualquier algoritmo de una computadora.¿Qué es una MT? Dispositivo capaz de manipular símbolos en una tira de cinta considerando ciertas reglas. 3 Máquina de Turing utilizando Jflap . 4 Máquina de Turing utilizando Jflap .¿Cómo está formada una MT? Una MT está formado por: Cinta infinita dividida en celdas Cabezal de lectura/escritura capaz de moverse sobre dicha cinta. ¿Qué proceso sigue la MT? Lee el carácter de la cinta Según el estado en que está: Pasa a un nuevo estado Puede: Escribir en la cinta Moverse 5 Máquina de Turing utilizando Jflap . escribo b y hago la acción c Acciones posibles: ►: mover cinta a la derecha (R. right) ◄: mover cinta a la izquierda (L. left) Dejar la cinta donde está (S.b.¿Cómo dibujo una MT? Grafo con nodos y transiciones de la siguiente forma: a.c p q Si leo a. stay) 6 Máquina de Turing utilizando Jflap . ¿Cómo dibujo una MT? Toda MT se representa por una tabla de transición. Si la transición no es posible la MT se detiene. 7 Máquina de Turing utilizando Jflap . ¿Cómo dibujo una MT? 8 Máquina de Turing utilizando Jflap . 9 Máquina de Turing utilizando Jflap . máquinas de Moore y Mealy. gramáticas. Turing…).¿Qué es JFlap? JFLAP (Java Formal Language and Automata Package) es una herramienta para la enseñanza y la visualización interactiva de lenguajes formales. Permite crear y operar sobre autómatas (finitos. expresiones regulares y L-systems. ¿Cómo creo una MT en JFlap 7.0? Seleccionar la opción Turing Machine 10 Máquina de Turing utilizando Jflap . Cont… Crear estados Crear transiciones Eliminar elemento 11 Máquina de Turing utilizando Jflap . escribe blanco y se mueve a la derecha Si lee blanco. escribe blanco y se mantiene en su lugar 12 Máquina de Turing utilizando Jflap .Cont… Si lee 1. Cont… clic derecho al nodo q0 para indicarle que es el inicio clic derecho al nodo q1 para indicarle que es el final 13 Máquina de Turing utilizando Jflap . 14 Máquina de Turing utilizando Jflap .Cont… MT que lee 1’s y los convierte a espacios en blanco. 0? Seleccionar la opción Step 15 Máquina de Turing utilizando Jflap .¿Cómo hago la simulación de la MT en Jflap 7. Escribir la cadena y dar clic en aceptar Cont… Pestaña del simulador Simulación de la MT clic en el botón step 16 Máquina de Turing utilizando Jflap . Cont… Fin de la simulación Los 1’s se han convertido en espacios en blanco 17 Máquina de Turing utilizando Jflap . y si es impar. 18 Máquina de Turing utilizando Jflap . Diseñar una Máquina de Turing que calcule la paridad de un número binario. El cabezal debe terminar al inicio de la palabra. (Es decir. Diseñar una Máquina de Turing que calcule el complemento a 1 de un número binario. Considerar en la codificación unaria que el 0 se representa por la cadena vacía. Es decir. si el número de 1‟s de la cadena es par. el 2 por 11. etc. se añade un 1. 4. 2. Diseñar una Máquina de Turing que obtenga el sucesor de un número en codificación unaria.Ejercicios 1. el 1 por 1. se añade un 0 al final. que sustituya los 0‟s por 1‟s y los 1‟s por 0‟s). 3. Diseñar una Máquina de Turing que obtenga el predecesor de un número en codificación unaria. b. Es decir. Se debe mantener la palabra de entrada y después debe aparecer el contador. y a continuación.Ejercicios Diseñar una Máquina de Turing que sea un contador unario de caracteres del lenguaje con alfabeto Σ= {a. 5. No se debe mantener la palabra.c}. se deben devolver tantos 1‟s como caracteres haya en la palabra de entrada. 19 Máquina de Turing utilizando Jflap . Mantener la posición de la palabra de entrada. el contador. 6. pero sustituida por marcas. 7. Considerar la codificación unaria del 0 igual que en el ejercicio 2. para la entrada “b11AAAAAb” devuelve en la cinta “b11BBAAAb”. y cambia las M primeras A‟s por B‟s. 20 Máquina de Turing utilizando Jflap . Diseñar una Máquina de Turing que tome como entrada una cadena con M 1‟s y N A‟s (M<=N). 9. Diseñar una Máquina de Turing que obtenga el sucesor de un número binario.Ejercicios 8. Por ejemplo. Diseñar una Máquina de Turing que obtenga el antecesor de un número binario. donde „b‟ representa la celda de la cinta vacía. 10. 1 2 21 Máquina de Turing utilizando Jflap . 3 4 22 Máquina de Turing utilizando Jflap . 5 6 23 Máquina de Turing utilizando Jflap . 7 24 Máquina de Turing utilizando Jflap . 8 25 Máquina de Turing utilizando Jflap . 9 10 26 Máquina de Turing utilizando Jflap .