Você está na página 1de 18

Universidad nacional abierta y a distancia (unad)

Autómatas y Lenguajes Formales

Unidad 1. Lenguajes Regulares

Tutor

Edgar Antonio Cortes

Presentado por

Kevin David Hernandez Rangel

1065633211

Programa

Ingeniería de sistemas

Curso

301405A_363

Valledupar - cesar 2017


Actividades Colaborativas

El trabajo se desarrolla demostrando el procedimiento realizado paso a paso, no se


tendrá en cuenta las respuestas o simulaciones en JFLAP o VAS.

Ejercicio 1: Teniendo en cuenta el autómata realizar paso a paso el procedimiento de:

1. Hallar la expresión regular


El objetivo de las expresiones regulares es representar todos los posibles lenguajes
definidos sobre un alfabeto Σ, en base a una serie de lenguajes primitivos, y unos
operadores de composición.
Eliminando q3

ba

ab

aa

Entonces,
q0-q4
abba
bba
a
q0-q2
bba
bba
abba

se obtiene la expresión regular: ((bba)*abba)*(bba)*a

2. Hallar el lenguaje regular

Un lenguaje A es regular si es el lenguaje aceptado por un autómata, es decir, si A = L


(M) para algún autómata M.

L={ w ϵ (a,b) )*}|w =bba* +a }

3. Justificar el tipo de autómata que es


El autómata plasmado en el ejercicio es un Autómata Finito Determinístico, y la
justificación se basa en que en los recorridos no son repetidos y cada símbolo de entrada
tiene su recorrido definido.

Ejercicio 2: Realizar la conversión del siguiente autómata, si el autómata es AFD


convertirlo a AFND y si es AFND convertirlo a AFD, Se debe mostrar el procedimiento
paso a paso.

Identificamos el tipo de autómata: No sucede lo mismo que en el punto anterior, este


autómata presenta rutas repetidas como es el caso desde el estado q5, que el símbolo
b presenta dos salidas desde el mismo estado, lo cual nos indica que es un Autómata
Finito no Determinístico.
Se procede a la conversión del AFND por medio de conjuntos, desde el estado qo hasta
el estado q6.
Paso 1
Se inicia evaluando desde el estado qo, tanto para el símbolo a como para el símbolo b

Estado a b
q0 q4 q3

Paso 2
Al tener evaluado q0, se continua con el estado q4 y luego con q3

Estado a b
q4 q3 q2

Paso 3
Al tener evaluado q0, q4 se continua con el estado q3, pero se nota que en el paso
anterior surgen los estados q3 y q2, pero el estado q3 será evaluado mientras que el
estado q2 será evaluado en el siguiente paso

Estado a b
q3 q3 q2

Paso 4
Al tener evaluado q0, q4, q3 se continua con el estado q2

Estado a b
q2 q0 q3

Ya no hay más estados por evaluar, los estados q1, q5 y q6 solo tienen flechas que
indican que salen datos y no tiene flechas de llegada de datos, por lo que son omitidos
para ser evaluados sin alterar la naturaleza del autómata inicial.

Se muestra la tabla resumen del procedimiento:

Estado a b
q0 q4 q3
q4 q3 q2
q3 q3 q2
q2 q0 q3

Con la tabla resumen, se procede a realizar el autómata (conversión)

Ejercicio 3:
Teniendo en cuenta el ejercicio anterior, seleccionar el autómata finito determinista
(AFD). Con base en ese autómata desarrolle:

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


2. Plasme la tabla de transición.
3. Identifique los elementos (tupla, estado final, inicial, alfabeto, etc.). Debe explicar y
describir cada elemento y la función y significado en el autómata. Conceptos y
definiciones adicionales.
4. 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
pie de página o de lo contrario no tienen validez)
5. 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. (Ventajas que
ofrezca uno u otro).

Desarrollo del ejercicio

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

𝐾 = Es el conjunto de estados
Σ = Es el alfabeto de entrada
S ∈ Q = Es el estado inicial
𝐹 ⊆ 𝑄 = Es el conjunto de estados finales
𝛿 =: 𝑄𝑥Σ → Q Es la función de transición

2. Plasme la tabla de transición.

