3-2_Simbolos_Utiles

20
Introducción Definiciones Símbolos Infecundos Eliminación de Símbolos Inaccesibles La Representación de las Gramáticas El Generador del Lenguaje Universidad de Cantabria Gramáticas Incontextuales

description

Universidad de Cantabria - CURSO de TEORIA DE AUTOMATAS

Transcript of 3-2_Simbolos_Utiles

  • IntroduccinDefiniciones

    Smbolos InfecundosEliminacin de Smbolos Inaccesibles

    La Representacin de las GramticasEl Generador del Lenguaje

    Universidad de Cantabria

    Gramticas Incontextuales

  • IntroduccinDefiniciones

    Smbolos InfecundosEliminacin de Smbolos Inaccesibles

    Esquema

    1 Introduccin

    2 Definiciones

    3 Smbolos Infecundos

    4 Eliminacin de Smbolos Inaccesibles

    Gramticas Incontextuales

  • IntroduccinDefiniciones

    Smbolos InfecundosEliminacin de Smbolos Inaccesibles

    Introduccin

    Las gramticas libres de contexto son ms generales que lasgramticas regulares. Empecemos poniendo un ejemplo de lossiguientes problemas que pueden surgir:

    Puede estar sobre-definida, en el sentido de que hayainformacin intil.Dada una palabra, es difcil decidir como ha sido generadapor la gramtica.

    Gramticas Incontextuales

  • IntroduccinDefiniciones

    Smbolos InfecundosEliminacin de Smbolos Inaccesibles

    Introduccin

    Consideremos la gramtica G := ({Q0,A,B}, {a,b},Q0,P),donde las producciones de P son dadas por:

    P := {Q0 7 a | A,A 7 AB,B 7 b}.

    Qu utilidad tiene el smbolo A?

    Gramticas Incontextuales

  • IntroduccinDefiniciones

    Smbolos InfecundosEliminacin de Smbolos Inaccesibles

    Introduccin

    Consideremos la gramtica G := ({Q0,A,B}, {a,b},Q0,P),donde las producciones de P son dadas por:

    P := {Q0 7 a|aQ0,A 7 BB | Q0,B 7 b}.

    Qu utilidad tiene el smbolo A?

    Gramticas Incontextuales

  • IntroduccinDefiniciones

    Smbolos InfecundosEliminacin de Smbolos Inaccesibles

    Definicin de Smbolo til

    Definicin (Smbolos tiles)

    Sea G := (V ,,Q0,P) una gramtica libre de contexto.Llamamos smbolos tiles dec G a todos los smbolos(terminales o no) X V tales que existen , (V ) y de tal modo que:

    Q0 `G X, y X `G .

    Los smbolos intiles son los que no son tiles.

    Gramticas Incontextuales

  • IntroduccinDefiniciones

    Smbolos InfecundosEliminacin de Smbolos Inaccesibles

    Una Pequea Nota

    Encontrar los smbolos intiles es difcil a primera vista.Dividamos nuestro problema definiendo dos subclases desmbolo intil.

    Gramticas Incontextuales

  • IntroduccinDefiniciones

    Smbolos InfecundosEliminacin de Smbolos Inaccesibles

    Definicin

    DefinicinSea G := (V ,,Q0,P) una gramtica libre de contexto.

    Llamamos smbolos productivos (o fecundos) de G a todoslos smbolos no terminales X V tales que existe tal que X `G . Son improductivos (o infecundos) a losque no satisfacen esta propiedad.Llamamos smbolos accesibles de G a todos los smbolos(terminales o no) X V tales que existen, (V ) de tal modo que:

    Q0 `G X.

    Se llaman inaccesibles a los que no son accesibles.

    Gramticas Incontextuales

  • IntroduccinDefiniciones

    Smbolos InfecundosEliminacin de Smbolos Inaccesibles

    Unas Aclaraciones

    Ntese que si X es un smbolo til, se han de producir dospropiedades. De una parte, la propiedad Q0 `G X que nosdice que X es accesible. De otra parte, sabemos queX `G . Y por tanto, ha de existir tal que X `G .

    Gramticas Incontextuales

  • IntroduccinDefiniciones

    Smbolos InfecundosEliminacin de Smbolos Inaccesibles

    Proposicin

    TeoremaSi G := (V ,,Q0,P) es una gramtica libre de contexto,entonces los smbolos tiles son productivos y accesibles. Elrecproco no es cierto, en general.

    Gramticas Incontextuales

  • IntroduccinDefiniciones

    Smbolos InfecundosEliminacin de Smbolos Inaccesibles

    Unas Aclaraciones

    Lo que nos dice el teorema es que no podemos simplementeeliminar los smbolos que no sean productivos y los que nosean accesibles. Pero no mucho ms.

    Gramticas Incontextuales

  • IntroduccinDefiniciones

    Smbolos InfecundosEliminacin de Smbolos Inaccesibles

    Otro Resultado

    TeoremaSi G := (V ,,Q0,P) es una gramtica libre de contexto, y librede smbolos infecundos, entonces todo smbolo es til si ysolamente si es accesible.

    Gramticas Incontextuales

  • IntroduccinDefiniciones

    Smbolos InfecundosEliminacin de Smbolos Inaccesibles

    Algoritmo de Smbolos Infecundos

    Toda gramtica libre de contexto es equivalente a unagramtica libre de contexto sin smbolos infecundos. Adems,dicha equivalencia puede hacerse de manera algortmica.

    Gramticas Incontextuales

  • IntroduccinDefiniciones

    Smbolos InfecundosEliminacin de Smbolos Inaccesibles

    Algoritmo de Smbolos Infecundos

    La prueba del resultado es consecuencia directa del algoritmo.No responderemos a preguntas tan esenciales como lamemoria necesaria o el nmero de operaciones, aunque sonalgoritmos polinomiales.

    Gramticas Incontextuales

  • IntroduccinDefiniciones

    Smbolos InfecundosEliminacin de Smbolos Inaccesibles

    Algoritmo de Smbolos Infecundos

    Entrada: Una gramtica libre de contexto G = (V ,,Q0,P).M := N := {A V : (A 7 ) P, }

    mientras N 6= M hacerM := NN := {A V : (A 7 ) P, (N )} N.

    mientras finSalida G := (V N,,Q0, P), donde P son las

    producciones de P que involucran solamente smbolos en(V N) {}

    Gramticas Incontextuales

  • IntroduccinDefiniciones

    Smbolos InfecundosEliminacin de Smbolos Inaccesibles

    Notas

    Esta claro que este algoritmo funciona, y que acaba despusde un nmero de pasos finito, pero es fundamental notar laidea.Podramos habernos preguntado tambin lo siguiente:Se podra haber resuelto este problema con un autmatafinito?

    Gramticas Incontextuales

  • IntroduccinDefiniciones

    Smbolos InfecundosEliminacin de Smbolos Inaccesibles

    Notas

    Esta claro que este algoritmo funciona, y que acaba despusde un nmero de pasos finito, pero es fundamental notar laidea.Podramos habernos preguntado tambin lo siguiente:Se podra haber resuelto este problema con un autmatafinito?

    Gramticas Incontextuales

  • IntroduccinDefiniciones

    Smbolos InfecundosEliminacin de Smbolos Inaccesibles

    Eliminacin de Smbolos Inaccesibles

    Como ocurre con los smbolos no productivos, toda gramticalibre de contexto es equivalente a una gramtica libre decontexto sin smbolos inaccesibles. Adems, dichaequivalencia puede hacerse de manera algortmica.

    Gramticas Incontextuales

  • IntroduccinDefiniciones

    Smbolos InfecundosEliminacin de Smbolos Inaccesibles

    Eliminacin de Smbolos Inaccesibles

    Entrada: Una gramtica libre de contexto G = (V ,,Q0,P).M := {Q0}N := {X V : A M, , (V ) , con A 7X en P}.

    mientras N 6= M hacerM := NN := {X V : A M,

    , (V ) , con A 7 X en P}.mientras fin

    Salida: La gramtica G = (V , ,Q0, P), conV := N V , := N ,P :={Las producciones de P que slo contienen los elementos de V }.

    Gramticas Incontextuales

  • IntroduccinDefiniciones

    Smbolos InfecundosEliminacin de Smbolos Inaccesibles

    Conclusiones

    Sabemos que hay smbolos que no son necesarios:Los smbolos intiles, que no generan palabras. Estos sondifciles de detectar en cambio, dos subclases son fcilesde detectar:

    Los smbolos inaccesibles.Los smbolos improductivos.

    Adems, un resultado nos dice como eliminar los smbolosque no son tiles por medio de algoritmos.

    Gramticas Incontextuales

    IntroduccinDefinicionesSmbolos InfecundosEliminacin de Smbolos Inaccesibles