Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Clase TeoComp 5
Lenguaje de un AFD
Definición:
a a a a, b
q0 b q1 b q2 b q32
M:
q1 b, c
a
a q32 L(M) = a(b c)
M: q0
b, c a, b, c
q2
Ejemplo:
L(M) = (a ba bba)* ( b bb)
Solución
a
a a, b
q0 b b b
M: q1 q2 q32
a
Ejercicio: Diseñar un AFD para el lenguaje siguiente
Solución
b b b
q0 b a a
q1 q2 q3
a
Ejercicio: Diseñar un AFD y determinar su respectivo lenguaje
Entrada
Alfabeto : = {a, b} a b
Estados : Q = {q0, q1, q2} q0 q0 q1
Estados
E. Inicial : q0 q1 q2 q2
E. aceptación: F = {q2}
q2 q2 q2
Solución
Solución
b, c
b, c a, b, c
b
a
q0 a q1 b q2 a q32 c q4
c
a
Ejercicio: Dado el AFD siguiente, determinar el L(M)
0 q2 0
1
q0 1
1 0
q1
Solución
Solución
a
a a, b
q0 b b q2 b q32
q1
a
Ejercicio: Diseñar un AFD para el lenguaje siguiente
L(M) = [1-9][1-9]*
Solución
1-9
q0 1-9 q1
Ejercicio: Diseñar un AFD para el lenguaje siguiente
L(M) = [1-9][0-9]*
Solución
0-9
q0 +, - q1 1-9 q2
Ejercicio: Diseñar un AFD para el lenguaje que tenga palabras
con la subpalabra 101.
Solución
0 1
0,1
1
q0 q1
0 q3
1
0
q2
Ejercicio: Dado el = {0,1}. Diseñar un AFD para el lenguaje
donde las palabras tiene 1 en la tercera posición (desde la
derecha a la izquierda).
w = 011010 w = 10110
Solución
0
0
0 0
q000 q100 q010 q110
1 0 1
1 1
0 0 0
q001 q101 1
1
q011 1
q111
1
Ejercicio: Dado el = {0,1}. Diseñar un AFD para el lenguaje
L = (00 001)*1
Solución
q1 1
q2
1 0,1 0,1
0
q0 q3
1
1
0 0
q4 q5
0
Ejercicio: Dado el = {0,1}. Diseñar un AFD para el lenguaje
cuyas palabras tienen una cantidad impar de 0’s.
Solución
1 1
q0 q2
0
Función de transición extendida
Este tipo de función hace posible decir, que significa para un AF aceptar
una palabra o un lenguaje.
^(q, ) = q
NOTA
^(q, a) = ^((q, a), ) = (q, a).
Ejemplo:
Determinar si las palabras w = bbaba y w = bbb estan en L(M).
a
a a, b
q0 b b q2 b q32
M: q1
a
^(q0 , w) F}
b, c
b, c a, b, c
a b
q0 a q1 b q2 a q32 c q4
c
a
◼ NOTA
Un AFD es aquel donde en cada estado y para cada símbolo del
alfabeto que es leído, existe uno y solamente un estado en el cual
el autómata puede estar. Esto es
: Q × → Q
(qi , a) → qj
◼ Equivalencia de autómatas
Dos AFD M1 y M2 son equivalentes, sii L(M1) = L(M2).
Propiedades
Prueba
Prueba
Sean los AFDs M1 = (Q1, , 1, q01, F1) y M2 = (Q2, , 2, q02, F2)
1) Si M1 = (Q1, , 1, q01, F1), donde L(M1) es el lenguaje aceptado por M1,
entonces Mc1 = (Q1, , 1, q01, Q1 – F1) es el complemento de M1 y por
tanto acepta Lc(M1).
q1 b, c q1 b, c
a a
q0 a q32 q0 a q32
b, c a, b, c b, c a, b, c
q2 q2
2) Sea M3 = (Q1 x Q2 , , 3, [q01 , q02], F3) un AFD,
donde F3 = F1 x F2
3([q1 , q2], a) = [1(q1 , a), 2(q2 , a)].
^1(q01 , w) F1 y ^2(q02 , w) F2
w L(M1) y w L(M2)
w L(M1) w L(M2)
Ejemplo (analizar): Sean los lenguajes
b a,b
a
b a
b
Prueba
Sean los AFDs M1 = (Q1, , 1, q01, F1) y M2 = (Q2, , 2, q02, F2)
que reconocen L1 y L2 , respectivamente.
En efecto
(b)
Prueba
Sean los AFDs M1 = (Q1, , 1, q01, F1) y M2 = (Q2, , 2, q02, F2)
que reconocen L1 y L2 , respectivamente.
w1 w2
M1 M2
Entonces:
L1 c = * = L1 .
L1 L2 = {1}.
L1 L2 = {0, 1, 11}.
◼ NOTA
Para todo lenguaje finito existe un AFD que la reconoce.
Ejemplo:
v e l a
1 2 3 6 7 8 13
r y e d
o p
s #
0 5 12 16 17
w k i g
r e o r
4 9 10 14 n 15
11
#
o 0 r
1 33
v e
2 34
e p w
3 35 49
r l o
4 36 50
p w a r
5 19 37 51
l o y k
6 20 38 52
# s # e s
a r e i i
7 21 39 40 43 47 53 54 57 61
y k d n # d n #
8 22 41 44 48 55 58 62
# e i s s
# e # g # g
i
9 10 13 17 23 24 27 31 42 45 56 59
d n # d n # # #
11 14 18 25 28 32 46 60
# g # g
12 15 26 29
# #
16 30
◼ NOTA
Un lenguaje L es finito si y solamente, existe un AFD que la
reconoce, cuyo grafo no tiene ciclos.
◼ Específicamente:
¿Cómo mostrar que no existe un AFD que reconoce un lenguaje, cuando
ya se hicieron todos los intentos por construir un AFD? .
Ejemplo:
L = {am bm am / m 0}.
El siguiente teorema muestra que existen problemas decidibles
en el contexto de los AFDs. Estos problemas pueden ser no
decidibles para otros tipos de autómatas.
◼ Teorema
Existen procedimientos de decisión para determinar, para
cualquier AFD M, si:
1) L(M) = .
2) L(M) es finito.
Prueba
Sea M’ un AFD equivalente a M. Entonces:
1) L(M) = sii M’ no tiene estados finales, es decir M’ tiene un solo
estado y este estado no es de aceptación
q := q0;
s:= w();
MIENTRAS (s fs) // fs fin de la sucesión de símbolos que forman w
q := D[q, s];
s:= w();
FIN MIENTRAS
SI (q F )
Retornar: w aceptado
SI NO
Retornar: w rechazado
FIN SI
Ejercicios