Este documento describe los lenguajes regulares y las expresiones regulares. Define formalmente los lenguajes regulares y explica que pueden describirse mediante expresiones regulares o autómatas finitos. Detalla las equivalencias entre expresiones regulares y cómo convertir entre expresiones regulares y autómatas finitos. Finalmente, introduce las gramáticas regulares como otra forma de describir lenguajes regulares.
T1. Introducción a la Teoría de Lenguajes Formales.pptx
Lenguajes Regulares, Expresiones Regulares y Gramáticas Regulares
1. Expresiones Regulares y
Gramáticas
Regulares
Bismark Montero 12-0627
Johanny Saul Novas 12-0537
2. Lenguajes Regulares
• Los lenguajes regulares se llaman así
porque sus palabras contienen
“regularidades” o repeticiones de los
mismos componentes, como por
ejemplo en el lenguaje L1 siguiente:
• L1 = {ab, abab, ababab, abababab, . . .}
• Σ∪ {“∧”, “+”, “•”, “∗”, “(”, “)”, “Φ”}
3. Definición formal de Lenguajes Regulares
• Un lenguaje L es regular si y sólo si se cumple al menos una de las condiciones
siguientes:
• L es finito;
• L es la unión o la concatenación de otros lenguajes regulares R1 y R2, L = R1 ∪ R2 o
• L = R1R2 respectivamente.
• L es la cerradura de Kleene de algún lenguaje regular, L = R∗.
4. Expresiones regulares
• La notación de conjuntos nos permite describir los lenguajes regulares, pero
nosotros quisiéramos una notación en que las representaciones de los
lenguajes fueran simplemente texto (cadenas de caracteres).
5. Significado
de las ER
• Las ER son simplemente
formulas cuyo propósito es
representar cada una de ellas
un lenguaje. Así, el
significado de una ER es
simplemente el lenguaje que
ella representa.
• Por ejemplo, la ER “Φ”
representa el conjunto vacío
{}.
6. Metodología de
diseño de las ER
• Al tratar de encontrar una ER para un lenguaje dado, mientras mas
complejo sea el lenguaje es obvio que resulta mas difícil encontrar por pura
intuición dicha ER.
7. Equivalencias de Expresiones Regulares
• Las expresiones regulares no representan
en forma única a un lenguaje -esto es, la
función L : ER →2 Σ∗.
8. Cont.…
• Esto quiere decir que puede haber varias ER para un mismo lenguaje, lo cual
desde luego no es conveniente, pues al ver dos ER distintas
• no podemos a un estar seguros de que representan dos lenguajes distintos.
Por ejemplo, las ER
• (a + b)∗ y (a∗b∗)∗
• representan el mismo lenguaje.
9. A continuación damos una lista de las principales
equivalencias de ER, clasificadas en 5
grupos:
• 1. R + S = S + R, (R + S) + T = R + (S + T), R + Φ = Φ + R = R, R + R = R
• 2. R • ∧ = ∧ • R = R, R • Φ = Φ • R = Φ, (R • S) • T = R • (S • T)
• 3. R • (S + T) = R • S + R • T, (S + T) • R = S • R + T • R
• 4. R∗ = R∗ • R∗ = (R∗)∗ = (∧ + R)∗, Φ∗ = ∧∗ = ε
• 5. R∗ = ∧ + RR∗
10. Equivalencia de expresiones regulares y
autómatas finitos
• Aun cuando por varios ejemplos hemos visto que lenguajes representados
por expresiones regulares son aceptados por autómatas finitos, no hemos
probado que para cualquier expresión regular exista un autómata finito
equivalente, y viceversa. Esto se establece en el siguiente:
• Teorema de Kleene.- Un lenguaje es regular si y solo si es aceptado por
algún autómata finito.
12. Conversion de ER a AF
• La prueba de que si un lenguaje es regular entonces es aceptado por un AF
consiste en dar un procedimiento para transformar en forma sistemática
una expresión regular en un autómata finito que acepte su lenguaje.
13. Conversión de AF a ER
• La prueba de la parte “si” del teorema consiste en dar un procedimiento
para transformar en forma sistemática un autómata finito en una expresión
regular equivalente. Un procedimiento para hacerlo consiste en ir
eliminando gradualmente nodos de una GT, que inicialmente es el AFN que
se quiere transformar, hasta que únicamente queden un nodo inicial y un
nodo final.
17. Gramáticas regulares
• Es una gramática formal (N, Σ, P, S) que puede ser clasificada como regular
izquierda o regular derecha. Las gramáticas regulares sólo pueden generar a
los lenguajes regulares de manera similar a los autómatas finitos y las
expresiones regulares.
18. Ejemplo.- Sea una gramática con las siguientes
reglas:
• 1. S → aA
• 2. S → bA
• 3. A → aB
• 4. A → bB
• 5. A → a
• 6. B → aA
• 7. B → bA