Está en la página 1de 34

AUTOMATAS Y LENGUAJES FORMALES

FASE 2. CONOCER FORMALISMOS USADOS PARA DEFINIR LENGUAJES


FORMALES

PRESENTADO A:
ANGELA MARIA GONZALEZ

PRESENTADO POR:
LAURA VICTORIA CORONADO ARCHILA
CÓD. 1057548103
FREDY YOVAN PEREZ
CÓD. 74187944
JAVIER FELIPE BULLA AGUILAR
CÓD. 1049648707
LUIS NORBEY CORREA DIAZ
CÓD. 10502200503

GRUPO: 58

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA-UNAD


INGENIERIA DE SISTEMAS
MARZO DE 2019
INTRODUCCIÓN
En el presente trabajo se conocerá los tipos de autómatas, características de cada uno, se
hallará la expresión regular de un autómata no determinista y se procederá a convertir de un
AFN a AFD, para finalizar se procederá a comprobar el funcionamiento de los autómatas
en los simuladores dispuestos JFLAP y VAS.
OBJETIVOS.

OBJETIVO GENERAL.
Conocer los tipos de autómatas, propiedades y estudiar las fuentes de consulta ofrecidas.

OBJETIVO ESPECÍFICOS.
 Consultar en fuentes primarias y secundarias los tipos de autómatas, características
y conversión de estos
 Hallar la expresión regular de un autómata, según el método “Eliminación de
estados”.
 Convertir de autómata AFN a AFD, según los métodos ofrecidos en el material de
apoyo.
 Establecer una comunicación asertiva en con los compañeros de curso de Auditoria
de Sistemas.
ACTIVIDAD A DESARROLLAR
Actividad Individual
 Laura Victoria Coronado Archila.
Actividad 1:

EJERCICIO A
TRABAJAR

Este ejercicio es un autómata finito no determinista (AFND),


puesto que como podemos ver el estado q0 y q1 posee dos
Caracterización del
transiciones; de la misma forma tiene transiciones sin leer
autómata
entradas y tienen transiciones de un estado final con transiciones
a otros estados.
Autómata Finito no Determinista

q1
a
b
b

q0 a q2
Procedimiento de
conversión de
- Paso 1. Se desdobla el autómata.
Autómata Finito a
Expresión Regular
q1 b q0
paso a paso a
q0 b
a

q2

- Paso 2. Eliminamos q1 hacia q0


ab

q0
a+ab q2

- Paso 3. Eliminamos a q2
ab

q0 (ab)*(a+ab)

-Paso 4. Obtenemos la expresión regular.

ER=((ab)*(a+ab))
Autómata Final
convertido ER=((ab)*(a+ab))

Expresión Regular
((ab)*(a+ab))

Lenguaje Regular

LR= {a,b}*.{ab}=({a}U{b}*.{ab})

5-tupla (k, £, δ, s, F) donde:

M= ({q0, q1, q2}, {a, b}, δ, q0, {q2})


Lenguaje regular K= {q0, q1, q2}
£= {a, b}
s= q0
F= q2

Donde la función δ: {q0, q1, q2} x {a, b} → {q0, q1, q2} viene
dada por:

δ {q0, a} =q1
δ {q1, b} =q0
δ {q1, b} =q2
Actividad 2:

EJERCICIO A
TRABAJAR

Este ejercicio es un autómata finito no determinista (AFND),


Caracterización puesto que como podemos ver el estado q0 posee dos transiciones;
del autómata de la misma forma tiene transiciones sin leer entradas y tienen
transiciones de un estado final con transiciones a otros estados.

- Paso 1. Validamos al conjunto A.


a b
A={0}U{0,2} B={1,3}U{---} C={2}U{---}

- Paso 2. Validamos al conjunto B.


a b
B={1,3}U{---} --- C={2}U{---}

- Paso 3. Validamos al Conjunto C.


a b
C={2}U{---} --- ---
Procedimiento de
conversión paso -Paso 4. Reunimos la tabla de Validación de conjuntos.
a paso a b
A={0}U{0,2} B={1,3}U{---} C={2}U{---}
B={1,3}U{---} --- C={2}U{---}
C={2}U{---} --- ---

-Paso 5. Obtenemos la tabla de transiciones.


a b
# →A B C
B --- C
#C --- ---
-Paso 6. Graficamos dicha tabla.

a
A B

