Está en la página 1de 16

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas


Autmatas Lenguajes regulares Autmatas no deterministas Cerradura

Autmatas finitos
AUTMATAS Y LENGUAJES FORMALES
LENGUAJES REGULARES Y
AUTMATAS FINITOS

Un autmata finito (DFA) est formado por


Un alfabeto de entrada
Un conjunto finito de estados Q

Francisco Hernndez Quiroz

Un estado inicial s Q y un conjunto de estados finales F Q


Departamento de Matemticas
Facultad de Ciencias, UNAM
E-mail: fhq@ciencias.unam.mx
Pgina Web: www.matematicas.unam.mx/fhq

Una funcin de transicin : Q Q

Posgrado en Ciencia e Ingeniera de la Computacin

Francisco Hernndez Quiroz

Autmatas y Lenguajes Formales

Leng. regulares y autmatas finitos

1 / 61

Francisco Hernndez Quiroz

Autmatas y Lenguajes Formales

Leng. regulares y autmatas finitos

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Autmatas Lenguajes regulares Autmatas no deterministas Cerradura

Autmatas Lenguajes regulares Autmatas no deterministas Cerradura

Ejemplo 1

Ejemplo 2

El autmata formado por = {a, b, c, d}, Q = {S, 1, 2, 3, F } y descrita


por la siguiente tabla:
Q
S
1
2
3
F

2
3

b
1

El autmata formado por = {a, b}, Q = {S, 1, 2, F } y descrita por la


siguiente tabla:

Q
S
1
2
F

Autmatas y Lenguajes Formales

Leng. regulares y autmatas finitos

a
2
2
F
F

b
1
F
1
F

Y que acepta un lenguaje cuya descripcin es demasiado larga como para


ser comprensible.

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.

Francisco Hernndez Quiroz

2 / 61

3 / 61

Francisco Hernndez Quiroz

Autmatas y Lenguajes Formales

Leng. regulares y autmatas finitos

4 / 61

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Autmatas Lenguajes regulares Autmatas no deterministas Cerradura

Autmatas Lenguajes regulares Autmatas no deterministas Cerradura

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

(q, a) = ((q, a), )


b

O alternativamente

a
Francisco Hernndez Quiroz

(q, ) = q

a,b

(q, a) = ( (q, ), a)

Autmatas y Lenguajes Formales

Nota: el alumno puede demostrar que ambas definiciones son equivalentes.


Leng. regulares y autmatas finitos

5 / 61

Francisco Hernndez Quiroz

Autmatas y Lenguajes Formales

Leng. regulares y autmatas finitos

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Autmatas Lenguajes regulares Autmatas no deterministas Cerradura

Autmatas Lenguajes regulares Autmatas no deterministas Cerradura

6 / 61

Un ejemplo aritmtico
El siguiente autmata acepta el lenguaje
{ {0, 1} | es un mltiplo de 3 en binario}

Ahora podemos definir el lenguaje aceptado por el autmata


A = (Q, , S, F , ):

L(A) = { | (S, ) F }.

Un lenguaje L es regular sii exite un autmata finito A tal que L = L(A).

1
1

Autmatas y Lenguajes Formales

Leng. regulares y autmatas finitos

7 / 61

Francisco Hernndez Quiroz

nm. representado por el prefijo ledo


0 mod 3
1 mod 3
1 mod 3
Francisco Hernndez Quiroz

estado del autmata


0
1
2

Autmatas y Lenguajes Formales

Leng. regulares y autmatas finitos

8 / 61

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Autmatas Lenguajes regulares Autmatas no deterministas Cerradura

Autmatas Lenguajes regulares Autmatas no deterministas Cerradura

Sea # el nmero denotado por la cadena binaria . Entonces


(0, ) = #

mod 3

Hiptesis inductiva: (0, ) = # mod 3. Por demostrar

Demostracin. Primero

(0, d) = ( (0, ), d)
d {0, 1}

#(d) = 2(#) + d

