Trabajo Colaborativo 1 Grupo - (1301405_65)
Short Description
Descripción: asffsafa a...
Description
AUTOMATAS Y LENGUAJES FORMALES
TRABAJO COLABORATIVO 1 Fase 1: Debatir y desarrollar los ejercicios planteados sobre lenguajes y expresiones regulares
PRESENTADO POR: GINYER JARABA DEDES COD. 1.081.919.243 KATTY MARTÍNEZ LUNA C.C: 1.081.920.027 EUNICE YULIETH PAEZ COD. 26.970.412 RAFAEL ALBERTO DAZA PLATA COD. 1.122.402.807 IVÁN DAVID LÓPEZ HOYOS COD. 1069474318
PRESENTADO A: ANGELA MARIA GONZALEZ Tutor de Curso
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD COLOMBIA 2.016
INTRODUCCION Un autómata es un modelo matemático para una maquina de estado finito (FSM) siglas en ingles, una FSM es una maquina que, dada una entrada de símbolos, “salta” a través de una serie de estados de acuerdo a una función de transición (que puede ser expresada como una tabla). La teoría de autómatas es una rama de la ciencia de la computación que estudia las maquinas abstractas y los problemas que estas son capaces de resolver. En el presente documento se aborda el tema de “Autómatas y lenguajes formales” donde se tiene en cuenta las distintas expresiones regulares y lenguajes aceptados por cada autómata. Así mismo se detallara la forma matemática de una expresión regular que se halla seleccionado. Se identificaran los procesos, tipos de autómatas y lenguaje a utilizar en cada ocasión (AFD o AFND) apoyados en herramientas o aplicaciones para generar las graficas necesarias.
OBJETIVOS General:
Apropiarse de los conceptos del curso virtual Autómatas y lenguajes formales.
Específicos:
Resolver los ejercicios sobre expresiones regulares Interactuar activamente con los compañeros de grupo dentro del foro colaborativo de la plataforma del curso virtual de autómatas y lenguajes formales.
PROBLEMAS A DESARROLLAR: 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 ítems, Autómatas Finitos Deterministas, Autómatas Finitos no Deterministas, lenguajes y expresiones regulares (ER), encuentre según corresponda: AFN / AFD
LENGUAJE E
EXPRESIÓN REGULAR
EJ1
AFD
(00)*(1+01)(01)*
AFN
(11*10)*11*
EJ2
EJ3
AFN
0+1+1*+(10+00)
Pasos EJ1: por la ley de arden. Q1 = 0q1 + (1q1 + λ) X=rx+s X = r* s Q1 = 0* (1q0 + λ) Q1 = 0* 1q0 + 0* λ Q1 = 0* 1q0 + 0* Por reducción:
Pasos EJ2: por reducción.
Pasos EJ3: por reducción.
q2 = 0q0 +1q q2 = 0q0 + 1(0*1q0 + 10*) q2 = 0q0 + 10*1q0 + 10* ER=>
q0 = (0 + 10*1) q0 + 10* x=rx+s x = r* s q0 = (0 + 10*1)* + 10*
2. PARA LA EXPRESION REGULAR: ca*+bb*ab(a+b+cc*b)* SIMPLIFIQUE LA EXPRESIÓN REGULAR Y RESUELVA: 1. Describa la forma matemática del autómata, 2. 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) 3. 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. 4. Identifique el lenguaje que genera. 5. 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) 6. 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). 7. Genere tres cadenas válidas y dos no válidas.
Solución: Simplifico la expresión regular ca*+bb*ab(a+b+cc*b)* .
ca* + bb*ab (a + b + cc*b)* = = ca* + bb*ab (a + (λ + cc*) b)* = = ca* + bb*ab (a + c*b)* La última igualdad es consecuencia de la siguiente propiedad regulares: λ + rr* = r*
de las expresiones
Por lo tanto la expresión regular simplificada es: ca* + bb*ab (a + c*b)*. Además, poniendo r = a, s = c*b y utilizando la propiedad (𝑟 + 𝑠)* = (𝑟*𝑠)* 𝑟*, se halla que, ca* + bb*ab (a + c*b)* = = ca* + bb*ab (a*c* b)* a* = = (c + bb*ab (a*c* b)*) a*. Entonces, (c + bb*ab (a*c* b)*) a* simplificada.
es una expresión regular equivalente a la
Desarrollo del punto 1: Describa la forma matemática del autómata
La forma matemática del autómata finito asociado a la expresión regular asignada es la quíntupla (𝑸, 𝚺, 𝜹, 𝒒𝟎 , 𝑭) Donde 𝑸 = {𝒒𝟎 , 𝒒𝟏 , 𝒒𝟐 , 𝒒𝟑 , 𝒒𝟒 , 𝒒𝟓 } es el conjunto de los estados del autómata, 𝚺 = {𝒂, 𝒃, 𝒄}
Es el alfabeto de entrada,
𝜹: 𝑸 × 𝚺 → 𝑸 Es la función de transición que especifica a qué estado pasa el autómata desde el estado actual al recibir un símbolo de entrada, 𝒒𝟎
Es el estado inicial del autómata,
𝑭 = {𝒒𝟏 , 𝒒𝟒 } Es el conjunto de estados finales del autómata.
Desarrollo del punto 2: 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) La tabla de transición del autómata es: a
b
c
q0
----
q2
q1
#q1
q1
----
----
q2
q3
q2
----
q3
----
q4
----
#q4
q4
q4
q5
q5
----
q4
q5
Como se puede notar, cada celda de la tabla anterior contiene a lo mucho un estado, en efecto no existen celdas con dos o más estados, por lo tanto para cada estado en que se encuentre el autómata y con cualquier símbolo del alfabeto leído, existe siempre a lo más una transición posible desde ese estado y con ese símbolo. Eso asegura que el autómata es un AFD, es decir un autómata finito determinista.
Desarrollo del punto 3: 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. Una tupla es una lista ordenada de elementos. Una n-tupla es una secuencia (o lista ordenada) de n elementos, siendo n un número natural (entero no-negativo). La única 0tupla es la secuencia vacía. Una n-tupla se define inductivamente desde la construcción de un par ordenado. Las tuplas suelen anotarse listando sus elementos entre paréntesis "( )", separados por comas. El autómata finito asociado a la expresión regular asignada es definido por la quíntupla (5-tupla) (𝑸, 𝚺, 𝜹, 𝒒𝟎 , 𝑭) Donde 𝑸 = {𝒒𝟎 , 𝒒𝟏 , 𝒒𝟐 , 𝒒𝟑 , 𝒒𝟒 , 𝒒𝟓 } es el conjunto de los estados del autómata, 𝚺 = {𝒂, 𝒃, 𝒄} 𝒒𝟎
Es el alfabeto de entrada,
Es el estado inicial del autómata,
𝑭 = {𝒒𝟏 , 𝒒𝟒 } Es el conjunto de estados finales del autómata, 𝜹: 𝑸 × 𝚺 → 𝑸 Es la función de transición que especifica a qué estado pasa el autómata desde el estado actual al recibir un símbolo de entrada. La ley de definición de esta función es dada por: 𝛿 (𝑞0 , 𝑏) = 𝑞2 𝛿 (𝑞0 , 𝑐 ) = 𝑞1 𝛿 (𝑞1 , 𝑎) = 𝑞1 𝛿 (𝑞2 , 𝑎) = 𝑞3
𝛿 (𝑞2 , 𝑏) = 𝑞2 𝛿 (𝑞3 , 𝑏) = 𝑞4 𝛿 (𝑞4 , 𝑎) = 𝑞4 𝛿 (𝑞4 , 𝑏) = 𝑞4 𝛿 (𝑞4 , 𝑐 ) = 𝑞5 𝛿 (𝑞5 , 𝑏) = 𝑞4 𝛿 (𝑞5 , 𝑐 ) = 𝑞5
Desarrollo del punto 4: Identifique el lenguaje que genera. El lenguaje generado por la expresión regular y aceptado por el autómata es el siguiente: 𝐿 = { 𝑐𝑎𝑖 tal que 𝑖 ≥ 0 } ∪ { 𝑏𝑖+1 𝑎𝑏( 𝑎 | 𝑐 𝑗 𝑏)
𝑘
tal que 𝑖, 𝑗, 𝑘 ≥ 0 } =
𝑘
= { 𝑐𝑎𝑖 tal que 𝑖 ≥ 0 } ∪ { 𝑏𝑖+1 𝑎𝑏( 𝑎𝑚 𝑐 𝑗 𝑏) 𝑎𝑛 tal que 𝑖, 𝑗, 𝑘, 𝑚, 𝑛 ≥ 0 }
Desarrollo del punto 5: 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) A continuación muestro gráficamente como el simulador recorre la cadena válida “babaacb”.
Antes que nada el simulador evidencia el estado inicial q0.
Debido al primer símbolo “b” de la cadena, el autómata pasa del estado q0 al estado q2.
Como el segundo símbolo de la cadena es “a”, el autómata pasa del estado q2 al estado q3.
Debido al tercer símbolo “b” de la cadena, el autómata pasa del estado q3 al estado final q4.
Como el cuarto símbolo de la cadena es “a”, el autómata permanece en el estado final q4.
Debido al quinto símbolo “a” de la cadena, el autómata permanece en el estado final q4. Como el sexto símbolo de la cadena es “c”, el autómata pasa del estado final q4 al estado q5.
Debido al séptimo y último símbolo “b” de la cadena, el autómata regresa al estado final q4.
Desarrollo del punto 6: 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 ofrezcan uno u otro). Diagrama de Moore generado en JFLAP es:
Diagrama de Moore generado en VAS es:
SIMILITUDES:
1) Ambos los simuladores permiten el análisis de cadenas aceptando o rechazando; 2) Ambos los simuladores permiten crear AFD y AFND; 3) Ambos los simuladores permiten la conversión de AFND a AFD.
DIFERENCIAS 1) El simulador JFLAP permite la inserción de varias cadenas para su posterior análisis; 2) El simulador JFLAP permite minimizar un AFD;
3) El simulador JFLAP permite la conversión de un AFD a la correspondiente expresión regular ER aceptada por el autómata; 4) El simulador VAS permite crear estados directamente dando doble clic en el cuerpo del trabajo; 5) El simulador VAS pide siempre al usuario que ingrese el nombre del nuevo estado antes de crearlo; 6) El simulador VAS permite la visualización de la tabla de transición. Otra diferencia entre los dos simuladores es que los archivos creados por ellos tienen diferentes extensiones. JFLAP crea archivos con extensión “.jff”, mientras que VAS crea archivos con extensión “.fa ”.
Desarrollo del punto 7: Genere tres cadenas válidas y dos no válidas. Las tres cadenas válidas y las dos no válidas se encuentran en la siguiente captura de imágenes:
Las tres cadenas válidas son “caaaa”, “bbbbababab” y “bab”, mientras que las dos cadenas no válidas son “ccccaaaa” y “bbaab”.
3. Teniendo en cuenta el siguiente autómata identifique si es AFD o AFND, Si 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.
1. Describa la forma matemática del autómata 2. Identifique los elementos (tupla que es) (Asociadas con los elementos del autómata del ejercicio propuesto). 3. 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 y en VAS
Al realizar el autómata en el simulador JFLAP, se observa en la anterior imagen que realice diferentes opciones de cadena, pero solo hay dos opciones validas o aceptadas las cuales serán las únicas que correrán en este autómata, como se pueden dar cuenta las otras cadenas fueron rechazadas por el autómata.
Vamos a correr la primera opción valida aceptada por el autómata.
CONCLUSIONES
Se obtuvo el aprendizaje primario como introducción para el tema a desarrollar en el presente trabajo colaborativo cumpliendo con los objetivos estipulados.
Se adquirió conocimiento en el manejo de las herramientas necesarias y esenciales para la posterior graficacion de los ejercicios planteados.
Se logro comprender mejor los lenguajes formales como también sus identificaciones como lo son los modelos AFD y AFND.
BIBLIOGRAFIA
http://www.desarrolloweb.com/articulos/2033.php https://es.wikipedia.org/wiki/Expresi%C3%B3n_regular http://biblioteca.unex.es/tesis/Teorias_automatas.pdf https://msdn.microsoft.com/es-es/library/az24scfc(v=vs.110).aspx
View more...
Comments