Anda di halaman 1dari 120

Lenguajes Formales y

Autmatas

Material base tomado del curso: Fundamentos de Algoritmos y


Computabilidad.
Elaborado por el profesor: Oscar Bedoya
* Autmatas finitos
* Autmatas finitos deterministas
* Autmatas finitos no deterministas
* Equivalencia entre AFD y AFN

2
Lenguajes regulares

Tipo Lenguajes Tipo de Normas para


mquina la gramtica
0 Recursivamente Mquina de No restringida
enumerables Turing
1 Sensibles al Autmata , ||||
contexto lineal acotado
2 Independientes Autmata de A
del contexto pila
3 Regulares Autmata AaB
finito Aa

3
Lenguajes regulares

{a}*
Se puede construir un
{a}*{b}* autmata finito para cada
{a}*{b}* uno de estos lenguajes
{a,bc}*
{a}{b,c,ab}
{(ab)n|n0}
{anbm|n0, m0}
{albmcn|l0,m0,n0}

4
Lenguajes regulares

{anbn|n0}, no es regular No se puede construir un


{anb2n|n0}, no es regular autmata finito para
{wcw|w{a,b}*}, no es regular ninguno de estos lenguajes

5
Lenguajes regulares

Autmata finito

Se puede disear un autmata finito para que acepte, por


ejemplo, el lenguaje {ab}*={,ab,abab,ababab,}

6
Lenguajes regulares

Considere el lenguaje regular L representado por


c*(abc*)*
w1=abc5ab pertenece a L?
w2=cabac3bc pertenece a L?

7
Lenguajes regulares

Considere el lenguaje regular L representado por


c*(abc*)*
w1=abc5ab pertenece a L?
w2=cabac3bc pertenece a L?
Se quiere conocer si una cadena w es generada por un
lenguaje L, para esto se puede crear un autmata finito

8
Lenguajes regulares

Autmatas finitos
Caja negra que acepta como entrada los datos de una
cinta
Se tiene un bombillo que representa la salida, cuando la
entrada se acepta por el autmata, ste se enciende
Botn reset
La operacin de la mquina consiste en un conjunto de
estado internos

9
Lenguajes regulares

Autmatas finitos

La cabeza del autmata slo puede leer (no puede escribir) y se


mueve siempre a la derecha

10
Lenguajes regulares

Autmatas finitos

Considere un autmata que acepta cadenas en {a,b}* que tienen


una sola b y est al final de la cadena

11
Lenguajes regulares

Autmatas finitos

12
Lenguajes regulares

Autmatas finitos

a a

13
Lenguajes regulares

Autmatas finitos

a a a

14
Lenguajes regulares

Autmatas finitos

a a a b

15
Lenguajes regulares

Autmatas finitos

a a a b a

16
Lenguajes regulares

Autmatas finitos

a a a b a a

17
Lenguajes regulares

Autmatas finitos
Los autmatas se pueden representar por medio de un
grafo dirigido conocido como diagrama de transicin

Nodos (estados)
a
Estado inicial b
Estado de aceptacin q0 q1
a,b
Aristas (transiciones)
q2

a,b

18
Lenguajes regulares

a
Cada avance en el autmata b
depende de: q0 q1
a,b
(simboloLeido, estadoActual)
q2

a,b

q0 19
Lenguajes regulares

a
Realice el seguimiento del b
cmputo para la cadena aab q0 q1
a,b

q2

a,b

q0 20
Lenguajes regulares

a
b
(q0,a) q0 q0 q1
a,b

q2

a,b

q0 21
Lenguajes regulares

a
b
(q0,a) q0 q0 q1
a,b

q2

a,b

q0 22
Lenguajes regulares

a
b
(q0,a) q0 q0 q1
a,b

q2

a,b

q0 23
Lenguajes regulares

a
b
(q0,b) q1 q0 q1
a,b

q2

a,b

q1 24
Lenguajes regulares

a
b
(q0,b) q1 q0 q1
a,b

Como se consumen los smbolos q2


en la cinta y q1 es un estado de
a,b
aceptacin, se dice que el
autmata reconoce aab

