Está en la página 1de 18

TRABAJO COLABORATIVO 1

AUTOMATA Y LENGUAJES FORMALES

OMAR PEDRAZA VALLE


CODIGO: 1065655932
GRUPO:301405_4

TUTOR:
JAIME JOSE VALDES

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA


AUTOMATAS Y LENGUAJE FORMAL
COLOMBIA
2017
Ejercicio 1: Teniendo en cuenta el autómata realizar la expresión regular, el lenguaje regular y mencionar el tipo de autómata
(Autómata finito determinista y autómata finito no determinista)

Autómata

Expresión Utilizamos el método de eliminación Agregamos las transacciones que Agregamos las transacciones que
regular de estados: hacen falta para conectar cada hacen falta para conectar cada
Agregamos las transacciones que estado con el resto de estados: estado con el resto de estados:
hacen falta para conectar cada Ø 0 0
estado con el resto de estados: 0 q1
q0 q1
Ø Ø
Ø
0 Ø Ø 0 1
q0 q1 1 Ø Ø 1 Ø
Ø 1 Ø 1
Ø Ø 1
1 Ø Ø 1 q2
Ø q3
q0 q3
ØØ 0 Ø
1 Ø Ø
Ø
Ø
q2 q3 Eliminamos el estado q1
1 Ø
Ø
Eliminamos el estado q1 qx qy Qj ER
0 0 00* Ø + Ø Ø
Se selecciona un estado qr que no
0 3 00* 1+ 1 1+00*1
sea el estado final ni el inicial que es qx qy Qj ER
el que vamos a eliminar.
3 0 1 0* Ø+ 0 0
Seleccionamos a q1 como qr, 0 0 00* Ø + Ø Ø 3 3 10*1+ Ø 10*1
haciendo la concatenación de cada 0 2 00* Ø+1 1
transición desde todos los estados qx 0 3 00* 1+ Ø 00*1 Al eliminar los estados finales y no
hacia todos los estados qy, pasando 2 0 1 0* Ø+ Ø Ø finales el autómata queda así:
por qr 2 2 1 0* Ø+ Ø Ø Ø
10*1
2 3 1 0* 1+1 1+10*1 1+00*1
q0
qx qy Qj q3
3 0 Ø 0* Ø+ Ø Ø 0
0 0 0Ø* Ø 3 2 Ø 0* Ø+ Ø Ø
0 2 0Ø* Ø 3 3 Ø 0* 1+ Ø Ø
0 3 0Ø* 1 Entonces:
2 0 Ø Ø* Ø El autómata queda de la siguiente R: Ø
2 2 Ø Ø* Ø manera: S: 1+00*1
Ø U: 10*1
2 3 Ø Ø* 1
3 0 Ø Ø* Ø q0
T: 0
3 2 Ø Ø* Ø
3 3 Ø Ø* 1 1 Ø
Ø ER= (R+SU*T)*SU*
Hacemos la unión de Qj con el q2
Ø q3
símbolo de la transición que va de qx 1+10*1 ER= (Ø +(1+00*1)( 10*1)*0)*(
Ø Ø
a qy directamente, y agregamos una 1+00*1)( 10*1)*
columna con la expresión regular Ahora eliminamos el estado q2
ER=
qx qy Qj ER qx qy Qj ER ((1+00*1)(10*1)*0)*(1+00*1)(10*1
)*
0 0 0Ø* Ø + Ø Ø 0 0 1Ø* Ø + Ø Ø
0 2 0Ø* Ø+1 1 0 3 1Ø* 00*1+1(1
0 3 0Ø* 1+ Ø 01 (1+10*1)+ +10*1)
2 0 Ø Ø* Ø+ Ø Ø 00*1
2 2 Ø Ø* Ø+ Ø Ø 3 0 Ø Ø* Ø+ Ø Ø
2 3 Ø Ø* 1+1 1 3 3 Ø Ø* Ø
3 0 Ø Ø* Ø+ Ø Ø (10*1+1)+
3 2 Ø Ø* Ø+ Ø Ø Ø
3 3 Ø Ø* 1+ Ø Ø
Al eliminar los estados finales y no
El autómata queda de la siguiente finales el autómata queda así:
manera: Ø
Ø
00*1+1(1+10*1)
q0
q3
Ø
Ø
q0

01
Entonces:
1 Ø R: Ø
Ø
S: 00*1+1(1+10*1)
q2 Ø q3 U: Ø
1
Ø Ø T: Ø