b b

Autómata Final
convertido

Practicar y
verificar lo Autómata Original
aprendido

Convenciones
 Accept: Cadena aceptada.
 Reject: Cadena rechazada.
Autómata Final de la Conversión

Preguntas de Control
1. Dentro de las aplicaciones de autómatas se tiene:
A. Alimentación.
B. Medicina.
C. Fabricación de calzado.
D. Educación.
Justificación: Las maquinas empleadas para fabricar alimentos, tienen una entrada,
proceso y salida, donde podemos ver claramente un ejemplo de un autómata.

2. Dentro de la clasificación jerárquica de los autómatas se encuentran los intermedios en


primer nivel, a su vez dentro de ellos están:
A. Memoria Linealmente limitada.
B. Autómatas Finitos.
C. Máquinas de Turing.
D. Códigos convolucionales.
Justificación: De la misma forma se clasifican en finitos, intermedios (memoria de pila,
memoria linealmente limitada) y máquina de Turing.
3. Cuando se realiza la Conversión de AFN a AFD con transiciones vacías el resultado de
C = {1, 3, 4} U {0, 1, 3} con transición X es:
D = {1,2,3,4} U {0,1,3}
C = {1,3,4} U {0,1,3}
B = {1,2} U {0,1,3}
D = {1,2} U {0,1,3}
Justificación: Al realizar la respectiva conversión obtenemos el conjunto D.
4. Teniendo en cuenta la siguiente imagen cual es la respuesta:

A.

B.

C.

D.

Nota: Las respuestas se encuentran resaltadas de color azul.


 Juan Felipe Bulla Aguilar.
ACTIVIDAD 1.
Hallar la expresion Regular.

Figura 1. (Graficacion del autómata).


Paso 1. Identificación del tipo de autómata.
Este es un autómata finito no determinista ya que el estado q0, tiene dos transiciones con el
elemento “a”, del alfabeto, se puede observar que las transiciones con “a”, puede ir de q1 y
q2.
Método De Eliminación de estados.

Figura 2. (Re escribimos el autómata).


Paso 2. Desdoblamiento del autómata.
Se desdobla el autómata de tal manera que se identifique las transiciones a cada estado, de
tal manera que se puede evidenciar la repetición de transiciones y estados intermedios, en
este caso es q1.
Figura 3. (Eliminación del estado q1).
Paso 3. Eliminación estado q1.
Se elimina estado q1, hacia la transición de q0, como vemos se puede simplificar la
transición con una estrella kleen hacia el estado q0, con los elementos “a,b” del alfabeto.

Figura 4. (Eliminación del estado q1).


Paso 4. Se elimina estado q1, hacia la transición de q2.
Se procede a eliminar el estado q1, hacia la transición q2, como vemos también hay una
transición de q0 a q2, por ende, se puede sumar los alfabetos en la transición, como se ve en
la figura q1.

Figura 5. (Estructuración de expresión regular).


Paso 5. Eliminando estado q2.
Se procede a eliminar la transicion del estado q0 a q2, para eliminar el estado q2, como se
ve en la imagen 5.
Expresión regular.
ER= ((ab)*(a + ab))
COMPROBACIÓN DE TRANSICIONES.

Figura.6 (Comprobación de transiciones de AFN).


Como vemos estas son las posibles combinaciones de transiciones validas y no válidas.
Transiciones no validas:
b, ba, bab, son transiciones no validas, ya que como vemos no inicia por el estado q0.
Transiciones validas:
a, ab, aba, abab, ababab, estas son las transiciones validas ya que recorren transiciones
válidas y son iniciadas por el estado inicial y aceptadas por el estado de aceptación.