q1 25
Lenguajes regulares

a
Indique si se acepta la cadena b
aaa q0 q1
a,b

q2

a,b

q0 26
Lenguajes regulares

a
Indique si se acepta la cadena b
aba q0 q1
a,b

q2

a,b

q0 27
Lenguajes regulares

a
Indique si se acepta la cadena b
vaca q0 q1
a,b

q2

a,b

q0 28
Lenguajes regulares

a
Indique una expresin regular b
para el autmata q0 q1
a,b

q2

a,b

q0 29
Lenguajes regulares

a
El autmata acepta el lenguaje b
dado por a*b q0 q1
a,b

q2

a,b

q0 30
Lenguajes regulares

Indique si se aceptan las


siguientes cadenas:
a

b b
ab
q0 q1 q2
bab
a
ba4b a,b
ab3a b q3 q4
a,b
a a,b
q5

31
Lenguajes regulares

Indique si se aceptan las


siguientes cadenas:
a

b b
ab
q0 q1 q2
bab
a
ba4b a,b
ab3a b q3 q4
a,b
a a,b
Indique un expresin q5
regular que represente el
lenguaje aceptado por el
autmata
32
Lenguajes regulares

Indique si se aceptan las


siguientes cadenas:
a

b b
ab
q0 q1 q2
bab
a
ba4b a,b
ab3a b q3 q4
a,b
a a,b
Indique un expresin q5
regular que represente el
lenguaje aceptado por el ab*aba*b
autmata
33
Lenguajes regulares

Indique si se aceptan las


siguientes cadenas: c

a b
abc
q1 q2
(abc)2 q0
a,c a,b
aabc b,c
aba
q3
abca a,b,c

Indique un expresin
regular que represente el
lenguaje aceptado por el
autmata
34
Lenguajes regulares

Indique si se aceptan las


siguientes cadenas: c

a b
abc
q1 q2
(abc)2 q0
a,c a,b
aabc b,c
aba
q3
abca a,b,c

Indique un expresin
regular que represente el (abc)*
lenguaje aceptado por el
autmata
35
Lenguajes regulares

Indique si se aceptan las


siguientes cadenas:
c

abc a b
abcac q1
q0 c q2
(ac)10 a
b,c a,b
a2b2c2
(abc)2 q3
(abc)2(ac)3 a,b,c

Indique un expresin
regular que represente el
lenguaje aceptado por el
autmata
36
Lenguajes regulares

Indique si se aceptan las


siguientes cadenas:
c

abc a b
abcac q1
q0 c q2
(ac)10 a
b,c a,b
a2b2c2
(abc)2 q3
(abc)2(ac)3 a,b,c

Indique un expresin
(abcac)*
regular que represente el
lenguaje aceptado por el
autmata
37
Lenguajes regulares

Disee un autmata finito que acepte a+b

38
Lenguajes regulares

Disee un autmata finito que acepte a+b

a
a b
q2
q0 q1
b a,b
q3

a,b

Expresin regular:a+b
Lenguaje: {ab, aab, aaab, }

39
Lenguajes regulares

Disee un autmata finito que acepte a(ab)*c

40
Lenguajes regulares

Disee un autmata finito que acepte a(ab)*c

a,b
a c
q2
q0 q1
b,c a,b,c
q3

a,b,c

Expresin regular:a(ab)*c
Lenguaje: {ac, aac, abc, aabc, }

41
Lenguajes regulares

Disee un autmata finito que acepte (ab)*

42
Lenguajes regulares

Disee un autmata finito que acepte (ab)*

a
q0 q1
b a
q2

a,b

Expresin regular:(ab)*
Lenguaje: {, ab, abab, ababab,}

43
Lenguajes regulares

Teorema de Kleene
Un lenguaje es regular si y slo si es aceptado por un
autmata finito

44
Lenguajes regulares
Autmatas finitos
Los autmatas finitos se dividen en autmatas finitos
deterministas (AFD) y en no deterministas (AFN)

a a
b b

a,b b a,b b
b

a a

45
Lenguajes regulares
Autmatas finitos
Los autmatas finitos se dividen en autmatas finitos
deterministas (AFD) y en no deterministas (AFN)

