You are on page 1of 21

Lenguajes formales y autmatas Ing.

Byron Anle
Cesar Emanuel Yac Roblero 1564506 Pedro Jesus Yac Roblero 2038505 Julie Soto Cux

Descripcin
Esta presentacin describe paso a paso la generacin de un autmata que recibe un alfabeto en (0,1) cuyas palabras sean mltiplos de 5 en binario respectivamente .

Lo primero :
Hallando patrones Descripcin formal Generacin del autmata

Hallando patrones
Para hallar patrones dentro de los nmeros binarios que pertenecen a los mltiplos de 5 vemos la siguiente tabla.

5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 1 1 1 1 1 1 1 0 1 0 1 0 1 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 1 1 0 1 1 0 0 1 0 0 1 0

1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0

0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0

1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0

Hallando el primer patrn


Entonces de la tabla anterior podemos observar que para cada numero par si se le agrega un numero 0 a la izquierda este ser el doble de mismo ejemplos:
decimal 10 20 binario 1010 10100 decimal 30 60 binario 11110 111100

Hallando el segundo patrn


Otro patrn podemos verlo de la siguiente manera , al operar las siguientes cantidades con el operador (mod).
5mod(5)=0,10mod(5)=0,15mod(5)=0,20mod(5)=0 Podemos observar que 5,10,15,20 son mltiplos de 5 de modo que concluimos que para todo X que pertenece a el conjunto de los mltiplos de 5 la operacin X(mod 5)=0 siempre ser 0

Ahora bien ya tenemos un patrn para los mltiplos de 5 pero y las dems cadenas? Como por ejemplo: para los numero entre 21 y 30. 21 mod(5)=1 26 mod(5)=1 22 mod(5)=2 27 mod(5)=2 23 mod(5)=3 28 mod(5)=3 24 mod(5)=4 29 mod(5)=4

De la tabla anterior podremos concluir lo siguiente.


21 mod(5)=1 22 mod(5)=2 23 mod(5)=3 24 mod(5)=4 26 mod(5)=1 27 mod(5)=2 28 mod(5)=3 29 mod(5)=4

Que este patrn es repetitivo para todos los intervalos siguientes sea que en resumen solo podemos tener 5 casos los cuales son.

20 mod(5)=0 21 mod(5)=1 22 mod(5)=2 23 mod(5)=3 24 mod(5)=4

26 mod(5)=1 27 mod(5)=2 28 mod(5)=3 29 mod(5)=4 30 mod(5)=0

Ya que 20 y 30 son mltiplos de 5 en total tenemos 5 casos posibles dentro de este rango y para el resto.

Entonces podemos empezar a definir una notacin formal para armar el autmata la cual podemos empezar como : Sea X una palabra cualquiera generada por el alfabeto (0,1) y b un elemento del alfabeto
Si X mod(5)=0 ; entonces Xb mod(5) = 0 si b=0 ; y Xb mod(5)=1 SI b=1 Por ejemplo Con x=20 x(binario)=10100 20 mod(5)=0 ; 10100 0 mod(5)=0 con b=0 ; 10100 1 mod(5)=1 con b=1 40 mod (5) =0 41 mod (5) =1 De este ejemplo podemos observar que al agregarle un bit a la izquierda el numero se duplica y se le suma 1 si el bit agregado es 1 .

Nota:
De este ejemplo podemos observar que al agregarle un bit a la izquierda el numero se duplica y se le suma 1 si el bit agregado es 1 .

Entonces podemos tener los siguientes casos:


Si Si Si Si Si X mod(5)=0 X mod(5)=1 X mod(5)=2 X mod(5)=3 X mod(5)=4 ; entonces Xb ; entonces Xb ; entonces Xb ; entonces Xb ; entonces Xb mod(5) = 0 si b=0 ; y Xb mod(5)=1 SI b=1 mod(5) = 2 si b=0 ; y Xb mod(5)=3 SI b=1 mod(5) = 4 si b=0 ; y Xb mod(5)=0 SI b=1 mod(5) = 1 si b=0 ; y Xb mod(5)=2 SI b=1 mod(5) = 3 si b=0 ; y Xb mod(5)=4 SI b=1

Estos serian todos los casos posibles

Ejemplo para cada caso