ACTIVIDAD 2
Conversion de AFN a AFD
Como habíamos visto anteriormente se puede evidenciar que este es un autómata finito no
determinista, para hacer la debida conversión procedemos hacer lo siguiente.
MÉTODO DOS.
Paso 1.
Identificación de la clausura bacía
Clausura bacía del estado q0.
e (0) = {2} A ,“Como vemos solo hay una clausura de transición bacía”, se llama conjunto
A
Mover (A,a) = {1,3} B se bautiza conjunto B
Mover (A,b) = {2} C se bautiza conjunto C.
e (B) = {---} “Como se puede evidenciar no hay ninguna transición épsilon en el conjunto
B”, por ende, es bacía.
Mover (B,a) = {---} “Como se puede evidenciar no hay ninguna transición con el elemento
“a”, del alfabeto, de los estados del conjunto B”
Mover (B,b) = {2} C “Se repite la transición pero, en esta tiene el mismo valor del conjunto
C, por ende, también se llama C”.
e (C) = {---} “Se puede analizar que los elementos del conjunto C, no tienen transiciones
bacías”.
Mover (C,a) ={---} “Se puede evidenciar que en el autómata el estado 2, no tiene transición
con el elemento “a”, del alfabeto”, por tal razón es vació.
Mover (C,b) ={---} “Se puede evidenciar que en el autómata el estado 2, no tiene transición
con el elemento “b”, del alfabeto”, por tal razón es vació.
Construcción de Tabla de Transición
a b
# A B C
B --- C
#C -- ----
Tabla .1 (transiciones de conjuntos).
En esta tabla se puede identificar que el conjunto A, es un estado inicial y a su vez de
aceptación, y B, es un estado intermedio, para finalizar C, es un estado de aceptación.

Figura 7. (Diseño de automata)


En esta figura se puede visualizar la construcción del autómata, autómata finito
deterministas.
COMPROBACIÓN DE AFN & AFD.

Figura 8.(Comprobación de transiciones de AFN).


Como vemos estas son las posibles combinaciones de transiciones validas y no válidas.
Transiciones no validas:
aba, abb, bb, son transiciones no válidas, ya que como vemos no inicia por el estado q0 y
las transiciones no corresponden a las transiciones del estado inicial.
Transiciones validas:
vació, b, ab estas son las transiciones validas ya que recorren transiciones válidas y son
iniciadas por el estado inicial y aceptadas por el estado de aceptación.

Figura 9. (Comprobación de transiciones de AFD)


Como vemos estas son las posibles combinaciones de transiciones validas y no válidas.
Transiciones no validas:
a, ba, bab, son transiciones no válidas, ya que como vemos no inicia por el estado q0 y las
transiciones no corresponden a las transiciones del estado inicial.
Transiciones validas:
b, ab estas son las transiciones validas ya que recorren transiciones válidas y son iniciadas
por el estado inicial y aceptadas por el estado de aceptación.

PREGUNTAS DE CONTROL.

1. Dentro de las aplicaciones de autómatas se tiene:


A. Alimentación
B. Medicina
C. Fabricación de calzado
D. Educación
Respuesta la A, ya que las máquinas para la fabricación de alimentos tienen unas entradas
un proceso y para finalizar una salida, lo cual se evidencia la aplicación de los autómatas.

2. Dentro de la clasificación jerárquica de los autómatas se encuentran los intermedios en


primer nivel, a su vez dentro de ellos están:

A. Memoria Linealmente limitada


B. Autómatas Finitos
C. Máquinas de Turing
D. Códigos convolucionales
Respuesta la A, según la clasificación de los autómatas están los finitos, Intermedios
(Memoria pila, memoria Linealmente limitada), Maquina Turing

3. Cuando se realiza la Conversión de AFN a AFD con transiciones vacías el resultado de C


= {1, 3, 4} U {0, 1, 3} con transición X es:

D = {1,2,3,4} U {0,1,3}
C = {1,3,4} U {0,1,3}
B = {1,2} U {0,1,3}
D = {1,2} U {0,1,3}

Respuesta D: al realizar las transiciones queda por resultado el conjunto D con los
elemento {1,2,3,4} y transiciones épsilon {0,1,3}.
4. Teniendo en cuenta la siguiente imagen cual es la respuesta:

A.

B.
C.

D.

Respuesta A, ya que cuándo se elimina un estado se suman las transiciones del mismo sus
entradas y salidas y se multiplican con el alfabeto de la otra transición por eso la respuesta
correcta es (11+0) (0+11).

 Luis Norbey Correa Díaz.


Actividad 1:

EJERCICIO A
TRABAJAR

- Identificación del Autómata Finito Determinista o


Autómata Finito No Determinista. Respuesta: El autómata
del ejercicio 2 corresponde a un Autómata Finito No
Determinista

- Explicar las características del tipo de autómata


