Lenguajes Formales y Teoría de            Rina FamiliaAutómatas      Johanna Dotel 12-0617      Paola Novas 12-0534
Expresiones Regulares y            Gramáticas             Regulares.
Lenguajes Regulares   Los lenguajes regulares se llaman así porque sus palabras    contienen “regularidades” o repeticion...
Otros ejemplos…    L2 = {abc, cc, abab, abccc, ababc, . . .} sus palabras comienzan con repeticiones de “ab”, seguidas de...
   los lenguajes finitos son también regulares por definición.    L3 = {anita, lava, la, tina} es regular.    al combinar ...
o   Podemos identificar que un lenguaje es regular si cumple    con las siguientes condiciones   L es finito;   L es la u...
Expresiones Regulares   Sea Σ un alfabeto. El conjunto ER de las expresiones regulares sobre    Σ contiene las cadenas en...
ER   Las ER son simplemente formulas cuyo propósito es representar cada    una de ellas un lenguaje. Así, el significado d...
   Una palabra “empata” con una expresión regular si es    parte del lenguaje que esta representa.         La palabra vac...
Metodología de diseño de lasER         Al tratar de encontrar una ER para un          lenguaje dado, mientras mas complej...
   Ejemplo.- Obtener una ER para el lenguaje en el alfabeto {a, b, c}    en que las palabras contienen exactamente una ve...
El lenguaje de < contexto1 > comprende a las palabras que notienen bb y además no terminan en b. Esto es equivalente adeci...
Similarmente se puede obtener la expresión para <contexto2 >, que es (a + c + (a + c)b)∗, por lo quefinalmente la ER del pr...
Un importante elemento de metodología -que se aplico eneste ejemplo- consiste en transformar los enunciados delenguajes de...
También puede ser ´útil modificar la forma lógica enque se enuncian los lenguajes. Por ejemplo, elenunciado “palabras que s...
Solución: Transformando lógicamente el enunciado, representamos lacondición “contiene la subcadena aa” por el símbolo Caa,...
Equivalencias de Expresiones  RegularesLas expresiones regulares no representan en formaúnica a un lenguaje -esto es, la f...
Sin embargo, en algunos casos resulta util aplicarecuaciones de equivalencia entre las ER, que sonexpresiones de la forma ...
Por ejemplo, la equivalencia R + S = S+ R quiere decir que la suma deexpresiones regulares es conmutativa,por lo que si te...
A continuación damos una lista de las principales equivalenciasde ER, clasificadas en 9 grupos:1. R + S = S + R, (R + S) + ...
Las equivalencias de estos 9 grupos pueden usarsepara verificar que dos ER denotan el mismolenguaje. La técnica a usar para...
Ejemplo: Verificar que las ER (ab + a) ∗a y a(ba + a)∗ sonequivalentes, usando las equivalencias presentadas arriba.Solució...
Gracias.
Upcoming SlideShare
Loading in...5
×

Expresiones Regulares y Gramáticas

307

Published on

