Вы находитесь на странице: 1из 13

Teora de Autmatas y Lenguajes Formales

Tema 4. Expresiones regulares

TEMA 4. EXPRESIONES REGULARES

Definicin. Equivalencia entre expresiones regulares. Teorema de anlisis y sntesis de Kleene. Lema de bombeo.

Profesor: Jose Ignacio Gmez Espnola

Pg. 1

Teora de Autmatas y Lenguajes Formales

Tema 4. Expresiones regulares

DEFINICIN
Las expresiones regulares son metalenguajes que describen los lenguajes aceptados por los autmatas finitos, es decir, describen los lenguajes regulares. Dado un alfabeto E y los smbolos (lenguaje vaco), (palabra vaca), (concatenacin), + (unin), * (clausura), se cumple que: Los smbolos y son expresiones regulares. Cualquier smbolo aE es una expresin regular. Si u y v son expresiones regulares, entonces, u+v, uv, u* y v* son expresiones regulares. Slo son expresiones regulares las que se pueden obtener aplicando un nmero finito de veces las reglas anteriores. Debemos minimizar el uso de parntesis, para lo cual se establece la siguiente prioridad en las operaciones: 1. Parntesis ( ) 2. Clausura * 3. Concatenacin 4. Unin +

Profesor: Jose Ignacio Gmez Espnola

Pg. 2

Teora de Autmatas y Lenguajes Formales

Tema 4. Expresiones regulares

A cada expresin regular le corresponde un lenguaje regular: Si =, L() = . Si =, L() = {}. Si =a, a E, L() = {a} Si y son dos expresiones regulares entonces: L(+ ) = L() L( ) L( ) = L()L( ) L(*) = L()*

Ejemplos 1. Sea E = {0,1,2). Obtener la expresin regular asociada a E+. 2. Sea E = {a,b}. Obtener la expresin regular asociada al lenguaje formado por todas las cadenas que contienen al menos una b. 3. Sea E = {0,1}. Obtener la expresin regular asociada a los mltiplos de 8. 4. Sea E = {a,b,c}. Obtener la expresin regular asociada al lenguaje formado por {a, aa, b, bb, c, cc}. 5. Sea E = {0,1}. Obtener una expresin regular asociada al lenguaje L = {0 i(10) j | i0, j>0}. 6. Sea E = {a,b}. Obtener una expresin regular asociada al lenguaje L = {a(ai (bb) j )k bb | i,j,k0}.

Profesor: Jose Ignacio Gmez Espnola

Pg. 3

Teora de Autmatas y Lenguajes Formales

Tema 4. Expresiones regulares

EQUIVALENCIA ENTRE EXPRESIONES REGULARES

1. Definicin Dos expresiones regulares y son equivalentes describen el mismo lenguaje regular: = L() = L( )

2. Propiedades Propiedades de la Unin (+): 1. Asociativa. 2. Conmutativa. 3. Elemento neutro (). Propiedades de la Concatenacin (): 4. Asociativa. 5. Distributiva respecto de la Unin (+). 6. Elemento neutro ().

Profesor: Jose Ignacio Gmez Espnola

Pg. 4

Teora de Autmatas y Lenguajes Formales

Tema 4. Expresiones regulares

Otras propiedades: 7. *= 8. = 9. * = 10. * * = * 11. * = * 12. (*)* = * 13. * = + 1 + 2 + 3 + ... + n + n+1 * 14. * = + * 15. * = ( + )n-1 + n * 16. Sea f: En E entonces f(, ,...,)+(+ +...+ )* = (++...+)*. 17. Sea f: En E entonces (f(*, *,...,*)) * = (++...+)* . 18. (+ )* = (* *)* = (*+ *)* 19. ( )* = ( )* 20. (* )* * = (+ )* 21. (* )* = (+ )* + 22. Reglas de inferencia 22.1. = * = + 22.2. Si entonces si = + = *

Profesor: Jose Ignacio Gmez Espnola

Pg. 5

Teora de Autmatas y Lenguajes Formales

Tema 4. Expresiones regulares

TEOREMA DE ANLISIS Y SNTESIS DE KLEENE


