Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Automatas
Automatas
Autmatas finitos
AUTMATAS Y LENGUAJES FORMALES
LENGUAJES REGULARES Y
AUTMATAS FINITOS
1 / 61
Ejemplo 1
Ejemplo 2
2
3
b
1
Q
S
1
2
F
a
2
2
F
F
b
1
F
1
F
Y que acepta el lenguaje formado por cadenas que empiezan con ba,
terminan con ab y enmedio tienen un nmero indeterminado de c y d.
2 / 61
3 / 61
4 / 61
Representacin grfica
Lenguajes regulares
Podemos ampliar la funcin a una funcin : Q Q de la
siguiente forma. Sean q Q, a y :
c,d
S
(q, ) = q
O alternativamente
a
Francisco Hernndez Quiroz
(q, ) = q
a,b
(q, a) = ( (q, ), a)
5 / 61
6 / 61
Un ejemplo aritmtico
El siguiente autmata acepta el lenguaje
{ {0, 1} | es un mltiplo de 3 en binario}
L(A) = { | (S, ) F }.
1
1
7 / 61
8 / 61
mod 3
Demostracin. Primero
(0, d) = ( (0, ), d)
d {0, 1}
#(d) = 2(#) + d
= (# mod 3, d)
= #d mod 3
(0, ) = 0
definicin de
= #
pues # = 0
= # mod 3
9 / 61
Autmatas no deterministas
10 / 61
Ejemplo
a,b
(A, ) = A
(A, a) =
a,b
a
[
(q, a)
2
a,b
q (A,)
11 / 61
12 / 61
D (A, )
QD = P(Q)
D (A, a) = (A, a)
= (A, )
sD = S
FD = {A Q | A F 6= }
sii L(N)
13 / 61
Transiciones
Ejemplo
S1
: Q ( {}) P(Q).
Ahora es posible transitar de un estado a otro sin consumir smbolos. se
define as
[
(A, ) = A
(q, )
(A, a) =
(q, a)
q (A,)
(r, a)
a,b
r(q,)
q (A,)
15 / 61
S2
[
a,b
qA
14 / 61
a,b
16 / 61
rn (q)
(q)
n (q)
nN
(r, a)
r (q)
F 0 = {q | (q) F 6= }
Claramente, L(N) = L(N 0 )
Francisco Hernndez Quiroz
17 / 61
18 / 61
Propiedades de cerradura
Unin
Definimos D = (Q, , , s, F ) donde
Interseccin
Complemento
Q = Q1 Q2
Concatenacin
s = (s1 , s2 )
Estrella de Kleene
= (Q1 F2 ) (F1 Q2 )
19 / 61
sii
20 / 61
Interseccin
Se construye un autmata como en el caso de , salvo que
QC = QA QB
SC = {sA }
F = F1 F2 .
FC = FB
Complemento
Sea A = (Q, , , s, F ) un DFA. Sea A = (Q, , , s, Q F ). Claramente
= L(A).
L(A)
si q QA
si q QB
(q, ) = {sB }
si q FA
21 / 61
Expresiones regulares
Patrones
Gramticas lineales
L( ) = L()L()
L( ) = L()
22 / 61
23 / 61
24 / 61
Ejemplos
Patrones
0 + ((1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9) (0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9) )
#, con L(#) =
@, con L(@) =
(p + q + r) + ((p + q + r) N)
L( ) = L() L()
L() = L()L()
L() = L()
L( ) = L()
+
L(+ ) = L()+
25 / 61
Ejemplos
Gramticas lineales
@a@b@c@
Las cadenas del alfabeto {a, b, c} salvo las que son repeticiones
consecutivas de la cadena abc:
A B
A B
# ((ab)+ + (cd)+ ).
o bien
((abc)+ ).
26 / 61
o bien
27 / 61
28 / 61
Ejemplos
S 0 | 1N | 2N | | 9N
N 0N | 1N | . . . 9N | ,
genera los nmeros naturales en notacin decimal.
La gramtica GP = h{p, q, r, 0, . . . 9}, {S 0 , S, N}, S 0 , i con las
siguientes reglas adicionales a las del ejemplo anterior:
L(#) = L(c1 + + cm )
L(@) = L((c1 + + cm ) )
S 0 p | q | r | pS | qS | rS
L() = L()
29 / 61
L() = L()
30 / 61
L() = L(A).
La demostracin se har por induccin en .
Casos bsicos. Para las expresiones a, y , se tienen los siguientes
autmatas:
S
31 / 61
32 / 61
Si X 6= , sea r X
X
L(pq
) = { | q ({p}, ) y el camino pasa slo por estados en X}.
X {r}
X
pq
= pq
pq =
k=0
X{r}
+ pr
X{r} X {r}
) rq
.
(rr
Finalmente, si s1 , . . . , sn S y f1 , . . . , fm F , entonces
L(N) = L(
n X
m
X
i=1
sQi fj )
j=1
Si p = q
pq
=
a1 + + ak + 1 k
k=0
Autmatas y Lenguajes Formales
33 / 61
34 / 61
= { | V , V }
{[S]}
([V ], ) = {[] | V } si V
([a], a) = {}
si a
{[S]}
= estados iniciales
{[]}
= estados finales.
Q
q ar
sii
(q, a) = r
qa
sii
(q, a) F
Entonces
(q, ) = r
Entonces
sii
q G r
[] ([S], ) sii S V .
Demostracin. Induccin en . A partir de este resultado, es claro que
L(N) = L(G).
Francisco Hernndez Quiroz
35 / 61
36 / 61
Un lenguaje no regular I
Un lenguaje no regular II
i + jp + r 6= m,
salvo en el caso en que p = 1. Por tanto, aunque ai aj par bm L(A),
i<m
ai aj par bm 6 {an bn },
j 6= 0
(q, a ) = q
Pero
r m
(q, a b ) = f F
i + j + r = m.
37 / 61
a2 = i L(A)
k ||,
6=
|| + || + i|| + || + ||
i L i N.
i N.
38 / 61
39 / 61
40 / 61
Minimalizacin de estados
El lenguaje {a b } es regular.
a, b
a,b
S
b
S0
a, b
10
a, b
41 / 61
Autmata cociente
42 / 61
Algoritmo de minimalizacin I
El siguiente algoritmo permite construir el autmata cociente a partir del
autmata A = (Q, , , s, F ), con Q = {q1 , . . . , qk }:
s = [s]
F = {[f ] | f F }.
Q = {[q] | q Q}
F0
a, b
qr
a, b
43 / 61
44 / 61
Algoritmo de minimalizacin II
Relaciones de Myhill-Nerode I
Sea L un lenguaje regular y sea A DFA tal que L(A) = L, con
A = (Q, , , s, F ) y sin estados inaccesibles. Definiremos una relacin de
equivalencia en :
implica que
45 / 61
a A a.
Es una afinacin de L:
A
(s, ) = (s, ).
sii
implica que
Autmatas y Lenguajes Formales
L sii L.
Leng. regulares y autmatas finitos
Relaciones de Myhill-Nerode II
Teorema de Myhill-Nerode
sii
46 / 61
L es regular.
Existe una relacin de Myhill-Nerode en L.
La relacin L tiene ndice finito.
. R sii R.
47 / 61
48 / 61
Ejemplo
n
{a2 }
El conjunto L =
no es regular. Se demostrar utilizando el teorema
anterior. Considrense las clases de equivalencia:
a,b
S
L
sii
k . ak L sii ak L.
2
a,b
49 / 61
50 / 61
Definiciones preliminares
e(s) = V
e(1) = F
e(2) = V .
51 / 61
52 / 61
Definicin formal
Ejemplo
Sea A = ({s, 1, 2}, {a, b}, , s, {2}), donde est definida as:
{b :
BQ
Estado
s
1
2
{V , F }} de la
(q, ) = q
b
12
1
1 2
Entonces
f (q) = V
a
1 2
2
2
= (2, a) (2, a)
= (2, ) (2, )
q F.
= 2 2
Entonces
53 / 61
54 / 61
Ejemplo
Sistemas de ecuaciones
...
El AFA del ejemplo anterior quedara descrito por las siguientes ecuaciones:
X0 = a (X1 X2 ) + b (X1 X2 ) + 0
X1 = a (X2 ) + b X1 + 0
X2 = a X2 + b (X1 X2 ) +
a bn (X1 , . . . , Xn ) + cn
55 / 61
56 / 61
Diccionarios
, , . = X.
57 / 61
58 / 61
Autmata de un diccionario I
= a.
(p, a) = q
59 / 61
60 / 61
Autmata de un diccionario II
sii
= h(a, X ),
61 / 61