120 likes | 511 Views
Tema 3 Propiedades de los lenguajes independientes de contexto. 3.1. Lema de Bombeo 3.2. Propiedades de cierre de la clase de los lenguajes I.C. 3.2.1. Cierre bajo Unión. 3.2.2. Cierre bajo Concatenación. 3.2.3. Cierre bajo Clausura. 3.2.4. Cierre bajo Reverso.
E N D
Tema 3 Propiedades de los lenguajes independientes de contexto 3.1. Lema de Bombeo 3.2. Propiedades de cierre de la clase de los lenguajes I.C. 3.2.1. Cierre bajo Unión. 3.2.2. Cierre bajo Concatenación. 3.2.3. Cierre bajo Clausura. 3.2.4. Cierre bajo Reverso. 3.3. Propiedades de decisión de los lenguajes I.C.
Propiedades de los lenguajes independientes de contexto Lema de Bombeo Lema.- Sea G = (N, , P, S ) en FNC. Si el árbol de derivación de x * no contiene caminos de longitud mayor que i, | x | 2 i - 1. Demostración.- Inducción en i. Base: i = 1 S Hipótesis: Sup. resultado cierto para valor menor que i a Se cumple |a| = 1 2 1 - 1 Paso: Sea un árbol con camino de longitud i. S AB La primera producción es de tipo S AB T1T2 x1 x2 La longitud máxima de los caminos de T1 y T2 es como máximo i - 1. Aplicando la hipótesis, |x| = | x1 | + | x2 | 2 i - 2 + 2 i - 2 = 2 i - 1.
3.1. Lema de Bombeo • L de tipo 2, n > 0: z L con | z | n, u, v, w, x, y : z = uvwxy con • | vx | 1, | vwx | n y se cumple uviwxiy L, i 0. • Demostración. Sea G = (N, , P, S ) en FNC con |N | = k, tal que L(G) = L. • Sea n = 2k y sea z L con | z | n. Veamos que z puede ser factorizada: • Como | z | 2k existe un árbol con camino de longitud k + 1. • Como |N | = k algún no terminal (a altura menor que k + 1) en ese camino • está repetido. A A x2x3x4 Se tiene A x2A x4 y A x3 por lo que A x2i x3 x4i además | x2 x4 | 1 y | x2 x3 x4| 2k = n
S A A x1 x2x3x4 x5 El árbol de derivación de x es: Haciendo x1= u x2 = vx3 = wx4 = xx5 = y se tiene lo propuesto • Si un lenguaje no cumple el lema de bombeo no es incontextual. • Ejemplo: Demostrar que L = {0i1j2k : k 0 } no es incontextual.
3.2. Propiedades de cierre de la clase de los lenguajes I.C. • La clase de los lenguajes independientes de contexto es cerrada bajo la Unión • (L1 , L2 son de tipo 2 L1 L2 es de tipo 2) Sean G1= (N1, , P1, S1) tal que L(G1) = L1, G2= (N2, , P2, S2) tal que L(G2) = L2 conN1 N2 = . Construimos G = (N, , P, S ) con N = N1 N2 {S}, S N1 N2 . P = P1 P2 {S S1 | S2}. L(G) = L1 L2 • La clase de los lenguajes indep. de contexto es cerrada bajo la Concatenación • (L1 , L2 son de tipo 2 L1L2 es de tipo 2) Sean G1= (N1, , P1, S1) tal que L(G1) = L1, G2= (N2, , P2, S2) tal que L(G2) = L2 conN1 N2 = . Construimos G = (N, , P, S ) con N = N1 N2 {S}, S N1 N2 . P = P1 P2 {S S1S2}. L(G) = L1L2
La clase de los lenguajes independ. de contexto es cerrada bajo Clausura • (Les de tipo 2 L* es de tipo 2) Sea G = (N1, , P1, S1) tal que L(G1) = L, Construimos G = (N, , P, S ) con N = N1 {S}, S N1. P = P1 {S S1S | }. L(G) = L* • La clase de los lenguajes independ. de contexto es cerrada bajo Reverso • (Les de tipo 2 L res de tipo 2) Sean G = (N1, , P1, S1) tal que L(G1) = L, Construimos G = (N1, , P, S1) con P = {A r : A P1}, L(G) = L r
La clase de los lenguajes indep. de contexto NO es cerrada bajo la Intersección • (L1 , L2 son de tipo 2 L1 L2 es de tipo 2) Sea L1 = {0i 1i 2j : i, j 0} L1 = L(G1) con G1 : S AB A 0A1 | B 2B | Sea L2 = {0i 1j 2j : i, j 0} L2 = L(G2) con G2 : S AB A 0A | B 1B2 | L1 L2 = {0i 1i 2i : i 0} La intersección de un lenguaje independiente de contexto y un regular es I. C.
La clase de los lenguajes indep. de contexto NO es cerrada bajo Complementación • (L1 es de tipo 2 L1 es de tipo 2) Demostración. Supongamos que sí es cerrada. Como L1 L2 = L1 L2 la intersección sería cerrada, en contra de lo demostrado anteriormente. Ejercicio. Demostrar que la clase de los lenguajes indep. de contexto NO es cerrada bajo la diferencia. Ejercicio. ¿Es la clase de los lenguajes indep. de contexto cerrada bajo homomorfismo?. Ejercicio. ¿Es la clase de los lenguajes indep. de contexto cerrada bajo sustitución incontextual?.
3.3. Propiedades de decisión de los lenguajes I.C. • Un problema es decidible si existe un algoritmo que, ante cualquier instancia del mismo, • responde si o no. • Los siguientes problemas (entre otros) no son decidibles: • Ambigüedad de las gramáticas independientes de contexto. • Equivalencia entre dos gramáticas independientes de contexto. • Averiguar si el complementario de un lenguaje independiente de contexto también lo es. Problemas que son decidibles Averiguar si el lenguaje generado por una gramática independiente de contexto es (no es) vacío es decidible. L(G) S es generativo
Averiguar si el lenguaje generado por una gramática independiente de contexto es (no es) • finito es decidible. • Algoritmo: • A partir de G = (N, , P, S ) en FNC, construimos grafo dirigido con: • Los auxiliares como nodos. • Si A BC Phay un arco de A a B y otro de A a C. • L = L(G) es infinito si y solo si en el grafo anterior hay un ciclo. Ejemplo: ¿Son finitas las siguientes gramáticas? S AB | 0 A BB | BC | 1 B CC | 0 C 1 S AB | 0 A BB | BC | 1 B CC | 0 C AS | 1