• No se han encontrado resultados

aylfm161p09h

N/A
N/A
Protected

Academic year: 2020

Share "aylfm161p09h"

Copied!
40
0
0

Texto completo

(1)

Maestría en Ciencia e Ingeniería de la Computación UNAM Tema 9: Propiedades de cerradura y normalización de gramáticas

libres de contexto

Dr. Favio Ezequiel Miranda Perea

[email protected]

Facultad de Ciencias UNAM

(2)

Propiedades de Cerradura

Propiedades de cerradura

Lenguaje Libres del Contexto

La clase de los lenguajes libres del contexto es cerrada bajo las siguientes operaciones:

Unión: siL1,L2son lenguajes libres del contexto entoncesL1∪L2

es un lenguaje libre del contexto.

Concatenación: siL1,L2son lenguajes libres del contexto

entoncesL1L2es un lenguaje libre del contexto.

Estrella de Kleene:siL1es un lenguaje libres del contexto

(3)

Cerradura bajo la unión

Lenguajes Libres del Contexto

SiG1=hV1,T,S1,P1i, G2=hV2,T,S2,P2ison GLC con

L1=L(G1), L2=L(G2)entoncesL1∪L2=L(G)dondeGes la

gramática

G=hV1∪V2∪ {S},T,S,Pi

yP está dado porP1∪P2mas las producciones:

(4)

Propiedades de Cerradura

Cerradura bajo la concatenación

Lenguajes Libres del Contexto

SiG1=hV1,T,S1,P1i, G2=hV2,T,S2,P2ison GLC con

L1=L(G1), L2=L(G2)entoncesL1L2=L(G)donde Ges la

gramática

G=hV1∪V2∪ {S},T,S,Pi

yP está dado porP1∪P2mas la producción:

(5)

Cerradura bajo la estrella de Kleene

Lenguajes Libres del Contexto

SiG1=hV1,T,S1,P1ies una GLC conL1=L(G1)entonces

L?1=L(G)dondeGes la gramática

G=hV1∪ {S},T,S,Pi

yP está dado porP1mas la producciones:

(6)

Propiedades de Cerradura

Propiedades de cerradura

inválidas

Lenguajes libres del contexto

En general las siguientes propiedades no son válidas para lenguajes libres del contexto.

Cerradura bajo la intersección.

Cerradura bajo el complemento.

(7)

Propiedades de cerradura

inválidas

Intersección

La intersección de dos LIC puede ser un lenguaje que no es libre del contexto.

L1={aibicj |i,j≥1}es libre del contexto:

S →AB, A→aAb|ab, B→cC |c

L2={aibjcj |i,j≥1}es libre del contexto:

S →AB, A→aA|a, B→bBc|bc

(8)

Propiedades de Cerradura

Propiedades de cerradura

inválidas

Complemento y diferencia

Si el complemento de un LLCL,L¯fuera también libre del contexto

entonces la intersección también lo sería pues

L1∩L2=L1∪L2

Si la diferencia fuera un LLC, entonces también lo sería el complemento pues

(9)

Introducción

Normalización de gramáticas

La normalización consiste en transformar todas las producciones de una gramática de manera que tengan cierta forma sintáctica en particular.

La normalización de gramáticas libres de contexto es útil para homogeneizar la forma de las producciones así como para optimizar los procesos de derivación de cadenas.

(10)

Normalización de Gramáticas Introducción

Problema de la pertenencia

Normalización de gramáticas

Dada una gramáticaGy una palabrau, ¿Se cumpleu∈L(G)?

Es decir, perteneceu al lenguaje generado porG.

Si la palabrau es generada porGla construcción de un árbol de

derivación terminará eventualmente.

En caso contrarionopodemos saber cuando parar en la

(11)

Variables Inútiles

Definición

Una variableAesaccesibleoalcanzablesi existen

u,v ∈(V ∪T)? tales queS→?uAv. Obsérvese que según esta

definiciónSes alcanzable.

Una variableAesproductivaoterminablesi existew ∈T? tal que

A→? w. En particular siAεes una producción entoncesAes

productiva.

(12)

Normalización de Gramáticas Eliminación de variables inútiles

Algoritmo para hallar variables productivas

Transformaciones en GLC

Prod :={A∈V |A→w ∈P, w ∈T?}

repetir

Prod :=Prod∪ {A∈V |A→w, w ∈(T ∪Prod)?}

(13)

Ejemplo

Variables productivas

S→ ACD|bBd |ab A→ aB|aA|C B→ aDS|aB C→ aCS|CB|CC D→ bD|ba

E → AB|aDb

(14)

Normalización de Gramáticas Eliminación de variables inútiles

Ejemplo

Eliminación de variables improductivas

C es la única variable improductiva, se elimina junto con todas las

reglas donde figure:

(15)

Algoritmo para hallar variables accesibles

