máquina de turing con jflap
TRANSCRIPT
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
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
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.
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
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
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
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
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
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
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
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
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
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