You are on page 1of 25

Escuela de Ciencias Básicas Tecnología e Ingeniería ECBTI

Programa Ingeniería de sistemas
Autómatas Y Lenguajes Formales
301405A

Trabajo Colaborativo # 2
Aporte Individual 1

Presentado Por:
Andrés Julián Mendoza Enríquez
Código: 13749054
Grupo # 09

Presentado a:
Ing. Carlos Alberto Amaya Tarazona

UNIVERSIDAD ABIERTA Y A DISTANCIA (UNAD)
SANTANDER/BUCARAMANGA
30 DE ABRIL DE 2014

Página 1

Escuela de Ciencias Básicas Tecnología e Ingeniería ECBTI
Programa Ingeniería de sistemas
Autómatas Y Lenguajes Formales
301405A

1. Enuncie el autómata en notación matemática:

Autómata finito dado por:
M = (K, ∑, δ, q0, F)
M = ({q0, q1, q2, q3, q4, q5, q6}, {1,0}, δ, q0, {q6})

Dónde:

K = {q0, q1, q2, q3, q4, q5, q6} (Conjunto de estados)
∑ = {1,0} (Alfabeto de entrada)
q0 es el estado inicial y

F = {q6} (F C K, conjunto de estados finales).

Página 2

debido a que para un estado y símbolo del alfabeto dado. q0. 1) = q4 δ(q4. 1) = q3 δ(q2. 0) = q0 δ(q1. 0) = q1 δ(q0. ∑. q1. q5. Identifique los componentes del autómata (que tipo de tupla es) Es un Autómata Finito Determinístico. q3. q4. {q0}) δ(q0. δ: Q X ∑ → Q es una función de transición de un AFD q0 ϵ Q es el estado inicial F C Q es un conjunto de estados finales A= ({q0. 0} → {q0. 1) = q3 δ(q2. q6} x {1. 0) = q5 δ(q3. 1) = q6 δ(q5. q3. 1) = q4 δ(q4.0}. q0. F)      Q son todos los estados. 0) = q3 δ(q2. 1) = q2 δ(q1. 1) = q0 Página 3 . 0) = q6 δ(q5. q1. 1) = q0 δ(q3. q5. 0) = q0 δ(q4.Escuela de Ciencias Básicas Tecnología e Ingeniería ECBTI Programa Ingeniería de sistemas Autómatas Y Lenguajes Formales 301405A Donde la función de transición: δ = {q0. 0) = q3 δ(q2. q4. 0) = q5 δ(q3. {1. 0) = q6 δ(q5. ∑ es un alfabeto. existe un y solo un estado siguiente. q6} → q0 → {q0} Está dada por: δ(q0. q1. δ. q5. 0) = q1 δ(q0. 1) = q0 δ(q6. 1) = q4 2. q2. 0) = q0 δ(q4. 1) = q2 δ(q1. 0) = q5 δ(q6. q3. q4. q2. δ. 1) = q6 δ(q5. 1) = q0 δ(q3. 5-tupla: A= (Q. 0) = q0 δ(q1. q2. q6}.

La tabla de transición correspondiente a este autómata.Escuela de Ciencias Básicas Tecnología e Ingeniería ECBTI Programa Ingeniería de sistemas Autómatas Y Lenguajes Formales 301405A δ(q6. 1) = q4 3. Identifique la tabla de transición correspondiente. generado en el simulador Visual Autómata Simulator VAS. δ →#q0 q1 q2 q3 q4 q5 q6 0 q1 q0 q3 q5 q0 q6 q5 1 q2 q3 q0 q4 q6 q0 q4 q0 es el estado inicial y final del AFD. 0) = q5 δ(q6. Página 4 .

Encuentre la expresión regular válida. Identifique el lenguaje que reconoce y enuncie cinco posibles cadenas válidas que terminen en el estado “halt” L = {ω є {1. i >=1} Las siguientes son 5 cadenas validas posibles:      1010 101101 1001 110101 01100110 5.Escuela de Ciencias Básicas Tecnología e Ingeniería ECBTI Programa Ingeniería de sistemas Autómatas Y Lenguajes Formales 301405A 4. El propósito de las ER (que no son más que simples fórmulas) es representar cada una de ellas un lenguaje). Página 5 . 0}* | ω = 1i 0i.

Justifíquela si la convierte a la Izquierda o a la derecha. es decir. (Debe quedar documentado en el texto el paso a paso que realizan en el simulador) Las gramáticas son mecanismos generadores de lenguajes. Plásmela en el simulador y recréela. Encuentre su gramática que sea válida para la función de transición (describa sus componentes y como se escriben matemáticamente).Escuela de Ciencias Básicas Tecnología e Ingeniería ECBTI Programa Ingeniería de sistemas Autómatas Y Lenguajes Formales 301405A Comprobación de las posibles cadenas validas en JFLAP: 6. nos dicen cómo podemos obtener o construir palabras de un determinado lenguaje.  Se ejecuta el simulador y se da clic en Finite Automaton Página 6 .

Escuela de Ciencias Básicas Tecnología e Ingeniería ECBTI Programa Ingeniería de sistemas Autómatas Y Lenguajes Formales 301405A  Se genera el autómata propuesto Página 7 .

Página 8 . luego en Convert to Grammar.Escuela de Ciencias Básicas Tecnología e Ingeniería ECBTI Programa Ingeniería de sistemas Autómatas Y Lenguajes Formales 301405A  Se da clic en Convert.

8. Página 9 . IZQUIERDA DERECHA S → λ S → 1B S → 0A F → 1D D → 1F C → 1D A → 1C B → 0C E → 1S B → 1S D → 0S A → 0S F → 0E E → 0F C → 0E La conversión es a la izquierda porque es lineal a la derecha y es generado por el simulador a la derecha.Escuela de Ciencias Básicas Tecnología e Ingeniería ECBTI Programa Ingeniería de sistemas Autómatas Y Lenguajes Formales 301405A  La gramática valida por tanto es. 7. Realice el árbol de Derivación de esa gramática El árbol de derivación es muy grande para mostrarlo gráficamente. Identifique si ese árbol o gramática es ambigua o no y plasme las razones de su afirmación.

a su criterio seleccione una regla en la que se detenga por cualquier rama (izquierda o derecha) y plásmelo hasta ahí. 9.Escuela de Ciencias Básicas Tecnología e Ingeniería ECBTI Programa Ingeniería de sistemas Autómatas Y Lenguajes Formales 301405A Es una gramática libre de contexto la cual solo está asociada con un árbol de derivación para cualquier cadena de lenguaje. por tanto se puede afirmar que no es una gramática ambigua. Si el árbol de transición es demasiado grande. (Es decir seleccione una cadena válida para este ítem). Se obtiene el árbol de transición por la derecha para la cadena valida 1010: (S→1B)(B→0C)(C→1D)(D→0S) REGLA DERIVACION S→1B 1B B→0C 10C C→1D 101D D→0S 1010S S→λ 1010 Página 10 .

FINALES {q0}  NO FINALES {q1. q3. 0 FINALES {q0} q1 NO FINALES {q1. q4. q4. q5. q5. Explicar el proceso de Minimización (que estados se suprimen y porque)  Se crean los conjuntos formados por los conjuntos finales y los no finales. q6} q0. q2. q3. q6} Se le aplica a los subconjuntos la transformación AFD. q6 Página 11 .Escuela de Ciencias Básicas Tecnología e Ingeniería ECBTI Programa Ingeniería de sistemas Autómatas Y Lenguajes Formales 301405A Actividades Para El Ejercicio A Minimizar O Ya Minimizado: 10. para los subconjuntos la transición 0. q5. q3. q5. q0. q2.

q5. q3. q5. q5. q4. q4. q4. q2. para los subconjuntos que tienen más de un estado se elige un representante del subconjunto y se reemplaza en la tabla de transición para de esa forma minimizar el autómata. FINALES {qo} q2 1  NO FINALES {q1. FINALES {q0} q2 q1 1 0  NO FINALES {q1. q6 q0 Se procede a realizar la tabla de transición del autómata minimizado. q0. q5. q3. q6} q0. q4.Escuela de Ciencias Básicas Tecnología e Ingeniería ECBTI Programa Ingeniería de sistemas Autómatas Y Lenguajes Formales 301405A  Se separan los estados del subconjunto que al aplicarle la transición se comportan de manera diferente a los demás de este. q3. q2. q3. q3. q6} NO FINALES {q2. q6} {q1} q0. q4. q6 q0 q0. el que se desplaza hacia el estado no final es FINALES {q0}  Se realiza el mismo procedimiento para los subconjuntos de transición 1. q5. q3. q0. q4. ESTADOS FINALES ESTADOS NO FINALES AUTOMATA MINIMIZADO 1 0 q0 q2 q1 ELIMINACION DE ESTADOS 1 q0 q2 1 0 q2 q0 q0 q3 q3 q3 q4 q4 q5 q5 q4 q5 q6 q6 q6 0 q1 NUEVO AUTOMATA 1 0 q0 q2 q1 q3. q2 q1 q0 q0 Página 12 . q4. q6 Se juntan las dos transiciones.

Que transiciones se reemplazan o resultan equivalentes. 0) = q1 δ(q3.Escuela de Ciencias Básicas Tecnología e Ingeniería ECBTI Programa Ingeniería de sistemas Autómatas Y Lenguajes Formales 301405A 11. 1) = q2 La tabla de transición correspondiente a este autómata. 1 q0 q4 q6 q0 q4 q2 q3 q4 q5 q6 0 q3 q5 q0 q6 q5 12. Compruebe una cadena válida para esa expresión regular. Escribir la función de transición del nuevo autómata. 0) = q2 δ(q0. 14. 1) = q3 δ(q3. 0) = q3 δ(q1. Se comprueba la expresión regular con la cadena valida 110101 (Ver imagen del punto 16) Página 13 . δ= Q x ∑→Q δ(q0. 1) = q0 δ(q2. 1) = q1 δ(q1. 0) = q0 δ(q2. generada en el simulador Visual Autómata Simulator VAS.

Identificar su gramática. Demostración para la cadena valida 101101. Demuéstrela para una cadena válida del autómata. Identificar el lenguaje que reconoce y cinco posibles cadenas válidas El lenguaje que reconoce es L= {A ϵ {1. 0} | A= 1i0i. Página 14 . Esta es la gramática generada por el autómata. i>=1} Las cadenas posibles son:  0101  0110  010100  101101  110011 16.Escuela de Ciencias Básicas Tecnología e Ingeniería ECBTI Programa Ingeniería de sistemas Autómatas Y Lenguajes Formales 301405A 15.

Página 15 . Compare la gramática con el autómata antes de minimizar (ya sea por la izquierda o derecha). se puede observar que resulta ser aprobada tanto por la izquierda como por la derecha y en cualquier cadena válida para el autómata ya sea minimizado o en su estado normal. Al ser comparada la gramática del autómata minimizado con el autómata original.Escuela de Ciencias Básicas Tecnología e Ingeniería ECBTI Programa Ingeniería de sistemas Autómatas Y Lenguajes Formales 301405A 17.

 Se construye el autómata en el simulador JFLAP Página 16 . Plasmar los pasos de minimización en el simulador (compárelos con el proceso manual que está explicando) y capturar los procesos en imágenes para ser documentadas en el texto.Escuela de Ciencias Básicas Tecnología e Ingeniería ECBTI Programa Ingeniería de sistemas Autómatas Y Lenguajes Formales 301405A 18. Identificar sus tablas de Transición (plasmarlas) δ q0 q1 q2 →# q3 1 q1 q0 q3 q2 0 q2 q3 q0 q1 20. El autómata nuevo expresarlo o graficarlo con su respectivo diagrama de Moore. 19.

Página 17 .Escuela de Ciencias Básicas Tecnología e Ingeniería ECBTI Programa Ingeniería de sistemas Autómatas Y Lenguajes Formales 301405A  Se selecciona en el menú Convert y luego en Minimize DFA.

Página 18 .  Clic en Finish y después en Complete para ver el autómata resultante.Escuela de Ciencias Básicas Tecnología e Ingeniería ECBTI Programa Ingeniería de sistemas Autómatas Y Lenguajes Formales 301405A  Se seleccionan los estados no finales y se da clic en Complete Subtree. luego se hace clic en los estados finales y en Complete Subtree.

F) M= ({q0. q0. Grafíquelo en JFLAP y realice el “Traceback” para las transiciones. {A}. B. (Las columnas para un AP son: El estado en que se encuentra el autómata. Δ. x.Escuela de Ciencias Básicas Tecnología e Ingeniería ECBTI Programa Ingeniería de sistemas Autómatas Y Lenguajes Formales 301405A 2. que además acepte cualquier cadena que contenga un número de “y” menor o igual que el de “x” y puede ser en cualquier orden. 21. {x. q0. El diseño también debe permitir aceptar las cadenas con la pila vacía. A. Construya el autómata de Pila Correspondiente Diseñe un APD que acepte: El lenguaje de la cadena vacía. q4}. q2. y el contenido de la pila).y}. Z0. lo que falta por leer de la palabra de entrada. {q2}) Las posibles cadenas validas son:  xxyx  xyxyx  xxyxyx 22. q3. q1. L= {xn+1yn} Séptupla M= (Q. Página 19 . Δ. Describa el autómata en notación matemática.

Escuela de Ciencias Básicas Tecnología e Ingeniería ECBTI Programa Ingeniería de sistemas Autómatas Y Lenguajes Formales 301405A Traceback para las transiciones: se da clic en una de las cadenas aceptadas por el programa y luego en view trace. Página 20 . se realiza el paso correspondiente a cada cadena para así ver su tracback.

(Documente el proceso) Se realizó en el punto anterior y se explica como se encuentran las traceback para las transiciones.Escuela de Ciencias Básicas Tecnología e Ingeniería ECBTI Programa Ingeniería de sistemas Autómatas Y Lenguajes Formales 301405A 23. Plasme las imágenes y capturas en el documento. Para hallar el diagrama correspondiente de estados se debe realizar el procesamiento completo de una cadena de entrada que depende del contenido de pila. Muestre el diagrama correspondiente de estados. ESTADO POR LEER q Xxyx q Xxyx x q Xyx xx q Yx xxy q X xxyx Página 21 PILA . 24.

Escuela de Ciencias Básicas Tecnología e Ingeniería ECBTI Programa Ingeniería de sistemas Autómatas Y Lenguajes Formales 301405A 25. Identifique los contenidos (el recorrido para cada interacción) de la pila y el estado de parada. Se realiza para la cadena valida xxyxyx. Realícelo con una cadena válida. se muestra el recorrido Página 22 .

∑ es un alfabeto. q0. δ. {1. q3}. Identifique que tipo de gramática es. δ: Q X ∑ → Q es una función de transición de un AFD q0 ϵ Q es el estado inicial ACQ es un conjunto de estados finales A= ({q0. q0. q1.0}. {q3}) Página 23 . A)      Q son todos los estados. δ. ∑. q2. Justifique su respuesta. Gramáticas Sean L1 el lenguaje generado por la gramática G1 26. 5-tupla: A= (Q.Escuela de Ciencias Básicas Tecnología e Ingeniería ECBTI Programa Ingeniería de sistemas Autómatas Y Lenguajes Formales 301405A 3. Identifique los elementos (tupla) que es. Es una gramática de contexto libre porque se especificaron las reglas para conseguir o generar las cadenas de un lenguaje válidas para el autómata 27.

Obtener el autómata Finito para la gramática (plasme los diagramas de Moore) 29. 0} I A= 1n+10n. donde n>=1} La conversión es a la derecha porque es lineal a la izquierda. Identifique el Lenguaje que generan. El lenguaje que genera es L= {A ϵ {1.Escuela de Ciencias Básicas Tecnología e Ingeniería ECBTI Programa Ingeniería de sistemas Autómatas Y Lenguajes Formales 301405A 28. Identifique si es lineal por la derecha o la izquierda. Página 24 .

Página 25 . Plasme la secuencia y árbol de derivación la cadena 0101 (Use el simulador para verificarla).Escuela de Ciencias Básicas Tecnología e Ingeniería ECBTI Programa Ingeniería de sistemas Autómatas Y Lenguajes Formales 301405A 30. E identifique que producciones intervienen. Para justificar sus respuestas puede apoyarse en la simulación que le dé el software JFLAP Se convierte a una FA el autómata y luego se observa si la cadena 0101 es aceptada. Intervienen en esta producción (q0. q3) es decir todo el árbol del autómata. q1. q2.