Respuesta: Un autómata finito no determinista consta con
Caracterización del las siguientes características:
autómata
• Su transición desde un estado puede tener múltiples
destinos.
• Permite transiciones con cadenas vacías.
• Requiere menos espacio
Una cadena es aceptada si solo una de todas sus posibles
transiciones es hacia un estado final.
Procedimiento de Realice de manera detallada el procedimiento paso a paso de la
conversión de conversión del autómata a expresión regular y según ejemplo
Autómata Finito a revisado.
Expresión Regular
paso a paso
- Paso 1:Lo primero que vamos a realizar es a través de método
de eliminación de estados eliminamos 𝑞1

Obtendríamos de q0 a q2 la transición 2+12*1

- Paso 2: Eliminamos q0 tendríamos

- Paso 3: ER=𝟏 ∗ (𝟐 + 𝟏𝟐 ∗ 𝟏)

Autómata Final ER= 𝟏 ∗ (𝟐 + 𝟏𝟐 ∗ 𝟏)


convertido

Lenguaje regular LR= {1} ∗ 2 + {1,2} + 1 ∗ {1}


ACTIVIDAD 2: Conversión de Autómatas Finitos Deterministas a Autómatas Finitos
No deterministas (AFD a AFND) y viceversa

El diseño solicitado corresponde al diligenciamiento de la siguiente tabla:

EJERCICIO A
TRABAJAR

Caracterización En este espacio se realiza:


del autómata - Autómata Finito No Determinista
- Este es un autómata finito no determinista (AFND), puesto
que como podemos ver el estado q0, q2,q3 posee dos
transiciones.

Procedimiento de Realice de manera detallada el procedimiento paso a paso de la


conversión paso a conversión del autómata según corresponda y según ejemplo
paso revisado.

- Paso 1: Primero identificamos las transacciones entre los estados


y los símbolos que maneja.

a b
q0 q1, q3 -----
q1 ----- q2
q3 ----- q3,q2
q2 ----- -----
q1, q3 ----- q2,q3
q2,q3 ----- q2,q3

- Paso 2: debemos reconocer cual es el estado inicial y cual el


final.
Estado inicial

Estado final

- Paso 3…

Autómata Final
convertido

Practicar y Resultado final de la conversión y validar por lo menos.


verificar lo
aprendido
 Fredy Yovan Perez .
Actividad 1:

EJERCICIO A
TRABAJAR

Caracterización Autómata Finito No Determinista


