Automatas 11-03-2016

30
Problemas a desarrollar: 1. Las expresiones regulares (ER), pueden también escribirse de otras formas o con otra secuencia de operadores o distribución de símbolos. En general es una forma matemática que representa el Lenguaje que genera un Autómata. Y esas expresiones regulares siempre serán válidas siempre y cuando representen exactamente el mismo lenguaje para un Autómata. Concluyendo, para un Autómata, puede haber más de una ER que representa el mismo lenguaje ya sea que esa ER sea minimizada, extensa, equivalente o como se prefiera escribir. Solo que en los diseños óptimos computacionales siempre se buscará la mejor ER (corta o mínima) para efectos de la mejor simulación o para llevarlas a lenguajes de programación en la creación de soluciones computacionales (solucionar problemas - Algoritmos). Dados los siguientes ítem, Autómatas Finitos Deterministas, Autómatas Finitos no Deterministas, lenguajes y expresiones regulares (ER), encuentre según corresponda: EJERCICIO AFN/AFND LENGUAJE EXPRESION REGULAR

description

automatas UNAD

Transcript of Automatas 11-03-2016

Page 1: Automatas 11-03-2016

Problemas a desarrollar:

1. Las expresiones regulares (ER), pueden también escribirse de otras formas o con otra secuencia de operadores o distribución de símbolos. En general es una forma matemática que representa el Lenguaje que genera un Autómata. Y esas expresiones regulares siempre serán válidas siempre y cuando representen exactamente el mismo lenguaje para un Autómata. Concluyendo, para un Autómata, puede haber más de una ER que representa el mismo lenguaje ya sea que esa ER sea minimizada, extensa, equivalente o como se prefiera escribir. Solo que en los diseños óptimos computacionales siempre se buscará la mejor ER (corta o mínima) para efectos de la mejor simulación o para llevarlas a lenguajes de programación en la creación de soluciones computacionales (solucionar problemas - Algoritmos).

Dados los siguientes ítem, Autómatas Finitos Deterministas, Autómatas Finitos no Deterministas, lenguajes y expresiones regulares (ER), encuentre según corresponda:

EJERCICIO AFN/AFND LENGUAJE EXPRESION REGULAR

EJERCICIO 1

AFD

L= {w | w tiene al menos una a y a y tiene al menos una b} sobre {a,b}

(aa*b+bb*a)(a+b)

(bb*a)(a+bb*a)

Page 2: Automatas 11-03-2016

EJERCICIO 2

AFD

L= {w, comienza por b y tiene al menos una a) sobre {a,b}

EJERCICIO 3

AFD

El lenguaje de las palabras que tiene a abb o bba por subcadena

(aa*b+baa*b)(aa*b)*b+bbb*a(a+b)*

Page 3: Automatas 11-03-2016

EJERCICIO 4

AFD

