Máquina de Turing con JFlap

November 19, 2018 | Author: Efrén Cancino | Category: Computer Science, Areas Of Computer Science, Computing, Technology, Theoretical Computer Science
Share Embed Donate


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

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF