Professional Documents
Culture Documents
FACULTAD DE INGENIERÍA
INGENIERÍA DE SISTEMAS
TUNJA, BOYACÁ
2018
1
LISTA DE CONTENIDOS
2
SEGUNDO PUNTO: Leyendo… ando
CAPITULO 2.
Un AFD es otro mecanismo para describir lenguajes. En vez de pensar en generar las
cadenas (como las ERs), un AFD describe un lenguaje mediante reconocer las
cadenas del lenguaje, y ninguna otra. Los nodos del grafo son estados. El apuntado
con un ángulo i es el estado inicial, en el que empieza la computación. Estando en un
estado, el AFD lee una letra de la entrada y, según indique la flecha (llamada
transición), pasa a otro estado (siempre debe haber exactamente una flecha saliendo
de cada estado por cada letra). Cuando se lee toda la cadena, el AFD la acepta o no
según el estado al que haya llegado sea final o no. Los estados finales se dibujan con
doble círculo. En este AFD pasa algo que, más o menos explícitamente, siempre
ocurre. Cada estado se puede asociar a un invariante, es decir, una afirmación sobre la
cadena leída hasta ese momento.
Hay dos formas posibles de entender cómo funciona un AFND. La primera es pensar
que, cuando hay varias alternativas, el AFND elige alguna de ellas. Si existe una
forma de elegir el siguiente estado que me lleve finalmente a aceptar la cadena,
entonces el AFND la aceptara. La segunda forma es imaginarse que el AFND está en
varios estados a la vez (en todos en los que “puede estar” de acuerdo a la primera
visión). Si luego de leer la cadena puede estar en un estado final, acepta la cadena.
los AFDs se pueden convertir a ERs que generen el mismo lenguaje. Esta conversión
tiene poco interés práctico, pero es esencial para mostrar que los tres mecanismos de
especificar lenguajes son equivalentes.
3
La idea es numerar los estados de K de cero en adelante, y definir ERs de la forma
R (i, j, k), que denotarán las cadenas que llevan al AFD del estado i al estado j
utilizando en el camino solamente estados numerados < k. Notar que los caminos
pueden ser arbitrariamente largos, pues la limitación está dada por los estados
intermedios que se pueden usar.
Las propiedades de clausura se refieren a qué operaciones podemos hacer sobre
lenguajes regulares de modo que el resultado siga siendo un lenguaje regular.
- La unión, concatenación y clausura de Kleene de lenguajes regulares es regular.
- El complemento de un lenguaje regular es regular, y la intersección y diferencia
de dos lenguajes regulares es regular.
4
TERCER PUNTO: Indagando el autómata
3.1. Sean los siguientes autómatas. Generar, para cada uno de ellos, su gramática, lenguaje, el
formalismo de cada autómata incluyendo sus funciones de transición y comprobaciones de
palabras existentes y no existentes en cada uno de ellos, a partir del análisis de hilos visto en
clase.
A1 => Sn = {q0, q1, q2, q3, q4, q5, q6, q7, q8}
∑ = {1, 2, 3}
𝛿 = {q1--1-->q3, q1--2-->q4, q1--3-->q2, q0--1-->q1, q0--2-->q0, q0--3-->q0,
q2--1-->q2, q2--2-->q2, q3--1-->q1, q3--2-->q4, q3--3-->q8, q4--1-->q5, q4--2-->q1,
q4--3-->q7, q5--1-->q1, q5--2-->q4, q5--3-->q6, q6--1-->q5, q6--2-->q7, q6--3-->q6,
q7--1-->q3, q7--2-->q7, q7--3-->q7, q8--1-->q3, q8--2-->q8, q8--3-->q8 }
Sθ = {q1}
SA = {q1, q2, q0, q3, q4, q5, q6, q8}
- - Funciones de transición:
5
𝛿(q1,1) = q3 𝛿(q3,2) = q4 𝛿(q6,2) = q7
𝛿(q1,2) = q4 𝛿(q3,3) = q8 𝛿(q6,3) = q6
𝛿(q1,3) = q2 𝛿(q4,1) = q5 𝛿(q7,1) = q3
𝛿(q0,1) = q1 𝛿(q4,2) = q1 𝛿(q7,2) = q7
𝛿(q0,2) = q0 𝛿(q4,3) = q7 𝛿(q7,3) = q7
𝛿(q0,3) = q0 𝛿(q5,1) = q1 𝛿(q8,1) = q3
𝛿(q2,1) = q2 𝛿(q5,2) = q4 𝛿(q8,2) = q8
𝛿(q2,2) = q2 𝛿(q5,3) = q6 𝛿(q8,3) = q8
𝛿(q3,1) = q1 𝛿(q6,1) = q5
A2:
6
A2 => Sn = {q0, q1, q2, q3, q4, q5, q6, q7}
∑ = {a, b}
𝛿 = { q0--a-->q1, q0--b-->q2, q1--a-->q5, q1--b-->q3 , q2--a-->q4, q2--b-->q6,
q3--a-->q4, q3--b-->q5, q4--a-->q1, q4--b-->q3, q5--a-->q7, q5--b-->q1, q6--a--
>q4, q6--b-->q3, q7--a-->q6, q7--b-->q3}
Sθ = {q0}
SA = {q0, q3, q4, q5, q7}
- Funciones de transición:
𝛿(q1, a) = q5 𝛿(q3, a) = q4 𝛿(q6, a) = q4
𝛿(q1, b) = q3 𝛿(q3, b) = q5 𝛿(q6, b) = q3
𝛿(q0, a) = q1 𝛿(q4, a) = q1 𝛿(q7, a) = q6
𝛿(q0, b) = q0 𝛿(q4, b) = q3 𝛿(q7, b) = q3
𝛿(q2, a) = q4 𝛿(q5, a) = q7
𝛿(q2, b) = q6 𝛿(q5, b) = q1
A3:
7
A2 => Sn = {q0, q1, q2, q3, q4, q5, q6, q7}
∑ = {s, r}
𝛿 = { q0--s-->q5, q0--r-->q1, q1--s-->q7, q1--r-->q2 , q2--s-->q4, q2--r-->q2,
q3--s-->q2, q3--r-->q7, q4--s-->q3, q4--r-->q6, q5--s-->q7, q5--r-->q4, q6--s--
>q2, q6--r-->q7, q7--s-->q7, q7--r-->q0}
Sθ = {q0}
SA = {q0, q3, q4, q5, q7}
- Funciones de transición:
𝛿(q1, s) = q7 𝛿(q3, s) = q2 𝛿(q6, s) = q2
𝛿(q1, r) = q2 𝛿(q3, r) = q7 𝛿(q6, r) = q7
𝛿(q0, s) = q5 𝛿(q4, s) = q3 𝛿(q7, s) = q7
𝛿(q0, r) = q 𝛿(q4, r) = q6 𝛿(q7, r) = q0
𝛿(q2, s) = q4 𝛿(q5, s) = q7
𝛿(q2, r) = q2 𝛿(q5, r) = q4
8
- w2 = srsssrr
q0----s---->q5----r---->q4----s---->q3----s----->q2----s---->q4----r---->q6----r---->q7
srsssrr ε L(A3)
- w1 = ababbaabb
x0--|---> x1--|---> x3--|---> x3--|--->x2--|--->x0--|--->x1--|--->x1--|--->x3--|--->x2
| |---> x2--|---> x2--|--->x0--|--->x2--|--->x2--|--->x2--|--->x0--| x1
| | | | | | |--->x5--|--->x4--|--->x3
| | | | | |--->x5--|--->x3--|--->x2--|--->x0
| | |---> x5--|--->x4--|--->x3--|--->x3--| | |
| | | | |--->x1--| | | |
a b a b b a a b b
9
- w2 = baaabaaba
x0--|---> x2--|---> x2--|---> x2--|--->x2--|--->x0--|--->x1--|--->x1--|--->x3--|--->x3
| | | |--->x5--|--->x4--| | |--->x2--|--->x2
| | |---> x5--|--->x4--|--->x3--|--->x3--|--->x3-- | |--->x5
| | | | |--->x1--| | |
| |---> x5--|---> x3--|--->x0--|--->x2--|--->x2--|--->x2--|--->x0--|--->x1
| | | | | | |--->x5--|--->x4--|
| | | | | |--->x5--|
b a a a b a a b a
10
CUARTO PUNTO: Minimizando… ando
Dados los siguientes DFA, realizar procesos de minimización, según el teorema de MyHill-
Nerode, visto en clase:
- A5:
a b c d e f g
a
b X
c X X
d X X X
e X X X X
f X X X X
g X X X X X
11
(f, e) = δ (e, 0) =e δ (f, 1) =e} NM δ (c, 1) =c
δ (f, 0) =g} M (g, c) = δ (c, 0) =c δ (g, 1) =g} NM
δ (e, 1) =e δ (g, 0) =g} NM
δ̂(a, 001010) = c
001010 ε L(A5)
Autómata A5 reducido:
δ̂(q0, 001010) = q4
001010 ε L(A5)
12
- A6:
A B C D E F G H
A
B X
C X X
D X X
E X X X X
F X X X X X
G X X X X X
H X X X X X
13
(H, E) = δ (H, a) =C (H, F) = δ (H, a) =C (H, G) = δ (H, a) =C
δ (E, a) =D} NM δ (F, a) =G} M δ (G, a) =} NE
δ (H, b) =G δ (H, b) =G δ (H, b) =G
δ (E, b) =G} NE δ (F, b) =D} M δ (G, b) =G} NE
δ̂(A, bababbb) = G
001010 ε L(A6)
Autómata A6 reducido:
δ̂(q0, bababbb) = q3
bababbb ε L(A6)
14
A7:
A B C D E F G
A
B X
C X X
D X X X
E X X X X
F X X X X X
G X X X X X X
No se puede reducir.
A8:
15
q0 q1 q2 q3 q4 q5 q6 q7
q0
q1 X
q2 X X
q3 X X X
q4 X X X X
q5 X X X X
q6 X X X X X X
q7 X X X X X X
16
(q5, q4) = δ (q5, a) = q6 δ (q7, b) =q6
δ (q4, a) =q5} NM δ (q0, b) =q1} M
δ (q5, b) =q2 (q7, q1) = δ (q7, a) = q2
δ (q4, b) =q7} M δ (q1, a) =q2} NE
(q6, q0) = δ (q6, a) = q4 δ (q7, b) =q6
δ (q0, a) =q5} M δ (q1, b) =q6} NE
δ (q6, b) =q6 (q7, q3) = δ (q7, a) = q2
δ (q0, b) =q1} M δ (q3, a) =q6} M
(q6, q1) = δ (q6, a) = q4 δ (q7, b) =q6
δ (q1, a) =q2} M δ (q3, b) =q2} M
δ (q6, b) =q6 (q7, q4) = δ (q7, a) =q2
δ (q1, b) =q6} NE δ (q4, a) =q5} M
(q6, q3) = δ (q6, a) = q4 δ (q7, b) =q6
δ (q3, a) =q6} M δ (q4, b) =q7} NM
δ (q6, b) =q6 (q7, q4) = δ (q7, a) =q2
δ (q3, b) =q2} M δ (q4, a) =q5} M
(q6, q4) = δ (q6, a) = q4 δ (q7, b) =q6
δ (q4, a) =q5} M δ (q4, b) =q7} NM
δ (q6, b) =q6 (q7, q5) = δ (q7, a) =q2
δ (q4, b) =q7} M δ (q5, a) =q6} M
(q6, q5) = δ (q6, a) = q4 δ (q7, b) =q6
δ (q5, a) =q6} M δ (q5, b) =q2} M
δ (q6, b) =q6 (q7, q6) = δ (q7, a) =q2
δ (q5, b) =q2} M δ (q6, a) =q4} M
(q7, q0) = δ (q7, a) = q2 δ (q7, b) =q6
δ (q0, a) =q5} M δ (q6, b) =q6} NE
δ̂(q0, bbbaaba) = q2
17
bbbaaba ε L(A8)
Autómata A8 reducido:
δ̂(x0, bbbaaba) = x2
bbbaaba ε L(A8)
18
CONCLUSIONES
19
LISTA DE REFERENCIAS
20