a a
b b

a,b b a,b b
b

a a

Dado un estado q y un Dado un estado q y un


smbolo x, se tiene una smbolo x, se tienen varias
sola arista de transicin transiciones posibles
46
Lenguajes regulares

Autmatas finitos deterministas (AFD)


Un AFD es una coleccin de cinco elementos:
Un alfabeto
Una coleccin finita de estados Q
Un estado inicial q0
Una coleccin finita de estados de aceptacin T
Una funcin :QxQ que determina el nico estado siguiente
para el par (qi,) correspondiente al estado actual qi y la entrada

47
Lenguajes regulares

Autmatas finitos deterministas (AFD)


Un AFD es una coleccin de cinco elementos:
Un alfabeto
Una coleccin finita de estados Q
Un estado inicial q0
Una coleccin finita de estados de aceptacin T
Una funcin :QxQ que determina el nico estado siguiente
para el par (qi,) correspondiente al estado actual qi y la entrada

debe ser una funcin para que


exista el determinismo

48
Lenguajes regulares

Autmatas finitos deterministas (AFD)


Un alfabeto
Una coleccin finita de estados Q
Un estado inicial q0
Una coleccin finita de estados de aceptacin T
Una funcin :QxQ
b

a
q0 q1
b a
q2
a,b
49
Lenguajes regulares

Autmatas finitos deterministas (AFD)

Q a b
q0
Estado inicial
q1
T q2
:QxQ
b

a
q0 q1
b a
q2
a,b
50
Lenguajes regulares

Autmatas finitos deterministas (AFD)


={a,b}
Q={q0,q1,q2} a b
q0
Estado inicial q0
q1
T={q0} q2
:QxQ
b

a
q0 q1
b a
q2
a,b
51
Lenguajes regulares

Autmatas finitos deterministas (AFD)


={a,b}
Q={q0,q1,q2} a b
q0 q1 q2
Estado inicial q0
q1 q2 q0
T={q0} q2 q2 q2
:QxQ
b

a
q0 q1
b a
q2
a,b
52
Lenguajes regulares

Indique los 5 elementos que definen el siguiente autmata:

Q a b
q0
Estado inicial
q1
T q2
:QxQ

a a
b
q0 q1
b a,b

q2

53
Lenguajes regulares

Indique los 5 elementos que definen el siguiente autmata:


={a,b}
Q={q0,q1,q2} a b
q0 q0 q1
Estado inicial q0
q1 q1 q2
T={q0,q2} q2 q1 q1
:QxQ

a a
b
q0 q1
b a,b

q2

54
Lenguajes regulares

Muestre el diagrama de transicin para el autmata:


={a,b}
Q={q0,q1} a b
Indique el lenguaje
q0 q0 q1
Estado inicial q0 aceptado
q1 q1 q1
T={q0}
:QxQ

55
Lenguajes regulares

Muestre el diagrama de transicin para el autmata:


={a,b}
Q={q0,q1} a b
q0 q0 q1
Estado inicial q0
q1 q1 q1
T={q0}
:QxQ

a a,b
b
q0 q1

56
Lenguajes regulares

Muestre el diagrama de transicin para el autmata:


={a,b}
Q={q0,q1,q2} a b
q0 q1 q2 Indique el lenguaje
Estado inicial q0
q1 q1 q2 aceptado
T={q1} q2 q2 q2
:QxQ

57
Lenguajes regulares

Muestre el diagrama de transicin para el autmata:


={a,b}
Q={q0,q1,q2} a b
q0 q1 q2
Estado inicial q0
q1 q1 q2
T={q1} q2 q2 q2
:QxQ
a
a
q0 q1
b b
q2
a,b
58
Lenguajes regulares

Muestre el diagrama de transicin para el autmata:


={a,b} a b
Q={q0,q1,q2,q3} q0 q1 q3
Indique el lenguaje
Estado inicial q0 q1 q1 q2 aceptado
q2 q3 q2
T={q2}
q3 q3 q3
:QxQ

59
Lenguajes regulares

