Vous êtes sur la page 1sur 13

Autómatas y Lenguajes Formales

AUTOMATAS Y LENGUAJES FORMALES


DESARROLLO MOMENTO 1

Leydi Mireya Becerra Reyes Cód. 1.052.383.777


Cindy Viviana Merida Benavides Cód.
Mario Albeiro Cárdenas Daza. Cód. 74.372.100
Yenny Alexandra Coronel Torres Cód.
Omar Danilo Fernández Sandoval. Cód. 7.224.665.

Tutor:
Ing. Víctor Fernando Canon Rodríguez
Grupo: 301405_64

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA
MARZO 2016
Autómatas y Lenguajes Formales

INTRODUCCIÓN

La elaboración de este trabajo tiene como propósito poner en práctica lo visto en los
capítulos de la unidad uno Lenguajes regulares, del módulo Autómatas y Lenguajes
Formales, 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.
Mediante el siguiente trabajo colaborativo se aplican de forma práctica en la
resolución de problemas aplicando los conceptos de autómatas, tuplas, lenguajes y
expresiones regulares, igualmente se adquiere experiencia y destreza en el manejo
de los simuladores JFLAP y Visual autómata simulator (vas).
Autómatas y Lenguajes Formales
TEMAS 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 ítems, Autómatas Finitos Deterministas, Autómatas Finitos no Deterministas, lenguajes y expresiones
regulares (ER), encuentre según corresponda:

AFN / AFD LENGUAJE EXPRESIÓN REGULAR

EJ1
L= {w | w tiene al menos una a r1 = (a ∗ b) = {ab, ba}
y a y tiene al menos una b}
sobre {a,b}

L= {w | w tiene una B y varias (BB* U AA* | AU(BA)*)


o cero B y tiene A o varias A }
sobre {a,b}
EJ2
Autómatas y Lenguajes Formales
(bbb*a+(aa*b+baa*b)(aa*b)*b)(
El lenguaje de las palabras que a,b)*
EJ3 tiene a abb o bba por
subcadena

L= {ω ∈
∑(a, b, c, d, f, g) | ω =las
palabras que cuando inicien en
una sola ´´b´´ les pueden B f*a + d g*c
seguir una, muchas o ninguna
EJ4 ´´ f´´ y que finalizan en una
sola ´´a´´. y que cuando inicien
en una sola ´´d´´ les pueden
seguir una, muchas o ninguna
´´g´´ y que finalicen en una
sola ´´c´´}

EJ5 (ab U c)* d


L= {w | w tiene una a , b ,c o
cero y tiene una d } sobre {a,
b, c, d}
Autómatas y Lenguajes Formales
2. SIMPLIFIQUE LA EXPRESIÓN REGULAR Y RESUELVA:

(𝑐𝑏)∗ 𝑐𝑎 (𝑎𝑏)∗ ∪ 𝑏 (𝑏𝑎)∗ 𝑏 ∪ (𝑎𝑏)∗ 𝑎 (𝑏𝑎)∗ 𝑏 = (𝑐 + 𝑐𝑏 (𝑐𝑏)∗ 𝑐 + (𝑎 + 𝑏)𝑏 )(𝑎𝑏)∗

1. Describa la forma matemática del autómata: La forma matemática del


autómata se expresa de la siguiente forma:

M= [(Q0, Q1, Q2, Q3, Q4), (a, b, c, 𝜆), 𝜸, Q0, (Q4)]

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)

TABLA DE TRANSICIÓN
Símbolos a b c
Estados
>q0 q3 q3 q1
q1  q2 
q2   q1
q3  q3 
#q4 q3  

Tabla 1: Es autómata finito determinístico ya que en el autómata observado


se evidencia que para cada entrada solo hay un estado donde puede realizar
la transición, en los a estados solo existe un única transición por cada símbolo.

3. 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.

5-tupla (K, Σ, δ, s, F) donde:

M = ({q0, q1, q2, q3, q4}, {a, b, c, λ }, δ, q0, {q4}): Es un quíntuplo (K, Σ, δ, s,
F)
K = {q0, q1, q2, q3, q4}: Son los estados que contiene el autómata
Σ = {a, b, c, λ ): Es el alfabeto que contiene estos dos símbolos
s= q0: Es el estado inicial
F = q4: Es el estado final

 : K x ∑ → K es la función de transición, que a partir de un estado y un símbolo


