Sie sind auf Seite 1von 94

1

Teora de Autmatas y Lenguajes Formales

Daz-Marta Caballero Mara Llanos Alonso Antonio Fernndez

Departamento de Sistemas Informticos Universidad de Castilla-La Mancha

TEMA 6: EXPRESIONES REGULARES Y AUTMATAS FINITOS

2 Teora de Autmatas y Lenguajes Formales

z Equivalencia. Otros mtodos { AF ER. Mtodo de la ecuacin fundamental


{ ER AF. Mtodo de las derivadas y ERs de Kleene de Kleene z Equivalencia entre AFs { AF ER. Teorema { ER AF. Teorema regular z Definicin de expresin z Equivalencia entre expresiones regulares AUTMATAS TEMA 6: EXPRESIONES REGULARES Y FINITOS

INDICE

expresin regular que denota al lenguaje L(r)


3

rs) es una L(s). respectivamente, entonces, r s (o

Teora de Autmatas y Lenguajes Formales

y L(s) L(r) 4. 3. 2. El conjunto lenguaje vaco es una expresin regular que denota al La cadena vaca es una expresin regular que denota al lenguaje { } Cualquier smbolo a es una expresin regular que denota al lenguaje {a}
Si r y s son expresiones regulares denotando los lenguajes

1.

Dado un alfabeto , las expresiones regulares sobre y

los conjuntos denotados por ellas se definen recursivamente


como sigue:

DEFINICIN DE EXPRESIN REGULAR (1) TEMA 6: EXPRESIONES REGULARES Y AUTMATAS FINITOS

4 Teora de Autmatas y Lenguajes Formales

La precedencia de los operadores es: * > > + .


Slo son expresiones regulares las que pueden obtenerse mediante la aplicacin de las reglas anteriores. 7. es una expresin regular que denota al lenguaje entonces, L(r)*.
*

r 6. Si r y s son expresiones regulares denotando los lenguajes L (r) y L(que s) respectivamente, entonces, + regular denota al lenguaje L(r) Lr (s ).s es una expresin Si r es una expresin regular denotando al lenguaje L(r), 5.

DEFINICIN DE EXPRESIN REGULAR (2) TEMA 6: EXPRESIONES REGULARES Y AUTMATAS FINITOS

6: E J E M P L O z Cul es el lenguaje representado por las siguientes expresiones regulares? 1. 00 2. (0+1)* 3. (0+1)*00(0+1)* 4. (1+10)*

5. (0+cv)(1+10)* 6. (0+1)*011 7. 0*1*2* 8. 00*11*22* 9. 0+1+2+


Teora de Autmatas y Lenguajes Formales 5

6 Teora de Autmatas y Lenguajes Formales

+t r ; r s t) r = r (s + t) = r s + r t

a +: es distributiva respecto = =r r tiene elemento neutro : r es asociativa: r (s t) = (r s) t r


(s +

es asociativa: r + (s + t) = (r + s) + t es conmutativa: r + s = s + r tiene elemento neutro : + r = r + = + + + 1. 2. 3. 4. 5. 6. comprobar A partir de la definicin de equivalencia podemos las siguientes propiedades: Dos expresiones regulares r y s son equivalentes si describen el mismo lenguaje, es decir, L(r) = L(s).

EQUIVALENCIA ENTRE EXPRESIONES REGULARES (1) TEMA 6: EXPRESIONES REGULARES Y AUTMATAS FINITOS

7 Teora de Autmatas y Lenguajes Formales

r r r* = r*
(r*)* = r*

= * = r=r * = 7. r* r* = r*
8. 9. 10. 11. 12.

(2) EQUIVALENCIA ENTRE EXPRESIONES REGULARES TEMA 6: EXPRESIONES REGULARES Y AUTMATAS

FINITOS

8 Teora de Autmatas y Lenguajes Formales

regulares lenguajes expresar para modelos Tres EQUIVALENCIA ENTRE AFs Y ERs TEMA 6: EXPRESIONES REGULARES Y AUTMATAS FINITOS

r, Para todo lenguaje expresado por una expresin regular, existe un autmata finito, M, tal que L(r) = L(M). Esquema de la demostracin: {Se construir un AFND- en el que se cumplen las siguientes condiciones:
z nicamente habr un estado final z En el estado final no hay transiciones de salida z Ninguna transicin finaliza en el estado inicial {Induccin en el nmero de operadores de la expresin regular Teora de Autmatas y Lenguajes Formales TEOREMA DE KLEENE. ER AF (1)

TEMA 6: EXPRESIONES REGULARES Y AUTMATAS FINITOS

10 Teora de Autmatas y Lenguajes Formales

y adems M cumple las condiciones impuestas Claramente, L(M) = L(r). M = ({q , q }, , {0(q , } = q }, q , {q }) F 0 F 0 F posibles: , , a Tres expresiones regulares { r = .

Caso base: 0 operadores (2) TEOREMA DE KLEENE. ER AF TEMA 6: EXPRESIONES REGULARES Y AUTMATAS FINITOS

Construimos el siguiente autmata

11 Teora de Autmatas y Lenguajes Formales

y adems impuestas M cumple las condiciones Claramente, L(M) = L(r). M = ({q , 0 q , {q }) q }, , {},

a , ,

Tres expresiones regulares posibles: { r = . Caso base: 0 operadores (3) TEOREMA DE KLEENE. ER AF
Construimos el siguiente autmata

TEMA 6: EXPRESIONES REGULARES Y AUTMATAS FINITOS

12 Teora de Autmatas y Lenguajes Formales

y adems M cumple las condiciones impuestas Claramente, L(M) = L(r). M = ({q , q }, , {0(q , a} = q }, q , {q }) F 0 F 0 F posibles: , , a Tres expresiones regulares {r = a, con a .

Caso base: 0 operadores (4) TEOREMA DE KLEENE. ER AF TEMA 6: EXPRESIONES REGULARES Y AUTMATAS FINITOS

Construimos el siguiente autmata

13

donde e y s es son cuyo nmero de operadores expresiones n Teora de Autmatasregulares y Lenguajes Formales Unin: r = e + s Concatenacin: r = e s Cierre: r = e*
{ { { La expresin regular r tiene exactamente n + 1 operadores. Podemos considerar tres casos: Paso de induccin

Se asume regular que el enunciado es cierto para cualquier expresin con un nmero de operadores n Hiptesis de induccin TEMA 6: EXPRESIONES REGULARES Y AUTMATAS

FINITOS TEOREMA DE KLEENE. ER AF (5)

14 Teora de Autmatas y Lenguajes Formales

{ Es claro, que L(M) = L(e) L(s). {q } = ) (qF , = ) (qF , (q, e a) = (q, a) para q Q y a 2 (q , ) = {2 q ,q } ; ; {} {}

1 2 para q Q y a a)
1

(q, a) = (q, 1 { Suponiendo Q y Q disjuntos, construimos el autmata: M 1 }, 2 , , q , {q }), donde se define como: =(Q Q {q , q que, L(E) = L(e) y L(S) = L(s). (Q2, 2, 2, q2, {qF }), cumpliendo las condiciones del enunciado y, S tales podemos suponer que existen los AFs E = (Q1, 1, 1, q1, {qF }) y S =
Unin: r = e + s
e 1 2 0 F 1 2 0 F

TEMA 6: EXPRESIONES REGULARES Y AUTMATAS FINITOS

{ Dado que e y s tienen un nmero menor o igual a n operadores,

TEOREMA DE KLEENE. ER AF (6)

15 Teora de Autmatas y Lenguajes Formales

{ Es claro, que L(M) = L(e) L(s). (q, a) = (q, a) para q Q y a 2 (qF , ) = 2{q2} {} e {}

1 2

a) para q Q y a (q, a) = (q, 1 1 , {q }), donde se define como: 12, , q 1 F M autmata: { Suponiendo Q y Q disjuntos, construimos el 1 2 =(Q Q , que, L(E) = L(e) y L(S) = L(s).
1 2 s

(Q2, 2, 2, q2, {qF }), cumpliendo las condiciones del enunciado y, S tales podemos suponer que existen los AFs E = (Q1, 1, 1, q1, {qF }) y S = e Concatenacin: r = e s
{ Dado que e y s tienen un nmero menor o igual a n operadores,

TEMA 6: EXPRESIONES REGULARES Y AUTMATAS FINITOS


TEOREMA DE KLEENE. ER AF (7)

16

{ Es claro, que L(M) = L(e)*. (q0, ) = (qF , ) = {q1, qF} e {} a y (q, a) = (q, a) para q Q se donde {qF }), q ,s 0 , , 1 Construimos el autmata: M =(Q {q , q }, { define como: 1 0 F suponer que existe el AF E = (Q , , , q , {q }), cumpliendo las
1 1 1 1 Fe 1 1 1
Teora de Autmatas y Lenguajes Formales

condiciones del enunciado y, tales que, L(E) = L(e).


Cierre: r = e*

{ Dado que e tiene un nmero menor o igual a n operadores, podemos DE KLEENE. ER AF (8) TEOREMA

TEMA 6: EXPRESIONES REGULARES Y AUTMATAS FINITOS

6:

E J E M P L O z Construir un AF equivalente a la expresin regular: (0+1)*1(0+1)

Teora de Autmatas y Lenguajes Formales 17

18 Teora de Autmatas y Lenguajes Formales

AFND-

z Desventajas: { Muchos estados, z Ventajas: { Mtodo sencillo de aplicar (9) TEOREMA DE KLEENE. ER AF TEMA 6: EXPRESIONES REGULARES Y AUTMATAS FINITOS

19 Teora de Autmatas y Lenguajes Formales

Todo lenguaje aceptado por un autmata finito determinista M es un lenguaje regular y, por tanto, existe una expresin regular r, tal que L(M) = L(r). Esquema de la demostracin: {Definir conjuntos que contengan las cadenas que van de q i a q , pero limitando los estados por los que pueden j pasar.
{Definir L(M) como la unin de algunos de estos conjuntos. {Ver que cada conjunto puede ser generado por una expresin regular (y, por tanto, L(M) tambin). {Ideas clave: definicin recursiva de los conjuntos e induccin. TEOREMA DE KLEENE. AF ER (1)

TEMA 6: EXPRESIONES REGULARES Y AUTMATAS FINITOS

20 Teora de Autmatas y Lenguajes Formales

i al mayor x es la etiqueta de un camino que va del estado j sin pasar por nodos intermedios en un nmero tal que estado que k. { Expresin regular cuyo lenguaje es el conjunto de cadenas x {x* | *(q ,x) = q , y z prefijo propio de x, i ) = q ,j con l k} *(q ,z i l Rk = { Definimos el siguiente conjunto de cadenas:
ij k ij

Definicin de R AFD un

F) Sea L un lenguaje regular y M = ({q , , q }, , , q , 1 n 1 tal que L(M) = L. Ntese que q es el estado inicial y que q Q. Punto de partida TEOREMA DE KLEENE. AF ER (2)
1 0

TEMA 6: EXPRESIONES REGULARES Y AUTMATAS FINITOS

21 Teora de Autmatas y Lenguajes Formales

zLuego, nuestro objetivo es demostrar que existe una expresin regular r, tal que, L(r) = R = L(M)
p 2 1 p 2 1

}. , con F = {q , q , , q j j j Rn 1j Rn Rn
1j

zPor tanto L(M) = R = zSi k = n, entonces Rk = {x* | *(q ,x) = q } conjuntos los zSobre
ij i j

1j

Rk

(3) TEOREMA DE KLEENE. AF ER


TEMA 6: EXPRESIONES REGULARES Y AUTMATAS FINITOS

ij

22 Teora de Autmatas y Lenguajes Formales

AFD, un es M que considerando estamos Puesto que tendremos: z Base. La base de la recursin ser cuando k = 0. Dado que los estados se numeran desde 1, k = 0 implica que no podemos pasar por ningn estado. Definicin recursiva de Rk ij ER (4) TEOREMA DE KLEENE. AF TEMA 6: EXPRESIONES REGULARES Y

AUTMATAS FINITOS

23 Teora de Autmatas y Lenguajes Formales

= { Por tanto, Rk-1 Rk-1ij (Rkkj -1 )* Rk-1 kk Rk ik ij menos una vez) por el estado q . (al pasa se lectura tales que durante su Rk pertenecen a
ij k

{Cadenas w Rk-1 . por ij el estado q . Es claro que estas cadenas tambin tales que durante { Cadenas w su lectura no se pasa Rk
k

Existen dos situaciones a considerar: Rk . z Recursin Definicin recursiva de Rk ij ER (5) TEOREMA DE KLEENE. AF
ij

ij

TEMA 6: EXPRESIONES REGULARES Y AUTMATAS FINITOS

24 Teora de Autmatas y Lenguajes Formales

Siendo L(r) = L(M). z


p 2

, q , , q }. j F = {q j con j
p 2 1 1

, rn ++ rn + rn
1j 1j 1j

Por tanto, construimos la expresin regular r = +

rk-1 rk-1 kj )* ij (rk -1 rk-1 kk = rk


ij ik

obtenemos la siguiente expresin regular: slo contiene operadores regulares, Rk-1 Rk-1 kj )* (Rk -1 Rk-1 kk = Rk
ij ik ij

que Hiptesis de induccin. Suponemos cierto para k-1. Paso de induccin. Aplicando la hiptesis de induccin y dado z z conjunto finito de cadenas: un Inmediato al ser

R0 Caso base (k=0). z


ij

Obtencin de la expresin regular rk tal que L(rk ) = Rk

TEMA 6: EXPRESIONES REGULARES Y AUTMATAS FINITOS

ij

ij

ij

TEOREMA DE KLEENE. AF ER (6)

6:

E J E M P L O z Obtener la ER equivalente al siguiente AFD:

La expresin regular buscada es:

Teora de Autmatas y Lenguajes Formales 25

6:

Teora de Autmatas y Lenguajes Formales

26

27 Teora de Autmatas y Lenguajes Formales

kk

en el paso i-simo) misma expresin regular (p.e.


k-1

r { smbolos si no se simplifica cada paso expresin regular del orden de veces una Implementacin recursiva repetidas calcular
n

4 longitud de las expresiones puede crecer en un factor 4 { expresiones para aplicacin del mtodo es costosa ( autmata con n estados) La un La en {
3

z Desventajas:

{ Mtodo mecnico que permite obtener la expresin regular Aunque hemos supuesto AFD, es vlido para AFND y AFND-
Implementacin recursiva

{ {

z Ventajas: TEMA 6: EXPRESIONES REGULARES Y AUTMATAS FINITOS TEOREMA DE KLEENE. AF ER (7)

28

Teora de Autmatas y Lenguajes Formales antiguos estados finales). ++a .

ejemplo, {a1, a2 , , am} y sustituir la etiqueta por la expresin regular a1+ a2


m
{ Al estado inicial no lleguen transiciones (basta con aadir un nuevo estado inicial y poner una transicin nula hacia el antiguo). { Hay un nico estado final del que no salen transiciones (basta con aadir un nuevo estado final y transiciones nulas desde todos los

z Por conveniencia se exige que:

z Para aplicar el mtodo usaremos lo que se denomina como: Autmatas finitos no deterministas generalizados (AFNDG). z Un AFNDG es un AF que admite que sus arcos sean etiquetados con expresiones regulares. z Para transformar un AFD en un AFNDG slo hay que ver si tiene transiciones etiquetadas con ms de un smbolo, por TEMA 6: EXPRESIONES REGULARES Y

AUTMATAS FINITOS ELIMINACIN DE ESTADOS. AF ER (1)

6:

Y E J E M P L O

T e o r a d e A u t m a t a s y L

enguajes Formales

29

30 Teora de Autmatas y Lenguajes Formales

camino. z Grficamente: p y s etiquetado con las cadenas que recorran ese entre se aade un arco para que no se modifique L(M) z Al eliminar q se rompe el camino existente entre p y s {q , q } el estado a eliminar.
0 F
un estado predecesor de q (hay un arco de p a q) un estado sucesor de q (hay un arco de q a s)

q ps z Sea z Sea z Sea

Eliminacin de un estado: TEMA 6: EXPRESIONES REGULARES Y AUTMATAS FINITOS ELIMINACIN DE ESTADOS. AF ER (2)

31 Teora de Autmatas y Lenguajes Formales

4. 5.

r = etiqueta(p s ) r = si no existe p s
i j i j

Eliminar q y todas sus transiciones del autmata Aadir todas las nuevas etiqueta al autmata

s ) = P Q* S + r, con j etiqueta (p q) etiqueta(qi s ) etiqueta(q qj) Q = si no existe q q etiqueta(p


i
P= S= Q=

pred(q) = {p | p Q - {q} y p q} suc(q) = {s | s Q - {q} y q s} Para todo par (p , s ) tal que p pred(q) y s suc(q), hacer: 1.
i j i j

2. 3.

Eliminar(q): TEMA 6: EXPRESIONES REGULARES Y AUTMATAS FINITOS ELIMINACIN DE ESTADOS. AF ER (3)

32 Teora de Autmatas y Lenguajes Formales

q } final , {q
inicial

Q de q Elegir un estado Eliminar(q) a) b) M Construir un AFNDG M a partir de Mientras |Q| > 2, hacer 1. 2. Obtener-ER(AFD M):

(4) ELIMINACIN DE ESTADOS. AF ER TEMA 6: EXPRESIONES REGULARES Y AUTMATAS FINITOS

AFD AFDNG

6:

Y E J E M P L O

Teora de Autmatas y Lenguajes Formales 33

6:

E J E M P L O

Teora de Autmatas y Lenguajes Formales 34

6:

E J E M P L O

Teora de Autmatas y Lenguajes Formales 35

6:

E J E M P L O

Teora de Autmatas y Lenguajes Formales 36

37 Teora de Autmatas y Lenguajes Formales

z cada uno de ellos. Entonces, el conjunto Xi puede describirse de la siguiente forma: {}, tales que existe una transicin desde q a q etiquetada i j con z Sea {a1 , , apj } el conjunto de smbolos pertenecientes a ij ij X = i {x * | *(q , conjunto:
i

x) F} el siguiente Definimos tal que L() = L(M). Encontrar una expresin regular Sea M = ({q , z
1

z z , q }, , , q , F) un AF. Planteamiento de la ecuacin


n 1

TEMA 6: EXPRESIONES REGULARES Y AUTMATAS FINITOS


ECUACIN FUNDAMENTAL. AF ER (1)

el sistema de ecuaciones y obtener la solucin para X .


38

es resolver Dado que por definicin X = L(M), nuestro objetivo z aX + bX


bX

Teora de Autmatas y Lenguajes Formales

0 2

1 1

+ aX

bX + = = = X
X X

0 1 2

Ecuaciones obtenidas: X. ecuacin


i

una plantea Para cada estado q se


Ejemplo:

z z Sistema de ecuaciones (2) ECUACIN FUNDAMENTAL. AF ER

TEMA 6: EXPRESIONES REGULARES Y AUTMATAS FINITOS

39 Teora de Autmatas y Lenguajes Formales

nica la es A* B = X entonces A, Si A * B. = solucin X solucin. Lema de Arden. Una ecuacin X = AX + B, tiene como z

Resolucin del sistema de ecuaciones ECUACIN FUNDAMENTAL. AF ER (3) TEMA 6: EXPRESIONES REGULARES Y AUTMATAS FINITOS

6:

EJEMPL O (1) Resolver por el mtodo de las ecuaciones:


X
0
= a X

1
+ b X

2
X

1
= b X

1
+ a X

X
2

= b X
2

+
X

= b

*
( ) = b

*
X = bX + ab = b ab X = ab ab

1 *

0 *

bb

Teora de Autmatas y Lenguajes Formales 40

6:

EJEMPL O (2) Resolver por el mtodo de las ecuaciones:


a b

a q
0

a q
1

a b q q2
4

q
3

Teora de Autmatas y Lenguajes Formales 41

42 Teora de Autmatas y Lenguajes Formales

L(D ()) = {x * | ax L()} el la como expresin regular D () que genera a a , lenguaje: Definimos la derivada de respecto al smbolo Sea una expresin regular definida sobre el alfabeto . z Derivada de una expresin regular: AF (1) MTODO DE LAS DERIVADAS. ER TEMA 6: EXPRESIONES REGULARES Y AUTMATAS
a

FINITOS

43 Teora de Autmatas y Lenguajes Formales

5. D () = D () a sia L()

() D ( ) L si Da() + D () = = )
a a

+ ) ) = D () + D () a a D ( Da( Da(
a

D ( a)
D (b )

1. 2. 3. 4. . D () = D () =

a a

b = = Sean a, z derivadas: Reglas para el clculo de las (2) AF

MTODO DE LAS DERIVADAS. ER TEMA 6: EXPRESIONES REGULARES Y AUTMATAS FINITOS

44 Teora de Autmatas y Lenguajes Formales

de regular es finito (pues en cada derivacin la longitud las cadenas, que a su vez es finita, disminuye). conjunto de derivadas distintas de una expresin El z D () = D () = D (D ())
{ { a cadenas: Ahora derivamos respecto z expresin regular: Derivadas sucesivas de una (3)
ax x a

MTODO DE LAS DERIVADAS. ER AF TEMA 6: EXPRESIONES REGULARES Y AUTMATAS FINITOS

45

z z z z Q = {D ()} q =Dx () () | L(D ()) } F0= { D x a) = D () x (D (),


x xa
Teora de Autmatas y Lenguajes Formales sucesivas {D ()} q , F} como sigue:

Calcular el conjunto de derivadas Construimos el AFD M = {Q, , , 1. 2. Dada la expresin regular definida sobre ,

Algoritmo de sntesis: AF (4) MTODO DE LAS DERIVADAS. ER TEMA 6: EXPRESIONES REGULARES Y AUTMATAS FINITOS

6: Y

EJ E M PL O (1) z expresin Obtener el AFD correspondiente a la regular = 01* + 1 por el mtodo de las derivadas.
Construim os el autmata: sucesivas: 1

* D() = = 01* + 1 0, 1
* D () = 1 * D00() FINAL

= D0(1*) = D D
00

* D () = D (1*) = 1* = D () * D10() = D0() = = D00()


01 1 0

1 D
Teora de Autmatas y Lenguajes Formales 46

0, 1

* D () = D () = = D ()
1 11 1 00

FINAL * D () = 1* D 0 Calculamos el conjunto de derivadas


0

6:

EJ E M PL O (2) z expresin Obtener el AFD correspondiente a la regular = 0(1+0)*0 + 11(1+0) (1+0)*0 por el mtodo de las derivadas.

Teora de Autmatas y Lenguajes Formales 47

Das könnte Ihnen auch gefallen