Expresiones Regulares y Derivadas Formales - … · Motivación e Ideas La Derivación Formalmente...
Transcript of Expresiones Regulares y Derivadas Formales - … · Motivación e Ideas La Derivación Formalmente...
![Page 1: Expresiones Regulares y Derivadas Formales - … · Motivación e Ideas La Derivación Formalmente El Método de las Derivaciones Expresiones Regulares y Derivadas Formales La Derivación](https://reader031.fdocuments.es/reader031/viewer/2022013107/5b87b70b7f8b9aaf728bfb56/html5/thumbnails/1.jpg)
Motivación e IdeasLa Derivación Formalmente
El Método de las Derivaciones
Expresiones Regulares y Derivadas FormalesLa Derivación como Operación.
Universidad de Cantabria
Expresiones Regulares
![Page 2: Expresiones Regulares y Derivadas Formales - … · Motivación e Ideas La Derivación Formalmente El Método de las Derivaciones Expresiones Regulares y Derivadas Formales La Derivación](https://reader031.fdocuments.es/reader031/viewer/2022013107/5b87b70b7f8b9aaf728bfb56/html5/thumbnails/2.jpg)
Motivación e IdeasLa Derivación Formalmente
El Método de las Derivaciones
Esquema
1 Motivación e Ideas
2 La Derivación Formalmente
3 El Método de las Derivaciones
Expresiones Regulares
![Page 3: Expresiones Regulares y Derivadas Formales - … · Motivación e Ideas La Derivación Formalmente El Método de las Derivaciones Expresiones Regulares y Derivadas Formales La Derivación](https://reader031.fdocuments.es/reader031/viewer/2022013107/5b87b70b7f8b9aaf728bfb56/html5/thumbnails/3.jpg)
Motivación e IdeasLa Derivación Formalmente
El Método de las Derivaciones
Motivación
Sabemos como son los conjuntos regulares y parece que hayalguna relación entre las gramáticas regulares y lasexpresiones regulares. ¿Como hallar una gramática a partir deuna expresión regular?
Expresiones Regulares
![Page 4: Expresiones Regulares y Derivadas Formales - … · Motivación e Ideas La Derivación Formalmente El Método de las Derivaciones Expresiones Regulares y Derivadas Formales La Derivación](https://reader031.fdocuments.es/reader031/viewer/2022013107/5b87b70b7f8b9aaf728bfb56/html5/thumbnails/4.jpg)
Motivación e IdeasLa Derivación Formalmente
El Método de las Derivaciones
Ideas
Sea la siguiente expresión a∗.
¿Qué lenguaje genera?
Expresiones Regulares
![Page 5: Expresiones Regulares y Derivadas Formales - … · Motivación e Ideas La Derivación Formalmente El Método de las Derivaciones Expresiones Regulares y Derivadas Formales La Derivación](https://reader031.fdocuments.es/reader031/viewer/2022013107/5b87b70b7f8b9aaf728bfb56/html5/thumbnails/5.jpg)
Motivación e IdeasLa Derivación Formalmente
El Método de las Derivaciones
Ideas
Tomemos la siguiente gramática regularG = ({S}, {a,b},S, { S 7→ aS | λ }).
¿Qué lenguaje genera?
Expresiones Regulares
![Page 6: Expresiones Regulares y Derivadas Formales - … · Motivación e Ideas La Derivación Formalmente El Método de las Derivaciones Expresiones Regulares y Derivadas Formales La Derivación](https://reader031.fdocuments.es/reader031/viewer/2022013107/5b87b70b7f8b9aaf728bfb56/html5/thumbnails/6.jpg)
Motivación e IdeasLa Derivación Formalmente
El Método de las Derivaciones
El Lenguaje de los Prefijos
Si nuestro lenguaje esta generado por ba∗, entonces unaposible gramática que genere el mismo lenguaje es:G = ({S,S′}, {a,b},S′, {S′ 7→ bS, S 7→ aS | λ })
Expresiones Regulares
![Page 7: Expresiones Regulares y Derivadas Formales - … · Motivación e Ideas La Derivación Formalmente El Método de las Derivaciones Expresiones Regulares y Derivadas Formales La Derivación](https://reader031.fdocuments.es/reader031/viewer/2022013107/5b87b70b7f8b9aaf728bfb56/html5/thumbnails/7.jpg)
Motivación e IdeasLa Derivación Formalmente
El Método de las Derivaciones
El Lenguaje de los Prefijos
El lenguaje L(a∗) se relaciona con L(ba∗) porque todas laspalabras de L(a∗) pertenecen a L(ba∗) si se les añade el prefijob.
Expresiones Regulares
![Page 8: Expresiones Regulares y Derivadas Formales - … · Motivación e Ideas La Derivación Formalmente El Método de las Derivaciones Expresiones Regulares y Derivadas Formales La Derivación](https://reader031.fdocuments.es/reader031/viewer/2022013107/5b87b70b7f8b9aaf728bfb56/html5/thumbnails/8.jpg)
Motivación e IdeasLa Derivación Formalmente
El Método de las Derivaciones
Idea
Buscar estos “lenguajes de prefijos” y tratar de hallar unagramática a partir de ellos.
Expresiones Regulares
![Page 9: Expresiones Regulares y Derivadas Formales - … · Motivación e Ideas La Derivación Formalmente El Método de las Derivaciones Expresiones Regulares y Derivadas Formales La Derivación](https://reader031.fdocuments.es/reader031/viewer/2022013107/5b87b70b7f8b9aaf728bfb56/html5/thumbnails/9.jpg)
Motivación e IdeasLa Derivación Formalmente
El Método de las Derivaciones
Pregunta
¿Como hallar para un lenguaje generado por una expresiónregular las palabras que están en ese mismo lenguaje
añadiéndole un prefijo?
Expresiones Regulares
![Page 10: Expresiones Regulares y Derivadas Formales - … · Motivación e Ideas La Derivación Formalmente El Método de las Derivaciones Expresiones Regulares y Derivadas Formales La Derivación](https://reader031.fdocuments.es/reader031/viewer/2022013107/5b87b70b7f8b9aaf728bfb56/html5/thumbnails/10.jpg)
Motivación e IdeasLa Derivación Formalmente
El Método de las Derivaciones
Derivación Formal
DefiniciónSea Σ un alfabeto finito, a ∈ Σ un símbolo del alfabeto, y α unaexpresión regular sobre el alfabeto Σ. Llamaremos derivada deα con respecto al símbolo α a la expresión regular Da(α) con lasiguiente propiedad:
L(Da(α)) = {ω ∈ Σ∗ : aω ∈ L(α)}.
Expresiones Regulares
![Page 11: Expresiones Regulares y Derivadas Formales - … · Motivación e Ideas La Derivación Formalmente El Método de las Derivaciones Expresiones Regulares y Derivadas Formales La Derivación](https://reader031.fdocuments.es/reader031/viewer/2022013107/5b87b70b7f8b9aaf728bfb56/html5/thumbnails/11.jpg)
Motivación e IdeasLa Derivación Formalmente
El Método de las Derivaciones
Notación
Por la relación con las derivadas formales, utilizaremos lasiguiente notación
Da(α) =∂α
∂a.
Expresiones Regulares
![Page 12: Expresiones Regulares y Derivadas Formales - … · Motivación e Ideas La Derivación Formalmente El Método de las Derivaciones Expresiones Regulares y Derivadas Formales La Derivación](https://reader031.fdocuments.es/reader031/viewer/2022013107/5b87b70b7f8b9aaf728bfb56/html5/thumbnails/12.jpg)
Motivación e IdeasLa Derivación Formalmente
El Método de las Derivaciones
La Derivación
Calculemos varias derivaciones de expresiones regularessencillas:
∂∅∂a
= ∅, ∂λ
∂a= ∅, ∂b
∂a= ∅, ∀b ∈ Σ, b 6= a.
∂a∂a
= λ.
Expresiones Regulares
![Page 13: Expresiones Regulares y Derivadas Formales - … · Motivación e Ideas La Derivación Formalmente El Método de las Derivaciones Expresiones Regulares y Derivadas Formales La Derivación](https://reader031.fdocuments.es/reader031/viewer/2022013107/5b87b70b7f8b9aaf728bfb56/html5/thumbnails/13.jpg)
Motivación e IdeasLa Derivación Formalmente
El Método de las Derivaciones
Expresiones Regulares Complejas
Si α y β son dos expresiones regulares sobre Σ:
∂(α + β)
∂a=∂α
∂a+∂β
∂a.
Expresiones Regulares
![Page 14: Expresiones Regulares y Derivadas Formales - … · Motivación e Ideas La Derivación Formalmente El Método de las Derivaciones Expresiones Regulares y Derivadas Formales La Derivación](https://reader031.fdocuments.es/reader031/viewer/2022013107/5b87b70b7f8b9aaf728bfb56/html5/thumbnails/14.jpg)
Motivación e IdeasLa Derivación Formalmente
El Método de las Derivaciones
Expresiones Regulares Complejas
∂(α)∗
∂a=∂(α)
∂a· α∗.
Expresiones Regulares
![Page 15: Expresiones Regulares y Derivadas Formales - … · Motivación e Ideas La Derivación Formalmente El Método de las Derivaciones Expresiones Regulares y Derivadas Formales La Derivación](https://reader031.fdocuments.es/reader031/viewer/2022013107/5b87b70b7f8b9aaf728bfb56/html5/thumbnails/15.jpg)
Motivación e IdeasLa Derivación Formalmente
El Método de las Derivaciones
Expresiones Regulares Complejas
Ahora un poco para la concatenación de expresionesregulares:
∂(α · β)
∂a=∂α
∂a· β.
Pues no es cierto.
Expresiones Regulares
![Page 16: Expresiones Regulares y Derivadas Formales - … · Motivación e Ideas La Derivación Formalmente El Método de las Derivaciones Expresiones Regulares y Derivadas Formales La Derivación](https://reader031.fdocuments.es/reader031/viewer/2022013107/5b87b70b7f8b9aaf728bfb56/html5/thumbnails/16.jpg)
Motivación e IdeasLa Derivación Formalmente
El Método de las Derivaciones
Expresiones Regulares Complejas
Ahora un poco para la concatenación de expresionesregulares:
∂(α · β)
∂a=∂α
∂a· β.
Pues no es cierto.
Expresiones Regulares
![Page 17: Expresiones Regulares y Derivadas Formales - … · Motivación e Ideas La Derivación Formalmente El Método de las Derivaciones Expresiones Regulares y Derivadas Formales La Derivación](https://reader031.fdocuments.es/reader031/viewer/2022013107/5b87b70b7f8b9aaf728bfb56/html5/thumbnails/17.jpg)
Motivación e IdeasLa Derivación Formalmente
El Método de las Derivaciones
Expresiones Regulares Complejas
∂(α · β)
∂a=∂α
∂a· β + t(α)
∂β
∂a,
donde t(α) es la función dada por la identidad siguiente:
t(α) :=
{λ si λ ∈ L(α),∅ en caso contrario.
}
Expresiones Regulares
![Page 18: Expresiones Regulares y Derivadas Formales - … · Motivación e Ideas La Derivación Formalmente El Método de las Derivaciones Expresiones Regulares y Derivadas Formales La Derivación](https://reader031.fdocuments.es/reader031/viewer/2022013107/5b87b70b7f8b9aaf728bfb56/html5/thumbnails/18.jpg)
Motivación e IdeasLa Derivación Formalmente
El Método de las Derivaciones
Ejemplo
Veamos la derivación de la expresión regular a∗:
∂(a)∗
∂a=∂(a)
∂a(a)∗ = a∗.
Expresiones Regulares
![Page 19: Expresiones Regulares y Derivadas Formales - … · Motivación e Ideas La Derivación Formalmente El Método de las Derivaciones Expresiones Regulares y Derivadas Formales La Derivación](https://reader031.fdocuments.es/reader031/viewer/2022013107/5b87b70b7f8b9aaf728bfb56/html5/thumbnails/19.jpg)
Motivación e IdeasLa Derivación Formalmente
El Método de las Derivaciones
Ejemplo
Las derivaciones de la expresión regular (aa + bb)∗:
∂(aa + bb)∗
∂a=∂(aa + bb)
∂a(aa + bb)∗ = a(aa + bb)∗.
Expresiones Regulares
![Page 20: Expresiones Regulares y Derivadas Formales - … · Motivación e Ideas La Derivación Formalmente El Método de las Derivaciones Expresiones Regulares y Derivadas Formales La Derivación](https://reader031.fdocuments.es/reader031/viewer/2022013107/5b87b70b7f8b9aaf728bfb56/html5/thumbnails/20.jpg)
Motivación e IdeasLa Derivación Formalmente
El Método de las Derivaciones
No Funciona el Camino Fácil
Las derivadas no vuelven las expresiones regulares mássencillas. Pero si que dan información sobre el lenguajegenerado.
L(a∗) = aL(a∗) ∪ λ.
Y esto se traduce a una gramática.
Expresiones Regulares
![Page 21: Expresiones Regulares y Derivadas Formales - … · Motivación e Ideas La Derivación Formalmente El Método de las Derivaciones Expresiones Regulares y Derivadas Formales La Derivación](https://reader031.fdocuments.es/reader031/viewer/2022013107/5b87b70b7f8b9aaf728bfb56/html5/thumbnails/21.jpg)
Motivación e IdeasLa Derivación Formalmente
El Método de las Derivaciones
Regla de Leibnitz
Teorema (Regla de Leibnitz para Expresiones Regulares)
Dada una expresión regular α sobre un alfabeto finito Σ,supongamos que Σ = {a1, . . . ,an}. Entonces,
α ≡ a1Da1(α) + · · ·+ anDan (α) + t(α),
donde t(α) es la función definida anteriormente.
Expresiones Regulares
![Page 22: Expresiones Regulares y Derivadas Formales - … · Motivación e Ideas La Derivación Formalmente El Método de las Derivaciones Expresiones Regulares y Derivadas Formales La Derivación](https://reader031.fdocuments.es/reader031/viewer/2022013107/5b87b70b7f8b9aaf728bfb56/html5/thumbnails/22.jpg)
Motivación e IdeasLa Derivación Formalmente
El Método de las Derivaciones
Aplicación
Asignemos a cada expresión una variable, y cada expresiónregular y a partir de la Regla de Leibnitz hallemos la gramática:
L(a∗) = aL(a∗) ∪ {λ.}
Expresiones Regulares
![Page 23: Expresiones Regulares y Derivadas Formales - … · Motivación e Ideas La Derivación Formalmente El Método de las Derivaciones Expresiones Regulares y Derivadas Formales La Derivación](https://reader031.fdocuments.es/reader031/viewer/2022013107/5b87b70b7f8b9aaf728bfb56/html5/thumbnails/23.jpg)
Motivación e IdeasLa Derivación Formalmente
El Método de las Derivaciones
Aplicación
Demos a cada expresión una variable, y cada expresiónregular y a partir de la Regla de Leibnitz hallemos la gramática:
S 7→ aS | λ.
Expresiones Regulares
![Page 24: Expresiones Regulares y Derivadas Formales - … · Motivación e Ideas La Derivación Formalmente El Método de las Derivaciones Expresiones Regulares y Derivadas Formales La Derivación](https://reader031.fdocuments.es/reader031/viewer/2022013107/5b87b70b7f8b9aaf728bfb56/html5/thumbnails/24.jpg)
Motivación e IdeasLa Derivación Formalmente
El Método de las Derivaciones
Aplicación
El mismo resultado se aplica para (a + b)a∗, (a + b)∗. Pero,¿que ocurre cuando las derivaciones son expresionesregulares igual de complejas?
¿Como aplicar lo mismo para una expresión más compleja?
Expresiones Regulares