L= {w, comienza por b o d y termina en a y c sobre {a,b,c,d,f,g}

((bf*a)*dg*c)*(bf*a)*dg*

(bf*a+dg*c)*

EJERCICIO 5

AFD

L= {w, comienza por a, c o d y termina en d, sobre {a,b,c,d}

(c+ab)*d

Page 4: Automatas 11-03-2016

2. PARA LA EXPRESION REGULAR : (cb)*ca(ab)*U b(ba)*b U (ab)*a(ba)*b

- Describa la forma matemática del autómata

- Plasme la tabla de transición. Identifique que tipo de autómata es (AFD o AFND) y justifique su respuesta. (No se trata de dar el concepto de determinismo sino de justificarlo asociando la respuesta al diseño del autómata)

Page 5: Automatas 11-03-2016

Salida Simbolo Llegadaq0 (cb)* q1q0 b q4q0 (ab)* q6q0 c q0q1 c q2q1 b q1q2 a q1q2 (ab)* q3q3 b q3q4 b q4q4 (ba)* q5q5 b q3q6 b q6q6 a q7q7 b q8q8 a q8q8 b q3

Tipo de autómata:

AFN: Pues que por cada transición que tengo llega a un estado y no a varios

Page 6: Automatas 11-03-2016

- Identifique los elementos (tupla que es) (Asociadas con los elementos del autómata del ejercicio propuesto). Debe explicar y describir cada elemento y la función y significado en el autómata. Conceptos y definiciones adicionales.

Es una 5-tupla (Q, Σ, q0, δ, F)

Q: {q0, q1, q2, q3, q4, q5, q6, q7, q8}

Que es el conjunto de estado que hay dentro del autómata

Σ: {a,b,c}

Es el alfabeto de nuestro autómata

q0: {q0}

Es el estado inicial de nuestro autómata

Δ: (q0 + a)= q0Δ: (q0 + c)= q0Δ: (q0 + b)= q4Δ: (q1 + b)= q1Δ: (q1 + c)= q2Δ: (q2 + a)= q2Δ: (q3 + b)= q3Δ: (q4 + b)= q4Δ: (q5 + a)= q5Δ: (q5 + b)= q3Δ: (q6 + b)= q6Δ: (q6 + a)= q7

Page 7: Automatas 11-03-2016

Δ: (q7 + b)= q8Δ: (q8 + a)= q8Δ: (q8 + b)= q3

Son funciones de transición F:{q3}

Estado aceptador

- Identifique el lenguaje que genera.L{w/w Se aceptan sucesión de a,b,c terminando en b}

- Muestre en el simulador (gráficamente) como recorre una cadena válida. Explique cada secuencia. (No se trata solo de captura las imágenes, estas deben ser explicadas en pié de página o de lo contrario no tienen validez)

Vamos a trabajar con la cadena de caracteres b(ab)*b

Page 8: Automatas 11-03-2016

Empezamos en el estado incial q0, donde vamos a ingresar el primer carácter que es b.

Page 9: Automatas 11-03-2016

Al ingresar b hacemos la transición al estado q4 en el que ingresaremos (ab)* que representa que se ingresan muchas a o muchas b

Page 10: Automatas 11-03-2016

Hacemos la transición al estado q5 donde ingresamos b y llegamos al estado aceptador.

Page 11: Automatas 11-03-2016
Page 12: Automatas 11-03-2016

- Muestre el diagrama de Moore generado en JFLAP y en VAS y comente tres similitudes y tres diferencias que encuentra al realizarlo en los dos simuladores. (herramientas que ofrezca uno u otro).

Page 13: Automatas 11-03-2016

Similitudes:- La manera de graficar es la misma- Las relaciones son igual- Los estados son iguales

Diferencias:- JLAP tiene un simulador para las gráficas de moore, Vas no- Es mucho más fácil graficas las salidas en JLAP- Vas no exporta el autómata como imagen

Page 14: Automatas 11-03-2016

- Genere tres cadenas válidas y dos no válidas.Cadenas validas:b(ba)*b(cb)*c(ab)*b(ab)*abbCadenas no validas:b(ba)*abab(ba)*abc

Page 15: Automatas 11-03-2016

3. Si el autómata inicial (el de la ER4) es un AFD, genere un AFND que reconozca el mismo lenguaje; o por lo contrario si el autómata inicial es un AFND, genere un AFD que reconozca el mismo lenguaje.

- Describa la forma matemática del autómata

- Identifique los elementos (tupla que es) (Asociadas con los elementos del autómata del ejercicio propuesto)Es una 5-tupla (Q, Σ, q0, δ, F)

Q: {q0, q1, q2, q3}

Que es el conjunto de estado que hay dentro del autómata

Page 16: Automatas 11-03-2016

Σ: {a,b,c}

Es el alfabeto de nuestro autómata

q0: {q0}

Es el estado inicial de nuestro autómata

Δ: (q0 + b)= q0Δ: (q0 + c)= q0Δ: (q0 + a)= q1Δ: (q1 + a)= q1Δ: (q1 + b)= q1Δ: (q1 + c)= q2Δ: (q0 + a)= q2Δ: (q0 + c)= q2Δ: (q0 + b)= q3Δ: (q0 + a)= q2Δ: (q0 + c)= q2Δ: (q0 + b)= q3

Son funciones de transición F:{q3}

Estado aceptador

Page 17: Automatas 11-03-2016

- Muestre en el simulador (gráficamente) como recorre una cadena válida. Explique cada secuencia. (No se trata solo de captura las imágenes, estas deben ser explicadas en pié de página o de lo contrario no tienen validez) 4. Muestre el diagrama de Moore generado en JFLAP

Comenzamos en el estado inicial donde vemos la cadena que ingresamos al principio, el primer carácter es b

Page 18: Automatas 11-03-2016

Ingresamos la b y seguimos en el estado inicial, ingreso una a que es un carácter valido para pasar al siguiente estado

Page 19: Automatas 11-03-2016

Ya estamos en el estado q1 donde vamos a ingresar a

Page 20: Automatas 11-03-2016

Quedamos en el mismo estado, puesto que no es un carácter que permite pasar al siguiente estado

Page 21: Automatas 11-03-2016

Ingresamos c y vemos como pasamos al estado q2

Page 22: Automatas 11-03-2016

Ingresamos c y vemos que seguimos en el mismo estado q2

Page 23: Automatas 11-03-2016

Ingresamos b y llegamos al estado aceptador pero todavía no se ha terminado la cadena, con lo que continuamos hasta terminarla para determinar si es válida o no

Page 24: Automatas 11-03-2016

Ingresamos a y volvemos al estado q2, nos falta todavía un carácter por ingresar

Page 25: Automatas 11-03-2016

Ingresamos b y volvemos al estado aceptador, donde nos damos cuenta que es una cadena valida, puesto que ha cumplido con la condición

Page 26: Automatas 11-03-2016

- Muestre el diagrama de Moore generado en JFLAP y en VAS

Page 27: Automatas 11-03-2016

- Identifique la ER asociada al nuevo diseño y compárela con la expresión regular simplificada (es decir analícelas con dos cadenas válidas y con dos no válidas). Para ello debe identificar en una tabla la jerarquía de operadores regulares, identificando con colores las sentencias matemáticas. Para ello apóyese en el video: http://youtu.be/JZPAHHA2PnE (minuto 14 al 33). O en el video http://youtu.be/wGTxhnPXcw4