Transformaciones en GLC

Acc :={S}

repetir

Acc := Acc∪ {A∈V | ∃ B→uAv ∈P, B∈Acc, u,v ∈(V∪T)?}

(16)

Normalización de Gramáticas Eliminación de variables inútiles

Ejemplo

Variables accesibles

S→ aS|AaB|ACS A→ aS|AaB|AC B→ bB|DB|BB C→ aDa|ABD|ab D→ aD|DD|ab E → FF |aa F → aE |EF

(17)

Ejemplo

Eliminación de variables inaccesibles

E,F son variables inaccesibles, se eliminan junto con todas las reglas

donde figuren:

(18)

Normalización de Gramáticas Eliminación de variables inútiles

Eliminación de variables inútiles

Transformaciones en GLC

Para eliminar variables inútiles se aplican los dos algoritmos anteriores

en el siguiente orden:

Eliminar variables no productivas.

(19)

Eliminación de variables inútiles

Importancia del orden de los algoritmos

Si se aplican los algoritmos en orden inverso el resultado puede ser una gramática que aún contenga variable inútiles.

S→a|AB, A→aA|ε

Al eliminar primero las variables no accesibles se obtiene la misma gramática, al ser todas las variables accesibles.Posteriormente al eliminar variables improductivas resulta

S→a, A→aA|ε

(20)

Normalización de Gramáticas Eliminación deε-producciones

Eliminación de

ε-producciones

Transformaciones en GLC

Una producción de la formaA→εes unaε-producción

(21)

Algoritmo para hallar variables anulables

Transformaciones en GLC

Anul :={A∈V |A→ε ∈P}

repetir

Anul :=Anul∪ {A∈V | ∃ A→w ∈P, w ∈Anul?}

(22)

Normalización de Gramáticas Eliminación deε-producciones

Eliminación de

ε-producciones

Transformaciones en GLC

Eliminar todas lasε-producciones.

Para cada producción de la formaA→w1. . .wnagregar las

produccionesA→v1. . .vndonde:

I vi =wi siwi ∈/Anul.

I vi =wi óvi =εsiwi ∈Anul.

(23)

Ejemplo

Eliminación deε-producciones

S → AB|ACA|ab A→ aAa|B|CD B → bB|bA C → cC|ε

D → aDc|CC |ABb

(24)

Normalización de Gramáticas Eliminación deε-producciones

Ejemplo

Eliminación deε-producciones

Al eliminar la producciónC→εse obtiene la siguiente gramática:

S→ AB|ACA|ab|B|CA|AA|AC |A|C |ε A→ aAa|B |CD|aa|C |D

B→ bB|bA|b C→ cC|c

(25)

Acerca de la palabra vacía

Transformaciones en GLC

Si originalmente se teniaε∈L(G)la eliminación deε

producciones genera una gramática que no genera aε.

Es posible saber si se pierde la palabra vacía al eliminar

ε-producciones verificando siS∈Anul.

Si se quiere recuperar aεdebe agregarse un nuevo símbolo

inicialS0 y las produccionesS0→S yS0 →ε.

(26)

Normalización de Gramáticas Eliminación de producciones unitarias

Eliminación de producciones unitarias

Transformaciones en GLC

Una producción de la formaA→BdondeAyB son ambas

variables se llamaproducción unitaria.

Elconjunto unitariodeAse define como sigue:

Unit(A) ={B∈V |A→? Busando sólo prod. unitarias}

(27)

Algoritmo para hallar el conjunto

Unit

(

A

)

Transformaciones en GLC

Unit(A) :={A}

repetir

Unit(A) :=Unit(A)∪ {B∈V | ∃ C →B, C∈Unit(A)}

(28)

Normalización de Gramáticas Eliminación de producciones unitarias

Eliminación de producciones unitarias

Transformaciones en GLC

Para cadaB ∈Unit(A)y cada producciónA→wagregar la

producción

B→w

(29)

Ejemplo

Eliminación de producciones unitarias

S→ AS|AA|BA|ε A→ aA|a

B→ bB|bC |C C → aA|bA|B |ab

Los conjuntos unitarios para cada variable son:

Unit(S) ={S} Unit(A) ={A}

(30)

Normalización de Gramáticas Eliminación de producciones unitarias

Ejemplo

Eliminación de producciones unitarias

La gramática obtenida al eliminar producciones unitarias es:

S→ AS|AA|BA|ε A→ aA|a

(31)

Problema de la pertenencia

Normalización de gramáticas

Dada una gramáticaGsinε-producciones ni producciones

unitariasy una palabrau de longitudn, ¿Se cumpleu∈L(G)?

Es decir, perteneceu al lenguaje generado porG.

Si la palabrau es generada porGla construcción de un árbol de

derivación terminará eventualmente.