Muestre el diagrama de transicin para el autmata:


={a,b} a b
Q={q0,q1,q2,q3} q0 q1 q3
Estado inicial q0 q1 q1 q2
q2 q3 q2
T={q2}
q3 q3 q3
:QxQ
a b
a b
q0 q1 q2
b q3 a

a,b
60
Lenguajes regulares

Disee un AFD sobre ={a,b} que reconozca el lenguaje de


todas las palabras que contienen un nmero par de as. Se
aceptan cadenas que tienen cero as
Muestre el diagrama de transicin
Exprese el autmata formalmente
Indique la expresin regular

61
Lenguajes regulares

={a,b}
Q={q0,q1} a b
Estado inicial q0 q0 q1 q0
q1 q0 q1
T={q0}
:QxQ
b b
a
q0 q1
a

El autmata acepta: (b*(ab*a)*)*

62
Lenguajes regulares

Disee un AFD sobre ={a,b} que reconozca b*a+


Muestre el diagrama de transicin
Exprese el autmata formalmente

63
Lenguajes regulares

={a,b}
a b
Q={q0,q1,q2} q0 q1 q0
Estado inicial q0 q1 q1 q2
T={q1} q2 q2 q2

:QxQ
b a
a
q0 q1
b
q2

a,b

64
Lenguajes regulares

Disee un AFD sobre ={a,b} que reconozca el lenguaje de


todas las palabras que tienen al menos una a
Muestre el diagrama de transicin
Indique la expresin regular

65
Lenguajes regulares

={a,b}
Q={q0,q1} a b
Estado inicial q0 q0 q1 q0
q1 q1 q1
T={q1}
:QxQ
b a,b
a
q0 q1

El autmata acepta: b*a(ab)*

66
Lenguajes regulares

Disee un AFD sobre ={a,b} que reconozca a+b+


Muestre el diagrama de transicin
Indique la expresin regular

67
Lenguajes regulares

={a,b} a b
Q={q0,q1,q2,q3} q0 q1 q3
q1 q1 q2
Estado inicial q0
q2 q3 q2
T={q2}
q3 q3 q3
:QxQ

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

El autmata acepta: a+b+ 68


Lenguajes regulares

Disee un AFD sobre ={a,b} que reconozca el lenguaje de


todas las cadenas que tienen un nmero par de smbolos
(incluida la cadena vaca)
Muestre el diagrama de transicin
Exprese el autmata formalmente
Indique la expresin regular

69
Lenguajes regulares

={a,b}
a b
Q={q0,q1} q0 q1 q1
Estado inicial q0 q1 q0 q0
T={q0}
:QxQ
a,b
q1
q0

a,b

El autmata acepta: ((ab)(ab))*


o lo que es lo mismo, (aaabbabb)*

70
Lenguajes regulares

Disee un AFD sobre ={a,b} que reconozca el lenguaje de


todas las cadenas que tienen un nmero par de smbolos
(sin incluir la cadena vaca)
Muestre el diagrama de transicin
Exprese el autmata formalmente
Indique la expresin regular

71
Lenguajes regulares

={a,b} a b
Q={q0,q1,q2} q0 q1 q1
q1 q2 q2
Estado inicial q0
q2 q1 q1
T={q2}
:QxQ
q0 a,b q1 a,b q2

a,b

El autmata acepta: ((ab)(ab))+


o lo que es lo mismo, (aaabbabb)+

72
Lenguajes regulares

Autmatas finitos no deterministas (AFN)


Si se permite que desde algn estado se realicen cero, dos
o ms transiciones mediante el mismo smbolo de entrada,
se dice que el autmata finito es no determinista

73
Lenguajes regulares

Autmatas finitos no deterministas (AFN)


Si se permite que desde algn estado se realicen cero, dos
o ms transiciones mediante el mismo smbolo de entrada,
se dice que el autmata finito es no determinista

a a

b a b

a,b

74
Lenguajes regulares

Autmatas finitos no deterministas (AFN)


Los AFN se utilizan porque pueden ser ms simples que los
AFD
b
a,b
a a
a b a,b
a,b
b
a
b