= (# mod 3, d)

(q, d) = (2q + d) mod 3

= (2(# mod 3) + d) mod 3


= (2(#) + d) mod 3

Ahora, por induccin en . Caso bsico

= #d mod 3

(0, ) = 0

definicin de

= #

pues # = 0

= # mod 3

Francisco Hernndez Quiroz

Autmatas y Lenguajes Formales

Leng. regulares y autmatas finitos

9 / 61

Francisco Hernndez Quiroz

Autmatas y Lenguajes Formales

Leng. regulares y autmatas finitos

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Autmatas Lenguajes regulares Autmatas no deterministas Cerradura

Autmatas Lenguajes regulares Autmatas no deterministas Cerradura

Autmatas no deterministas

10 / 61

Ejemplo

Un autmata finito no determinista (NFA) puede elegir uno de varios


estados posibles cuando lee un carcter.

a,b

Adems, tiene un conjunto de estados iniciales S.


La funcin de transicin de un NFA es : Q P(Q).

(A, ) = A

(A, a) =

a,b

La funcin anterior se extiende a una funcin


: P(Q) P(Q) de esta forma:

a
[

(q, a)

2
a,b

q (A,)

El lenguaje aceptado es { | (S, ) F 6= }

Francisco Hernndez Quiroz

Autmatas y Lenguajes Formales

Leng. regulares y autmatas finitos

11 / 61

Francisco Hernndez Quiroz

Autmatas y Lenguajes Formales

Leng. regulares y autmatas finitos

12 / 61

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Autmatas Lenguajes regulares Autmatas no deterministas Cerradura

Autmatas Lenguajes regulares Autmatas no deterministas Cerradura

Equivalencia con los DFA


Demostracin. Los tres lemas siguientes
(A, ) = ( (A, ), )
[
[
(Ai , )
( Ai , ) =

Sea N = (Q, , , S, F ) un NFA y sea D = (QD , , D , sD , FD ) el siguiente


autmata DFA

D (A, )

QD = P(Q)
D (A, a) = (A, a)

= (A, )

se demuestran por induccin sobre , y , en ese orden. Entonces,


L(N) = L(D):

sD = S
FD = {A Q | A F 6= }

L(D) sii (sD , ) FD


sii (SN , ) FN 6=

Ambos autmatas aceptan el mismo lenguaje.

sii L(N)

Francisco Hernndez Quiroz

Autmatas y Lenguajes Formales

Leng. regulares y autmatas finitos

13 / 61

Francisco Hernndez Quiroz

Autmatas y Lenguajes Formales

Leng. regulares y autmatas finitos

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Autmatas Lenguajes regulares Autmatas no deterministas Cerradura

Autmatas Lenguajes regulares Autmatas no deterministas Cerradura

Transiciones 

Ejemplo

Un autmata finito no determinista con transiciones- es una quinteta


N = (Q, , , S, F ), igual a un NFA salvo que


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,)

Autmatas y Lenguajes Formales

(r, a)

a,b

r(q,)
q (A,)

Leng. regulares y autmatas finitos

15 / 61

Francisco Hernndez Quiroz

S2
[

a,b

qA

Francisco Hernndez Quiroz

14 / 61

a,b

Autmatas y Lenguajes Formales

Leng. regulares y autmatas finitos

16 / 61

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Autmatas Lenguajes regulares Autmatas no deterministas Cerradura

Autmatas Lenguajes regulares Autmatas no deterministas Cerradura

NFA - es equivalente a NFA

Varios estados finales e iniciales

Sea N = (Q, , , S, F ) un NFA-, y sea q Q. Definimos la cerradura- de


q
0 (q) = {q}
[
n+1
(r, )
 (q) =
La introduccin de transiciones- permite transformar autmatas con varios
estados iniciales o finales en autmatas con un solo estado inicial o final.
Esta tcnica ser til ms adelante.

rn (q)

 (q)

n (q)

nN

Sea N 0 = (Q, , 0 , S, F 0 ), con


0 (q, a) = (q, a)

(r, a)

r (q)

F 0 = {q |  (q) F 6= }
Claramente, L(N) = L(N 0 )
Francisco Hernndez Quiroz

Autmatas y Lenguajes Formales

Leng. regulares y autmatas finitos

17 / 61

Francisco Hernndez Quiroz

Autmatas y Lenguajes Formales

Leng. regulares y autmatas finitos

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Autmatas Lenguajes regulares Autmatas no deterministas Cerradura

Autmatas Lenguajes regulares Autmatas no deterministas Cerradura

18 / 61

Demostracin de cerradura bajo

Propiedades de cerradura

Sean D1 = (Q1 , , 1 , s1 , F1 ) y D2 = (Q2 , , 2 , s2 , F2 ) dos DFA.


Construiremos un D DFA tal que
Los conjuntos regulares son cerrados bajo las operaciones de:

L(D) = L(D1 ) L(D2 ).

Unin
Definimos D = (Q, , , s, F ) donde

Interseccin
Complemento

Q = Q1 Q2

Concatenacin

s = (s1 , s2 )

Estrella de Kleene

Nota: en las demostraciones siguientes se supondr que los autmatas son


completos, i.e., que la funcin no es parcial.

= (Q1 F2 ) (F1 Q2 )

((q1 , q2 ), a) = (1 (q1 , a), (q2 , a))


Se puede demostrar por induccin en que
L(D)

Francisco Hernndez Quiroz

Autmatas y Lenguajes Formales

Leng. regulares y autmatas finitos

19 / 61

Francisco Hernndez Quiroz

sii

L(D1 ) o bien L(D2 ).

Autmatas y Lenguajes Formales

Leng. regulares y autmatas finitos

20 / 61

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Autmatas Lenguajes regulares Autmatas no deterministas Cerradura

Autmatas Lenguajes regulares Autmatas no deterministas Cerradura

Cerradura bajo y complemento

Cerradura bajo concatenacin y estrella de Kleene


Sean A = (QA , , A , sA , FA ) y B = (QB , , B , sB , FB ) dos DFA. El autmata
C = (QC , , C , SC , FC ) se construye de la siguiente forma:

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)

(q, a) = {A (q, a)}

si q QA

(q, a) = {B (q, a)}

si q QB

(q, ) = {sB }

si q FA

C es un NFA- tal que L(C) = L(A)L(B). Para construir A0 tal que


L(A0 ) = L(A) , se aaden transiciones- de los estados en FA a sA .

Francisco Hernndez Quiroz

Autmatas y Lenguajes Formales

Leng. regulares y autmatas finitos

21 / 61

Francisco Hernndez Quiroz

Autmatas y Lenguajes Formales

Leng. regulares y autmatas finitos

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Expresiones regulares Patrones Gramticas Equivalencias

Expresiones regulares Patrones Gramticas Equivalencias

Definiciones alternativas de lenguajes regulares

Expresiones regulares

Las expresiones regulares son una forma muy compacta de definir


lenguajes. El lenguaje generado por la expresin es L(). He aqu una
definicin inductiva:

Existen otras formas de definir los lenguajes regulares:


Expresiones regulares

Si a entonces a es una expresin regular y L(a) = {a}.

Patrones

y  son expresiones regulares con L() = y L() = {}

Gramticas lineales

Las expresiones regulares y generan las expresiones y lenguajes:


+
L( + ) = L() L()

L( ) = L()L()

L( ) = L()

Francisco Hernndez Quiroz

Autmatas y Lenguajes Formales

22 / 61

Leng. regulares y autmatas finitos

23 / 61

Francisco Hernndez Quiroz

Autmatas y Lenguajes Formales

Leng. regulares y autmatas finitos

24 / 61

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Expresiones regulares Patrones Gramticas Equivalencias

Expresiones regulares Patrones Gramticas Equivalencias

Ejemplos

Patrones

Los nmeros naturales en notacin decimal:

Los patrones son otra forma muy comn. Tambin se definen


inductivamente:

0 + ((1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9) (0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9) )

a, y  son iguales que en las expresiones regulares

Las frmulas atmicas del clculo proposicional:

#, con L(#) =
@, con L(@) =

(p + q + r) + ((p + q + r) N)

Los patrones y generan los patrones y lenguajes:


+
L( + ) = L() L()

L( ) = L() L()

L() = L()L()

L() = L()

L( ) = L()
+

L(+ ) = L()+

donde N se refiere a la expresin del ejemplo anterior.


Las cadenas del alfabeto {a, b, c} con al menos una aparicin de cada una
de las tres letras:
(AaAbAcA)+(AaAcAbA)+(AbAaAcA)+(AcAaAbA)+(AcAbAaA)+(AbAcAaA)
donde A es la expresin (a + b + c) .
Francisco Hernndez Quiroz

Autmatas y Lenguajes Formales

Leng. regulares y autmatas finitos

25 / 61

Francisco Hernndez Quiroz

Autmatas y Lenguajes Formales

Leng. regulares y autmatas finitos

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Expresiones regulares Patrones Gramticas Equivalencias

Expresiones regulares Patrones Gramticas Equivalencias

Ejemplos

Gramticas lineales

Las cadenas que contienen apariciones de a, b y c, en ese orden, pero no


necesariamente consecutivas:

Recordatorio. Una gramtica es G = h, , S, i.


Sean A, B y . Si todas las reglas de G tienen una de las
siguientes dos formas

@a@b@c@
Las cadenas del alfabeto {a, b, c} salvo las que son repeticiones
consecutivas de la cadena abc:

A B

Si todas las reglas de G son de alguna de las dos formas

Cualquier smbolo del alfabeto seguido de cualquier cadena menos las


repeticiones consecutivas de ab o cd:

A B

# ((ab)+ + (cd)+ ).

Autmatas y Lenguajes Formales

o bien

se trata de una gramtica lineal por la derecha.

((abc)+ ).

Francisco Hernndez Quiroz

26 / 61

o bien

es una gramtica lineal por la izquierda.


Leng. regulares y autmatas finitos

27 / 61

Francisco Hernndez Quiroz

Autmatas y Lenguajes Formales

Leng. regulares y autmatas finitos

28 / 61

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Expresiones regulares Patrones Gramticas Equivalencias

Expresiones regulares Patrones Gramticas Equivalencias

Ejemplos

Equivalencia entre patrones y expresiones regulares I


Para todo patrn , existe una expresin regular tal que L() = L().

La gramtica GN = h{0, . . . 9}, {S, N}, S, i con reglas de


produccin

Demostracin. Por induccin en .

S 0 | 1N | 2N | | 9N

Primero los casos bsicos: a, , , # y @. Los tres primeros tienen


expresiones regulares equivalentes obvias.
En cuanto # y @, si = {c1 , . . . , cm }, entonces

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 )

genera las frmulas atmicas del clculo de proposiciones.

Autmatas y Lenguajes Formales

Leng. regulares y autmatas finitos

L(@) = L((c1 + + cm ) )

Hiptesis inductiva. Supongamos que dados los patrones y , existen


expresiones regulares y tales que

S 0 p | q | r | pS | qS | rS

Francisco Hernndez Quiroz

L() = L()
29 / 61

Francisco Hernndez Quiroz

L() = L()

Autmatas y Lenguajes Formales

Leng. regulares y autmatas finitos

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Expresiones regulares Patrones Gramticas Equivalencias

Expresiones regulares Patrones Gramticas Equivalencias

Equivalencia entre patrones y expresiones regulares II

30 / 61

Equivalencia entre expresiones regulares y autmatas


Para toda expresin regular , existe un autmata finito A tal que

Procedemos a probar los casos inductivos con los operadores +,


concatenacin, , + y .
Los tres primeros son obvios, pues tambin se encuentran presentes en las
expresiones regulares.
En cuanto a + , basta observar que + es equivalente a .
La prueba del patrn se deja pendiente.
Finalmente, el patrn es equivalente al patrn (+ ), el cual
queda cubierto por los casos anteriores.

L() = L(A).
La demostracin se har por induccin en .
Casos bsicos. Para las expresiones a,  y , se tienen los siguientes
autmatas:
S

Nota. La afirmacin inversa es trivialmente cierta.


Casos inductivos. Ya se estudi cmo construir autmatas que acepten la
unin, la concatenacin y la estrella de Kleene de lenguajes regulares.

Francisco Hernndez Quiroz

Autmatas y Lenguajes Formales

Leng. regulares y autmatas finitos

31 / 61

Francisco Hernndez Quiroz

Autmatas y Lenguajes Formales

Leng. regulares y autmatas finitos

32 / 61

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Expresiones regulares Patrones Gramticas Equivalencias

Expresiones regulares Patrones Gramticas Equivalencias

Equivalencia entre autmatas y expresiones regulares I

Equivalencia entre autmatas y expresiones regulares II

Sea N = (Q, , , S, F ) NFA y sean X Q y p, q Q. Definiremos una


X tal que
expresin regular pq

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

Por induccin en X. Sean a1 , . . . ak todos los smbolos de tales que


q (p, ai ).
Si p 6= q

a1 + + ak 1 k

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

Francisco Hernndez Quiroz


=

a1 + + ak +  1 k

k=0
Autmatas y Lenguajes Formales

Leng. regulares y autmatas finitos

33 / 61

Francisco Hernndez Quiroz

Autmatas y Lenguajes Formales

Leng. regulares y autmatas finitos

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Expresiones regulares Patrones Gramticas Equivalencias

Expresiones regulares Patrones Gramticas Equivalencias

Equivalencia entre gramticas lineales y autmatas I

34 / 61

Equivalencia entre gramticas lineales y autmatas II

Sea G = h, , S, i una gramtica lineal por la derecha. Sea N NFA -


el siguiente autmata:
A la inversa, sea A = (Q, , , s, F ) DFA. Sea G = h, Q, s, i una
gramtica con producciones de la forma

= { | 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

Autmatas y Lenguajes Formales

Leng. regulares y autmatas finitos

35 / 61

Francisco Hernndez Quiroz

Autmatas y Lenguajes Formales

Leng. regulares y autmatas finitos

36 / 61

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Teorema del bombeo Aplicaciones

Teorema del bombeo Aplicaciones

Un lenguaje no regular I

Un lenguaje no regular II

El lenguaje {an bn } no es regular. Supongamos que lo es y que A es un


autmata determinista con k estados y L(A) = {an bn }.
Sea la cadena am bm , con m > k. Durante su lectura, el autmata debe
haber pasado al menos dos veces por un mismo estado (hay menos estados
que copias de a).
Sea q este estado repetido. Entonces:
(s, ai ) = q

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

lo cual es una contradiccin. En conclusin, este lenguaje no es regular.

i + j + r = m.

Como A es determinista, tenemos que para toda p N


(q, ajp ) = q
y en consecuencia
(s, ai ajp ar bm ) = f F
Francisco Hernndez Quiroz

Autmatas y Lenguajes Formales

Leng. regulares y autmatas finitos

37 / 61

Francisco Hernndez Quiroz

Autmatas y Lenguajes Formales

Leng. regulares y autmatas finitos

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Teorema del bombeo Aplicaciones

Teorema del bombeo Aplicaciones

Teorema del bombeo

Aplicaciones del lema del bombeo I

El resultado anterior se puede generalizar con el siguiente

Ejemplo 1. El lenguaje {a2 } no es regular. Supongamos que lo es y


A DFA reconoce este lenguaje. Sea k el nmero de estados de A y sea m
tal que 2m > k. El teorema del bombeo nos dice que , , tales que

Teorema. Sea L un lenguaje regular. Entonces, k N tal que


, , , si

a2 = i L(A)

k ||,

6= 

|| + || + i|| + || + ||

i L i N.

siempre es una potencia de 2, lo cual es obviamente falso. Por tanto, A no


n
puede existir y {a2 } no es regular.

La demostracin generaliza el argumento del ejemplo anterior, en el que


= , = am , = ai , = aj , = ar y = bm .

Francisco Hernndez Quiroz

i N.

Como 6= , la afirmacin anterior quiere decir que

entonces , , tales que


=

38 / 61

Autmatas y Lenguajes Formales

Leng. regulares y autmatas finitos

39 / 61

Francisco Hernndez Quiroz

Autmatas y Lenguajes Formales

Leng. regulares y autmatas finitos

40 / 61

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Teorema del bombeo Aplicaciones

Minimalizacin de estados Teorema de Myhill-Nerode

Aplicaciones del lema del bombeo II

Minimalizacin de estados

Ejemplo 2. Sean y a . Definimos

En ocasiones, un autmata A puede reemplazarse con un autmata A0 que


reconoce el mismo lenguaje pero que tiene un conjunto de estados menor:

#a() = el nmero de apariciones de a en .


Entonces
{ {a, b} | #a() = #b()}

no es regular. La demostracin en este caso es indirecta:


1

El lenguaje {a b } es regular.

{a b } { {a, b} | #a() = #b()} = {an bn }.

Los lenguajes regulares son cerrados bajo .

Por tanto, { {a, b} | #a() = #b()} no puede ser regular.

Francisco Hernndez Quiroz

Autmatas y Lenguajes Formales

Leng. regulares y autmatas finitos

a, b
a,b

S
b

S0

a, b

10

a, b

De hecho, para cada lenguaje regular existe un nico DFA (salvo


isomorfismo) con un nmero mnimo de estados que lo reconoce.

41 / 61

Francisco Hernndez Quiroz

Autmatas y Lenguajes Formales

Leng. regulares y autmatas finitos

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Minimalizacin de estados Teorema de Myhill-Nerode

Minimalizacin de estados Teorema de Myhill-Nerode

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 }:

Sea A DFA, A = (Q, , , s, F ). Definimos una relacin de equivalencia


entre estados de Q. Sean q, r Q. Entonces:
sii

. (q, ) F sii (r, ) F .

Dado que es una relacin de equivalencia, designaremos con [q] la clase


de equivalencia a la que pertenece el estado q. El autmata cociente de A,
que denotaremos con A/ = (Q , , , s , F ), se define as:

([q], a) = [(q, a)]

Se repite el siguiente procedimiento hasta que ya no haya cambios:


Si (qi , qj ) = n y ((qi , a), (qj , a)) = s, para algn a , entonces
(qi , qj ) := s.

Al terminar el paso anterior, qi qj sii (qi , qj ) = n.

s = [s]
F = {[f ] | f F }.

Autmatas y Lenguajes Formales

Leng. regulares y autmatas finitos

Se construye una tabla


Estado q1 . . . qk
q1
m ...
..
.
qk
Donde m = s si el estado en el i-simo rengln es final y el estado en la
j-sima columna no es final o viceversa. En caso contrario, m = n.

Q = {[q] | q Q}

Francisco Hernndez Quiroz

F0

a, b

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

qr

a, b

43 / 61

Francisco Hernndez Quiroz

Autmatas y Lenguajes Formales

Leng. regulares y autmatas finitos

44 / 61

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Minimalizacin de estados Teorema de Myhill-Nerode

Minimalizacin de estados Teorema de Myhill-Nerode

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 :

El algoritmo toma cuando mucho


 
n
n!
=
2
2!(n 2)!

La relacin A tiene las siguientes propiedades:

pasos, donde n es el nmero de estados.

Es una congruencia por la derecha:


A

implica que

Autmatas y Lenguajes Formales

Leng. regulares y autmatas finitos

45 / 61

a A a.

Es una afinacin de L:
A

Francisco Hernndez Quiroz

(s, ) = (s, ).

sii

Francisco Hernndez Quiroz

implica que
Autmatas y Lenguajes Formales

L sii L.
Leng. regulares y autmatas finitos

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Minimalizacin de estados Teorema de Myhill-Nerode

Minimalizacin de estados Teorema de Myhill-Nerode

Relaciones de Myhill-Nerode II

Teorema de Myhill-Nerode

Tiene ndice finito, es decir, induce un nmero finito de clases de


equivalencia.

Sea L . Entonces, las siguientes afirmaciones son equivalentes:

Una relacin que cumple con 13 es una relacin de Myhill-Nerode.


Sea ahora R un lenguaje arbitrario. La relacin de equivalencia
R se define de esta forma:
R

Francisco Hernndez Quiroz

sii

46 / 61

L es regular.
Existe una relacin de Myhill-Nerode en L.
La relacin L tiene ndice finito.

. R sii R.

Autmatas y Lenguajes Formales

Leng. regulares y autmatas finitos

47 / 61

Francisco Hernndez Quiroz

Autmatas y Lenguajes Formales

Leng. regulares y autmatas finitos

48 / 61

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Minimalizacin de estados Teorema de Myhill-Nerode

Ejemplo

Autmatas no deterministas y disyuncin


Considrese el siguiente NFA:
a,b

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.

Pero ak , ak L sii || + k = || + k = 2n , para alguna n N. En pocas


palabras, por cada valor de k hay una clase de equivalencia distinta, i.e., L
no tiene ndice finito.

2
a,b

En el estado inicial, la cadena aa ser aceptada si la cadena a lleva a un


estado de aceptacin a partir del estado 1 o el estado 2. Es decir, si la
disyuncin (1, a) F (2, a) F es verdadera.
Francisco Hernndez Quiroz

Autmatas y Lenguajes Formales

Leng. regulares y autmatas finitos

49 / 61

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Leng. regulares y autmatas finitos

50 / 61

Definiciones preliminares

Sea Q un conjunto finito de estados. Una evaluacin es una funcin


e : Q {V , F }. Sea B Q = {e : Q {V , F }}. El conjunto de funciones
booleanas con argumentos en Q es {b : B Q {V , F }}.
Ejemplo. Sea Q = {s, 1, 2}. Una funcin booleana es b = s (1 2). Sea e
la evaluacin siguiente

Un autmata alternante generaliza la idea anterior a otras funciones


boolenas. Por ejemplo, la aceptacin de la cadena aa podra ocurrir si
la expresin (1, a) F (2, a) F es verdadera.
En cada estado de un autmata alternante, la lectura de un smbolo
lleva a la aplicacin de una funcin booleana a los posibles resultados
de procesar el resto de la cadena de entrada.

Autmatas y Lenguajes Formales

Autmatas y Lenguajes Formales

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Autmatas finitos alternantes (AFA)

Francisco Hernndez Quiroz

Francisco Hernndez Quiroz

Leng. regulares y autmatas finitos

e(s) = V

e(1) = F

e(2) = V .

Entonces, b(e) = V . Si b0 = s 1 entonces b0 (e) = F .


Nota: La funcin booleana no necesita utilizar todos sus argumentos, como
en el ejemplo de b0 .

51 / 61

Francisco Hernndez Quiroz

Autmatas y Lenguajes Formales

Leng. regulares y autmatas finitos

52 / 61

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Definicin formal

Ejemplo
Sea A = ({s, 1, 2}, {a, b}, , s, {2}), donde est definida as:

Un autmata alternante es un cuarteto A = (Q, , , s, F ), donde


: Q {b : B Q {V , F }}.
La funcin se extiende a la funcin
siguiente forma:

{b :

BQ

Estado
s
1
2

{V , F }} de la

(q, ) = q

(s, baa)(f ) = (1, aa) (2, aa)

Sea f : Q {V , F } la evaluacin siguiente:


sii

b
12
1
1 2

Entonces

(q, a) = (q, a) ( (q1 , ), . . . , (qn , ))

f (q) = V

a
1 2
2
2

= (2, a) (2, a)
= (2, ) (2, )

q F.

= 2 2
Entonces

y finalmente la cadena es rechazada, pues


2 2(f ) = F

L(A) = { | (s, )(f ) = V }


Francisco Hernndez Quiroz

Autmatas y Lenguajes Formales

Leng. regulares y autmatas finitos

53 / 61

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Leng. regulares y autmatas finitos

54 / 61

Ejemplo

Una forma concisa de definir AFA es por medio de sistemas de ecuaciones.


Sea el alfabeto de entrada. Entonces, las ecuaciones tienen el formato:
X
X1 =
a b1 (X1 , . . . , Xn ) + c1
Xn

Autmatas y Lenguajes Formales

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Sistemas de ecuaciones

...

Francisco Hernndez Quiroz

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

Un resultado interesante es que todo sistema de ecuaciones corresponde a


un AFA y viceversa. La regularidad de los AFA se deduce de que los sistemas
de ecuaciones pueden transformarse en expresiones regulares.

donde las bi son funciones booleanas de n argumentos y las ci pueden ser 


(en caso de que sea un estado final) o 0. Los operadores aritmticos y
booleanos se interpretan como en las expresiones regulares o de manera
tradicional.

Francisco Hernndez Quiroz

Autmatas y Lenguajes Formales

Leng. regulares y autmatas finitos

55 / 61

Francisco Hernndez Quiroz

Autmatas y Lenguajes Formales

Leng. regulares y autmatas finitos

56 / 61

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Una aplicacin: reconocimiento de cadenas I

Diccionarios

Supongamos que se tiene un conjunto de cadenas X y una


cadena y el objetivo es verificar si alguna cadena de X
aparece en , es decir si

Sea un alfabeto. Un diccionario es un subconjunto finito de que


no contiene a .

, , . = X.

Buscar apariciones de cadenas de un diccionario X en cadenas


arbitrarias de equivale a reconocer el lenguaje X.

El algoritmo ingenuo sigue el mtodo de la ventana corrediza para cada


cadena en X: se recorre carcter por carcter y se verifica si una
cadena de X corresponde al segmento de que inicia con esa cadena.
No es difcil ver que este algoritmo es muy ineficiente.
Hay algoritmos ms eficientes que ste, pero requieren ciertas
operaciones iniciales tambin muy costosas.
Si se realizarn bsquedas frecuentes de apariciones de cadenas de X
en cadenas arbitrarias, el costo de estas operaciones se puede
justificar.
Francisco Hernndez Quiroz

Autmatas y Lenguajes Formales

Leng. regulares y autmatas finitos

Sea una cadena no vaca. Denotaremos con Pre() los


prefijos de . Si X es un conjunto de cadenas, Pre(X ) es el conjunto
de prefijos de las cadenas de X.
Ejemplo. Si = abab, Pre() = {, a, ab, aba, abab}.

57 / 61

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Leng. regulares y autmatas finitos

58 / 61

Autmata de un diccionario I

Sea X un diccionario. Con base en T (X ) se puede construir el


autmata del diccionario X que aceptar el lenguaje X.

El autmata trie de un diccionario X es el autmata T (X) formado por


Un conjunto de estados que comprende un estado por cada prefijo de
las cadenas de X (si ms de una cadena tienen el mismo prefijo, T (X )
slo incluir un estado para todas)
El estado inicial corresponde a .
Los estados finales son las cadenas de X .
La funcin se define as. Sean p y q los estados correspondientes a
las prefijos y , respectivamente, y sea a . Entonces
sii

Sea h : X Pre(X ) la funcin siguiente


h(, X) = el sufijo de de mayor longitud tal que pertenece a Pre(X).
El autmata del diccionario de X, denotado por D(X), constar de los
elementos
Los mismos estados de T (X ).
El mismo estado inicial.
El conjunto de estados finales es el conjunto de estados que
corresponden a las cadenas en Pre(X ) X .

= a.

Francisco Hernndez Quiroz

Autmatas y Lenguajes Formales

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Autmata trie de un diccionario

(p, a) = q

Francisco Hernndez Quiroz

Autmatas y Lenguajes Formales

Leng. regulares y autmatas finitos

59 / 61

Francisco Hernndez Quiroz

Autmatas y Lenguajes Formales

Leng. regulares y autmatas finitos

60 / 61

Autmatas finitos Otras definiciones Limitaciones Minimalizacin Alternancia Reconocimiento de cadenas

Autmata de un diccionario II

La funcin definida por


(p, a) = q

sii

= h(a, X ),

donde p y q los estados correspondientes a las prefijos y ,


respectivamente, y a .

D(X) es un autmata completo que acepta el lenguaje X.

Francisco Hernndez Quiroz

Autmatas y Lenguajes Formales

Leng. regulares y autmatas finitos

61 / 61

También podría gustarte