Si X mod(5)=0 ; entonces Xb mod(5) = 0 si b=0 ; y Xb mod(5)=1 SI b=1 Por ejemplo Con x=20 x(binario)=10100 20 mod(5)=0 ; 10100 0 mod(5)=0 con b=0 ; 10100 1 mod(5)=1 con b=1 40 mod (5) =0 41 mod (5) =1 Si X mod(5)=1 ; entonces Xb mod(5) = 2 si b=0 ; y Xb mod(5)=3 SI b=1 Por ejemplo Con x=21 x(binario)=10101 20 mod(5)=0 ; 10101 0 mod(5)=2 con b=0 ; 10101 1 mod(5)=3 con b=1 42 mod (5) =2 43 mod (5) =3

Si X mod(5)=2 ; entonces Xb mod(5) = 4 si b=0 ; y Xb mod(5)=0 SI b=1 Por ejemplo Con x=22 x(binario)=10110 22 mod(5)=0 ; 10110 0 mod(5)=4 con b=0 ; 10110 1 mod(5)=0 con b=1 44 mod (5) =4 45 mod (5) =0

Si X mod(5)=3 ; entonces Xb mod(5) = 1 si b=0 ; y Xb mod(5)=2 SI b=1 Por ejemplo Con x=23 x(binario)=10111 23 mod(5)=0 ; 10111 0 mod(5)=1 con b=0 ; 10111 1 mod(5)=2 con b=1 46 mod (5) =1 47 mod (5) =2

Si X mod(5)=4 ; entonces Xb mod(5) = 3 si b=0 ; y Xb mod(5)=4 SI b=1 Por ejemplo Con x=23 x(binario)=11000 24 mod(5)=0 ; 11000 0 mod(5)=3 con b=0 ; 11000 1 mod(5)=4 con b=1 48 mod (5) =1 49 mod (5) =4

Entonces una vez probados los enunciados podemos decir que:


Si Si Si Si Si X mod(5)=0 X mod(5)=1 X mod(5)=2 X mod(5)=3 X mod(5)=4 ; entonces Xb ; entonces Xb ; entonces Xb ; entonces Xb ; entonces Xb mod(5) = 0 si b=0 ; y Xb mod(5)=1 SI b=1 mod(5) = 2 si b=0 ; y Xb mod(5)=3 SI b=1 mod(5) = 4 si b=0 ; y Xb mod(5)=0 SI b=1 mod(5) = 1 si b=0 ; y Xb mod(5)=2 SI b=1 mod(5) = 3 si b=0 ; y Xb mod(5)=4 SI b=1

Cumplen para todos los numero ya sean mltiplos o no de 5: De manera que si ahora podemos con estas reglas armar el autmata nombrando a cada modulo del caso en particular como a un estado y a sus condiciones como las aristas tenemos que : (X mod(5)=0) q0 (X mod(5)=1) q1 (X mod(5)=2) q2 (X mod(5)=3) q3 (X mod(5)=4) q4

Armando el autmata:
Si X mod(5)=0 ; entonces Xb mod(5) = 0 si b=0 ; y Xb mod(5)=1 SI b=1

Es lo mismo que decir q0 q0 si ocurre 0 q0 q1 si ocurre 1


Si X mod(5)=1 ; entonces Xb mod(5) = 2 si b=0 ; y Xb mod(5)=3 SI b=1

Es lo mismo que decir q1 q2 si ocurre 0 q1 q3 si ocurre 1

Si X mod(5)=2 ; entonces Xb mod(5) = 4 si b=0 ; y Xb mod(5)=0 SI b=1

Es lo mismo que decir q2 q4 si ocurre 0 q2 q0 si ocurre 1


Si X mod(5)=3 ; entonces Xb mod(5) = 1 si b=0 ; y Xb mod(5)=2 SI b=1

Es lo mismo que decir q3 q1 si ocurre 0 q3 q2 si ocurre 1

Si X mod(5)=4 ; entonces Xb mod(5) = 3 si b=0 ; y Xb mod(5)=4 SI b=1

Es lo mismo que decir q4 q3 si ocurre 0 q4 q4 si ocurre 1

De este modo podemos armar nuestra tabla y obtenemos lo siguiente:


Estado a Q0 Q0 Q1 Q1 Q2 Q2 Q3 Q3 Q4 Q4 ocurre 0 1 0 1 0 1 0 1 0 1 estado b Q0 Q1 Q2 Q3 Q4 Q0 Q1 Q2 Q3 Q4

Y de esta manera obtenemos el autmata siguiente :

la lgica de esta explicacin fue extrada del documento :


https://www.u-cursos.cl/ingenieria/2007/1/CC30B/1/material_docente/objeto/123655 Chile comparte !!! Universidad Rafael Landivar Ingeniera en sistemas Lenguajes formales y autmatas