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 como Operación.

6 downloads 204 Views 147KB Size

Recommend Stories


Manejo de cadenas y expresiones regulares
Manejo de cadenas y expresiones regulares 27 d’octubre de 2007 1 Introduction Los datos tipo caracter son muy importantes en algunos campos como la Bioinform´ atica en donde se realizan a menudo acciones como localizar motivos (“subsecuencias fija

Asignatura: Entornos de programación Expresiones regulares Herramientas Grep y AWK
Herramientas Grep y AWK Asignatura: Entornos de programación Expresiones regulares Herramientas Grep y AWK En este tema se introducen las expresiones regulares y un par de utilidades que las usan de manera intensiva: 'grep' y 'awk'. Estas utilidade

Derivadas Parciales y Derivadas Direccionales
Tema 3 Derivadas Parciales y Derivadas Direccionales En este tema y en el siguiente presentaremos los conceptos fundamentales del C´alculo Diferencia

Story Transcript

Motivación e Ideas La Derivación Formalmente El Método de las Derivaciones

Expresiones Regulares y Derivadas Formales La Derivación como Operación.

Universidad de Cantabria

Expresiones Regulares

Motivación e Ideas La 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

Motivación e Ideas La Derivación Formalmente El Método de las Derivaciones

Motivación

Sabemos como son los conjuntos regulares y parece que hay alguna relación entre las gramáticas regulares y las expresiones regulares. ¿Como hallar una gramática a partir de una expresión regular?

Expresiones Regulares

Motivación e Ideas La Derivación Formalmente El Método de las Derivaciones

Ideas

Sea la siguiente expresión a∗ . ¿Qué lenguaje genera?

Expresiones Regulares

Motivación e Ideas La Derivación Formalmente El Método de las Derivaciones

Ideas

Tomemos la siguiente gramática regular G = ({S}, {a, b}, S, { S 7→ aS | λ }). ¿Qué lenguaje genera?

Expresiones Regulares

Motivación e Ideas La Derivación Formalmente El Método de las Derivaciones

El Lenguaje de los Prefijos

Si nuestro lenguaje esta generado por ba∗ , entonces una posible gramática que genere el mismo lenguaje es: G = ({S, S 0 }, {a, b}, S 0 , {S 0 7→ bS, S 7→ aS | λ })

Expresiones Regulares

Motivación e Ideas La 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 las palabras de L(a∗ ) pertenecen a L(ba∗ ) si se les añade el prefijo b.

Expresiones Regulares

Motivación e Ideas La Derivación Formalmente El Método de las Derivaciones

Idea

Buscar estos “lenguajes de prefijos” y tratar de hallar una gramática a partir de ellos.

Expresiones Regulares

Motivación e Ideas La Derivación Formalmente El Método de las Derivaciones

Pregunta

¿Como hallar para un lenguaje generado por una expresión regular las palabras que están en ese mismo lenguaje añadiéndole un prefijo?

Expresiones Regulares

Motivación e Ideas La Derivación Formalmente El Método de las Derivaciones

Derivación Formal

Definición Sea Σ un alfabeto finito, a ∈ Σ un símbolo del alfabeto, y α una expresión regular sobre el alfabeto Σ. Llamaremos derivada de α con respecto al símbolo α a la expresión regular Da (α) con la siguiente propiedad: L(Da (α)) = {ω ∈ Σ∗ : aω ∈ L(α)}.

Expresiones Regulares

Motivación e Ideas La Derivación Formalmente El Método de las Derivaciones

Notación

Por la relación con las derivadas formales, utilizaremos la siguiente notación ∂α Da (α) = . ∂a

Expresiones Regulares

Motivación e Ideas La Derivación Formalmente El Método de las Derivaciones

La Derivación

Calculemos varias derivaciones de expresiones regulares sencillas: ∂∅ = ∅, ∂a

∂λ = ∅, ∂a

∂b = ∅, ∀b ∈ Σ, b 6= a. ∂a ∂a = λ. ∂a

Expresiones Regulares

Motivación e Ideas La Derivación Formalmente El Método de las Derivaciones

Expresiones Regulares Complejas

Si α y β son dos expresiones regulares sobre Σ: ∂(α + β) ∂α ∂β = + . ∂a ∂a ∂a

Expresiones Regulares

Motivación e Ideas La Derivación Formalmente El Método de las Derivaciones

Expresiones Regulares Complejas

∂(α)∗ ∂(α) ∗ = ·α . ∂a ∂a

Expresiones Regulares

Motivación e Ideas La Derivación Formalmente El Método de las Derivaciones

Expresiones Regulares Complejas

Ahora un poco para la concatenación de expresiones regulares: ∂(α · β) ∂α = · β. ∂a ∂a Pues no es cierto.

Expresiones Regulares

Motivación e Ideas La Derivación Formalmente El Método de las Derivaciones

Expresiones Regulares Complejas

Ahora un poco para la concatenación de expresiones regulares: ∂(α · β) ∂α = · β. ∂a ∂a Pues no es cierto.

Expresiones Regulares

Motivación e Ideas La Derivación Formalmente El Método de las Derivaciones

Expresiones Regulares Complejas

∂(α · β) ∂α ∂β = · β + t(α) , ∂a ∂a ∂a donde t(α) es la función dada por la identidad siguiente:   λ si λ ∈ L(α), t(α) := ∅ en caso contrario.

Expresiones Regulares

Motivación e Ideas La 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

Motivación e Ideas La Derivación Formalmente El Método de las Derivaciones

Ejemplo

Las derivaciones de la expresión regular (aa + bb)∗ : ∂(aa + bb)∗ ∂(aa + bb) = (aa + bb)∗ = a(aa + bb)∗ . ∂a ∂a

Expresiones Regulares

Motivación e Ideas La Derivación Formalmente El Método de las Derivaciones

No Funciona el Camino Fácil

Las derivadas no vuelven las expresiones regulares más sencillas. Pero si que dan información sobre el lenguaje generado. L(a∗ ) = aL(a∗ ) ∪ λ. Y esto se traduce a una gramática.

Expresiones Regulares

Motivación e Ideas La 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, α ≡ a1 Da1 (α) + · · · + an Dan (α) + t(α), donde t(α) es la función definida anteriormente.

Expresiones Regulares

Motivación e Ideas La Derivación Formalmente El Método de las Derivaciones

Aplicación

Asignemos a cada expresión una variable, y cada expresión regular y a partir de la Regla de Leibnitz hallemos la gramática: L(a∗ ) = aL(a∗ ) ∪ {λ.}

Expresiones Regulares

Motivación e Ideas La Derivación Formalmente El Método de las Derivaciones

Aplicación

Demos a cada expresión una variable, y cada expresión regular y a partir de la Regla de Leibnitz hallemos la gramática: S 7→ aS | λ.

Expresiones Regulares

Motivación e Ideas La 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 expresiones regulares igual de complejas? ¿Como aplicar lo mismo para una expresión más compleja?

Expresiones Regulares

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.