Beruflich Dokumente
Kultur Dokumente
INDICE
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.
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.
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)*
+t r ; r s t) r = r (s + t) = r s + r t
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
r r r* = r*
(r*)* = r*
= * = r=r * = 7. r* r* = r*
8. 9. 10. 11. 12.
FINITOS
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)
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
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
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
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
{ 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
{ 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,
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
{ Dado que e tiene un nmero menor o igual a n operadores, podemos DE KLEENE. ER AF (8) TEOREMA
6:
AFND-
z Desventajas: { Muchos estados, z Ventajas: { Mtodo sencillo de aplicar (9) TEOREMA DE KLEENE. ER AF TEMA 6: EXPRESIONES REGULARES Y AUTMATAS FINITOS
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)
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
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
ij
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
= { 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
, q , , q }. j F = {q j con j
p 2 1 1
, rn ++ rn + rn
1j 1j 1j
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
ij
ij
ij
6:
6:
26
kk
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
{ {
28
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
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
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)
Eliminacin de un estado: TEMA 6: EXPRESIONES REGULARES Y AUTMATAS FINITOS ELIMINACIN DE ESTADOS. AF ER (2)
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
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.
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):
AFD AFDNG
6:
Y E J E M P L O
6:
E J E M P L O
6:
E J E M P L O
6:
E J E M P L O
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
0 2
1 1
+ aX
bX + = = = X
X X
0 1 2
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:
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
6:
a q
0
a q
1
a b q q2
4
q
3
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
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
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
45
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
1 D
Teora de Autmatas y Lenguajes Formales 46
0, 1
* D () = D () = = D ()
1 11 1 00
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.