En caso contrario basta con construir el árbol hasta el nivel2n−1

para concluir queu∈/ L(G).

En cada paso se obtiene un nuevo terminal (a lo masnpasos) o

(32)

Normalización de Gramáticas Formas Normales

Forma Normal de Chomsky

Definición

Una GLCGestá en forma normal de Chomsky (FNC) si:

Gno contiene variables inútiles.

Gno contiene producciones unitarias niε-producciones (salvo

S→ε)

Todas las producciones son de la forma:

A→BC ó A→a

(33)

Transformación a forma normal de Chomsky

Transformaciones en GLC

Cualquier GLC es equivalente a una gramática en FNC, lo cual se logra como sigue:

Eliminar las variables inútiles.

Eliminar lasε-producciones (salvoS→ε)

Eliminar producciones unitarias.

Las producciones restantes son todas de la formaA→acon

(34)

Normalización de Gramáticas Formas Normales

Eliminación de producciones

A

w

,

|

w

| ≥

2

Forma Normal de Chomsky

Hacer lo siguiente para cada producciónP de la forma

A→α1α2. . . αncon αi ∈V∪T,n≥2 (sin=2, al menos uno de

α1, α2debe ser terminal, pues si no la producción ya es válida

para FNC)

Siαi ∈T, digamosαi =a, entonces

I Agregar la producciónTaa, dondeTaes una nueva variable.

I Cambiarαi porTaen la producciónP

Para cada producciónP de la formaA→B1B2. . .Bm con

Bi ∈V, m≥3

(35)

Ejemplo

Simulación de produccionesA→w1w2. . .wn, n≥2

La producciónA→abBaC se simula con producciones simples y

binarias como sigue:

Agregamos las nuevas variablesTa,Tby las producciones

A→TaTbBTaC, Ta→a, Tb→b

Para simular la producciónA→TaTbBTaC agregamos nuevas

variablesD1,D2,D3y las producciones binarias necesarias

obteniendo finalmente:

(36)

Normalización de Gramáticas Formas Normales

Forma normal de Chomsky

Ejemplo

Transformar la siguiente gramática a FNC:

S→ AB|aBC|SBS

A→ aA|C

B→ bbB |b

(37)

Forma normal de Chomsky

Ejemplo

La gramática equivalente en FNC es:

S→ AB|TaD1|SD2|TaB|TbD3|b

A→ TaA|TcC |a|c

B→ TbD3|b

C → TcC |c

D1→ BC

D2→ BS

D3→ TbB

Ta→ a

(38)

Normalización de Gramáticas Formas Normales

Forma Normal de Greibach (FNG)

Definición

Una GLCGestá en forma normal de Greibach (FNG) si:

La variable inicialSno es recursiva, es decir, no figura en el lado

derecho de las producciones.

Gno tiene variables inútiles niε-producciones.

(39)

Transformación a forma normal de Greibach

Transformaciones en GLC

Cualquier GLC es equivalente a una gramática en FNG.

El proceso requiere que la gramática esté en Forma Normal de Chomsky.

(40)

Normalización de Gramáticas Formas Normales

Problema de la pertenencia

Normalización de gramáticas

Dada una gramáticaGen forma normal de Greibachy una

palabraude longitudn, ¿Se cumpleu ∈L(G)? Es decir,

perteneceual lenguaje generado porG.

Siu es generada porGla construcción de un árbol de derivación

terminará eventualmente.

En caso contrario basta con construir el árbol hasta el nivelnpara

concluir queu∈/ L(G).

En cada paso se obtiene un nuevo terminal (a lo masnpasos) y

Referencias

Documento similar

Fuente de emisión secundaria que afecta a la estación: Combustión en sector residencial y comercial Distancia a la primera vía de tráfico: 3 metros (15 m de ancho)..

LABORATORIO DE MICROPÁLIONTOLOGIA. INFORME

Comprende los materiales que constituyen el núcleo del sinclinorio cen- tral de la zona. Y asimismo los del norte del anticlinal de Los Peñones. Se 'sitúa esta

La campaña ha consistido en la revisión del etiquetado e instrucciones de uso de todos los ter- mómetros digitales comunicados, así como de la documentación técnica adicional de

diabetes, chronic respiratory disease and cancer) targeted in the Global Action Plan on NCDs as well as other noncommunicable conditions of particular concern in the European

o Si dispone en su establecimiento de alguna silla de ruedas Jazz S50 o 708D cuyo nº de serie figura en el anexo 1 de esta nota informativa, consulte la nota de aviso de la

Las manifestaciones musicales y su organización institucional a lo largo de los siglos XVI al XVIII son aspectos poco conocidos de la cultura alicantina. Analizar el alcance y

Las probabilidades de éxito de este procedimiento serán distintas en función de la concreta actuación del reclamante antes de que se produjera la declaración de incons-.. En caso