1. Teorema Un lenguaje es aceptado por un A.F.D. puede ser generado mediante una expresin regular. Demostracin Ver Solucin al problema de anlisis de Kleene. Ver Solucin al problema de sntesis de Kleene. 2. Solucin al problema de anlisis de Kleene 2.1. Ecuaciones caractersticas

Sea el autmata finito A = (E, Q, f, q0, F) y sea xi el conjunto de las cadenas capaces de conducir el autmata desde qi a un estado final. Si desde qi no se puede llegar a un estado final, x i = . Pasos del algoritmo: 1. Si existen transiciones nulas de un estado hacia s mismo, eliminarlas. 2. Si existen ciclos a travs de transiciones nulas de un estado hacia s mismo, transformar el autmata en A.F.N.D. sin transiciones nulas. 3. Asociar a cada estado una variable, de forma que el estado inicial sea x0, y el estado q i sea x i. 4. Para cada estado del autmata escribir una ecuacin en los siguientes trminos:
Profesor: Jose Ignacio Gmez Espnola Pg. 6

Teora de Autmatas y Lenguajes Formales

Tema 4. Expresiones regulares

4.1. En el miembro de la izquierda estar la variable xi asociada al estado qi actual. 4.2. El miembro de la derecha estar formado por sumandos, correspondientes a cada una de las ramas de salida del estado: 4.2.1. Para cada rama de qi a qj etiquetada con el smbolo a, se suma ax j. 4.2.2. Si q j es un estado final, se sumar adems el smbolo a. 4.2.3. Por ltimo, si q i es un estado final, se suma . 2.2. Resolucin de la ecuacin fundamental

1. Resolver las ecuaciones caractersticas asociadas al autmata mediante la regla 22.2 (Si entonces si = + = * ), comenzando por las ecuaciones asociadas a los estados finales. 2. Finalmente, si el estado inicial es q0, x0 es el lenguaje reconocido por el autmata.
Ejemplo: obtener la expresin regular asociada al Autmata asociado a la siguiente tabla de transicin: f P *Q 0 1 P Q Q P

Ejemplo: obtener la expresin regular asociada al Autmata asociado a la siguiente tabla de transicin: f P Q *R
Profesor: Jose Ignacio Gmez Espnola

0 1 Q R Q Q R R
Pg. 7

Teora de Autmatas y Lenguajes Formales

Tema 4. Expresiones regulares

Ejemplo: obtener la expresin regular asociada al Autmata asociado a la siguiente tabla de transicin: f P *Q *R 0 1 Q R R R

Ejemplo: obtener la expresin regular asociada al Autmata asociado a la siguiente tabla de transicin: f P *Q a Q b P Q

3. Solucin al problema de sntesis de Kleene Construiremos el autmata siguiendo las siguientes normas: 1. Si = 2. Si = 3. Si = a 4. Si = + 5. Si = 6. Si = *

Profesor: Jose Ignacio Gmez Espnola

Pg. 8

Teora de Autmatas y Lenguajes Formales

Tema 4. Expresiones regulares

Ejemplo: Obtener el autmata asociado a la expresin regular a(b* c)*.

4. Solucin al problema de sntesis de Kleene a partir de las derivadas de una expresin regular 4.1. Derivada de una expresin regular Llamamos derivada de una expresin regular R respecto del smbolo aE, al conjunto de colas de todas las palabras representadas por R cuya cabecera es a: Da( R) = {x / ax R } Reglas bsicas de derivacin: 1. Da() = 2. Da() = 3. Da(a) = 4. Da(b) = 5. Da(R+S) = Da(R) + Da(S) 6. Da(RS) 6.1. Si R Da(RS) = Da(R)S + Da(S) 6.2. Si R Da(RS) = Da(R)S 7. Da(R*) = Da(R)R*

Profesor: Jose Ignacio Gmez Espnola

Pg. 9

Teora de Autmatas y Lenguajes Formales

Tema 4. Expresiones regulares

4.2. Obtencin de una gramtica asociada a una expresin regular Obtendremos las reglas de produccin de la gramtica mediante la aplicacin de los siguientes criterios: 1. Si Da(R) = S aadir la regla R aS 2. Si Da(R) aadir la regla R a 3. Si R 0 aadir la regla R0
Ejemplo: Obtener la gramtica asociada a la expresin regular siguiente: R0 = (0 + 10*1)*10* Ejemplo: Obtener la gramtica asociada a la expresin regular siguiente: R0 = 1(0 + 1)* Ejemplo: Obtener la gramtica asociada a la expresin regular siguiente: R0 = 1(0 + 1)* + 0

