Máquina de Turing con JFlap
Short Description
Download Máquina de Turing con JFlap...
Description
Universidad Tecnológica de la Selva
Presenta: Magnolia Noemí Hernández Gutiérrez
¿Quién fue Alan Turing? Turing?
Alan Turing fue un científico 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. Máquina de Turing utilizando Jflap
¿Qué es una MT?
Dispositivo capaz de manipular símbolos en una tira de cinta considerando ciertas reglas. pueden simular la lógica de cualquier algoritmo de una computadora.
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.
Máquina de Turing utilizando Jflap
¿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
Máquina de Turing utilizando Jflap
¿Cómo dibujo una MT?
Grafo con nodos y transiciones de la siguiente forma: a;b,c p
q
Si leo a, 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, stay)
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.
Máquina de Turing utilizando Jflap
¿Cómo dibujo una MT?
Máquina de Turing utilizando Jflap
¿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, máquinas de Moore y Mealy, Turing…), gramáticas, expresiones regulares y L-systems. Máquina de Turing utilizando Jflap
¿Cómo creo una MT en JFlap 7.0? Seleccionar la opción Turing Machine
Máquina de Turing utilizando Jflap
Cont…
Crear transiciones Crear estados Eliminar elemento
Máquina de Turing utilizando Jflap
Cont…
Si lee 1; escribe blanco y se mueve a la derecha Si lee blanco; escribe blanco y se mantiene en su lugar
Máquina de Turing utilizando Jflap
Cont… clic derecho al nodo q0 para indicarle que es el inicio
clic derecho al nodo q1 para indicarle que es el final
Máquina de Turing utilizando Jflap
Cont…
MT que lee 1’s y los convierte a espacios en blanco.
Máquina de Turing utilizando Jflap
¿Cómo hago la simulación de la MT en Jflap 7.0?
Seleccionar la opción Step
Máquina de Turing utilizando Jflap
Cont…
Escribir la cadena y dar clic en aceptar
Pestaña del simulador Simulación de la MT
clic en el botón step
Máquina de Turing utilizando Jflap
Cont…
Fin de la simulación Los 1’s se han convertido en espacios en blanco
Máquina de Turing utilizando Jflap
Ejercicios
1. Diseñar una Máquina de Turing que calcule el complemento a 1 de un número binario. (Es decir, que sustituya los 0‟s por 1‟s y los 1‟s por 0‟s). El cabezal debe terminar al inicio de la palabra.
2. Diseñar una Máquina de Turing que obtenga el sucesor de un número en codificación unaria. Considerar en la codificación unaria que el 0 se representa por la cadena vacía, el 1 por 1, el 2 por 11, etc.
3. Diseñar una Máquina de Turing que obtenga el predecesor de un número en codificación unaria.
4. Diseñar una Máquina de Turing que calcule la paridad de un número binario. Es decir, si el número de 1‟s de la cadena es par, se añade un 0 al final, y si es impar, se añade un 1.
Máquina de Turing utilizando Jflap
Ejercicios Diseñar una Máquina de Turing que sea un contador unario de caracteres del lenguaje con alfabeto Σ= {a,b,c}. Es decir, se deben devolver tantos 1‟s como caracteres haya en la palabra de entrada. Considerar la codificación unaria del 0 igual que en el ejercicio 2.
5. No se debe mantener la palabra.
6. Mantener la posición de la palabra de entrada, pero sustituida por marcas, y a continuación, el contador.
7. Se debe mantener la palabra de entrada y después debe aparecer el contador.
Máquina de Turing utilizando Jflap
Ejercicios
8. Diseñar una Máquina de Turing que tome como entrada una cadena con M 1‟s y N A‟s (M
View more...
Comments