del autómata - Posee al menos un estado q ∈ Q, tal que para un
símbolo a ∈ Σ del alfabeto, existe más de una
transición δ(q,a) posible.
- 5-tupla <K, Σ, δ, s, F> donde:
M = ({q0, q1, q2,}, {a, b}, δ, q0, {q2})
K = ({q0, q1, q2,}
Σ = {a, b}
s = q0
F = q2
Procedimiento Autómata inicial:
de conversión
de Autómata
Finito a
Expresión
Regular paso a
paso

Paso1: Eliminación del ciclo existente entre q0 y


q1. Se crea un estado adicional q0.

Paso2: Eliminación del estado q1.

Paso3: Eliminación del estado adicional q0.

Paso3: Autómata finito no determinista.


Expresión Regular: (ab)*(a+ab)

Autómata Final
convertido

Lenguaje En este espacio agrega el lenguaje regular


regular correspondiente a la expresión regular.

Actividad 2:
EJERCICIO A
TRABAJAR

Caracterización Autómata Finito No Determinista


del autómata - Posee al menos un estado q ∈ Q, tal que para
un símbolo a ∈ Σ del alfabeto, existe más de
una transición δ(q,a) posible.
- 5-tupla <K, Σ, δ, s, F> donde:
M = ({q0, q1, q2, q3}, {a, b}, δ, q0, {q2})
K = ({q0, q1, q2, q3}
Σ = {a, b}
s = q0
F = q2
Procedimiento
de conversión Paso 1: hallar Cerradura ε del estado inicial 0
paso a paso
Cerradura ε (0) = {2}
Mover (A, b) = {2}
Mover (A, a) = {1, 3}

Paso 2: hallar Cerradura ε del subconjunto B

Cerradura ε (0) = {2}


Mover (B, b) = {2}
Mover (B, a) = {1, 3}

Paso 3: hallar Cerradura del subconjunto C

Cerradura ε (1, 3) = {--}


Mover (C, b) = {2}
Mover (C, a) = {--}

Paso 4: Concluir
3 estados: Σ = {A, B, C}
 I = {A}
 F = {A, B}

Paso 4: tabla de transición:

a b
# -> A C B
#B C B
C --- B

Paso 5:

Autómata Final En este espacio se presenta el autómata final


convertido

Practicar y Apoyándose en el simulador JFlap o VAS ejecutar


verificar lo los dos autómatas, el original y el autómata
aprendido resultado final de la conversión y validar por lo
menos tres cadenas válidas y tres cadenas
rechazadas.

En este espacio agregar las imágenes tomadas del


simulador utilizado.
Actividad Colaborativa
Actividad 3:

Teniendo en cuenta los ejercicios desarrollados por los estudiantes el Grupo, selecciona uno
de los autómatas finitos deterministas (AFD). Con base en ese autómata desarrollan:

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

M= ({A, B, C}, {a, b}, δ, A, {A, C})

2. Plasme la tabla de transición.

a b
# →A B C
B --- C
#C --- ---

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.

Formalmente, una máquina de estados finitos es una 5-tupla (K, Σ, δ, s, F) donde:


K es un conjunto finito de estados;
Σ es un alfabeto finito de símbolos de entrada;
S es el estado inicial en K;

F es el conjunto de estados finales o de aceptación y (evidentemente) subconjunto


de K.
δ es la relación de transiciones, que a partir de un estado y un símbolo del alfabeto
obtiene un nuevo estado.

Ahora lo aplicamos a nuestro ejercicio.

5-tupla (k, £, δ, s, F) donde:

M= ({A, B, C}, {a, b}, δ, A, {A, C})


K= {A, B, C}
£= {a, b}
s= A
F= {A, C}

Donde la función δ: {A, B, C} x {a, b} → {A, B, C} viene dada por:

Conjunto A
δ (A, a) = {B}
δ (A, b) = {C}
Conjunto B
δ (B, a) = {--}
δ (B, b) = {C}
Conjunto C
δ (C, a) = {--}
δ (C, b) = {--}

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).
Podemos ver el recorrido de la cadena a
Figura. 2(Realizando ingreso de entrada a).
EN el autómata, ingresamos un elemento del alfabeto en este caso es “a”, como
vemos puede finalizar en el estado.

Figura .3 (Entrada a).


Ingresamos la entrada a, como vemos puede recorrer los estados A y B ya que
como vemos con el elemento del alfabeto a, es una entrada para el estado B
Figura .4 (entrada b).
Se ingresa la entrada b y como vemos es aceptada por el estado A

Figura .5(entrada b).


Como vemos el estado C, acepta la entra b, por ende, la entrada b, recorre los
estados A y C
Figura . 6(entrada ab)
Se ingresa la entra ab, como vemos es aceptada por el estado inicial A.

Figura . 7(entrada ab)


Se ingresa la entra ab, como vemos es aceptada por el estado inicial A, recorrer
hacia el estado B.
Figura. 7(entrada ab)
Se ingresa la entra ab, como vemos es aceptada por el estado inicial A, recorrer
hacia el estado B y finaliza en el estado C
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 de Moore en JFALP Diagrama de Moore en VAS

Similitudes Diferencias
Las dos herramientas utilizan Java. Jfalp, permite más funcionalidades que
VAS, vas solo permite AFD y maquinas
turin
Las dos herramientas permite diseñar Vas no visualiza las transiciones por
autómatas AFND y AFD. estado.
Las dos herramientas permiten entender las Jflap permite visualizar las aceptaciones de
transiciones. las entradas y visualizar su recorrido por
estados, vas solo acepta entradas.
Tienen diferentes entornos. Jflap, tiene un entorno más amigable y
didáctico que VAS.
CONCLUSIONES
Podemos concluir que es de vital importancia hallar la expresión regular de un autómata ya
que es una forma simbólica de expresar el funcionamiento de un autómata, por otro lado,
identificar las propiedades de los autómatas y las diferencias entre AFN y AFD, para
finalizar se deben dominar la conversión de autómatas y comprobar por lo simuladores el
funcionamiento de estos.
REFERENCIAS BIBLIOGRAFICAS

González, A. [Ángela]. (2018, junio 1). Lenguajes Regulares. [Archivo web]. Recuperado
de http://hdl.handle.net/10596/18315

González, A. [Ángela]. (2017, noviembre 5). Autómatas Finitos. [Archivo de video].


Recuperado de http://hdl.handle.net/10596/10470

También podría gustarte