Máquina de Turing con JFlap

26
Universidad Tecnológica  de la Selva Presenta: Magnolia Noemí Hernández Gutiérrez 

Transcript of Máquina de Turing con JFlap

Page 1: Máquina de Turing con JFlap

7/16/2019 Máquina de Turing con JFlap

http://slidepdf.com/reader/full/maquina-de-turing-con-jflap 1/26

Universidad Tecnológica 

 de la Selva 

Presenta:Magnolia Noemí Hernández Gutiérrez 

Page 2: Máquina de Turing con JFlap

7/16/2019 Máquina de Turing con JFlap

http://slidepdf.com/reader/full/maquina-de-turing-con-jflap 2/26

Máquina de Turing utilizando Jflap 

¿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 lacomputación, etc.

La máquina de Turing (MT) fuedescrita por Alan Turing en

1936.

2

Page 3: Máquina de Turing con JFlap

7/16/2019 Máquina de Turing con JFlap

http://slidepdf.com/reader/full/maquina-de-turing-con-jflap 3/26

Máquina de Turing utilizando Jflap 

¿Qué es una MT?

Dispositivo capaz de manipular símbolosen una tira de cinta considerando ciertasreglas.

3

pueden simular la

lógica de cualquier 

algoritmo de una

computadora. 

Page 4: Máquina de Turing con JFlap

7/16/2019 Máquina de Turing con JFlap

http://slidepdf.com/reader/full/maquina-de-turing-con-jflap 4/26

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.

4

Page 5: Máquina de Turing con JFlap

7/16/2019 Máquina de Turing con JFlap

http://slidepdf.com/reader/full/maquina-de-turing-con-jflap 5/26

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

5

Page 6: Máquina de Turing con JFlap

7/16/2019 Máquina de Turing con JFlap

http://slidepdf.com/reader/full/maquina-de-turing-con-jflap 6/26

Máquina de Turing utilizando Jflap 

¿Cómo dibujo una MT?

Grafo con nodos y transiciones de la

siguiente forma: a;b,c

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)

6

p q

Page 7: Máquina de Turing con JFlap

7/16/2019 Máquina de Turing con JFlap

http://slidepdf.com/reader/full/maquina-de-turing-con-jflap 7/26Má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

Page 8: Máquina de Turing con JFlap

7/16/2019 Máquina de Turing con JFlap

http://slidepdf.com/reader/full/maquina-de-turing-con-jflap 8/26Máquina de Turing utilizando Jflap 

¿Cómo dibujo una MT?

8

Page 9: Máquina de Turing con JFlap

7/16/2019 Máquina de Turing con JFlap

http://slidepdf.com/reader/full/maquina-de-turing-con-jflap 9/26Má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.

9

Page 10: Máquina de Turing con JFlap

7/16/2019 Máquina de Turing con JFlap

http://slidepdf.com/reader/full/maquina-de-turing-con-jflap 10/26Máquina de Turing utilizando Jflap 

¿Cómo creo una MT en JFlap

7.0?

Seleccionar la opción

Turing Machine

10

Page 11: Máquina de Turing con JFlap

7/16/2019 Máquina de Turing con JFlap

http://slidepdf.com/reader/full/maquina-de-turing-con-jflap 11/26

Máquina de Turing utilizando Jflap 

Cont… 

Crear estados

11

Crear transiciones

Eliminar elemento

Page 12: Máquina de Turing con JFlap

7/16/2019 Máquina de Turing con JFlap

http://slidepdf.com/reader/full/maquina-de-turing-con-jflap 12/26

Máquina de Turing utilizando Jflap 12

Cont… 

Si lee 1; escribe

blanco y se mueve ala derecha

Si lee blanco; escribeblanco y se mantieneen su lugar

Page 13: Máquina de Turing con JFlap

7/16/2019 Máquina de Turing con JFlap

http://slidepdf.com/reader/full/maquina-de-turing-con-jflap 13/26

Máquina de Turing utilizando Jflap 13

