Autmatas
2
Lenguajes regulares
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
5
Lenguajes regulares
Autmata finito
6
Lenguajes regulares
7
Lenguajes regulares
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
10
Lenguajes regulares
Autmatas finitos
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
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
31
Lenguajes regulares
Indique un expresin
regular que represente el
lenguaje aceptado por el
autmata
34
Lenguajes regulares
Indique un expresin
regular que represente el (abc)*
lenguaje aceptado por el
autmata
35
Lenguajes regulares
Indique un expresin
regular que represente el
lenguaje aceptado por el
autmata
36
Lenguajes regulares
Indique un expresin
(abcac)*
regular que represente el
lenguaje aceptado por el
autmata
37
Lenguajes regulares
38
Lenguajes regulares
a
a b
q2
q0 q1
b a,b
q3
a,b
Expresin regular:a+b
Lenguaje: {ab, aab, aaab, }
39
Lenguajes regulares
40
Lenguajes regulares
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
42
Lenguajes regulares
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
47
Lenguajes regulares
48
Lenguajes regulares
a
q0 q1
b a
q2
a,b
49
Lenguajes regulares
Q a b
q0
Estado inicial
q1
T q2
:QxQ
b
a
q0 q1
b a
q2
a,b
50
Lenguajes regulares
a
q0 q1
b a
q2
a,b
51
Lenguajes regulares
a
q0 q1
b a
q2
a,b
52
Lenguajes regulares
Q a b
q0
Estado inicial
q1
T q2
:QxQ
a a
b
q0 q1
b a,b
q2
53
Lenguajes regulares
a a
b
q0 q1
b a,b
q2
54
Lenguajes regulares
55
Lenguajes regulares
a a,b
b
q0 q1
56
Lenguajes regulares
57
Lenguajes regulares
59
Lenguajes regulares
a,b
60
Lenguajes regulares
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
62
Lenguajes regulares
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
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
66
Lenguajes regulares
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
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
70
Lenguajes regulares
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
72
Lenguajes regulares
73
Lenguajes regulares
a a
b a b
a,b
74
Lenguajes regulares
75
Lenguajes regulares
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
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
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
b
q1
q0
a b
q2
84
Lenguajes regulares
b
q1
q0
a b
q2
85
Lenguajes regulares
86
Lenguajes regulares
87
Lenguajes regulares
={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
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
91
Lenguajes regulares
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
a,b
b
q0 q1
94
Lenguajes regulares
a,b
b
q0 q1
a b
b
q0 q1
a
95
Lenguajes regulares
96
Lenguajes regulares
a b
q2 q3
97
Lenguajes regulares
a b
q2 q3
(q0,a)={q1,q2}
(q0,b)=
98
Lenguajes regulares
a b
q2 q3
(q0,a)={q1,q2}
(q0,b)=
({q1,q2},a)=?
({q1,q2},b)=?
99
Lenguajes regulares
a b
q2 q3
(q0,a)={q1,q2}
(q0,b)=
({q1,q2},a)=
({q1,q2},b)={q3}
100
Lenguajes regulares
a b
q2 q3
(q0,a)={q1,q2}
(q0,b)=
({q1,q2},a)=
({q1,q2},b)={q3}
({q3},a)=?
({q3},b)=?
101
Lenguajes regulares
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
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
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
(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
(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
(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}
107
Lenguajes regulares
(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
(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
(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
110
Lenguajes regulares
q0 a
b
q1
a
a
q2
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
113
Lenguajes regulares
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
116
Lenguajes regulares
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
119
Lenguajes regulares
a b
a b
q2
q0 q1
b
a
q3
a,b
120