AFD que acepta a*bab*

75
Lenguajes regulares

Autmatas finitos no deterministas (AFN)


Los AFN se utilizan porque pueden ser ms simples que los
AFD
a
a b
a
b
b

AFN que acepta a*bab*

76
b

El autmata finito a q1 a q2
acepta o rechaza la q0
cadena aabb? b a b
q3

a,b

q0
77
b
En un AFN se puede a q1 a q2
suponer que si existe un
q0
recorrido en el diagrama de
b a b
transicin que termine en
un estado de aceptacin, el q3
autmata lo encuentra
a,b

q0
78
Lenguajes regulares

Autmatas finitos no deterministas (AFN)


Un AFN es una coleccin de cinco elementos:
Un alfabeto
Una coleccin finita de estados Q
Un estado inicial q0
Una coleccin finita de estados de aceptacin T
Una relacin sobre (Qx)2Q denominada relacin de
transicin. 2Q es el conjunto potencia de Q (subconjuntos de Q)

79
Lenguajes regulares

={a,b} a b
q0
Q={q0,q1,q2,q3,q4}
q1
Estado inicial q0 q2
T={q2,q3,q4} q3
:Qx2Q q4

a
a b
q0 a q1 q2

b q4
b

q3
80
Lenguajes regulares

={a,b} a b
q0 {q1, q4} {q3}
Q={q0,q1,q2,q3,q4}
q1 {q1} {q2}
Estado inicial q0 q2
T={q2,q3,q4} q3
:Qx2Q q4 {q4}

a
a b
q0 a q1 q2

b q4
b

q3
81
Lenguajes regulares

={a,b} a b
q0 {q1, q4} {q3}
Q={q0,q1,q2,q3,q4}
q1 {q1} {q2}
Estado inicial q0 q2
T={q2,q3,q4} q3
:Qx2Q q4 {q4}

a
a b
q0 a q1 q2

b q4 La cadena baa se acepta o


b rechaza por el autmata?

q3
82
Lenguajes regulares

={a,b} a b
q0 {q1, q4} {q3}
Q={q0,q1,q2,q3,q4}
q1 {q1} {q2}
Estado inicial q0 q2
T={q2,q3,q4} q3
:Qx2Q q4 {q4}

a
a b
q0 a q1 q2

b q4 Si no se consume la cadena,
b sta se rechaza

q3
83
Lenguajes regulares

Represente formalmente el AFN


a b
Q q0
Estado inicial q1
q2 Indique el lenguaje
T aceptado
a

b
q1
q0
a b

q2

84
Lenguajes regulares

Represente formalmente el AFN


={a,b} a b
Q={q0,q1,q2} q0 {q1}
Estado inicial q0 q1 {q0, q2}
q2 {q0} AFN que acepta
T={q0}
(ababa)*
:Qx2Q a

b
q1
q0
a b

q2

85
Lenguajes regulares

Disee el AFN que se especifica a continuacin:


={a,b} a b
Q={q0,q1,q2} q0 {q0, q1} {q0} Indique el lenguaje
Estado inicial q0 q1 {q2} aceptado
q2
T={q2}
:Qx2Q

86
Lenguajes regulares

Disee el AFN que se especifica a continuacin:


={a,b} a b
Q={q0,q1,q2} q0 {q0, q1} {q0}
Estado inicial q0 q1 {q2} AFN que acepta las
T={q2}
q2 cadenas terminadas
en ab. (ab)*ab
:Qx2Q
a,b
a b
q0 q1 q2

87
Lenguajes regulares

Disee el AFN que se especifica a continuacin:

={a,b} a b
Q={q0,q1,q2,q3,q4} q0 {q0, q3} {q0, q1} Indique el lenguaje
Estado inicial q0 q1 {q2} aceptado
q2 {q2} {q2}
T={q2,q4}
q3 {q4}
:Qx2Q
q4 {q4} {q4}

88
Lenguajes regulares
={a,b} a b
Q={q0,q1,q2,q3,q4} q0 {q0, q3} {q0, q1}
q1 {q2}
Estado inicial q0
q2 {q2} {q2}
T={q2,q4}
q3 {q4}
:Qx2Q q4 {q4} {q4}