del alfabeto obtiene un nuevo estado. Donde la función δ: {q0, q1, q2, q3, q4}
× {a, b, c, λ } → {q0, q1, q2, q3, q4} viene dada por:
δ (q0, c) = q1
δ (q0, a) = q3
Autómatas y Lenguajes Formales
δ (q0, b) = q3
δ (q1, b) = q2
δ (q1, λ) = q4
δ (q3, b) = q4
δ (q4, a) = q3

4. Identifique el lenguaje que genera.

L= {𝜔 ∈ ∑(𝑎, 𝑏, 𝑐, 𝑑, 𝑓, 𝑔) |𝜔 = Conjunto de cadenas sobre el alfabeto {a, b,


c} que tiene al menos una a, al menos una B y al menos una c.

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)

Figura1. (Se observa un autómata finito determinístico un cadena valida 𝑐𝑏𝑐𝜆,


donde q1 es el estado inicial y q4 es el estado final dentro de esta la cadena
que sale de q0 con el símbolo c llega a q1 y de este sale otra transición con el
símbolo b hasta el estado q2 de este se devuelve otra transición al estado q1
y de este toma el valor de lambda hasta el estado final q4.)
Autómatas y Lenguajes Formales
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).

Figura2 Figura3
Autómatas y Lenguajes Formales

Similitudes JFLAV-VAS
Son buenos muy clásicos, además permiten plasmar el autómata en forma ordenada

Dan un paso a paso de sistema


Al establecer funciones a cada estado ( inicial y final) identifica por símbolos dinámicos
y coherentes
Permiten observar las cadenas de valor que son aceptadas en el autómata
Ayudan al usuario a determinar el autómata
Dan un paso a paso de sistema
Se puede observar clara mente cuales son los valores que contiene el autómata
El autómata muestra la misma solución en ambos sistemas
Tiene herramientas sencillas y coherentes, igual el personal tiene forma de plasmar el
autómata fácil

Diferencias JFLAV-VAS
JFLAV permite agregar los valores de cada estado de forma continua
Al agregar las cadenas en el VAS no guarda cuales son aceptadas, en cambio en el
JFLAV se crea una tabla la cual deja ver cada una de las cadenas validas e invalidas al
agregarlas
El VAS selección o ilumina la líneas que son usadas al darle una cadena de valor

No muestra cuales son las posibles soluciones , que se presenta en el autómata


Al ejecutar la función Ej. Step to sate , se abre nueva ventana , pero no muestra el paso
a paso
El JFIAP no me muestra las tablas de transición
La ruta que se muestra del autómata al hacer el paso a paso es más grafica en el vas
Autómatas y Lenguajes Formales

7. Genere tres cadenas válidas y dos no válidas.

Cadenas Válidas Cadenas No Válidas

Figura5
Autómatas y Lenguajes Formales
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.

1. Describa la forma matemática del autómata

L= {𝜔 ∈ ∑(𝑎, 𝑏, 𝑐, 𝑑, 𝑓, 𝑔, 𝜆) |𝜔}

2. Identifique los elementos (tupla que es) (Asociadas con los elementos del
autómata del ejercicio propuesto).

5-tupla
 Símbolos del Alfabeto: {a,b,c,d,f,g, 𝜆}
 Estado Final: q0
 Estado Inicial: q0
 Estados: q0, q1, q2,q3,q4
 Función Transición: {(q0,a;q1), (q0,c;q2), (q0,abcdg;q3), (q1,b;q0), (q1,f;q1),
(q2,d;q0), (q2,g;q2), (q3,abcdfg;q3)}

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)

Este es un Autómata Finito No


Determinista en el cual el estado inicial
y final es q0, una cadena valida es afb, a
partir de q0 sale un símbolo a hasta
llegar a q1, de q1 sale una transición f y
termina en q1, de q1 sale un símbolo b
hasta llegar a q0.

Figura6
Autómatas y Lenguajes Formales
4. Muestre el diagrama de Moore generado en JFLAP y en VAS

Figura7 Figura8
Autómatas y Lenguajes Formales
5. 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

Cadenas Válidas Cadenas no Válidas

Figura9 Figura10
Autómatas y Lenguajes Formales

CONCLUSIONES

 La teoría de autómatas y lenguajes formales son la herramienta matemática


que ha permitido el desarrollo de compiladores, intérpretes, editores e
impresores de código, verificadores de código y otras herramientas.

 Como estudiantes hemos aprendido los conceptos básicos de Autómatas y


Lenguajes Formales, ya que nos permite aplicar estos conocimientos en la vida
cotidiana, como profesional, en nuestra parte personal y con las demás
personas.

 Adquirimos más conocimientos del tema y su importancia para la comprensión


de cada concepto, compartiendo e interactuando las diversas opiniones de mis
compañeros.