Cont… 

clic derecho al nodoq0 para indicarleque es el inicio

clic derecho al nodoq1 para indicarleque es el final

Page 14: Máquina de Turing con JFlap

7/16/2019 Máquina de Turing con JFlap

http://slidepdf.com/reader/full/maquina-de-turing-con-jflap 14/26

Máquina de Turing utilizando Jflap 14

Cont… 

MT que lee 1’s y los convierte aespacios en blanco.

Page 15: Máquina de Turing con JFlap

7/16/2019 Máquina de Turing con JFlap

http://slidepdf.com/reader/full/maquina-de-turing-con-jflap 15/26

Máquina de Turing utilizando Jflap 

¿Cómo hago la simulación de

la MT en Jflap 7.0?

15

Seleccionar laopción Step

Page 16: Máquina de Turing con JFlap

7/16/2019 Máquina de Turing con JFlap

http://slidepdf.com/reader/full/maquina-de-turing-con-jflap 16/26

Máquina de Turing utilizando Jflap 16

Cont… Escribir la

cadena y dar clic

en aceptar

Pestaña del

simulador

clic en el botón

step

Simulación

de la MT

Page 17: Máquina de Turing con JFlap

7/16/2019 Máquina de Turing con JFlap

http://slidepdf.com/reader/full/maquina-de-turing-con-jflap 17/26

Máquina de Turing utilizando Jflap 17

Cont… 

Fin de lasimulación

Los 1’s se hanconvertido en

espacios en blanco

Page 18: Máquina de Turing con JFlap

7/16/2019 Máquina de Turing con JFlap

http://slidepdf.com/reader/full/maquina-de-turing-con-jflap 18/26

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 unariaque 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.

18

Page 19: Máquina de Turing con JFlap

7/16/2019 Máquina de Turing con JFlap

http://slidepdf.com/reader/full/maquina-de-turing-con-jflap 19/26

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.

19

Page 20: Máquina de Turing con JFlap

7/16/2019 Máquina de Turing con JFlap

http://slidepdf.com/reader/full/maquina-de-turing-con-jflap 20/26

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<=N), y cambia las M primeras A‟s por B‟s. Por ejemplo,

para la entrada “b11AAAAAb” devuelve en la cinta “b11BBAAAb”, donde „b‟

representa la celda de la cinta vacía.

9. Diseñar una Máquina de Turing que obtenga el sucesor de un número

binario.

10. Diseñar una Máquina de Turing que obtenga el antecesor de un

número binario.

20

Page 21: Máquina de Turing con JFlap

7/16/2019 Máquina de Turing con JFlap

http://slidepdf.com/reader/full/maquina-de-turing-con-jflap 21/26

Máquina de Turing utilizando Jflap 

1

21

2

Page 22: Máquina de Turing con JFlap

7/16/2019 Máquina de Turing con JFlap

http://slidepdf.com/reader/full/maquina-de-turing-con-jflap 22/26

Máquina de Turing utilizando Jflap 

3

22

4

Page 23: Máquina de Turing con JFlap

7/16/2019 Máquina de Turing con JFlap

http://slidepdf.com/reader/full/maquina-de-turing-con-jflap 23/26

Máquina de Turing utilizando Jflap 

5

23

6

Page 24: Máquina de Turing con JFlap

7/16/2019 Máquina de Turing con JFlap

http://slidepdf.com/reader/full/maquina-de-turing-con-jflap 24/26

Máquina de Turing utilizando Jflap 

7

24

Page 25: Máquina de Turing con JFlap

7/16/2019 Máquina de Turing con JFlap

http://slidepdf.com/reader/full/maquina-de-turing-con-jflap 25/26

Máquina de Turing utilizando Jflap 

8

25

Page 26: Máquina de Turing con JFlap

7/16/2019 Máquina de Turing con JFlap

http://slidepdf.com/reader/full/maquina-de-turing-con-jflap 26/26

Máquina de Turing utilizando Jflap

9

26

10