a,b a,b
a a
q0 q3 q4
b
AFN que acepta
(ab)*(aabb) (ab)* q1

q2 a,b
89
Lenguajes regulares

Disee un AFN sobre ={a,b} que reconozca el lenguaje de


todas las cadenas que terminan en b dado por la expresin
regular (ab)*b
Muestre el diagrama de transicin
Exprese el autmata formalmente

90
Lenguajes regulares

={a,b}
a b
Q={q0,q1}
q0 {q0} {q0, q1}
Estado inicial q0 q1
T={q1}
:Qx2Q
a,b
b
q0 q1

AFN que acepta (ab)*b

91
Lenguajes regulares

Disee un AFN sobre ={a,b} que reconozca el lenguaje de


todas las cadenas que tienen al menos dos as consecutivas
dado por la expresin regular (ab)*aa(ab)*
Muestre el diagrama de transicin
Exprese el autmata formalmente

92
Lenguajes regulares

={a,b} a b
Q={q0,q1,q2} q0 {q0,q1} {q0}
q1 {q2} {q0}
Estado inicial q0
q2 {q2} {q2}
T={q2}
:QxQ a,b a,b
a a
q0 q1 q2
b

93
Lenguajes regulares

Equivalencia entre AFD y AFN


Considere el AFN que reconoce el lenguaje de las palabras
sobre ={a,b} que terminan en b

a,b
b
q0 q1

94
Lenguajes regulares

AFN que reconoce el lenguaje de las palabras sobre


={a,b} que terminan en b

a,b
b
q0 q1

AFD que reconoce el mismo lenguaje

a b
b
q0 q1
a

95
Lenguajes regulares

Equivalencia entre AFD y AFN


Todo AFN M tiene un AFD M tal que L(M)=L(M)

96
Lenguajes regulares

Mtodo para convertir un AFN en un AFD


q0 a
q1
a

a b
q2 q3

AFN que acepta a(ab)+

97
Lenguajes regulares

Mtodo para convertir un AFN en un AFD


q0 a
q1
a

a b
q2 q3
(q0,a)={q1,q2}
(q0,b)=

98
Lenguajes regulares

Mtodo para convertir un AFN en un AFD


q0 a
q1
a

a b
q2 q3
(q0,a)={q1,q2}
(q0,b)=
({q1,q2},a)=?
({q1,q2},b)=?

99
Lenguajes regulares

Mtodo para convertir un AFN en un AFD


q0 a
q1
a

a b
q2 q3
(q0,a)={q1,q2}
(q0,b)=
({q1,q2},a)=
({q1,q2},b)={q3}

100
Lenguajes regulares

Mtodo para convertir un AFN en un AFD


q0 a
q1
a

a b
q2 q3
(q0,a)={q1,q2}
(q0,b)=
({q1,q2},a)=
({q1,q2},b)={q3}
({q3},a)=?
({q3},b)=?
101
Lenguajes regulares

Mtodo para convertir un AFN en un AFD


q0 a
q1
a

a b
q2 q3
(q0,a)={q1,q2}
(q0,b)=
({q1,q2},a)=
({q1,q2},b)={q3}
({q3},a)={q2}
({q3},b)=
102
Lenguajes regulares

Mtodo para convertir un AFN en un AFD


q0 a
q1
a

a b
q2 q3
(q0,a)={q1,q2} ({q2},a)=?
(q0,b)= ({q2},b)=?
({q1,q2},a)=
({q1,q2},b)={q3}
({q3},a)={q2}
({q3},b)=
103
Lenguajes regulares

Mtodo para convertir un AFN en un AFD


q0 a
q1
a

a b
q2 q3
(q0,a)={q1,q2} ({q2},a)=
(q0,b)= ({q2},b)={q3}
({q1,q2},a)=
({q1,q2},b)={q3}
({q3},a)={q2}
({q3},b)=
104
Lenguajes regulares

Mtodo para convertir un AFN en un AFD