4.3. Obtencin del Autmata asociado a una expresin regular Bastar con obtener la gramtica asociada a dicha expresin regular, y a partir de dicha gramtica aplicar el algoritmo estudiado en el tema anterior para generacin de -A.F.N.D. a partir de una gramtica lineal por la derecha. Finalmente, podemos pasar dicho autmata a A.F.N.D., y a A.F.D. mediante la aplicacin de los algoritmos vistos para tal fin.
Profesor: Jose Ignacio Gmez Espnola Pg. 10

Teora de Autmatas y Lenguajes Formales

Tema 4. Expresiones regulares

Tambin es posible obtener el A.F.D. a partir de la gramtica lineal por la izquierda asociada a la gramtica lineal por la derecha obtenida a partir de la expresin regular. 4.3.1. Lema Para toda gramtica lineal por la derecha existe otra gramtica lineal por la derecha equivalente que no contiene reglas del tipo A aS, donde S es el axioma, A V y a T*. Construimos la gramtica equivalente de la siguiente forma: 1. Creamos un nuevo smbolo no terminal K. 2. Sustituimos en las partes derechas de todas las producciones el axioma por K. 3. Copiamos todas las reglas cuya parte izquierda est formada por el axioma, sustituyendo dicho axioma por K. 4.3.2. Teorema Toda gramtica lineal por la derecha tiene su equivalente por la izquierda. Demostracin Si la gramtica lineal por la derecha de partida tiene reglas del tipo A , con A distinto del axioma, ser necesario previamente obtener una gramtica equivalente sin este tipo de reglas, lo cual se explica
Profesor: Jose Ignacio Gmez Espnola Pg. 11

Teora de Autmatas y Lenguajes Formales

Tema 4. Expresiones regulares

en el tema dedicado a las Gramticas Independientes de Contexto. Las reglas de la gramtica debern tener la forma A aB o A a, donde A, BV y aT, o bien S , siendo S el axioma. Construimos la gramtica equivalente de la siguiente forma: 1. Aplicar el lema anterior. 2. Construir un grafo con tantos nodos como variables mas un nodo adicional etiquetado como . 3. Para cada regla de la forma A aB, dibujar una flecha de A hacia B etiquetada con el smbolo a. 4. Para cada regla de la forma A a, dibujar una flecha de A hacia etiquetada con el smbolo a. 5. Para la regla S , si existe, dibujar una flecha sin etiqueta de S a . 6. Intercambiar las etiquetas S y e invertir la direccin de las flechas. 7. Para cada flecha de A hacia B etiquetada con a aadir la regla A Ba. 8. Para cada flecha de A hacia etiquetada con a aadir la regla A a. 9. Si existe una flecha de S a aadir la regla S .
Ejemplo: Obtener una gramtica lineal a izquierdas equivalente a la gramtica G = ({S, B}, {0, 1}, {S1B|1, B0S}, S).

Profesor: Jose Ignacio Gmez Espnola

Pg. 12

Teora de Autmatas y Lenguajes Formales

Tema 4. Expresiones regulares

LEMA DE BOMBEO
Sea L un lenguaje regular, entonces n N t.q. z L, si |z| n, entonces u, v, w t.q. z=uvw verificando: 1. |v| 1 2. |uv| n 3. i 0, uv iw L Este lema sirve para probar que un determinado lenguaje no es regular. Se trata de una condicin necesaria para ser regular, pero no suficiente. Por tanto, para probar que un lenguaje es regular ser necesario encontrar una gramtica regular asociada.
Ejemplo: Demostrar si L = {0 i1 i | i 0} es o no regular. Ejemplo: Demostrar si L = {0 i1 j2k | i, j, k 0} es o no regular. Ejemplo: Demostrar si L = {0 i^2 | i 0} es o no regular.

Profesor: Jose Ignacio Gmez Espnola

Pg. 13

Вам также может понравиться