Trabajo Colaborativo No. 1 Página 1 Actividad No. 6.
TRABAJO COLABORATIVO No. 1
AUTOMATAS Y LENGUAJES FORMALES Tutor:
JAIME JOSE VALDES Grupo:
301405_76
PRESENTADO POR:
EDWIN ALBERTO PALMA LEON Cód. 86.054.717 [email protected]
JOSE GABRIEL CARDENAS MOYA Cód. 93.296.319
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA “UNAD”
Trabajo Colaborativo No. 1 Página 2 INTRODUCCION
Los autómatas vienen a ser mecanismos formales que realizan derivaciones en gramáticas formales. La manera en que las realizan es mediante la noción de reconocimiento. Una palabra será generada en una gramática si y sólo si la palabra hace transitar al autómata correspondiente a sus condiciones terminales. Por esto es que los autómatas son analizadores léxicos (llamados en inglés “parsers'') de las gramáticas a que corresponden.
Trabajo Colaborativo No. 1 Página 3 OBJETIVOS
Objetivo general
Reconocer los lenguajes regulares, autómatas finitos y su aplicación.
Objetivos específicos
Analizar la aplicación de los lenguajes regulares y los autómatas finitos.
Adquirir las habilidades necesarias para desarrollar autómatas y máquinas que reconozcan lenguajes o computen funciones.
Distinguir los diferentes tipos de lenguajes formales existentes.
Adquirir el conocimiento y competencia para poder recrear autómatas sencillos en un simulador. De igual forma verificar el lenguaje que reconoce.
Trabajo Colaborativo No. 1 Página 4 Si tomamos como A un alfabeto, unas posibles expresiones regulares sobre ese alfabeto podrían ser: (identifique que lenguaje reconoce esa ER)
a) Ø es una ER que denota el Lenguaje = EL CONJUNTO VACIO = L(Ø) = Ø b) λ es una ER que denota el lenguaje = DENOTA EL LENGUAJE { λ }
si A = {a,b,c} c) (a +b)*(a+b) = { a } , { aaa } , { b } , { bbb } , { ab } , { ba } d) (a* + b ) * = { a } , { b } , { aba } , { ab } , { λ } e) (a +λ )ba* = { ab } , { aba } f) b (aba)* = { b } , { baba } g) λ* = { λ } , { Ø } si A = {0,1} h) 0*+1*(01) = { 0 } , { λ } , { 101 } , { 00 } , { 1101 } , { 11101 } i) 10* + 10 = { 1 } , { 10 } , { 100 } , { 1000 } , { 10000 } j) 01* + 0 = { 0 } , { 01 } , { 011 } , { 0111 } , { 01111 } k) (1-11*0)* = { λ } , { 1-110 } , { 1-1110 } , { 1-11110 } , { 1-111110 } l) (1 + 10) + 0 = { 0 } , { 1 } , { 10 } m) 1* 0*10 = { 110 } , { 1110 } , { 010 } , { 0010 } , { 110010 } n) 00* 11* = { 01 } , { 011 } , { 0011 } , { 000111 } , { 00111 } o) (0+1)*11(1+0)* = { 11 } , { 011 } , { 111 } , { 110 } , { 1110 }
2. PARTIENDO DE LA DEFINICIÓN DE QUE UN AUTÓMATA FINITO DETERMINÍSTICO (AFD) ESTÁDADO POR LA QUÍNTUPLA:
A = (Q, Σ, f, q 0 , F)
Trabajo Colaborativo No. 1 Página 5
Q es un conjunto de estados.
Σ es el alfabeto de entrada
f: Q X Σ → Q es la función (total) de transición.
q 0 Q es el estado inicial.
F Q es el conjunto de estados finales.
Y que para el ejercicio, el autómata se define como: A = ({q 0 , q1 , q 2 , q 3 } , {0,1} , f , q 0 , { q 2 })
Plásmelo en el simulador
Realice la tabla de transición correspondiente.
Compruebe el lenguaje aceptado El lenguaje aceptado es ∑ = { 0,1 }
Identifique la expresión regular que permite identificar que cadenas
son válidas y que acepta el autómata.
Trabajo Colaborativo No. 1 Página 6 Identifique que denotación de estados está errada y corríjala.
Autómata inicial
Autómata corregido
Se corrigió la dirección de la transición del estado No.3, para que pueda hacer su recorrido normal y pueda llegar al estado final o de aceptación.
3. ACORDE AL AUTÓMATA DEL EJERCICIO N 2, REALICE:
- Identifique si es un AFD o AFND y justifique por qué.
Es un autómata AFND, ya que el estado q0, tienes dos salidas una por δ ( q0, 0 ) = q0 y δ ( q0, 0 ) = q1 , ya que dicho estado tiene más de una transición.
- Si dado el caso es un AFND conviértalo en el simulador a un AFD y plásmelo en el trabajo sus cadenas válidas. Analice si son las mismas cadenas que acepta al autómata antes de convertirlo.
Autómata AFND Cadenas aceptadas por el automata AFND
Trabajo Colaborativo No. 1 Página 7
Nuevo autómata al convertirlo de AFND a ADF
Cadenas aceptadas por el nuevo autómata, acepta las misma cadenas del autómata anterior
Trabajo Colaborativo No. 1 Página 8 - Compruebe el lenguaje aceptado
El lenguaje aceptado es ∑ = { 0,1 }
Trabajo Colaborativo No. 1 Página 9 - Identifique la expresión regular que permite identificar que cadenas
son válidas y que acepta el autómata.
Las expresión está dada por 0+01(0)*
- Analice si la ER y el Lenguaje aceptado es el mismo o no al ejercicio Número 2. Justifique sus respuestas.
El lenguaje si es el mismo, pero la expresión regular si cambia
4. Para el siguiente Autómata que acepta el lenguaje:
L = { ω ϵ {x,y,z}* │ω = x*yz
2, i >= 0}
Realice las siguientes actividades: Determine si es un AFD o AFND
Es un autómata AFD, porque del autómata inicial o de cualquiera de sus estados sale una sola letra o símbolo, para cualquier otro estado y se determina con exactitud cuál es su llegada.
Encuentre la ER ER = W(X)*YZ2
Trabajo Colaborativo No. 1 Página 10 Realice la tabla de transición
De cinco (05) ejemplos de cadenas válidas que acepte el autómata f w = x y z 2 q0 q1 Ф Ф Ф Ф Ф q1 Ф q2 Ф Ф Ф Ф q2 Ф Ф q2 q3 Ф Ф q3 Ф Ф Ф Ф q4 Ф q4 Ф Ф Ф Ф Ф q5
Trabajo Colaborativo No. 1 Página 11 Recréelo en el simulador
5. Construya un autómata que reconozca cadenas enmarcadas dentro de la expresión regular: (1 + 0)* Tenga en cuenta que debe incluir cadenas vacías del tipo λ
Identifique los elementos de la tupla a que corresponda ese autómata
y descríbalos.
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 ∑ = {1,0} es el alfabeto de entrada
q0 = es el estado inicial q1= es el estado final δ = Q x ∑ → Q
Realice el diagrama de Moore en el simulador y plásmelo en el trabajo.
Trabajo Colaborativo No. 1 Página 12 En el simulador demuestre una cadena válida haciendo el recorrido
por cada paso de estado.
La cadena ( 1 )
Trabajo Colaborativo No. 1 Página 13 La cadena ( λ )
Identifique el lenguaje que reconoce. El lenguaje que reconoce es ∑ = { 0,1 }
6. Construya un Autómata que acepte el siguiente Lenguaje: L = 00*11*
Identifique sus componentes (la tupla que 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
∑ = {L,=,0,1} es el alfabeto de entrada q0 = es el estado inicial
q4= es el estado final δ = Q x ∑ → Q
Trabajo Colaborativo No. 1 Página 14 Demuéstrelo con al menos cinco cadenas válidas. Demuestre tres
cadenas no válidas y justifíquelas por qué no son válidas comparadas con la expresión regular.
CADENAS VALIDAS
CADENAS NO VALIDAS
Estas cadenas no son válidas porque la primera cadena de transición es el símbolo L, y porque todas las cadenas deben empezar con este símbolo y terminar en 1 y aparte de eso se debe tener en cuenta su expresión regular que es ER = L=(0+1)*
Trabajo Colaborativo No. 1 Página 15 Es un autómata AFD, porque del autómata inicial o de cualquiera de sus estados sale una sola letra o símbolo, para cualquier otro estado y se determina con exactitud cuál es su llegada
Cree las tablas de transición
Plasme el diagrama de Moore
Trabajo Colaborativo No. 1 Página 16 Identifique sus componentes (la tupla que 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
∑ = {0,1, λ } es el alfabeto de entrada
q0 = es el estado inicial y es también un estado de aceptación de otro autómata q0 , q6 , q7 = son estados de aceptación o salida
δ = Q x ∑ → Q
Identifique si es un AFD o un AFND o si es un autómata de landa
transiciones. Justifique sus repuestas.
Es un estado AFD, porque de cualquiera de sus estados sale un solo símbolo o letra.
Constrúyalo en el simulador
Identifique claramente las cadenas y subcadenas válidas y
Trabajo Colaborativo No. 1 Página 17 CADENAS PRIMARIAS
SUBCADENAS
Plasme en el trabajo los gráficos generados.
Identifique la expresión regular y el lenguaje que representa
Las expresión está dada por (λ λ0) + (λ λ1 λ0)
Trabajo Colaborativo No. 1 Página 18
8. Construya un Autómata Finito Determinístico (AFD) de tres (3) estados que acepta dentro de su lenguaje la palabra “Unad”
Identifique sus componentes (la tupla que 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
∑ = {U,N,A,D } es el alfabeto de entrada q0 = es el estado inicial
q2 = es el estados de aceptación δ = Q x ∑ → Q
Constrúyalo en los simuladores.
Trabajo Colaborativo No. 1 Página 19 Plasme el diagrama de Moore
Escriba la expresión regular que represente. Las expresión está dada por (UA)*(ND)
9. Para el siguiente autómata finito determinista dado por: M = ({q0, q1, q2, q3} , {0, 1} , δ, q0, {q1})
Donde la función δ : {q0, q1, q2, q3 } × {0, 1} → {q0, q1, q2, q3} viene dada por: δ(q0, 0) = q0 δ(q0, 1) = q1
δ(q1, 0) = q0 δ(q1, 1) = q2 δ(q2, 0) = q3 δ(q2, 1) = q1 δ(q3, 0) = q3 δ(q3, 1) = q2
Trabajo Colaborativo No. 1 Página 20 Realice el diagrama de Moore.
Identifique la tabla de transición correspondiente.
Verifique el lenguaje aceptado El lenguaje aceptado es ∑ = { 0,1 }
Trabajo Colaborativo No. 1 Página 21 y las cadenas válidas para el autómata.
Identifique la expresión regular que lo representa. Las expresión está dada por (0)*(110)
10. Para el siguiente autómata:
Identifique sus componentes (la tupla que 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
∑ = { 0,1 } es el alfabeto de entrada A= es el estado inicial
C = es el estados de aceptación δ = Q x ∑ → Q
Trabajo Colaborativo No. 1 Página 22 Realice la tabla de transición.
Qué tipo de Autómata es (Justifíquelo). Es un autómata ADF
Identifique la ER y el Lenguaje que acepta Las expresión está dada por (01)*(01)
El lenguaje aceptado es ∑ = { 0,1 }
Trabajo Colaborativo No. 1 Página 24 CONCLUSIONES
Después de realizar el siguiente trabajo podemos concluir lo siguiente:
Está claro que cualquier AFD también es un AFND, es decir, si L es un lenguaje aceptado por un AFD, también está aceptado por un AFND.
Trabajo Colaborativo No. 1 Página 25 Simplemente existe como mucho una sola transición para cada símbolo del alfabeto y para cada estado.
Pero también podemos construir para cada AFND un AFD equivalente, es decir, un autómata determinista que acepta el mismo lenguaje.
REFERENCIAS BIBLIOGRÁFICAS
DEL MODULO
Módulo de autómatas y lenguajes formales, QUIROGA ROJAS, EDGAR, BOGOTA DC, COLOMBIA, 2008.
Trabajo Colaborativo No. 1 Página 26 http://alipso.com/monografias/2561_automatas2/ http://www.sc.ehu.es/jiwnagom/MAC1-ALF/MAC-archivos/Tema2-parte2.pdf http://users.dsic.upv.es/asignaturas/eui/alc/ER.pdf http://www.youtube.com/watch?v=pk17OhAoAOM http://www.youtube.com/watch?v=IDZkd2571gU http://www.youtube.com/watch?NR=1&feature=endscreen&v=pfJSqvQFOxI http://www.youtube.com/watch?v=pV1m831fg3M http://conferencia.unad.edu.co/p32899187/