Estados a b
q0 q4 q3
q2 q0 q3
q3 q3 q2
#q4 q3 q2

3. Identifique los elementos (tupla, estado final, inicial, alfabeto, etc.). Debe explicar
y describir cada elemento y la función y significado en el autómata. Conceptos y
definiciones adicionales.

Identificación y descripción de los elementos (compuesto por una quíntupla)


𝐾 = Es el conjunto de estados {q0, q2, q3, q4}
Σ = Es el alfabeto de entrada {a, b}
S ∈ Q = Es el estado inicial {q0}
𝐹 ⊆ 𝑄 = Es el conjunto de estados finales {q4}
𝛿 =: 𝑄𝑥Σ → Q Es la función de transición (tabla de transición)

Estados a b
q0 q4 q3
q2 q0 q3
q3 q3 q2
#q4 q3 q2
Para que el buen funcionamiento del autómata, requiere de un simbolo de entrada a y
b, ademas de un estado inicial que para nuestro ejercicio es q0, adicionalmente presnta
los estados q2, q3 y q4, este último que actua como estado final. Las respectivas
transiciones son plasmadas en la tabla.

Conceptos y definiciones adicionales

Alfabeto: Conjunto finito y no vacío cuyos elementos se denominan símbolos. Se


designa normalmente con las letras Σ o Γ.
Autómata: La palabra autómata evoca algo que pretende imitar las funciones propias
de los seres vivos, especialmente relacionadas con el movimiento.
Palabra: es una secuencia finita de símbolos de un alfabeto, las mismas se pueden crear
especificando un alfabeto determinado.
Existe una palabra especial que representa una secuencia vacía de símbolos, y a menudo
se le llama la palabra vacía y se representa con la letra griega λ.
Estado: Un estado es un conjunto particular de instrucciones las cuales serán ejecutadas
en respuesta a la entrada de la máquina. Se puede pensar en el estado como algo
análogo a la memoria principal de la computadora.
Función de transición: Una función de transición, es una función que define las
transiciones entre los estados, de un autómata finito o de otro tipo de autómatas de
una o de una Máquina de Turing. Se describe mediante una tabla de transición de
estados.
Símbolo inicial Símbolo que permite iniciar la derivación de palabras propias de un
lenguaje.
Símbolo no terminal Símbolo que puede sustituirse por medio de una composición para
la formación de palabras más complejas.
Símbolo terminal Símbolo que ya no es posible descomponer en la formación de
palabras propias de un lenguaje.
4. 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)

Cadena tomada: babab

La máquina está en un estado inactivo, en el estado q0

Del estado q0 pasa al estado q3 y lee una b, faltando por leer abab
Del estado q3 se queda en el mismo estado q3, lee una a, faltando por leer bab

Del estado q3 pasa al estado q2 y lee una b, faltando por leer ab


Del estado q2 pasa al estado q0 y lee una a, faltando por leer b

Del estado q0 pasa al estado q3 se termina el proceso con la lectura del símbolo b. El
color verde nos da a entender en el simulador que la cadena es acepada.

5. 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. (Ventajas que
ofrezca uno u otro).
DIAGRAMA GENERADO EN EL SIMULADOR JFLAP

DIAGRAMA GENERADO EN EL SIMULADOR EN VAS

Tres similitudes

Son basado en JAVA, no requieren ejecutables

Se pueden crear diseños de AFD Y AFND

Brindan la facilidad de ver las cadenas válidas y no válidas

Tres diferencias

El entorno de trabajo del JFLAP es más llamativo (es a color) que el VAS

El JFLAP trae la opción de diseñar una máquina de Mealy, el VAS no


El JFLAP trae la opción de minimizar un autómata, e VS no

Bibliografías:

http://bibliotecavirtual.unad.edu.co:2077/lib/unadsp/reader.action?d
ocID=10498456&ppg=6

www.youtube.com/watch?v=GrPUpiQV4EE&feature=youtu.be

www.youtube.com/watch?v=29Qp_AWXFt4&feature=youtu.be

http://www.cubawiki.com.ar/index.php?title=Demostraciones_Lengu
ajes_Regulares_(Teor%C3%ADa_de_Lenguajes)#AFND_en_AFD