Ahora eliminamos el estado q2


ER= (R+SU*T)*SU*
qx qy Qj ER
ER= (Ø +(00*1+1(1+10*1)) Ø *
0 0 1Ø* Ø + Ø Ø Ø)*( 00*1+1(1+10*1)) Ø *
0 3 1Ø* 1+ 01 01+11
3 0 Ø Ø* Ø+ Ø Ø ER=00*1+1(1+10*1)
3 3 Ø Ø* 1+ Ø Ø

Al eliminar los estados finales y no


finales el autómata queda así:
Ø
Ø
01+11
q0
q3
Ø

La expresión regular esta dada por la


expresión: (R+SU*T)*SU*
Donde:
R: transacción de q1 a q1
S: transacción de q1 a q3
U: transacción de q3 a q3
T: transacción de q3 a q1

Entonces:
R: Ø
S: 01+11
U: Ø
T: Ø

ER= (Ø +(01+11) Ø * Ø)*( 10+11)


Ø*

ER=01+11

Lenguaje L={w ϵ {0,1}* | w termina en 1 y L= {1n | 2≤n≤}∪ {0n1| n≤}∪ {110n1| L= { w ϵ {0,1}* | w termina en 1}
regular tiene exactamente dos símbolos} n≤1}

Tipo de Autómata finito determinista (AFD) Autómata finito no determinista Autómata finito determinista (AFD)
autómata (AFND)
(AFD o
AFND)
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.

Solución:
El autómata finito es no determinista con transacciones vacías. En donde el estado inicial es q0 y el estado final q4, el alfabeto que
maneja es {0,1}. Con estos datos realizamos una tabla de transiciones, de manera vertical identificamos los conjuntos y de manera
horizontal los símbolos del alfabeto.
El primer conjunto (A) estará formado por el estado inicial unido con el conjunto de estados con transacciones vacías que lo afectan
directamente:
0 1
A={0} ∪ {-}
Hacemos la validación de cada uno de los valores del conjunto a con cada uno de los símbolos del alfabeto. Este conjunto obtenido lo
unimos con las transacciones vacías que lo afectan directamente.
0 1
A={0} ∪ {-} B = {1} ∪ {-} C= {2} ∪ {1}

Ahora realizamos la validación de los valores del conjunto B:


0 1
A={0} ∪ {-} B = {1} ∪ {-} C= {2} ∪ {1}
B = {1} ∪ {-} B = {1} ∪ {-} C= {2} ∪ {1}

Teniendo en cuenta que los valores obtenidos son los mismos que los conjuntos que ya estaban definidos (B y C), se les asigna este
mismo nombre.
Conteníamos con la validación del conjunto C:
0 1
A={0} ∪ {-} B = {1} ∪ {-} C= {2} ∪ {1}
B = {1} ∪ {-} B = {1} ∪ {-} C= {2} ∪ {1}
C= {2} ∪ {1} D={4,1}∪{3} E={3,2} ∪ {1}

Como en este caso lo conjuntos obtenidos son diferentes a los que ya se habían identificado, los nombramos con un nombre nuevo (D y
E).
Seguimos realizando el mismo procedimiento hasta validar todos los conjuntos que se obtengan:

0 1
A= {0} ∪ {-} B= {1} ∪ {-} C= {2} ∪ {1}
B= {1} ∪ {-} B= {1} ∪ {-} C= {2} ∪ {1}
C= {2} ∪ {1} D= {4,1} ∪ {3} E= {3,2} ∪ {1}
D= {4,1} ∪ {3} F= {1,0} ∪ {-} C= {2} ∪ {1}
E= {3,2} ∪ {1} G= {0,4,1} ∪ {3} E= {3,2} ∪ {1}
F= {1,0} ∪ {-} B= {1} ∪ {-} C= {2} ∪ {1}
G= {0,4,1} ∪ {3} F= {1,0} ∪ {-} C= {2} ∪ {1}
Teniendo en cuenta que el estado inicial es q0 nombramos como estado inicial al conjunto A que es el que contiene a dicho estado.
En el autómata original el estado final era q4 por lo tanto los conjuntos que quedaran como estado final son los que contienen a q4,
es decir D y G.
Podemos simplificar la tabla dejando solo el nombre de los conjuntos:

0 1
A B C
B B C
C D E
#D F C
E G E
F B C
#G F C

A partir de la tabla de transiciones dibujamos el autómata finito determinista:


1

0 G
A E
1
1 1
0 0
0
C D
1
1
0
1
B
0 F
0
O bien,
1

0 q6
q0 q4
1
1 1
0 0
0
q2 q3
1
1
0
1
q1
0 q5
0
Ejercicio 3:
Teniendo en cuenta el ejercicio anterior, seleccionar el autómata finito determinista (AFD). Con base en ese autómata
desarrolle:

0 G
A E
1
1 1
0 0
0
C D
1
1
0
1
B
0 F
0

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


𝐹𝑀 = [(𝐴, 𝐵, 𝐶,𝐷, 𝐸, 𝐹, 𝐺), (0,1), 𝛾, 𝐴, (𝐷, 𝐺)]

2. Plasme la tabla de transición.

0 1
A B C
B B C
C D E
#D F C
E G E
F B C
#G F 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.

𝑇𝑢𝑝𝑙𝑎 = |𝐴, 𝐵, 𝐶, 𝐷, 𝐸, 𝐹, 𝐺|
Estado inicial 𝐸𝐼 = 𝐴
Alfabeto del autómata ∑|0,1|
Estado de aceptación
𝐸𝐹 = |𝐷, 𝐺|
4. Identifique el lenguaje que genera.

El lenguaje Generado es: 𝐿 = (0,1)

5.
Simulación de las siguientes Cadenas valida 11010
Podemos Apreciar que desde el estado inicial, si partimos con transición 1 nos lleva a q2

Desde el estado q2 con transición 1 nos lleva a q6


 Desde el estado q6 con transición 0 nos lleva a un estado de aceptación que es q5
 Desde el estado q5 con transición 1 nos lleva al estado q2

 Desde el Estado q2 con transición 0 nos lleva a un estado de aceptación que es q3

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. (Ventajas que ofrezca uno u otro).

Solución:
- Ambos simuladores permiten el análisis de cadenas devolviendo aceptación
o
Rechazo.
- En los diagramas de Moore VAS permite la observación de los caminos que
toma
Cada símbolo en una transición; cosa que no permite JFLAP.
- JFLAP permite la inserción de varias cadenas para su posterior análisis.
-Ambos simuladores permiten la conversión de AFND a AFD.
- Ambos simuladores permiten observar el recorrido paso a paso de un
autómata.
-JFLAP permite la conversión de AF a ER y viceversa.
-VAS permite la visualización de la tabla de transición.
-Ambos simuladores permiten la conversión a formato de imagen

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

11011010 valida 0010011 no valida

01001000 valida 00100110 no valida

10101010 valida

Solución:
REFERENCIAS

Alfonseca, C. E., Alfonseca, M. M., & Moriyon, S. R. (2007). Teoria de automatas y


lenguajes formales. Obtenido de
http://bibliotecavirtual.unad.edu.co:2077/lib/unadsp/reader.action?docID=10498456
&ppg=6
Gonzalez Amarillo, A. M. (2016). Conversion de AFN a AFD con transiciones vacias.
Obtenido de https://www.youtube.com/watch?v=NF47BSorRfU
Amaya, C. A. (2013). Construccion de automatas, diagrama de Moore y tablas de
transicion. Obtenido de https://www.youtube.com/watch?v=3kWdHOLw-AQ
Hernandez, R. L. (2010). Practique la teoría de autómatas y lenguajes formales. Obtenido
de
http://bibliotecavirtual.unad.edu.co:2077/lib/unadsp/reader.action?docID=10566114
&ppg=10
Amaya, C. A. (2013). Cadenas validas en un automata. Obtenido de
https://www.youtube.com/watch?v=ASg_ZUXgvZk&t=890s
Gonzalez Amarillo, A. M. (2016). Conversion de AFN a AFD - 2 ejemplo. Obtenido de
https://www.youtube.com/watch?v=uLOXjZUTYyc&t=1202s
Gonzalez Amarillo, A. M. (2016). Conversion de AFN a AFD con transiciones vacias.
Obtenido de https://www.youtube.com/watch?v=NF47BSorRfU
Irias Escher, F. D. (s.f.). Conversion de automatas finitos deterministicos a expresiones
regulares. Obtenido de https://es.scribd.com/doc/12929632/DFA-a-Expresion-
Regular#
Molinero, J. (2014). Defincion formal de un automata finito determinista (AFD). Obtenido
de https://www.youtube.com/watch?v=P0AxQvJcN2Q&t=190s

También podría gustarte