Lenguajes Formales y Teoría de Automatas

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
307
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
16
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Expresiones Regulares y Gramáticas

  1. 1. Lenguajes Formales y Teoría de Rina FamiliaAutómatas Johanna Dotel 12-0617 Paola Novas 12-0534
  2. 2. Expresiones Regulares y Gramáticas Regulares.
  3. 3. 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 siguiente: L1 = {ab, abab, ababab, abababab, . . .}son simplemente repeticiones de “ab” cualquier numero deveces.
  4. 4. Otros ejemplos…  L2 = {abc, cc, abab, abccc, ababc, . . .} sus palabras comienzan con repeticiones de “ab”, seguidas de repeticiones de “c”. definir lenguajes basados en la idea de repetir esquemas simples. Esta es la idea básica para formar los lenguajes Regulares.
  5. 5.  los lenguajes finitos son también regulares por definición. L3 = {anita, lava, la, tina} es regular. al combinar lenguajes regulares uniéndolos o concatenándolos, también se obtiene un lenguaje regular. L1 ∪ L3 = {anita, lava, la, tina, ab, abab, ababab,abababab, . . .} es regular. También es regular una concatenacion como : L3L3 = {anitaanita,anitalava, anitala, anitatina, lavaanita, lavalava, lavala, lavatina, . . .}1
  6. 6. o Podemos identificar que un lenguaje es regular si cumple con las siguientes condiciones 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∗ lenguaje que contiene todas las cadenas que son posibles de formar sobre
  7. 7. Expresiones Regulares Sea Σ un alfabeto. El conjunto ER de las expresiones regulares sobre Σ contiene las cadenas en el alfabeto Σ∪ {“∧”, “+”, “•”, “∗”, “(”, “)”, “Φ”} que cumplen con lo siguiente: “∧” y “Φ” ∈ ER Si σ ∈ Σ, entonces σ ∈ ER. Si E1, E2 ∈ ER, entonces “(”E1“+”E2“)” ∈ ER, “(”E1“•”E2“)” ∈ ER, “(”E1“)∗” ∈ ER. Las comillas “ ” enfatizan el hecho de que estamos definiendo cadenas de texto, no expresiones matemáticas.
  8. 8. 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 {}.Ejemplos.- Son ER en {a, b, c} las siguientes: “a”, “((a+b))∗”, “((a•b)•c)”. No son ER: “ab”, “((a • b(c)∗)”.
  9. 9.  Una palabra “empata” con una expresión regular si es parte del lenguaje que esta representa. La palabra vacía ε “empata” con la ER ∧Una palabra de una letra como “a” empata con una ERconsistente en la misma letra “a”, “b” empata “b”, etc.
  10. 10. Metodología de diseño de lasER  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. En estos casos puede ser conveniente trabajar en forma metódica.
  11. 11.  Ejemplo.- Obtener una ER para el lenguaje en el alfabeto {a, b, c} en que las palabras contienen exactamente una vez dos b contiguas. Por ejemplo, las palabras aabb, babba, pertenecen al lenguaje, pero no aaba, abbba ni bbabb. Para resolver este problema, expresamos primero la estructura de la ER de la manera siguiente: < contexto1 > bb < contexto2 >Podemos ver que en esta expresión aparecen directamente las bb quedeben estar en la ER, rodeadas por otras dos ER, que son < contexto1 > y< contexto2 >.
  12. 12. El lenguaje de < contexto1 > comprende a las palabras que notienen bb y además no terminan en b. Esto es equivalente adecir que toda b esta seguida de una a o una c. Estoquiere decir que la ER de este contexto va ser de la forma: (. . . b(a + c). . .)∗donde los detalles que faltan están representados por las “. ..”. Lo que falta por considerar es que puede haber cualquiercantidad de a’s o c’s en el < contexto1 >, por lo que dichocontexto queda como: (b(a + c) + a + c)∗
  13. 13. Similarmente se puede obtener la expresión para <contexto2 >, que es (a + c + (a + c)b)∗, por lo quefinalmente la ER del problema es:(b(a + c) + a + c)∗bb(a + c + (a + c)b)∗
  14. 14. Un importante elemento de metodología -que se aplico eneste ejemplo- consiste en transformar los enunciados delenguajes de manera que sean más fácilmenterepresentables porER.
  15. 15. También puede ser ´útil modificar la forma lógica enque se enuncian los lenguajes. Por ejemplo, elenunciado “palabras que si empiezan en 00, terminanen 11”, puede modificarse de la manera siguiente:“palabras que ya sea no empiezan en 00 o bienterminan en 11”, utilizando la conocida equivalenciade lógica P ⇒ Q ≡ ¬P ∨ Q.Ejemplo.- Obtener una ER que represente el lenguajeen {a, b} tal que si una palabra contiene la subcadenaaa, entonces no debe contener bb.
  16. 16. Solución: Transformando lógicamente el enunciado, representamos lacondición “contiene la subcadena aa” por el símbolo Caa, y lacondición “no contiene bb” por ¬Cbb. Entonces la condición delproblema es: Caa ⇒ ¬Cbb
  17. 17. Equivalencias de Expresiones RegularesLas expresiones regulares no representan en formaúnica a un lenguaje -esto es, la función L : ER →2 Σ∗descrita arriba no es inyectiva. Esto quiere decirque puede haber varias ER para un mismo lenguaje,lo cual desde luego no es conveniente, pues al verdos ER distintas no podemos aun estar seguros deque representan dos lenguajes distintos.Por ejemplo, las ER (a + b)∗ y (a∗b∗)∗ representan elmismo lenguaje.
  18. 18. Sin embargo, en algunos casos resulta util aplicarecuaciones de equivalencia entre las ER, que sonexpresiones de la forma ER1 = ER2, cuyosignificado es que el lenguaje de ER1 es el mismoque el de ER2 (contienen las mismas palabras).
  19. 19. Por ejemplo, la equivalencia R + S = S+ R quiere decir que la suma deexpresiones regulares es conmutativa,por lo que si tenemos dos ERespecificas, como a ∗ y b ∗ab,entonces la ER a ∗+b∗ab seráequivalente a la ER b∗ab+a∗, y ambasrepresentaran las mismas palabras.
  20. 20. A continuación damos una lista de las principales equivalenciasde ER, clasificadas en 9 grupos:1. R + S = S + R, (R + S) + T = R + (S + T), R + Φ = Φ + R = R, R + R = R2. 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 • R4. R∗ = R∗ • R∗ = (R∗)∗ = (∧ + R)∗, Φ∗ = ∧∗ = ε5. R∗ = ∧ + RR∗6. (R + S)∗ = (R∗ + S∗)∗ = (R∗S∗)∗ = (R∗S)∗R∗ = R∗(SR∗)∗ 6= R∗ + S∗7. R∗R = RR∗, R(SR)∗ = (RS)∗R8. (R∗S)∗ = ∧ + (R + S)∗S, (RS∗)∗ = ∧ + R(R + S)∗9. R = SR + T ssi R = S∗T, R = RS + T ssi R = T S∗
  21. 21. Las equivalencias de estos 9 grupos pueden usarsepara verificar que dos ER denotan el mismolenguaje. La técnica a usar para verificar que P =Q, donde P, Q ∈ ER, es formar una serie deequivalencias P = R1 = R2 = . . . = Rn = Q, usandolas equivalencias dadas arriba para hacerreemplazamientos.
  22. 22. Ejemplo: Verificar que las ER (ab + a) ∗a y a(ba + a)∗ sonequivalentes, usando las equivalencias presentadas arriba.Solución:(ab + a)∗a = (a + ab)∗a -por (1);= (a∗ab)∗a∗a -por (6);=([a∗a]b)∗[a∗a] -agrupamos terminos;
  23. 23. Gracias.
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×