(q0,a)={q1,q2}
(q0,b)=
({q1,q2},a)=
({q1,q2},b)={q3}
({q3},a)={q2}
({q3},b)=
({q2},a)=
({q2},b)={q3}

105
Lenguajes regulares

Mtodo para convertir un AFN en un AFD

(q0,a)={q1,q2}
(q0,b)=
{q0} {q1,q2} {q3}
({q1,q2},a)= {q2}
({q1,q2},b)={q3}
({q3},a)={q2}
({q3},b)=
({q2},a)=
({q2},b)={q3}

106
Lenguajes regulares

Mtodo para convertir un AFN en un AFD

(q0,a)={q1,q2}
(q0,b)=
{q0} {q1,q2} {q3}
({q1,q2},a)= {q2}
({q1,q2},b)={q3}
({q3},a)={q2}
({q3},b)=
({q2},a)=
({q2},b)={q3}

Cualquier conjunto que contenga un estado de


aceptacin se marca como de aceptacin

107
Lenguajes regulares

Mtodo para convertir un AFN en un AFD

(q0,a)={q1,q2}
(q0,b)=
{q0} {q1,q2} {q3}
({q1,q2},a)= {q2}
({q1,q2},b)={q3}
({q3},a)={q2}
({q3},b)=
({q2},a)=
({q2},b)={q3}

108
Lenguajes regulares

Mtodo para convertir un AFN en un AFD

(q0,a)={q1,q2} b
(q0,b)=
{q0} {q1,q2}
({q1,q2},a)= a b {q3} a {q2}
({q1,q2},b)={q3}
({q3},a)={q2} a b
({q3},b)= b a
({q2},a)=
({q2},b)={q3} a,b

El nodo con etiqueta tiene transiciones que llegan a ese


mismo nodo
109
Lenguajes regulares

Mtodo para convertir un AFN en un AFD

(q0,a)={q1,q2} b
(q0,b)=
{q0} {q1,q2}
({q1,q2},a)= a b {q3} a {q2}
({q1,q2},b)={q3}
({q3},a)={q2} a b
({q3},b)= b a
({q2},a)=
({q2},b)={q3} a,b

AFD que acepta a(ab)+

110
Lenguajes regulares

Convierta el siguiente AFN a un AFD

q0 a
b
q1

a
a
q2

AFN que acepta ab*a+

111
Lenguajes regulares

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

112
Lenguajes regulares

(q0,a)={q1,q2} {q0} {q1,q2} {q2}


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

AFD que acepta ab*a+

113
Lenguajes regulares

Convierta el siguiente AFN a un AFD

a
a,b
b
q0 q1

114
Lenguajes regulares

(q0,a)={q0,q1}
(q0,b)={q1}
({q0,q1},a)={q0,q1}
({q0,q1},b)={q0,q1}
({q1},a)=
({q1},b)={q0,q1}

115
Lenguajes regulares

(q0,a)={q0,q1} {q0} a {q0,q1} a,b


(q0,b)={q1}
({q0,q1},a)={q0,q1} b b
({q0,q1},b)={q0,q1}
({q1},a)= a
a,b
({q1},b)={q0,q1} {q1}

116
Lenguajes regulares

Convierta el siguiente AFN a un AFD

a
q0 b a q2
q1
a b
a
b
q3 q4

117
Lenguajes regulares

(q0,a)={q3}
(q0,b)={q1}
({q3},a)=
({q3},b)=
({q1},a)={q1,q2}
({q1},b)={q4}
({q1,q2},a)={q1,q2}
({q1,q2},b)={q4}
({q4},a)={q3}
({q4},b)={q4}

118
Lenguajes regulares

(q0,a)={q3} {q0} {q3}


(q0,b)={q1} a a,b
a,b
({q3},a)= a
({q3},b)= b a
({q1},a)={q1,q2} a b b
({q1},b)={q4} {q1} {q1,q2} {q4}
({q1,q2},a)={q1,q2}
({q1,q2},b)={q4}
b
({q4},a)={q3}
({q4},b)={q4}

119
Lenguajes regulares

Analice por qu no es posible disear un autmata finito


que acepte anbn,n1

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

120

Anda mungkin juga menyukai