Trabajo Colaborativo No. 2 Página 1
Actividad No. 10.
TRABAJO COLABORATIVO No. 2
AUTOMATAS Y LENGUAJES FORMALES Tutor:
JAIME JOSE VALDES Grupo:
301405_76
PRESENTADO POR:
EDWIN ALBERTO PALMA LEON Cód. 86.054.717
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA “UNAD”
Trabajo Colaborativo No. 2 Página 2
INTRODUCCION
En este trabajo desarrollares ejercicios correspondientes a la unidad No.2 del curso, cuya temática es lenguajes independientes del contexto. Desarrollaremos ejercicios de gramáticas regulares, autómatas de pila, ya que con estos afianzaremos los conocimientos vistos durante el curso, y así mejorar la práctica, compresión y manipulación de los mismos.
Trabajo Colaborativo No. 2 Página 3
OBJETIVOS
Objetivo general
Reconocer las gramáticas regulares y su aplicación.
Objetivos específicos
Analizar la aplicación de las gramáticas regulares.
Adquirir las habilidades necesarias para desarrollar ejercicios correspondientes a gramáticas regulares, asimismo plasmarlos en el diagrama de Moore, arboles de derivación y tabla de transición de los mismos.
Aplicar ejercicios para el manejo y diseños de autómatas de pila.
Adquirir el conocimiento y aprender el proceso de minimización de un autómata.
Trabajo Colaborativo No. 2 Página 4 EJERCICIOS A DESARROLLAR:
1. CALCULAR EL AUTÓMATA MÍNIMO CORRESPONDIENTE AL SIGUIENTE AUTÓMATA FINITO.
ACTIVIDADES ANTES DE MINIMIZAR.
1. Identifique los componentes del autómata (que tipo de tupla es) Es una máquina de estados finitos M, la cual es un quíntuplo (Q, ∑, δ, s, F)
Q = es un conjunto de identificadores (símbolos) de estados ∑ = {a,b} es el alfabeto de entrada
q0= es el estado inicial q0 , q2 = son estados finales δ = Q x ∑→ Q
Trabajo Colaborativo No. 2 Página 5 2. Identifique la tabla de transición
3. Identifique el lenguaje que reconoce
L = { ω є{ a,b } }
Y las posibles cadenas
4. Encuentre la expresión regular válida. (Compruebe una cadena válida de esa expresión regular en el simulador). Identifique sus componentes
ER=((bba*b+ba(ba)*bba*b)*(a+ba(ba)*ba*b)(a+b(ba)*ba*b)*b(ba)*bba*b)*(bba*b+ba(ba)*bb a*b)*(a+ba(ba)*ba*b)(a+b(ba)*ba*b)*
L =
Trabajo Colaborativo No. 2 Página 8
5. Encuentre su gramática que sea válida para la función de transición (describa sus componentes y como se escriben matemáticamente). Justifíquela si la convierte a la Izquierda o a la derecha. Plásmela en el simulador y recréela. (Debe quedar documentado en el texto el paso a paso que realizan en el simulador)
Paso 1
Paso 2
Trabajo Colaborativo No. 2 Página 9
6. Realice el árbol de Derivación de esa gramática
Para la realización de esta gramática, la aplicamos con la cadena (babab)
Trabajo Colaborativo No. 2 Página 10
7. Identifique si ese árbol o gramática es ambigua o no y plasme las razones de su afirmación
No es una gramática ambigua, se trata de una gramática univoca, ya que es una gramática lineal de libre contexto por la derecha, que tiene asociado solo un árbol de derivación no tiene árboles.
8. Si el árbol de transición es demasiado grande, a su criterio seleccione una regla en la que se detenga por cualquier rama (izquierda o derecha) y plásmelo hasta ahí.
Es un autómata muy grande, ya que tiene dos estados de aceptación y debido a esto no se puede no se puede plasmar.
Trabajo Colaborativo No. 2 Página 11 Y jflap, dice que tiene muchos estados creados por lo consiguiente no deja realizar esta transición.
9. Explicar el proceso de Minimización (que estados se suprimen y porque).
- primer paso se elimina el estado q2, y se elimina las transacciones de salida
del estado q2 y las transacciones de llegada del estado q2, se direccionan al
estado siguiente.
No se pueden eliminar mas estados, porque al suprimir mas estados las cadenas iniciales, probadas en el primer automata, no todas tienen aceptacion si suprimimos mas estados.
Trabajo Colaborativo No. 2 Página 12
10. Que transiciones se reemplazan o resultan equivalentes.
Se remplaza el estado q2, que es de aceptación y por eso, se empiezan a
comparar los estados de iniciación y de aceptación de acuerdo a las reglas de minimización y en este caso se elimina el esto de aceptación q2.
11.Escribir la función de transición del nuevo autómata.
12.Identificar la expresión regular (explicarla en la lectura matemática que se le debe hacer).
Trabajo Colaborativo No. 2 Página 13 Posible expresion regular, ya que el jflap, no expresa o genera el expresion regualar porque dice que hay muchos estados creados.
ER = (bab(a)*b)+(bb(a)*b
13.Compruebe una cadena válida para esa expresión regular.
14.Identificar el lenguaje que reconoce y las posibles cadenas.
L = { ω є{ a,b } }
Y las posibles cadenas
RECONOCE LAS MISMAS CADENAS DEL AUTOMATA INICIAL
15.Identificar su gramática. Demuéstrela para una cadena válida del autómata.
Trabajo Colaborativo No. 2 Página 14 Autómata generado, a partir de la gramática anterior, donde se prueban cadenas validas para este nuevo autómata.
16.Expresarlo o graficarlo con su respectivo diagrama de Moore.
Trabajo Colaborativo No. 2 Página 15
17.Identificar sus tablas de Transición (plasmarlas)
18.Plasmar los pasos de minimización en el simulador y capturar los procesos en imágenes para ser documentadas en el texto.
Los pasos de minimización no se pudieron plasmar en el simulador, porque el autómata es demasiado grande. Los pasos de minimización se describen a continuación.
1. se aplica la regla de comparación de los estados inicial y estados de aceptación.
2. Se determina el estado a eliminar
3. Las funciones de transición de salida del estado a eliminar se eliminan, estas transiciones
Trabajo Colaborativo No. 2 Página 16 4. Las funciones de transición de llegada al estado a eliminar se re
direccionan al estado siguiente al estado a eliminar.
5. Se comprueban que las cadenas que aceptaba el autómata original, las acepte este nuevo autómata minimizado.
6. Se comparan si hay más estados equivalentes.
2. CONSTRUYA EL AUTÓMATA DE PILA CORRESPONDIENTE
Diseñe un AP que acepte el Lenguaje L = {aibck } donde i,k >= 1 y i >=k L = { a1bc1}
AP = ( Q,V,∑,δ,q0,Z0,F)
Q= { q0,q1 }
V = { a,b,c} ∑ = { Z0, λ, 1}
19. Grafíquelo en JFLAP y realice el ”Traceback” para las transiciones. (Las columnas para un AP son: El estado en que se encuentra el autómata, lo que falta por leer de la palabra de entrada, y el contenido de la pila).
δ ( q0,a,Z0 ) = { (q0, 1, Z0)}
δ ( q0,b,Z0 ) = { (q1, λ)}
δ ( q1,c,Z0 ) = { (q1, λ)}
δ ( q1,c,Z0 ) = { (q1, λ)}
20. Plasme las imágenes y capturas en el documento. (Documente el proceso)
Trabajo Colaborativo No. 2 Página 18 PARA UNA CADENA NO VALIDA (abbc)
Trabajo Colaborativo No. 2 Página 19
21. Muestre el diagrama correspondiente de estados.
Estado Por leer Pila
q0 aabcc Z0
q0 abcc 1
q1 bcc 111
q1 cc 11
q1 c 1
22. Identifique los contenidos de la pila y el estado de parada. Realícelo con una cadena valida y con una cadena rechazada.
Trabajo Colaborativo No. 2 Página 20 3. CONSTRUCCIÓN DE AUTÓMATAS: PARA EL SIGUIENTE AUTÓMATA:
23. Identifique la tupla que lo define.
A = (Q, Σ, f, q 0 , F)
dónde:
Q es un conjunto de estados.
Σ es el alfabeto de entrada
f: Q X Σ → Q es la función (total) de transición.
q 1 Q es el estado inicial.
Trabajo Colaborativo No. 2 Página 21
24. Que lenguaje reconoce al autómata. Identifique su ER
El lenguaje aceptado es ∑ = { a,b,λ }
25. Identifique si es AFD ó AFND. (Tenga en cuenta todas las variables a tener en cuenta para calificar un autómata o para clasificarlo como tal)
Es un autómata AFND, ya que el estado q4, tienes dos salidas una por
δ ( q4, b ) = q4 y δ ( q4, b ) = q5 , ya que dicho estado tiene más de una
transición.
26. Obtenga la gramática Regular para el Lenguaje que representa). Confróntela con la ER con una cadena válida
ER = aλa*b+aλb*b
4. GRAMÁTICAS
Sean L1 el lenguaje generado por la gramática G1
Trabajo Colaborativo No. 2 Página 22
27. Obtener el autómata Finito para la gramática (plasme los diagramas de Moore)
28. Identifique el Lenguaje que generan. Identifique si es lineal por la derecha o la izquierda.
El lenguaje generado es ∑ = {λ,S,Z }
El lenguaje se genera por la izquierda
29. Verifique si la cadenas a3b, ab3, aa3b, abab pueden ser generada o no. Justifíquelas por qué.
Trabajo Colaborativo No. 2 Página 23
Trabajo Colaborativo No. 2 Página 24
CADENA aa3b no es aceptada por el estado final
Trabajo Colaborativo No. 2 Página 25 Demostración y comprobación de cadena no aceptadas
30. Plasme la secuencia y árbol de derivación las cadenas a3b, ab3, aa3b, abab (Use el simulador para verificarla).
El autómata generado, desde la gramática dada en el ejercicio,
Trabajo Colaborativo No. 2 Página 26 Cadenas aa3b desde el simulador
Trabajo Colaborativo No. 2 Página 27 Cadenas abab desde el simulador
Para justificar sus respuestas puede apoyarse en la simulación que le dé el software JFLAP.
Trabajo Colaborativo No. 2 Página 28
CONCLUSIONES
Después de realizar el siguiente trabajo podemos concluir lo siguiente:
- Conocemos el proceso, método para minimizar un autómata.
- Conocemos y sabemos manipular ejercicios con autómatas pila.
- Sabemos convertir y generar la gramática de un autómata, saber obtener su árbol de derivación, las cadenas que podemos obtener y probar en este.
Trabajo Colaborativo No. 2 Página 29
REFERENCIAS BIBLIOGRÁFICAS
DEL MODULO
Módulo de autómatas y lenguajes formales, QUIROGA ROJAS, EDGAR, BOGOTA DC, COLOMBIA, 2008.
Web grafías