Está en la página 1de 26

Universidad Tecnolgica de la Selva

Presenta: Magnolia Noem Hernndez Gutirrez

Quin fue Alan Turing?

Alan Turing fue un cientfico ingls que hizo grandes aportaciones en: matemticas, filosofa, biologa, ciencias de la computacin, etc. La mquina de Turing (MT) fue descrita por Alan Turing en 1936.
2

Mquina de Turing utilizando Jflap

Qu es una MT?

Dispositivo capaz de manipular smbolos en una tira de cinta considerando ciertas reglas. pueden simular la lgica de cualquier algoritmo de una computadora.

Mquina de Turing utilizando Jflap

Cmo est formada una MT?


Una MT est formado por: Cinta infinita dividida en celdas Cabezal de lectura/escritura capaz de moverse sobre dicha cinta.

Mquina de Turing utilizando Jflap

Qu proceso sigue la MT?


Lee el carcter de la cinta

Segn el estado en que est: Pasa a un nuevo estado Puede: Escribir en la cinta Moverse

Mquina de Turing utilizando Jflap

Cmo 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 accin c


Acciones posibles:
: mover cinta a la derecha (R, right) : mover cinta a la izquierda (L, left) Dejar la cinta donde est (S, stay)

Mquina de Turing utilizando Jflap

Cmo dibujo una MT?

Toda MT se representa por una tabla de transicin. Si la transicin no es posible la MT se detiene.

Mquina de Turing utilizando Jflap

Cmo dibujo una MT?

Mquina de Turing utilizando Jflap

Qu es JFlap?

JFLAP (Java Formal Language and Automata Package) es una herramienta para la enseanza y la visualizacin interactiva de lenguajes formales. Permite crear y operar sobre autmatas (finitos, mquinas de Moore y Mealy, Turing), gramticas, expresiones regulares y L-systems.
9

Mquina de Turing utilizando Jflap

Cmo creo una MT en JFlap 7.0?


Seleccionar la opcin Turing Machine

10

Mquina de Turing utilizando Jflap

Cont

Crear estados

Crear transiciones Eliminar elemento

11

Mquina 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

12

Mquina 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

13

Mquina de Turing utilizando Jflap

Cont

MT que lee 1s y los convierte a espacios en blanco.

14

Mquina de Turing utilizando Jflap

Cmo hago la simulacin de la MT en Jflap 7.0?

Seleccionar la opcin Step

15

Mquina de Turing utilizando Jflap

Escribir la cadena y dar clic en aceptar

Cont

Pestaa del simulador Simulacin de la MT clic en el botn step


16

Mquina de Turing utilizando Jflap

Cont

Fin de la simulacin
Los 1s se han convertido en espacios en blanco

17

Mquina de Turing utilizando Jflap

Ejercicios

1. Disear una Mquina de Turing que calcule el complemento a 1 de un nmero binario. (Es decir, que sustituya los 0s por 1s y los 1s por 0s). El cabezal debe terminar al inicio de la palabra. 2. Disear una Mquina de Turing que obtenga el sucesor de un nmero en codificacin unaria. Considerar en la codificacin unaria que el 0 se representa por la cadena vaca, el 1 por 1, el 2 por 11, etc. 3. Disear una Mquina de Turing que obtenga el predecesor de un nmero en codificacin unaria. 4. Disear una Mquina de Turing que calcule la paridad de un nmero binario. Es decir, si el nmero de 1s de la cadena es par, se aade un 0 al final, y si es impar, se aade un 1.

18

Mquina de Turing utilizando Jflap

Ejercicios
Disear una Mquina de Turing que sea un contador unario de caracteres del lenguaje con alfabeto = {a,b,c}. Es decir, se deben devolver tantos 1s como caracteres haya en la palabra de entrada. Considerar la codificacin unaria del 0 igual que en el ejercicio 2.

5. No se debe mantener la palabra. 6. Mantener la posicin de la palabra de entrada, pero sustituida por marcas, y a continuacin, el contador. 7. Se debe mantener la palabra de entrada y despus debe aparecer el contador.

19

Mquina de Turing utilizando Jflap

Ejercicios

8. Disear una Mquina de Turing que tome como entrada una cadena con M 1s y N As (M<=N), y cambia las M primeras As por Bs. Por ejemplo, para la entrada b11AAAAAb devuelve en la cinta b11BBAAAb, donde b representa la celda de la cinta vaca. 9. Disear una Mquina de Turing que obtenga el sucesor de un nmero binario. 10. Disear una Mquina de Turing que obtenga el antecesor de un nmero binario.

20

Mquina de Turing utilizando Jflap

21

Mquina de Turing utilizando Jflap

22

Mquina de Turing utilizando Jflap

23

Mquina de Turing utilizando Jflap

24

Mquina de Turing utilizando Jflap

25

Mquina de Turing utilizando Jflap

10

26

Mquina de Turing utilizando Jflap

También podría gustarte